On May 31, 2012 9:37 PM, "Abu Rasheda" <rcpilot2010@xxxxxxxxx> wrote:
> On Wed, May 30, 2012 at 10:35 PM, Mulyadi Santosa
> <mulyadi.santosa@xxxxxxxxx> wrote:
> > Hi...
> > On Thu, May 31, 2012 at 4:44 AM, Abu Rasheda <rcpilot2010@xxxxxxxxx> 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?
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 mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
[Newbies FAQ] [Linux Kernel Mentors] [Linux Kernel Development] [IETF Annouce] [Git] [Networking] [Security] [Bugtraq] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux Networking] [Linux RAID] [Linux SCSI] [Linux ACPI]