Thread (16 messages) 16 messages, 4 authors, 2012-06-09

Module vs Kernel main performacne

From: Abu Rasheda <hidden>
Date: 2012-05-31 13:35:08

On Wed, May 30, 2012 at 10:35 PM, Mulyadi Santosa
[off-list ref] wrote:
Hi...

On Thu, May 31, 2012 at 4:44 AM, Abu Rasheda [off-list ref] wrote:
quoted
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 copy_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?
yes
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.
It seems to be doing opposite, bigger the allocation / copy longer stall is.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help