Messages in this thread | | | From | Andi Kleen <> | Subject | Re: x86 memcpy performance | Date | Fri, 12 Aug 2011 11:33:33 -0700 |
| |
melwyn lobo <linux.melwyn@gmail.com> writes:
> Hi All, > Our Video recorder application uses memcpy for every frame. About 2KB > data every frame on Intel® Atom™ Z5xx processor. > With default 2.6.35 kernel we got 19.6 fps. But it seems kernel > implemented memcpy is suboptimal, because when we replaced > with an optmized one (using ssse3, exact patches are currently being > finalized) ew obtained 22fps a gain of 12.2 %.
SSE3 in the kernel memcpy would be incredible expensive, it would need a full FPU saving for every call and preemption disabled.
I haven't seen your patches, but until you get all that right (and add a lot more overhead to most copies) you have a good change currently to corrupting user FPU state.
> C0 residency also reduced from 75% to 67%. This means power benefits too. > My questions: > 1. Is kernel memcpy profiled for optimal performance.
It depends on the CPU
There have been some improvements for Atom on newer kernels I believe.
But then kernel memcpy is usually optimized for relatively small copies (<= 4K) because very few kernel loads do more.
-Andi
-- ak@linux.intel.com -- Speaking for myself only -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |