On May 31, 2012 9:37 PM, "Abu Rasheda" <rcpilot2...@gmail.com> wrote: > > On Wed, May 30, 2012 at 10:35 PM, Mulyadi Santosa > <mulyadi.sant...@gmail.com> wrote: > > Hi... > > > > On Thu, May 31, 2012 at 4:44 AM, Abu Rasheda <rcpilot2...@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 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 > > > > 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@kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies