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

Module vs Kernel main performacne

From: Chetan Nanda <hidden>
Date: 2012-06-01 00:27:29

On May 31, 2012 9:37 PM, "Abu Rasheda" [off-list ref] wrote:
On Wed, May 30, 2012 at 10:35 PM, Mulyadi Santosa
[off-list ref] wrote:
quoted
Hi...

On Thu, May 31, 2012 at 4:44 AM, Abu Rasheda [off-list ref]
wrote:
quoted
quoted
as I increase size of buffer, insns per cycle keep decreasing. Here is
the data:
quoted
quoted
   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
If the buffer at user side is more then a page, then it may be that
complete user space buffer is not available in memory and kernel spend time
in processing page fault
quoted
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.
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120601/14efcdb3/attachment.html 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help