From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753213AbbDBSDh (ORCPT ); Thu, 2 Apr 2015 14:03:37 -0400 Received: from mail-wi0-f170.google.com ([209.85.212.170]:36330 "EHLO mail-wi0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752384AbbDBSDf (ORCPT ); Thu, 2 Apr 2015 14:03:35 -0400 Date: Thu, 2 Apr 2015 20:03:30 +0200 From: Ingo Molnar To: Christoph Hellwig Cc: "Elliott, Robert (Server Storage)" , "linux-nvdimm@ml01.01.org" , "linux-fsdevel@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "x86@kernel.org" , "ross.zwisler@linux.intel.com" , "axboe@kernel.dk" , "boaz@plexistor.com" , "Kani, Toshimitsu" Subject: Re: another pmem variant V2 Message-ID: <20150402180329.GA8503@gmail.com> References: <1427358764-6126-1-git-send-email-hch@lst.de> <94D0CD8314A33A4D9D801C0FE68B40295A853392@G9W0745.americas.hpqcorp.net> <20150401072608.GA24312@lst.de> <94D0CD8314A33A4D9D801C0FE68B40295A856737@G9W0745.americas.hpqcorp.net> <20150402164139.GA9774@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20150402164139.GA9774@lst.de> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Christoph Hellwig 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: Re: another pmem variant V2 Date: Thu, 2 Apr 2015 20:03:30 +0200 Message-ID: <20150402180329.GA8503@gmail.com> References: <1427358764-6126-1-git-send-email-hch@lst.de> <94D0CD8314A33A4D9D801C0FE68B40295A853392@G9W0745.americas.hpqcorp.net> <20150401072608.GA24312@lst.de> <94D0CD8314A33A4D9D801C0FE68B40295A856737@G9W0745.americas.hpqcorp.net> <20150402164139.GA9774@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: "Elliott, Robert (Server Storage)" , "linux-nvdimm@ml01.01.org" , "linux-fsdevel@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "x86@kernel.org" , "ross.zwisler@linux.intel.com" , "axboe@kernel.dk" , "boaz@plexistor.com" , "Kani, Toshimitsu" To: Christoph Hellwig Return-path: Received: from mail-wi0-f170.google.com ([209.85.212.170]:36330 "EHLO mail-wi0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752384AbbDBSDf (ORCPT ); Thu, 2 Apr 2015 14:03:35 -0400 Content-Disposition: inline In-Reply-To: <20150402164139.GA9774@lst.de> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: * Christoph Hellwig wrote: > On Thu, Apr 02, 2015 at 03:11:36PM +0000, Elliott, Robert (Server Sto= rage) wrote: > > Attr Copy Read IOPS Write IOPS > > =3D=3D=3D=3D =3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > > UC memcpy 36 K 22 K > > UC NT rd,wr 513 K 326 K > >=20 > > WB memcpy 3.4 M 2.5 M > > WB NT rd,wr 3.3 M 3.5 M > >=20 > > WC memcpy 776 K 3.5 M > > WC NT rd,wr 3.0 M 3.9 M > >=20 > > WT memcpy 2.1 M 22 K > > WT NT rd,wr 3.3 M 2.1 M > >=20 > > 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 > >=20 > > There are lots of tuning considerations for those memcpy=20 > > functions - how far to unroll the loop, whether to > > include PRFETCHNTA instructions, etc. >=20 > Looks like we should a=D1=96m for WC + NT would be a good start. >=20 > 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()=20 primitives in arch/x86/. They could be used almost straight away for=20 kernel memory as well, as kernel buffers will not fault. Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel= " in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html