[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20150402180329.GA8503@gmail.com>
Date: Thu, 2 Apr 2015 20:03:30 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Christoph Hellwig <hch@....de>
Cc: "Elliott, Robert (Server Storage)" <Elliott@...com>,
"linux-nvdimm@...1.01.org" <linux-nvdimm@...1.01.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>,
"ross.zwisler@...ux.intel.com" <ross.zwisler@...ux.intel.com>,
"axboe@...nel.dk" <axboe@...nel.dk>,
"boaz@...xistor.com" <boaz@...xistor.com>,
"Kani, Toshimitsu" <toshi.kani@...com>
Subject: Re: another pmem variant V2
* Christoph Hellwig <hch@....de> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists