Re: another pmem variant V2

From: Ingo Molnar
Date: Thu Apr 02 2015 - 14:03:41 EST



* Christoph Hellwig <hch@xxxxxx> wrote:

> On Thu, Apr 02, 2015 at 03:11:36PM +0000, Elliott, Robert (Server Storage) wrote:
> > Attr Copy Read IOPS Write IOPS
> > ==== ==== ========= ==========
> > UC memcpy 36 K 22 K
> > UC NT rd,wr 513 K 326 K
> >
> > WB memcpy 3.4 M 2.5 M
> > WB NT rd,wr 3.3 M 3.5 M
> >
> > WC memcpy 776 K 3.5 M
> > WC NT rd,wr 3.0 M 3.9 M
> >
> > WT memcpy 2.1 M 22 K
> > WT NT rd,wr 3.3 M 2.1 M
> >
> > a few other variations yielded the peak numbers:
> > WC NT rd only 3.2 M 4.1 M
> > WC NT wr only 712 K 4.6 M
> > WT NT wr only 2.6 M 4.0 M
> >
> > There are lots of tuning considerations for those memcpy
> > functions - how far to unroll the loop, whether to
> > include PRFETCHNTA instructions, etc.
>
> Looks like we should aÑm for WC + NT would be a good start.
>
> Can you prepare a patch to add your NT memcpy variants and
> a second one to use them in the pmem driver?

So we already have NT memcpy variants, see the copy_*_user_*_nocache()
primitives in arch/x86/. They could be used almost straight away for
kernel memory as well, as kernel buffers will not fault.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/