Module vs Kernel main performacne
Mulyadi Santosa
mulyadi.santosa at gmail.com
Thu May 31 01:35:51 EDT 2012
Hi...
On Thu, May 31, 2012 at 4:44 AM, Abu Rasheda <rcpilot2010 at 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
More information about the Kernelnewbies
mailing list