From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm64: cpufeature: check translation granule size based on kernel config
Date: Thu, 18 May 2017 13:38:41 +0100 [thread overview]
Message-ID: <20170518123840.GD21359@arm.com> (raw)
In-Reply-To: <20170518113627.GC25294@leoy-ThinkPad-T440>
On Thu, May 18, 2017 at 07:36:27PM +0800, Leo Yan wrote:
> On Thu, May 18, 2017 at 11:39:01AM +0100, Suzuki K Poulose wrote:
> > On 18/05/17 11:21, Leo Yan wrote:
> > >In the big.LITTLE system with two clusters, one is CA53 cluster and
> > >another is CA73 cluster. CA53 doesn't support 16KB memory translation
> > >granule size (4.3.21 AArch64 Memory Model Feature Register 0, EL1; ARM
> > >DDI 0500F), but CA73 supports this feature (4.3.27 AArch64 Memory Model
> > >Feature Register 0, EL1; ARM 100048_0002_04_en). As result, the kernel
> > >reports log for "Unexpected variation" as below.
> > >
> > >[ 0.182113] CPU features: SANITY CHECK: Unexpected variation in SYS_ID_AA64MMFR0_EL1. Boot CPU: 0x00000000001122, CPU4: 0x00000000101122
> >
> > >
> > >This patch is to change the checking CPU feature for memory translation
> > >granule size based on kernel configuration. If kernel configuration has
> > >selected to use one specific memory translation granule size, then we
> > >will do strict sanity checking cross all CPUs. Otherwise we can skip to
> > >check unused features for memory translation granule size if kernel
> > >doesn't use it.
> > >
> >
> > If we were to suppress the warning (more on that below), we could simply
> > make this feature a NON_STRICT, since the unsupported CPUs won't boot
> > with 16K to hit this sanity check.
> >
> > However, there is a problem with disabling this warning. If a VM starts
> > using 16KB page size on a 4K/64K host, the VM could end up in unknown
> > failures when it switches to an unsupported CPU (after it has booted).
> > Of course the real fix lies in making the KVM exposing the safe value
> > for granule support to the VCPUs (which is currently being worked on by
> > Douglas in Cc). So, when we have that ready, we could make it NON_STRICT
> > instead of this approach.
>
> Thanks for the info :)
>
> I will use below patch for production branch temporarily. You could
> work out one formal patch for upstreaming when the dependency patches
> are get ready:
The other thing we could do is change the way we taint on mismatch so that
we don't dump the scary (and pointless) backtrace.
Will
next prev parent reply other threads:[~2017-05-18 12:38 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-18 10:21 [PATCH] arm64: cpufeature: check translation granule size based on kernel config Leo Yan
2017-05-18 10:39 ` Suzuki K Poulose
2017-05-18 11:36 ` Leo Yan
2017-05-18 12:38 ` Will Deacon [this message]
2017-05-18 12:41 ` Mark Rutland
2017-05-18 13:02 ` Leo Yan
2017-05-18 14:24 ` Mark Rutland
2017-05-18 15:13 ` Will Deacon
2017-05-18 12:39 ` Suzuki K Poulose
2017-05-18 13:01 ` Leo Yan
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=20170518123840.GD21359@arm.com \
--to=will.deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.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).