Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754980AbbFLQ6s (ORCPT ); Fri, 12 Jun 2015 12:58:48 -0400 Received: from g4t3427.houston.hp.com ([15.201.208.55]:44751 "EHLO g4t3427.houston.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753775AbbFLQ6k (ORCPT ); Fri, 12 Jun 2015 12:58:40 -0400 Message-ID: <1434128306.11808.97.camel@misato.fc.hp.com> Subject: Re: [Xen-devel] RIP MTRR - status update for upcoming v4.2 From: Toshi Kani To: Jan Beulich Cc: Andy Lutomirski , "Luis R. Rodriguez" , Bjorn Helgaas , Jej B , X86 ML , Andrew Morton , ville.syrjala@linux.intel.com, Julia Lawall , xen-devel@lists.xenproject.org, Dave Airlie , syrjala@sci.fi, Juergen Gross , Luis Rodriguez , Borislav Petkov , Tomi Valkeinen , linux-fbdev , "linux-kernel@vger.kernel.org" , linux-media@vger.kernel.org, "linux-pci@vger.kernel.org" Date: Fri, 12 Jun 2015 10:58:26 -0600 In-Reply-To: <557AAD910200007800084014@mail.emea.novell.com> References: <1434064996.11808.64.camel@misato.fc.hp.com> <557AAD910200007800084014@mail.emea.novell.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4 (3.10.4-4.fc20) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1924 Lines: 44 On Fri, 2015-06-12 at 08:59 +0100, Jan Beulich wrote: > >>> On 12.06.15 at 01:23, wrote: > > There are two usages on MTRRs: > > 1) MTRR entries set by firmware > > 2) MTRR entries set by OS drivers > > > > We can obsolete 2), but we have no control over 1). As UEFI firmwares > > also set this up, this usage will continue to stay. So, we should not > > get rid of the MTRR code that looks up the MTRR entries, while we have > > no need to modify them. > > > > Such MTRR entries provide safe guard to /dev/mem, which allows > > privileged user to access a range that may require UC mapping while > > the /dev/mem driver blindly maps it with WB. MTRRs converts WB to UC in > > such a case. > > But it wouldn't be impossible to simply read the MTRRs upon boot, > store the information, disable MTRRs, and correctly use PAT to > achieve the same effect (i.e. the "blindly maps" part of course > would need fixing). It could be done, but I do not see much benefit of doing it. One of the reasons platform vendors set MTRRs is so that a system won't hit a machine check when an OS bug leads an access with a wrong cache type. A machine check is hard to analyze and can be seen as a hardware issue by customers. Emulating MTRRs with PAT won't protect from such a bug. > > UEFI memory table has memory attribute, which describes cache types > > supported in physical memory ranges. However, this information gets > > lost when it it is converted to e820 table. > > I'm afraid you rather don't want to trust that information, as > firmware vendors frequently screw it up. Could be, but we need to use firmware info when necessary... Thanks, -Toshi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/