Hi... On Thu, May 31, 2012 at 4:44 AM, Abu Rasheda <rcpilot2010@gmail.com> wrote:
as I increase size of buffer, insns per cycle keep decreasing. Here is the data:
1k 0.90 insns per cycle 8k 0.43 insns per cycle 43k 0.18 insns per cycle 100k 0.08 insns per cycle
Showing that cop_from_user is more efficient when copy data is small, why it is so ?
you meant, the bigger the buffer, the fewer the instructions, right? Not sure why, but I am sure it will reach some peak point. Anyway, you did kmalloc and then kfree()? I think that's why...bigger buffer will grab large chunk from slab...and again likely it's physically contigous. Also, it will be placed in the same cache line. Whereas the smaller one....will hit allocate/free cycle more...thus flushing the L1/L2 cache even more. CMIIW people... -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com