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