Re: [PATCH v2 2/6] x86, mm, pat: Change reserve_memtype() to handle WT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2014-09-10 at 14:27 -0700, Andy Lutomirski wrote:
> On Wed, Sep 10, 2014 at 2:11 PM, Toshi Kani <toshi.kani@xxxxxx> wrote:
> > On Wed, 2014-09-10 at 14:06 -0700, Andy Lutomirski wrote:
> >> On Wed, Sep 10, 2014 at 1:30 PM, Toshi Kani <toshi.kani@xxxxxx> wrote:
> >> > On Wed, 2014-09-10 at 13:14 -0700, H. Peter Anvin wrote:
> >> >> On 09/10/2014 12:30 PM, Toshi Kani wrote:
> >> >> >
> >> >> > When WT is unavailable due to the PAT errata, it does not fail but gets
> >> >> > redirected to UC-.  Similarly, when PAT is disabled, WT gets redirected
> >> >> > to UC- as well.
> >> >> >
> >> >>
> >> >> But on pre-PAT hardware you can still do WT.
> >> >
> >> > Yes, if we manipulates the bits directly, but such code is no longer
> >> > allowed for PAT systems.  The PAT-based kernel interfaces won't work for
> >> > pre-PAT systems, and therefore requests are redirected to UC- on such
> >> > systems.
> >> >
> >>
> >> Right, the PWT bit.  Forgot about that.
> >>
> >> I wonder whether it would make sense to do some followup patches to
> >> replace the current support for non-PAT machines with a "PAT" and
> >> corresponding reverse map that exactly matches the mapping when PAT is
> >> disabled.  These patches are almost there.
> >
> > That's possible, but the only benefit is that we can enable WT on
> > pre-PAT systems, which I do not think anyone cares now...  WB & UC work
> > on pre-PAT systems.  WC & WT need PAT.  I think this requirement is
> > reasonable.
> 
> It might end up being a cleanup, though.  A whole bunch of
> rarely-exercised if (!pat_enabled) things would go away.

Good point.  I will work on it. 

Thanks,
-Toshi

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]