All of lore.kernel.org
 help / color / mirror / Atom feed
From: Toshi Kani <toshi.kani@hpe.com>
To: Borislav Petkov <bp@alien8.de>
Cc: "mingo@kernel.org" <mingo@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mcgrof@suse.com" <mcgrof@suse.com>,
	"jgross@suse.com" <jgross@suse.com>,
	"paul.gortmaker@windriver.com" <paul.gortmaker@windriver.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] x86/mm/pat: Change pat_disable() to emulate PAT table
Date: Mon, 14 Mar 2016 15:37:23 -0600	[thread overview]
Message-ID: <1457991443.6393.290.camel@hpe.com> (raw)
In-Reply-To: <20160312115544.GA23410@pd.tnic>

On Sat, 2016-03-12 at 12:55 +0100, Borislav Petkov wrote:
> Ok, let's start again.
> 
> So what's wrong with this simpler, cleaner version below?
> 
> * It makes sure to run the rendezvous handler on the BP on init.
> 
> * It disables PAT otherwise.
> 
> * Oh, and it boots fine with Paul's reproducer, X is there (even though
> vncviewer dies when X starts with "Rect too large: 640x480 at (0, 0)"
> and I have to reconnect to see the X window).
> 
> In dmesg I see "x86/PAT: Disabled by MTRR".

Your patch is a simplified version of mine.  So, yes, it fixes the Paul's
issue, but it does not address other issues that my patchset also
addressed.  In specific, I think your patch has the following issues.

- pat_disable() is now callable from other modules. So, it needs to check
with boot_cpu_done. We cannot disable PAT once it is initialized.

- mtrr_bp_init() needs to check with mtrr_enabled() when it
calls mtrr_pat_setup_bp(). Otherwise, PAT is left initialized on BSP only
when MTRR is disabled by its MSR. In your patch, mtrr_bp_init() calls
pat_setup() again, but it does not help since boot_cpu_done is set.

- When PAT is disabled in CPU feature, pat_bsp_init() calls pat_disable()
and returns. However, it does not initialize a PAT table by calling
pat_init_cache_modes().

- When CONFIG_MTRR is unset, it does not call pat_setup().

Thanks,
-Toshi

  reply	other threads:[~2016-03-14 20:44 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-11  4:45 [PATCH 0/2] Refactor MTRR and PAT initializations Toshi Kani
2016-03-11  4:45 ` [PATCH 1/2] x86/mm/pat: Change pat_disable() to emulate PAT table Toshi Kani
2016-03-11  9:12   ` Borislav Petkov
2016-03-11 16:27     ` Toshi Kani
2016-03-11 15:54       ` Borislav Petkov
2016-03-11 19:28         ` Toshi Kani
2016-03-12 11:55           ` Borislav Petkov
2016-03-14 21:37             ` Toshi Kani [this message]
2016-03-15 11:00               ` Borislav Petkov
2016-03-15 22:02                 ` Toshi Kani
2016-03-15  0:29             ` Luis R. Rodriguez
2016-03-15  3:11               ` Toshi Kani
2016-03-15  3:11               ` Toshi Kani
2016-03-15 11:01                 ` Borislav Petkov
2016-03-15 15:43                   ` Toshi Kani
2016-03-15 15:43                   ` Toshi Kani
2016-03-15 15:47                     ` Borislav Petkov
2016-03-15 15:47                     ` Borislav Petkov
2016-03-15 17:11                       ` Toshi Kani
2016-03-15 16:33                         ` Borislav Petkov
2016-03-15 16:33                         ` Borislav Petkov
2016-03-15 17:11                       ` Toshi Kani
2016-03-15 11:01                 ` Borislav Petkov
2016-03-15 21:31                 ` Luis R. Rodriguez
2016-03-15 21:31                 ` Luis R. Rodriguez
2016-03-15  0:29             ` Luis R. Rodriguez
2016-03-11  4:45 ` [PATCH 2/2] x86/mtrr: Refactor PAT initialization code Toshi Kani
2016-03-11  9:01   ` Ingo Molnar
2016-03-11  9:13     ` Ingo Molnar
2016-03-11 18:34       ` Toshi Kani
2016-03-12 16:18         ` Ingo Molnar
2016-03-14 19:47           ` Toshi Kani
2016-03-14 22:50         ` Luis R. Rodriguez
2016-03-15  0:37           ` Toshi Kani
2016-03-15 15:56             ` Borislav Petkov
2016-03-16 15:44             ` Joe Lawrence
2016-03-11  9:24   ` Borislav Petkov
2016-03-11 18:57     ` Toshi Kani
2016-03-11 22:17       ` Luis R. Rodriguez
2016-03-11 23:56         ` Toshi Kani
2016-03-11 23:34           ` Luis R. Rodriguez
2016-03-12  1:16             ` Toshi Kani
2016-03-15  0:15               ` Luis R. Rodriguez
2016-03-15 23:48                 ` Toshi Kani
2016-03-15 23:29                   ` Luis R. Rodriguez
2016-03-17 21:56                     ` Toshi Kani
2016-03-18  0:06                       ` Luis R. Rodriguez
2016-03-18 21:35                         ` Toshi Kani
2016-03-29 17:14                           ` Luis R. Rodriguez
2016-03-29 21:46                             ` Toshi Kani
2016-03-29 22:12                               ` Luis R. Rodriguez
2016-03-30  0:16                                 ` Toshi Kani
2016-03-29 23:43                                   ` Luis R. Rodriguez
2016-03-30  1:07                                     ` Toshi Kani
2016-03-30  0:34                                       ` Luis R. Rodriguez
2016-04-09  2:04                       ` Luis R. Rodriguez
2016-04-11 14:30                         ` Toshi Kani

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=1457991443.6393.290.camel@hpe.com \
    --to=toshi.kani@hpe.com \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=jgross@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcgrof@suse.com \
    --cc=mingo@kernel.org \
    --cc=paul.gortmaker@windriver.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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 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.