From: Andy Lutomirski <luto@amacapital.net> To: Ingo Molnar <mingo@kernel.org> Cc: "Elliott, Robert (Server Storage)" <Elliott@hp.com>, Dan Williams <dan.j.williams@intel.com>, "Kani, Toshimitsu" <toshi.kani@hp.com>, Borislav Petkov <bp@alien8.de>, Ross Zwisler <ross.zwisler@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Andrew Morton <akpm@linux-foundation.org>, Arnd Bergmann <arnd@arndb.de>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, X86 ML <x86@kernel.org>, "linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>, Juergen Gross <jgross@suse.com>, Stefan Bader <stefan.bader@canonical.com>, Henrique de Moraes Holschuh <hmh@hmh.eng.br>, Yigal Korman <yigal@plexistor.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Luis Rodriguez <mcgrof@suse.com>, Christoph Hellwig <hch@lst.de>, Matthew Wilcox <willy@linux.intel.com> Subject: Re: [PATCH v10 12/12] drivers/block/pmem: Map NVDIMM with ioremap_wt() Date: Mon, 1 Jun 2015 10:10:52 -0700 [thread overview] Message-ID: <CALCETrVNzrz7UCd=VeL1j-1G5yJrokev+JhizhfX-fH_4yovnQ@mail.gmail.com> (raw) In-Reply-To: <20150601085821.GA15014@gmail.com> On Mon, Jun 1, 2015 at 1:58 AM, Ingo Molnar <mingo@kernel.org> wrote: > > * Andy Lutomirski <luto@amacapital.net> wrote: > >> You answered the wrong question. :) I understand the point of the non-temporal >> stores -- I don't understand the point of using non-temporal stores to *WB >> memory*. I think we should be okay with having the kernel mapping use WT >> instead. > > WB memory is write-through, but they are still fully cached for reads. > > So non-temporal instructions influence how the CPU will allocate (or not allocate) > WT cache lines. > I'm doing a terrible job of saying what I mean. Given that we're using non-temporal writes, the kernel code should work correctly and with similar performance regardless of whether the mapping is WB or WT. It would still be correct, if slower, with WC or UC, and, if we used explicit streaming reads, even that would matter less. I think this means that we are free to switch the kernel mapping between WB and WT as needed to improve DAX behavior. We could even plausibly do it at runtime. --Andy > Thanks, > > Ingo -- Andy Lutomirski AMA Capital Management, LLC -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Andy Lutomirski <luto@amacapital.net> To: Ingo Molnar <mingo@kernel.org> Cc: "Elliott, Robert (Server Storage)" <Elliott@hp.com>, Dan Williams <dan.j.williams@intel.com>, "Kani, Toshimitsu" <toshi.kani@hp.com>, Borislav Petkov <bp@alien8.de>, Ross Zwisler <ross.zwisler@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Andrew Morton <akpm@linux-foundation.org>, Arnd Bergmann <arnd@arndb.de>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, X86 ML <x86@kernel.org>, "linux-nvdimm@lists.01.org" <linux-nvdimm@ml01.01.org>, Juergen Gross <jgross@suse.com>, Stefan Bader <stefan.bader@canonical.com>, Henrique de Moraes Holschuh <hmh@hmh.eng.br>, Yigal Korman <yigal@plexistor.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Luis Rodriguez <mcgrof@suse.com>, Christoph Hellwig <hch@lst.de>, Matthew Wilcox <willy@linux.intel.com> Subject: Re: [PATCH v10 12/12] drivers/block/pmem: Map NVDIMM with ioremap_wt() Date: Mon, 1 Jun 2015 10:10:52 -0700 [thread overview] Message-ID: <CALCETrVNzrz7UCd=VeL1j-1G5yJrokev+JhizhfX-fH_4yovnQ@mail.gmail.com> (raw) In-Reply-To: <20150601085821.GA15014@gmail.com> On Mon, Jun 1, 2015 at 1:58 AM, Ingo Molnar <mingo@kernel.org> wrote: > > * Andy Lutomirski <luto@amacapital.net> wrote: > >> You answered the wrong question. :) I understand the point of the non-temporal >> stores -- I don't understand the point of using non-temporal stores to *WB >> memory*. I think we should be okay with having the kernel mapping use WT >> instead. > > WB memory is write-through, but they are still fully cached for reads. > > So non-temporal instructions influence how the CPU will allocate (or not allocate) > WT cache lines. > I'm doing a terrible job of saying what I mean. Given that we're using non-temporal writes, the kernel code should work correctly and with similar performance regardless of whether the mapping is WB or WT. It would still be correct, if slower, with WC or UC, and, if we used explicit streaming reads, even that would matter less. I think this means that we are free to switch the kernel mapping between WB and WT as needed to improve DAX behavior. We could even plausibly do it at runtime. --Andy > Thanks, > > Ingo -- Andy Lutomirski AMA Capital Management, LLC
next prev parent reply other threads:[~2015-06-01 17:10 UTC|newest] Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-05-27 15:18 [PATCH v10 0/12] Support Write-Through mapping on x86 Toshi Kani 2015-05-27 15:18 ` Toshi Kani 2015-05-27 15:18 ` [PATCH v10 1/12] x86, mm, pat: Set WT to PA7 slot of PAT MSR Toshi Kani 2015-05-27 15:18 ` Toshi Kani 2015-05-27 15:18 ` [PATCH v10 2/12] x86, mm, pat: Change reserve_memtype() for WT Toshi Kani 2015-05-27 15:18 ` Toshi Kani 2015-05-27 15:18 ` [PATCH v10 3/12] x86, asm: Change is_new_memtype_allowed() " Toshi Kani 2015-05-27 15:18 ` Toshi Kani 2015-05-27 15:18 ` [PATCH v10 4/12] x86, mm, asm-gen: Add ioremap_wt() " Toshi Kani 2015-05-27 15:18 ` Toshi Kani 2015-05-27 15:18 ` [PATCH v10 5/12] arch/*/asm/io.h: Add ioremap_wt() to all architectures Toshi Kani 2015-05-27 15:18 ` Toshi Kani 2015-05-27 15:18 ` [PATCH v10 6/12] video/fbdev, asm/io.h: Remove ioremap_writethrough() Toshi Kani 2015-05-27 15:18 ` Toshi Kani 2015-05-27 15:18 ` [PATCH v10 7/12] x86, mm, pat: Add pgprot_writethrough() for WT Toshi Kani 2015-05-27 15:18 ` Toshi Kani 2015-05-27 15:19 ` [PATCH v10 8/12] x86, mm, asm: Add WT support to set_page_memtype() Toshi Kani 2015-05-27 15:19 ` Toshi Kani 2015-05-27 15:19 ` [PATCH v10 9/12] x86, mm: Add set_memory_wt() for WT Toshi Kani 2015-05-27 15:19 ` Toshi Kani 2015-05-27 15:19 ` [PATCH v10 10/12] x86, mm, pat: Cleanup init flags in pat_init() Toshi Kani 2015-05-27 15:19 ` Toshi Kani 2015-05-29 8:59 ` Borislav Petkov 2015-05-29 8:59 ` Borislav Petkov 2015-05-27 15:19 ` [PATCH v10 11/12] x86, mm, pat: Refactor !pat_enabled handling Toshi Kani 2015-05-27 15:19 ` Toshi Kani 2015-05-29 8:58 ` Borislav Petkov 2015-05-29 8:58 ` Borislav Petkov 2015-05-29 14:27 ` Toshi Kani 2015-05-29 14:27 ` Toshi Kani 2015-05-29 15:13 ` Borislav Petkov 2015-05-29 15:13 ` Borislav Petkov 2015-05-29 15:17 ` Toshi Kani 2015-05-29 15:17 ` Toshi Kani 2015-05-27 15:19 ` [PATCH v10 12/12] drivers/block/pmem: Map NVDIMM with ioremap_wt() Toshi Kani 2015-05-27 15:19 ` Toshi Kani 2015-05-29 9:11 ` Borislav Petkov 2015-05-29 9:11 ` Borislav Petkov 2015-05-29 14:43 ` Dan Williams 2015-05-29 14:43 ` Dan Williams 2015-05-29 15:03 ` Toshi Kani 2015-05-29 15:03 ` Toshi Kani 2015-05-29 15:03 ` Toshi Kani 2015-05-29 18:19 ` Dan Williams 2015-05-29 18:19 ` Dan Williams 2015-05-29 18:32 ` Toshi Kani 2015-05-29 18:32 ` Toshi Kani 2015-05-29 18:32 ` Toshi Kani 2015-05-29 19:34 ` Dan Williams 2015-05-29 19:34 ` Dan Williams 2015-05-29 20:10 ` Toshi Kani 2015-05-29 20:10 ` Toshi Kani 2015-05-29 18:34 ` Andy Lutomirski 2015-05-29 18:34 ` Andy Lutomirski 2015-05-29 19:32 ` Dan Williams 2015-05-29 19:32 ` Dan Williams 2015-05-29 21:29 ` Elliott, Robert (Server Storage) 2015-05-29 21:29 ` Elliott, Robert (Server Storage) 2015-05-29 21:29 ` Elliott, Robert (Server Storage) 2015-05-29 21:46 ` Andy Lutomirski 2015-05-29 21:46 ` Andy Lutomirski 2015-05-29 22:24 ` Elliott, Robert (Server Storage) 2015-05-29 22:24 ` Elliott, Robert (Server Storage) 2015-05-29 22:24 ` Elliott, Robert (Server Storage) 2015-05-29 22:32 ` H. Peter Anvin 2015-05-29 22:32 ` H. Peter Anvin 2015-06-01 8:58 ` Ingo Molnar 2015-06-01 8:58 ` Ingo Molnar 2015-06-01 17:10 ` Andy Lutomirski [this message] 2015-06-01 17:10 ` Andy Lutomirski
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CALCETrVNzrz7UCd=VeL1j-1G5yJrokev+JhizhfX-fH_4yovnQ@mail.gmail.com' \ --to=luto@amacapital.net \ --cc=Elliott@hp.com \ --cc=akpm@linux-foundation.org \ --cc=arnd@arndb.de \ --cc=bp@alien8.de \ --cc=dan.j.williams@intel.com \ --cc=hch@lst.de \ --cc=hmh@hmh.eng.br \ --cc=hpa@zytor.com \ --cc=jgross@suse.com \ --cc=konrad.wilk@oracle.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-nvdimm@lists.01.org \ --cc=mcgrof@suse.com \ --cc=mingo@kernel.org \ --cc=mingo@redhat.com \ --cc=ross.zwisler@linux.intel.com \ --cc=stefan.bader@canonical.com \ --cc=tglx@linutronix.de \ --cc=toshi.kani@hp.com \ --cc=willy@linux.intel.com \ --cc=x86@kernel.org \ --cc=yigal@plexistor.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.