From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757838AbbICW2F (ORCPT ); Thu, 3 Sep 2015 18:28:05 -0400 Received: from g2t2353.austin.hp.com ([15.217.128.52]:25832 "EHLO g2t2353.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752903AbbICW2D (ORCPT ); Thu, 3 Sep 2015 18:28:03 -0400 Message-ID: <1441319131.3277.54.camel@hpe.com> Subject: Re: Fwd: [PATCH] x86: Use larger chunks in mtrr_cleanup From: Toshi Kani To: "Luis R. Rodriguez" Cc: Prarit Bhargava , Stuart Hayes , tglx@linutronix.de, mingo@redhat.com, "H. Peter Anvin" , linux-kernel@vger.kernel.org, x86@kernel.org, mcgrof@do-not-panic.com, Toshi Kani Date: Thu, 03 Sep 2015 16:25:31 -0600 In-Reply-To: <20150903220711.GX8051@wotan.suse.de> References: <55E477DE.2060106@gmail.com> <55E47B4D.1050103@gmail.com> <20150903024542.GS8051@wotan.suse.de> <55E83A3E.3030000@redhat.com> <20150903175902.GU8051@wotan.suse.de> <55E88D06.3040608@redhat.com> <20150903184029.GV8051@wotan.suse.de> <1441308162.3277.20.camel@hpe.com> <20150903195134.GW8051@wotan.suse.de> <1441315902.3277.39.camel@hpe.com> <20150903220711.GX8051@wotan.suse.de> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.5 (3.16.5-1.fc22) 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 On Fri, 2015-09-04 at 00:07 +0200, Luis R. Rodriguez wrote: : > These are still at odds, for instance, I was under the impression we can > just have the OS return MTRR_TYPE_INVALID if the OS / drivers never used > or set up MTRR, but the platform did, above (not the patch) you seem to be > saying that even if the OS didn't modify MTRRs the OS still needs to return > the appropriately set up MTRR type by firmware. This is different. Can you > clarify? mtrr_type_lookup() returns valid MTRR cache type for a given address range when MTRRs are enabled. It does not matter if MTRRs are set by the firmware or the OS. When MTRRs are enabled, the kernel needs to check through mtrr_type_lookup() that large page mapping requests are aligned with MTRRs. On Xen, or on a platform with firmware that does not enable MTRRs, mtrr_type_lookup() returns MTRR_TYPE_INVALID (as long as the kernel does not enable them). Thanks, -Toshi