From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Luis R. Rodriguez" <mcgrof@suse.com>
Cc: "Bjorn Helgaas" <bhelgaas@google.com>,
"Arnd Bergmann" <arndatarndb.de@suse.de>,
"Linus Walleij" <linus.walleijatlinaro.org@suse.de>,
"Stefano Stabellini" <stefano.stabellini@eu.citrix.com>,
"Julia Lawall" <julia.lawall@lip6.fr>,
"Peter Senna Tschudin" <peter.senna@gmail.com>,
"Sarah Sharp" <sarah.a.sharp@intel.com>,
"Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
"Andy Lutomirski" <luto@amacapital.net>,
"Ingo Molnar" <mingo@redhat.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
jgross@suse.com, "Jan Beulich" <JBeulich@suse.com>,
"Borislav Petkov" <bp@suse.de>,
"Suresh Siddha" <suresh.b.siddha@intel.com>,
venkatesh.pallipadi@intel.com, "Dave Airlie" <airlied@redhat.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
linux-fbdev@vger.kernel.org, "x86@kernel.org" <x86@kernel.org>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
"Ingo Molnar" <mingo@elte.hu>,
"Daniel Vetter" <daniel.vetter@ffwll.ch>,
"Antonino Daplas" <adaplas@gmail.com>,
"Jean-Christophe Plagniol-Villard" <plagnioj@jcrosoft.com>,
"Tomi Valkeinen" <tomi.valkeinen@ti.com>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
"Arnd Bergmann" <arnd@arndb.de>,
"Stefan Bader" <stefan.bader@canonical.com>,
"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
"David Vrabel" <david.vrabel@citrix.com>,
"Toshi Kani" <toshi.kani@hp.com>,
"Roger Pau Monné" <roger.pau@citrix.com>,
"Benjamin Poirier" <bpoirier@suse.de>,
linux-pci@vger.kernel.org
Subject: Re: [PATCH v1 05/47] pci: add pci_iomap_wc() variants
Date: Tue, 21 Apr 2015 20:46:43 +0200 [thread overview]
Message-ID: <20150421203623-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <20150421175249.GN5622@wotan.suse.de>
On Tue, Apr 21, 2015 at 07:52:49PM +0200, Luis R. Rodriguez wrote:
> On Thu, Mar 26, 2015 at 04:00:54AM +0100, Luis R. Rodriguez wrote:
> > On Mon, Mar 23, 2015 at 12:20:47PM -0500, Bjorn Helgaas wrote:
> > > Hi Luis,
> > >
> > > This seems OK to me,
> >
> > Great.
> >
> > > but I'm curious about a few things.
> > >
> > > On Fri, Mar 20, 2015 at 6:17 PM, Luis R. Rodriguez
> > > <mcgrof@do-not-panic.com> wrote:
> > > > From: "Luis R. Rodriguez" <mcgrof@suse.com>
> > > >
> > > > This allows drivers to take advantage of write-combining
> > > > when possible. Ideally we'd have pci_read_bases() just
> > > > peg an IORESOURCE_WC flag for us
> > >
> > > We do set IORESOURCE_PREFETCH. Do you mean something different?
> >
> > I did not think we had a WC IORESOURCE flag. Are you saying that we can use
> > IORESOURCE_PREFETCH for that purpose? If so then great. As I read a PCI BAR
> > can have PCI_BASE_ADDRESS_MEM_PREFETCH and when that's the case we peg
> > IORESOURCE_PREFETCH. That seems to be what I want indeed. Questions below.
> >
> > > > but where exactly
> > > > video devices memory lie varies *largely* and at times things
> > > > are mixed with MMIO registers, sometimes we can address
> > > > the changes in drivers, other times the change requires
> > > > intrusive changes.
> > >
> > > What does a video device address have to do with this? I do see that
> > > if a BAR maps only a frame buffer, the device might be able to mark it
> > > prefetchable, while if the BAR mapped both a frame buffer and some
> > > registers, it might not be able to make it prefetchable. But that
> > > doesn't seem like it depends on the *address*.
> >
> > I meant the offsets for each of those, either registers or framebuffer,
> > and that typically they are mixed (primarily on older devices), so indeed your
> > summary of the problem is what I meant. Let's remember that we are trying to
> > take advantage of PAT here when available and avoid MTRR in that case, do we
> > know that the same PCI BARs that have always historically used MTRRs had
> > IORESOURCE_PREFETCH set, is that a fair assumption ? I realize they are
> > different things -- but its precisely why I ask.
> >
> > > pci_iomap_range() already makes a cacheable mapping if
> > > IORESOURCE_CACHEABLE; I'm guessing that you would like it to
> > > automatically use WC if the BAR if IORESOURCE_PREFETCH, e.g.,
> > >
> > > if (flags & IORESOURCE_CACHEABLE)
> > > return ioremap(start, len);
> > > if (flags & IORESOURCE_PREFETCH)
> > > return ioremap_wc(start, len);
> > > return ioremap_nocache(start, len);
> >
> > Indeed, that's exactly what I think we should strive towards.
> >
> > > Is there a reason not to do that?
> >
> > This depends on the exact defintion of IORESOURCE_PREFETCH and
> > PCI_BASE_ADDRESS_MEM_PREFETCH and how they are used all over and
> > accross *all devices*. This didn't look promising for starters:
> >
> > include/uapi/linux/pci_regs.h:#define PCI_BASE_ADDRESS_MEM_PREFETCH 0x08 /* prefetchable? */
> >
> > PCI_BASE_ADDRESS_MEM_PREFETCH seems to be BAR specific, so a few questions:
> >
> > 1) Can we rest assured for instance that if we check for
> > PCI_BASE_ADDRESS_MEM_PREFETCH and if set that it will *only* be set on a full
> > PCI BAR if the full PCI BAR does want WC? If not this can regress
> > functionality. That seems risky. It however would not be risky if we used
> > another API that did look for IORESOURCE_PREFETCH and if so use ioremap_wc() --
> > that way only drivers we know that do use the full PCI bar would use this API.
> > There's a bit of a problem with this though:
> >
> > 2) Do we know that if a *full PCI BAR* is used for WC that
> > PCI_BASE_ADDRESS_MEM_PREFETCH *was* definitely set for the PCI BAR? If so then
> > the API usage would be restricted only to devices that we know *do* adhere to
> > this. That reduces the possible uses for older drivers and can create
> > regressions if used loosely without verification... but..
> >
In theory, PCI spec says this about prefetch memory:
Bridges are permitted to merge writes into this range (refer to Section 3.2.6).
Exceptions could be:
- devices not behind a bridge (e.g. intergrated in a root
complex)
- devices behind a virtual bridge from same vendor
(which know bridge won't prefetch)
I worry that WC might also cause more reordering though. I don't
remember this is true, off-hand. Bridges can only reorder transactions
according to very specific rules.
> > 3) If from now on we get folks to commit to uset PCI_BASE_ADDRESS_MEM_PREFETCH
> > for full PCI BARs that do want WC perhaps newer devices / drivers will use
> > this very consistently ? Can we bank on that and is it worth it ?
Unfortunately there's a separate good reason to set memory as prefetcheable:
it's the only way to get 64 bit addresses for devices behind bridges.
So WC might be *safe* for prefetch BARs, but might not be a good idea.
> >
> > 4) If a PCI BAR *does not* have PCI_BASE_ADDRESS_MEM_PREFETCH do we know it
> > must not never want WC ?
That's not true I think. It means device can't allow prefetch but maybe
it does allow combining.
> >
> > If we don't have certainty on any of the above I'm afraid we can't do much
> > right now but perhaps we can push towards better use of PCI_BASE_ADDRESS_MEM_PREFETCH
> > and hope folks will only use this for the full PCI BAR only if WC is desired.
> >
> > Thoughts?
>
> Bjorn, now that you're done schooling me on English, any thoughts on the above?
>
> > > > Although there is also arch_phys_wc_add() that makes use of
> > > > architecture specific write-combinging alternatives (MTRR on
> > > > x86 when a system does not have PAT) we void polluting
> > > > pci_iomap() space with it and force drivers and subsystems
> > > > that want to use it to be explicit.
> > > >
> > > > There are a few motivations for this:
> > > >
> > > > a) Take advantage of PAT when available
> > > >
> > > > b) Help bury MTRR code away, MTRR is architecture specific and on
> > > > x86 its replaced by PAT
> > > >
> > > > c) Help with the goal of eventually using _PAGE_CACHE_UC over
> > > > _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (de33c442e)
> > > > ...
> > >
> > > > +void __iomem *pci_iomap_wc_range(struct pci_dev *dev,
> > > > + int bar,
> > > > + unsigned long offset,
> > > > + unsigned long maxlen)
> > > > +{
> > > > + resource_size_t start = pci_resource_start(dev, bar);
> > > > + resource_size_t len = pci_resource_len(dev, bar);
> > > > + unsigned long flags = pci_resource_flags(dev, bar);
> > > > +
> > > > + if (len <= offset || !start)
> > > > + return NULL;
> > > > + len -= offset;
> > > > + start += offset;
> > > > + if (maxlen && len > maxlen)
> > > > + len = maxlen;
> > > > + if (flags & IORESOURCE_IO)
> > > > + return __pci_ioport_map(dev, start, len);
> > > > + if (flags & IORESOURCE_MEM)
> > >
> > > Should we log a note in dmesg if the BAR is *not* IORESOURCE_PREFETCH?
> > > I know the driver might know it's safe even if the device didn't mark
> > > the BAR as prefetchable, but it does seem like an easy way for a
> > > driver to shoot itself in the foot.
> >
> > You tell me. I would fear this may not be consistent and we'd end up
> > having bug reports open for something that has historically been a
> > non-issue. The above questions can help us gauge the risk of this.
>
> Now, I'll tell you what I *think* but these are just guestimates (TM):
>
> * Likely PCI_BASE_ADDRESS_MEM_PREFETCH can implate IORESOURCE_PREFETCH
> and use of ioremap_wc() on a full PCI BAR only, but this strict
> definition likely cannot be 100% guaranteed and could break some
> devices. We need something a bit more concrete and well known so
> that next generation industry standards embrace and let us in
> the kernel automatically detect specific ranges and their respective
> page attribute requirements. Might be good to address here x86 and
> ARM families
>
> Curious: Sarah, how does USB address these different different page attribute
> needs on USB 3.0?
>
> Luis
next prev parent reply other threads:[~2015-04-21 18:47 UTC|newest]
Thread overview: 400+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-20 23:17 [PATCH v1 00/47] mtrr/x86/drivers: bury MTRR Luis R. Rodriguez
2015-03-20 23:17 ` [PATCH v1 01/47] x86: mtrr: annotate mtrr_type_lookup() is only implemented on generic_mtrr_ops Luis R. Rodriguez
2015-03-20 23:17 ` [PATCH v1 02/47] x86: mtrr: generalize run time disabling of MTRR Luis R. Rodriguez
2015-03-25 19:59 ` Konrad Rzeszutek Wilk
2015-03-26 4:38 ` Juergen Gross
2015-03-26 23:35 ` Luis R. Rodriguez
2015-04-02 20:13 ` Bjorn Helgaas
2015-04-02 20:20 ` Luis R. Rodriguez
2015-04-02 20:28 ` Bjorn Helgaas
2015-04-02 21:02 ` Luis R. Rodriguez
2015-04-02 22:09 ` Bjorn Helgaas
2015-04-02 22:12 ` [Xen-devel] " Luis R. Rodriguez
2015-03-27 20:40 ` Toshi Kani
2015-03-27 23:56 ` Luis R. Rodriguez
2015-04-02 21:49 ` Luis R. Rodriguez
2015-04-02 23:52 ` Toshi Kani
2015-04-03 1:08 ` Luis R. Rodriguez
2015-03-20 23:17 ` [PATCH v1 03/47] devres: add devm_ioremap_wc() Luis R. Rodriguez
2015-03-20 23:49 ` Andy Lutomirski
2015-03-25 19:50 ` Luis R. Rodriguez
2015-03-20 23:17 ` [PATCH v1 04/47] pci: add pci_ioremap_wc_bar() Luis R. Rodriguez
2015-03-20 23:50 ` Andy Lutomirski
2015-03-25 20:06 ` Luis R. Rodriguez
2015-03-25 20:03 ` [Xen-devel] " Konrad Rzeszutek Wilk
2015-03-25 20:39 ` Luis R. Rodriguez
2015-03-20 23:17 ` [PATCH v1 05/47] pci: add pci_iomap_wc() variants Luis R. Rodriguez
2015-03-23 17:20 ` Bjorn Helgaas
2015-03-26 3:00 ` Luis R. Rodriguez
2015-04-21 17:52 ` Luis R. Rodriguez
2015-04-21 18:46 ` Michael S. Tsirkin [this message]
2015-03-27 19:18 ` Toshi Kani
2015-04-21 19:25 ` Michael S. Tsirkin
2015-04-21 19:27 ` Luis R. Rodriguez
2015-03-25 20:07 ` Konrad Rzeszutek Wilk
2015-03-27 18:40 ` Luis R. Rodriguez
2015-03-20 23:17 ` [PATCH v1 06/47] mtrr: add __arch_phys_wc_add() Luis R. Rodriguez
2015-03-20 23:48 ` Andy Lutomirski
2015-03-27 19:53 ` Luis R. Rodriguez
2015-03-27 19:58 ` Andy Lutomirski
2015-03-27 20:30 ` Luis R. Rodriguez
2015-03-27 21:23 ` Andy Lutomirski
2015-03-27 23:04 ` Luis R. Rodriguez
2015-03-27 23:10 ` Andy Lutomirski
2015-03-27 23:33 ` Luis R. Rodriguez
2015-04-02 20:21 ` Bjorn Helgaas
2015-04-02 20:55 ` Luis R. Rodriguez
2015-04-02 22:35 ` Bjorn Helgaas
2015-04-02 22:54 ` Luis R. Rodriguez
2015-03-20 23:17 ` [PATCH v1 07/47] video: fbdev: atyfb: move framebuffer length fudging to helper Luis R. Rodriguez
2015-03-20 23:17 ` [PATCH v1 08/47] video: fbdev: atyfb: clarify ioremap() base and length used Luis R. Rodriguez
2015-03-20 23:17 ` [PATCH v1 09/47] vidoe: fbdev: atyfb: remove and fix MTRR MMIO "hole" work around Luis R. Rodriguez
2015-03-20 23:52 ` Andy Lutomirski
2015-03-27 20:12 ` Luis R. Rodriguez
2015-03-27 21:21 ` Andy Lutomirski
2015-03-27 23:31 ` Luis R. Rodriguez
2015-03-21 9:15 ` Ville Syrjälä
2015-03-27 8:37 ` Ville Syrjälä
2015-03-27 19:38 ` Luis R. Rodriguez
2015-03-27 19:38 ` Luis R. Rodriguez
2015-03-27 19:43 ` Andy Lutomirski
2015-03-27 19:57 ` Luis R. Rodriguez
2015-03-27 21:56 ` Ville Syrjälä
2015-03-27 22:02 ` Andy Lutomirski
2015-03-28 0:28 ` Luis R. Rodriguez
2015-03-28 12:23 ` Ville Syrjälä
2015-04-01 23:52 ` Luis R. Rodriguez
2015-04-02 0:04 ` Andy Lutomirski
2015-04-02 19:45 ` Luis R. Rodriguez
2015-04-02 19:50 ` Andy Lutomirski
2015-03-28 0:21 ` Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 10/47] video: fbdev: atyfb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 11/47] IB/qib: add acounting for MTRR Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 12/47] IB/qib: use arch_phys_wc_add() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 13/47] IB/ipath: add counting for MTRR Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 14/47] IB/ipath: use __arch_phys_wc_add() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 15/47] [media] media: ivtv: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 16/47] fusion: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 17/47] video: fbdev: vesafb: only support MTRR_TYPE_WRCOMB Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 18/47] vidoe: fbdev: vesafb: add missing mtrr_del() for added MTRR Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 19/47] video: fbdev: vesafb: use arch_phys_wc_add() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 20/47] mtrr: avoid ifdef'ery with phys_wc_to_mtrr_index() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 21/47] ethernet: myri10ge: use arch_phys_wc_add() Luis R. Rodriguez
2015-03-21 7:08 ` Hyong-Youb Kim
2015-03-27 20:36 ` Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 22/47] staging: sm750fb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 23/47] staging: xgifb: " Luis R. Rodriguez
2015-04-30 17:40 ` Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 24/47] video: fbdev: arkfb: use arch_phys_wc_add() and pci_iomap_wc() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 25/47] video: fbdev: radeonfb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 26/47] video: fbdev: gbefb: add missing mtrr_del() calls Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 27/47] video: fbdev: gbefb: use arch_phys_wc_add() and devm_ioremap_wc() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 28/47] video: fbdev: intelfb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 29/47] video: fbdev: matrox: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 30/47] video: fbdev: neofb: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 31/47] video: fbdev: s3fb: use arch_phys_wc_add() and pci_iomap_wc() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 32/47] video: fbdev: nvidia: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 33/47] video: fbdev: savagefb: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 34/47] video: fbdev: sisfb: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 35/47] video: fbdev: aty: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 36/47] video: fbdev: i810: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 37/47] video: fbdev: i740fb: use arch_phys_wc_add() and pci_ioremap_wc_bar() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 38/47] video: fbdev: kyrofb: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 39/47] video: fbdev: pm2fb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 40/47] video: fbdev: pm3fb: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 41/47] video: fbdev: rivafb: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 42/47] video: fbdev: tdfxfb: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 43/47] video: fbdev: vt8623fb: use arch_phys_wc_add() and pci_iomap_wc() Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 44/47] video: fbdev: atmel_lcdfb: use ioremap_wc() for framebuffer Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 45/47] video: fbdev: geode gxfb: " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 46/47] video: fbdev: gxt4500: use pci_ioremap_wc_bar() " Luis R. Rodriguez
2015-03-20 23:18 ` [PATCH v1 47/47] mtrr: bury MTRR - unexport mtrr_add() and mtrr_del() Luis R. Rodriguez
2015-03-21 1:08 ` [PATCH v1 00/47] mtrr/x86/drivers: bury MTRR Andy Lutomirski
2015-03-24 22:08 [PATCH v4 0/7] mtrr, mm, x86: Enhance MTRR checks for huge I/O mapping Toshi Kani
2015-03-24 22:08 ` [PATCH v4 1/7] mm, x86: Document return values of mapping funcs Toshi Kani
2015-05-05 11:19 ` Borislav Petkov
2015-05-05 13:46 ` Toshi Kani
2015-05-05 14:19 ` Borislav Petkov
2015-05-05 14:14 ` Toshi Kani
2015-03-24 22:08 ` [PATCH v4 2/7] mtrr, x86: Fix MTRR lookup to handle inclusive entry Toshi Kani
2015-05-05 17:11 ` Borislav Petkov
2015-05-05 17:32 ` Toshi Kani
2015-05-05 18:39 ` Borislav Petkov
2015-05-05 19:31 ` Toshi Kani
2015-05-05 20:09 ` Borislav Petkov
2015-05-05 20:06 ` Toshi Kani
2015-03-24 22:08 ` [PATCH v4 3/7] mtrr, x86: Remove a wrong address check in __mtrr_type_lookup() Toshi Kani
2015-05-06 10:46 ` Borislav Petkov
2015-03-24 22:08 ` [PATCH v4 4/7] mtrr, x86: Fix MTRR state checks in mtrr_type_lookup() Toshi Kani
2015-05-06 11:47 ` Borislav Petkov
2015-05-06 15:23 ` Toshi Kani
2015-05-06 22:39 ` Borislav Petkov
2015-05-06 23:08 ` Toshi Kani
2015-03-24 22:08 ` [PATCH v4 5/7] mtrr, x86: Define MTRR_TYPE_INVALID for mtrr_type_lookup() Toshi Kani
2015-03-24 22:08 ` [PATCH v4 6/7] mtrr, x86: Clean up mtrr_type_lookup() Toshi Kani
2015-05-06 13:41 ` Borislav Petkov
2015-05-06 16:00 ` Toshi Kani
2015-05-06 22:49 ` Borislav Petkov
2015-05-06 23:42 ` Toshi Kani
2015-05-07 7:52 ` Borislav Petkov
2015-05-07 13:45 ` Toshi Kani
2015-03-24 22:08 ` [PATCH v4 7/7] mtrr, mm, x86: Enhance MTRR checks for KVA huge page mapping Toshi Kani
2015-05-09 9:08 ` Borislav Petkov
2015-05-11 19:25 ` Toshi Kani
2015-05-11 20:18 ` Borislav Petkov
2015-05-11 20:38 ` Toshi Kani
2015-05-11 21:42 ` Borislav Petkov
2015-05-11 22:09 ` Toshi Kani
2015-05-12 7:28 ` Borislav Petkov
2015-05-12 14:30 ` Toshi Kani
2015-05-12 16:31 ` Borislav Petkov
2015-05-12 16:57 ` Toshi Kani
2015-03-24 22:43 ` [PATCH v4 0/7] mtrr, mm, x86: Enhance MTRR checks for huge I/O mapping Andrew Morton
2015-04-03 6:33 ` Ingo Molnar
2015-04-03 15:22 ` Toshi Kani
2015-04-27 14:31 ` Toshi Kani
2015-04-14 11:35 [PATCH] x86/kaslr: Fix typo in documentation Miroslav Benes
2015-04-14 11:37 ` Borislav Petkov
2015-04-22 17:12 [PATCH v4] mtrr: avoid ifdef'ery with phys_wc_to_mtrr_index() Luis R. Rodriguez
2015-04-28 22:13 [PATCH] x86: improve algorithm in clflush_cache_range Ross Zwisler
2015-04-29 10:28 ` Borislav Petkov
2015-04-28 22:46 [PATCH v2] x86: Add kerneldoc for pcommit_sfence() Ross Zwisler
2015-04-29 14:23 ` Borislav Petkov
2015-04-29 21:44 [PATCH v4 0/6] x86: document and address MTRR corner cases Luis R. Rodriguez
2015-04-29 21:44 ` [PATCH v4 1/6] x86: add ioremap_uc() - force strong UC, PCD=1, PWT=1 Luis R. Rodriguez
2015-04-30 10:18 ` Borislav Petkov
2015-04-29 21:44 ` [PATCH v4 2/6] x86: document WC MTRR effects on PAT / non-PAT pages Luis R. Rodriguez
2015-04-30 22:01 ` Randy Dunlap
2015-05-05 0:45 ` Luis R. Rodriguez
2015-05-05 7:22 ` Borislav Petkov
2015-05-05 7:46 ` Luis R. Rodriguez
2015-05-05 7:53 ` Borislav Petkov
2015-05-05 7:31 ` Luis R. Rodriguez
2015-05-04 12:23 ` Borislav Petkov
2015-05-05 7:35 ` Luis R. Rodriguez
2015-04-29 21:44 ` [PATCH v4 3/6] video: fbdev: atyfb: move framebuffer length fudging to helper Luis R. Rodriguez
2015-04-29 21:44 ` [PATCH v4 4/6] video: fbdev: atyfb: clarify ioremap() base and length used Luis R. Rodriguez
2015-04-29 21:44 ` [PATCH v4 5/6] video: fbdev: atyfb: replace MTRR UC hole with strong UC Luis R. Rodriguez
2015-04-29 21:44 ` [PATCH v4 6/6] video: fbdev: atyfb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez
2015-05-20 19:53 ` Luis R. Rodriguez
2015-05-20 20:57 ` Luis R. Rodriguez
2015-06-03 23:50 ` [PATCH v4 0/6] x86: document and address MTRR corner cases Luis R. Rodriguez
2015-06-08 23:43 ` Luis R. Rodriguez
2015-06-16 19:31 ` Luis R. Rodriguez
2015-06-19 22:22 ` Luis R. Rodriguez
2015-06-25 1:24 ` Luis R. Rodriguez
2015-06-25 6:59 ` Ingo Molnar
2015-06-25 16:41 ` Luis R. Rodriguez
2015-04-30 20:25 [PATCH v5 0/6] x86: address drivers that do not work with PAT Luis R. Rodriguez
2015-04-30 20:25 ` [PATCH v5 1/6] x86/mm/pat: use pr_info() and friends Luis R. Rodriguez
2015-05-04 14:58 ` Borislav Petkov
2015-05-07 3:36 ` Elliott, Robert (Server Storage)
2015-05-14 15:55 ` Luis R. Rodriguez
2015-04-30 20:25 ` [PATCH v5 2/6] x86/mm/pat: redefine pat_enabled Luis R. Rodriguez
2015-05-04 15:22 ` Borislav Petkov
2015-05-05 0:42 ` Luis R. Rodriguez
2015-04-30 20:25 ` [PATCH v5 3/6] arch/x86/mm/pat: export pat_enabled() Luis R. Rodriguez
2015-05-04 15:29 ` Borislav Petkov
2015-04-30 20:25 ` [PATCH v5 4/6] ivtv: use arch_phys_wc_add() and require PAT disabled Luis R. Rodriguez
2015-04-30 20:25 ` [PATCH v5 5/6] IB/ipath: add counting for MTRR Luis R. Rodriguez
2015-04-30 20:25 ` [PATCH v5 6/6] IB/ipath: use arch_phys_wc_add() and require PAT disabled Luis R. Rodriguez
2015-05-06 16:54 tools: Consolidate types.h Oleg Nesterov
2015-05-06 17:17 ` Borislav Petkov
2015-05-06 17:30 ` Oleg Nesterov
2015-05-06 17:37 ` Borislav Petkov
2015-05-07 2:53 ` Andy Lutomirski
2015-05-07 16:58 ` [PATCH 0/1] x86/vdso: add -Iarch/x86/include/uapi into HOST_EXTRACFLAGS Oleg Nesterov
2015-05-07 16:58 ` [PATCH 1/1] " Oleg Nesterov
2015-05-07 19:46 ` Andy Lutomirski
2015-05-07 21:55 ` Borislav Petkov
2015-05-11 12:44 ` [tip:x86/urgent] x86/vdso: Fix 'make bzImage' on older distros tip-bot for Oleg Nesterov
2015-05-11 8:15 [0/8] tip queue 2015-05-11 Borislav Petkov
2015-05-11 8:15 ` [PATCH] x86/alternatives: Switch AMD F15h and later to the P6 NOPs Borislav Petkov
2015-05-11 12:44 ` [tip:x86/asm] " tip-bot for Borislav Petkov
2015-05-11 8:15 ` [PATCH] x86/cpu/microcode: Zap changelog Borislav Petkov
2015-05-11 12:45 ` [tip:x86/microcode] " tip-bot for Borislav Petkov
2015-05-11 8:15 ` [PATCH] x86/kaslr: Fix typo in KASLR_FLAG documentation Borislav Petkov
2015-05-11 12:45 ` [tip:x86/boot] x86/kaslr: Fix typo in the " tip-bot for Miroslav Benes
2015-05-11 8:15 ` [PATCH 1/5] x86/mm: Do not flush last cacheline twice in clflush_cache_range() Borislav Petkov
2015-05-11 12:45 ` [tip:x86/mm] " tip-bot for Ross Zwisler
2015-05-11 8:15 ` [PATCH] x86/vdso: Add arch/x86/include/uapi include path to HOST_EXTRACFLAGS Borislav Petkov
2015-05-11 8:15 ` [PATCH 2/5] x86/mm: Add kerneldoc comments for pcommit_sfence() Borislav Petkov
2015-05-11 12:45 ` [tip:x86/mm] " tip-bot for Ross Zwisler
2015-05-11 8:15 ` [PATCH 3/5] x86/MTRR: Remove wrong address check in __mtrr_type_lookup() Borislav Petkov
2015-05-11 12:46 ` [tip:x86/mm] x86/mm/mtrr: Remove incorrect " tip-bot for Toshi Kani
2015-05-11 8:15 ` [PATCH 4/5] x86/mm: Add ioremap_uc() helper to map memory uncacheable (not UC-) Borislav Petkov
2015-05-11 12:46 ` [tip:x86/mm] " tip-bot for Luis R. Rodriguez
2015-05-15 18:23 [PATCH v5 0/6] mtrr, mm, x86: Enhance MTRR checks for huge I/O mapping Toshi Kani
2015-05-15 18:23 ` [PATCH v5 1/6] mm, x86: Simplify conditions of HAVE_ARCH_HUGE_VMAP Toshi Kani
2015-05-17 8:30 ` Borislav Petkov
2015-05-15 18:23 ` [PATCH v5 2/6] mtrr, x86: Fix MTRR lookup to handle inclusive entry Toshi Kani
2015-05-15 18:23 ` [PATCH v5 3/6] mtrr, x86: Fix MTRR state checks in mtrr_type_lookup() Toshi Kani
2015-05-15 18:23 ` [PATCH v5 4/6] mtrr, x86: Define MTRR_TYPE_INVALID for mtrr_type_lookup() Toshi Kani
2015-05-15 18:23 ` [PATCH v5 5/6] mtrr, x86: Clean up mtrr_type_lookup() Toshi Kani
2015-05-15 18:23 ` [PATCH v5 6/6] mtrr, mm, x86: Enhance MTRR checks for KVA huge page mapping Toshi Kani
2015-05-18 13:33 ` Borislav Petkov
2015-05-18 17:22 ` Toshi Kani
2015-05-18 19:01 ` Borislav Petkov
2015-05-18 19:31 ` Toshi Kani
2015-05-18 20:01 ` Borislav Petkov
2015-05-18 20:21 ` Toshi Kani
2015-05-18 20:51 ` Borislav Petkov
2015-05-18 21:53 ` Toshi Kani
2015-05-19 11:44 ` Borislav Petkov
2015-05-19 13:23 ` Borislav Petkov
2015-05-19 13:47 ` Toshi Kani
2015-05-20 11:55 ` Ingo Molnar
2015-05-20 14:34 ` Toshi Kani
2015-05-20 15:01 ` Ingo Molnar
2015-05-20 15:02 ` Toshi Kani
2015-05-20 16:04 ` Borislav Petkov
2015-05-20 15:46 ` Toshi Kani
2015-05-18 16:34 [PATCH v4 0/3] Compile-time stack frame pointer validation Josh Poimboeuf
2015-05-18 16:34 ` [PATCH v4 1/3] x86, stackvalidate: " Josh Poimboeuf
2015-05-18 16:34 ` [PATCH v4 2/3] x86: Make push/pop CFI macros arch-independent Josh Poimboeuf
2015-05-18 16:34 ` [PATCH v4 3/3] x86, stackvalidate: Add asm frame pointer setup macros Josh Poimboeuf
2015-05-20 10:33 ` [PATCH v4 0/3] Compile-time stack frame pointer validation Ingo Molnar
2015-05-20 14:13 ` Josh Poimboeuf
2015-05-20 14:48 ` Ingo Molnar
2015-05-20 15:51 ` Josh Poimboeuf
2015-05-20 16:09 ` Josh Poimboeuf
2015-05-20 16:03 ` Andy Lutomirski
2015-05-20 16:25 ` Josh Poimboeuf
2015-05-20 16:39 ` Andy Lutomirski
2015-05-20 16:52 ` Borislav Petkov
2015-05-21 10:16 ` Ingo Molnar
2015-05-21 10:47 ` Borislav Petkov
2015-05-21 11:11 ` Ingo Molnar
2015-05-21 15:49 ` [PATCH 1/3] x86/documentation: Move kernel-stacks doc one level up Borislav Petkov
2015-05-21 15:49 ` [PATCH 2/3] x86/documentation: Remove STACKFAULT_STACK bulletpoint Borislav Petkov
2015-05-21 15:49 ` [PATCH 3/3] x86/documentation: Adapt Ingo's explanation on printing backtraces Borislav Petkov
2015-05-27 14:17 ` [tip:x86/debug] x86/Documentation: Adapt Ingo' s " tip-bot for Borislav Petkov
2015-05-20 16:59 ` [PATCH v4 0/3] Compile-time stack frame pointer validation Linus Torvalds
2015-05-20 17:20 ` Josh Poimboeuf
2015-05-21 10:27 ` Ingo Molnar
2015-05-21 7:52 ` Ingo Molnar
2015-05-21 12:12 ` Ingo Molnar
2015-05-26 23:06 ` Andi Kleen
2015-05-20 17:27 ` Peter Zijlstra
2015-05-20 19:10 ` Jiri Kosina
2015-05-21 20:54 ` Josh Poimboeuf
2015-05-21 21:53 ` Andy Lutomirski
2015-05-22 14:53 ` Josh Poimboeuf
2015-05-21 22:01 ` Borislav Petkov
2015-05-22 14:32 ` Josh Poimboeuf
2015-05-22 21:18 ` Jiri Kosina
2015-05-22 22:22 ` Josh Poimboeuf
2015-05-23 8:37 ` Borislav Petkov
2015-05-19 8:01 [RFC PATCH 0/4] x86, mwaitt: introduce AMD mwaitt support Huang Rui
2015-05-19 8:01 ` [RFC PATCH 1/4] x86, mwaitt: add monitorx and mwaitx instruction Huang Rui
2015-05-19 11:29 ` Borislav Petkov
2015-05-21 8:54 ` Huang Rui
2015-05-21 9:35 ` Borislav Petkov
2015-05-19 8:01 ` [RFC PATCH 2/4] x86, mwaitt: introduce mwaitx idle with a configurable timer Huang Rui
2015-05-19 11:31 ` Borislav Petkov
2015-05-20 8:55 ` Ingo Molnar
2015-05-20 9:12 ` Borislav Petkov
2015-05-20 10:22 ` Ingo Molnar
2015-05-20 10:50 ` Borislav Petkov
2015-05-20 11:11 ` Ingo Molnar
2015-05-20 11:21 ` Borislav Petkov
2015-05-20 11:41 ` Ingo Molnar
2015-05-20 13:20 ` Thomas Gleixner
2015-05-20 14:51 ` Ingo Molnar
2015-05-20 15:55 ` One Thousand Gnomes
2015-05-20 16:07 ` Borislav Petkov
2015-05-20 19:12 ` Thomas Gleixner
2015-05-20 20:15 ` Borislav Petkov
2015-05-21 14:56 ` Huang Rui
2015-05-21 16:02 ` Borislav Petkov
2015-05-21 16:45 ` Andy Lutomirski
2015-05-21 17:08 ` Borislav Petkov
2015-05-21 17:12 ` Andy Lutomirski
2015-05-21 19:30 ` Thomas Gleixner
2015-05-21 14:32 ` Huang Rui
2015-05-25 2:42 ` Huang Rui
2015-05-25 10:43 ` Ingo Molnar
2015-05-21 14:15 ` Huang Rui
2015-05-21 13:26 ` Huang Rui
2015-05-21 1:34 ` Andy Lutomirski
2015-05-21 5:48 ` Andy Lutomirski
2015-05-27 1:01 ` Andy Lutomirski
2015-05-27 11:30 ` Borislav Petkov
2015-05-21 9:41 ` Thomas Gleixner
2015-05-19 8:01 ` [RFC PATCH 3/4] x86, mwaitt: add document to describe mwaitx Huang Rui
2015-05-19 8:01 ` [RFC PATCH 4/4] x86, mwait: fix redundant comment Huang Rui
2015-05-19 9:40 ` Borislav Petkov
2015-05-19 8:57 ` [RFC PATCH 0/4] x86, mwaitt: introduce AMD mwaitt support Borislav Petkov
2015-05-19 9:44 ` Huang Rui
2015-05-19 15:43 [PATCH] x86, cpuinfo x86_model_id whitespace cleanup Prarit Bhargava
2015-05-19 16:56 ` Borislav Petkov
2015-05-19 17:25 ` Brian Gerst
2015-05-19 18:13 ` Borislav Petkov
2015-05-19 18:44 ` Andy Lutomirski
2015-05-19 19:22 ` Borislav Petkov
2015-05-19 20:16 ` Andy Lutomirski
2015-05-19 20:26 ` Joe Perches
2015-05-19 20:28 ` Joe Perches
2015-05-19 20:31 ` Borislav Petkov
2015-05-19 22:17 ` Prarit Bhargava
2015-05-27 17:18 ` H. Peter Anvin
2015-05-20 6:34 ` Ingo Molnar
2015-05-20 10:15 ` Prarit Bhargava
2015-06-02 8:42 ` [tip:x86/cpu] x86/cpu: Trim model ID whitespace tip-bot for Borislav Petkov
2015-05-20 11:22 [PATCH] mce: fix fail to set 'monarchtimeout' via boot option Xie XiuQi
2015-05-20 17:43 ` Borislav Petkov
2015-05-21 1:00 ` Xie XiuQi
2015-05-26 8:28 [PATCH 00/18] tip queue 2015-05-26 Borislav Petkov
2015-05-26 8:28 ` [PATCH 01/18] x86/kconfig: Simplify conditions for HAVE_ARCH_HUGE_VMAP Borislav Petkov
2015-05-27 14:17 ` [tip:x86/mm] x86/mm/kconfig: " tip-bot for Toshi Kani
2015-05-26 8:28 ` [PATCH 02/18] x86/mtrr: Fix MTRR lookup to handle an inclusive entry Borislav Petkov
2015-05-27 14:18 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Toshi Kani
2015-05-26 8:28 ` [PATCH 03/18] x86/mtrr: Fix MTRR state checks in mtrr_type_lookup() Borislav Petkov
2015-05-27 14:18 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Toshi Kani
2015-05-26 8:28 ` [PATCH 04/18] x86/mtrr: Use symbolic define as a retval for disabled MTRRs Borislav Petkov
2015-05-27 14:18 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Toshi Kani
2015-05-26 8:28 ` [PATCH 05/18] x86/mtrr: Clean up mtrr_type_lookup() Borislav Petkov
2015-05-27 14:19 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Toshi Kani
2015-07-31 13:18 ` Peter Zijlstra
2015-07-31 14:44 ` Borislav Petkov
2015-07-31 15:08 ` Peter Zijlstra
2015-07-31 15:27 ` Borislav Petkov
2015-08-01 14:28 ` Luis R. Rodriguez
2015-08-01 16:33 ` Borislav Petkov
2015-08-01 16:39 ` Linus Torvalds
2015-08-01 16:49 ` Borislav Petkov
2015-08-01 17:03 ` Linus Torvalds
2015-05-26 8:28 ` [PATCH 06/18] x86/process: Drop repeated word from comment Borislav Petkov
2015-05-27 14:16 ` [tip:sched/core] sched/x86: Drop repeated word from mwait_idle() comment tip-bot for Huang Rui
2015-05-26 8:28 ` [PATCH 07/18] x86/mm: Enhance MTRR checks in kernel mapping helpers Borislav Petkov
2015-05-27 14:19 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Toshi Kani
2015-05-26 8:28 ` [PATCH 08/18] x86/mm/pat: Convert to pr_* usage Borislav Petkov
2015-05-27 14:19 ` [tip:x86/mm] x86/mm/pat: Convert to pr_*() usage tip-bot for Luis R. Rodriguez
2015-05-26 8:28 ` [PATCH 09/18] x86: Document Write Combining MTRR type effects on PAT / non-PAT pages Borislav Petkov
2015-05-27 14:19 ` [tip:x86/mm] x86/mm/mtrr, pat: " tip-bot for Luis R. Rodriguez
2015-05-26 8:28 ` [PATCH 10/18] x86/mtrr: Avoid ifdeffery with phys_wc_to_mtrr_index() Borislav Petkov
2015-05-27 14:20 ` [tip:x86/mm] x86/mm/mtrr: Avoid #ifdeffery " tip-bot for Luis R. Rodriguez
2015-05-26 8:28 ` [PATCH 11/18] x86/mtrr: Generalize runtime disabling of MTRRs Borislav Petkov
2015-05-27 14:20 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Luis R. Rodriguez
2015-05-26 8:28 ` [PATCH 12/18] x86/mm/pat: Wrap pat_enabled Borislav Petkov
2015-05-27 14:20 ` [tip:x86/mm] x86/mm/pat: Wrap pat_enabled into a function API tip-bot for Luis R. Rodriguez
2015-05-26 8:28 ` [PATCH 13/18] x86/mm/pat: Export pat_enabled() Borislav Petkov
2015-05-27 14:21 ` [tip:x86/mm] " tip-bot for Luis R. Rodriguez
2015-05-26 8:28 ` [PATCH 14/18] x86/cpu: Strip any /proc/cpuinfo model name field whitespace Borislav Petkov
2015-05-27 14:16 ` [tip:x86/cpu] x86/cpu: Strip any /proc/ cpuinfo " tip-bot for Prarit Bhargava
2015-05-27 17:07 ` Joe Perches
2015-05-27 19:06 ` Borislav Petkov
2015-05-27 19:16 ` Joe Perches
2015-05-28 11:27 ` Prarit Bhargava
2015-05-28 11:32 ` Borislav Petkov
2015-05-28 12:58 ` Borislav Petkov
2015-05-28 16:57 ` H. Peter Anvin
2015-05-28 18:33 ` Borislav Petkov
2015-05-28 20:39 ` H. Peter Anvin
2015-05-26 8:28 ` [PATCH 15/18] x86/documentation: Move kernel-stacks doc one level up Borislav Petkov
2015-05-27 14:17 ` [tip:x86/debug] x86/Documentation: " tip-bot for Borislav Petkov
2015-05-26 8:28 ` [PATCH 16/18] x86/documentation: Remove STACKFAULT_STACK bulletpoint Borislav Petkov
2015-05-27 14:17 ` [tip:x86/debug] x86/Documentation: " tip-bot for Borislav Petkov
2015-05-26 8:28 ` [PATCH 17/18] x86/documentation: Adapt Ingo's explanation on printing backtraces Borislav Petkov
2015-05-26 8:28 ` [PATCH 18/18] x86/mce: Fix monarch timeout setting through the mce= cmdline option Borislav Petkov
2015-06-07 17:39 ` [tip:x86/core] " tip-bot for Xie XiuQi
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=20150421203623-mutt-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=JBeulich@suse.com \
--cc=adaplas@gmail.com \
--cc=airlied@redhat.com \
--cc=arnd@arndb.de \
--cc=arndatarndb.de@suse.de \
--cc=bhelgaas@google.com \
--cc=bp@suse.de \
--cc=bpoirier@suse.de \
--cc=daniel.vetter@ffwll.ch \
--cc=dave.hansen@linux.intel.com \
--cc=david.vrabel@citrix.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=julia.lawall@lip6.fr \
--cc=konrad.wilk@oracle.com \
--cc=linus.walleijatlinaro.org@suse.de \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mcgrof@do-not-panic.com \
--cc=mcgrof@suse.com \
--cc=mingo@elte.hu \
--cc=mingo@redhat.com \
--cc=peter.senna@gmail.com \
--cc=plagnioj@jcrosoft.com \
--cc=roger.pau@citrix.com \
--cc=sarah.a.sharp@intel.com \
--cc=stefan.bader@canonical.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
--cc=tomi.valkeinen@ti.com \
--cc=toshi.kani@hp.com \
--cc=venkatesh.pallipadi@intel.com \
--cc=ville.syrjala@linux.intel.com \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).