[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zcp-hIlV-ZEu0Jou@linux.dev>
Date: Mon, 12 Feb 2024 20:24:36 +0000
From: Oliver Upton <oliver.upton@...ux.dev>
To: ankita@...dia.com
Cc: jgg@...dia.com, maz@...nel.org, james.morse@....com,
suzuki.poulose@....com, yuzenghui@...wei.com,
reinette.chatre@...el.com, surenb@...gle.com, stefanha@...hat.com,
brauner@...nel.org, catalin.marinas@....com, will@...nel.org,
mark.rutland@....com, alex.williamson@...hat.com,
kevin.tian@...el.com, yi.l.liu@...el.com, ardb@...nel.org,
akpm@...ux-foundation.org, andreyknvl@...il.com,
wangjinchao@...sion.com, gshan@...hat.com, shahuang@...hat.com,
ricarkol@...gle.com, linux-mm@...ck.org, lpieralisi@...nel.org,
rananta@...gle.com, ryan.roberts@....com, david@...hat.com,
linus.walleij@...aro.org, bhe@...hat.com, aniketa@...dia.com,
cjia@...dia.com, kwankhede@...dia.com, targupta@...dia.com,
vsethi@...dia.com, acurrid@...dia.com, apopple@...dia.com,
jhubbard@...dia.com, danw@...dia.com, kvmarm@...ts.linux.dev,
mochs@...dia.com, zhiw@...dia.com, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v7 0/4] kvm: arm64: allow the VM to select DEVICE_* and
NORMAL_NC for IO memory
On Sun, Feb 11, 2024 at 11:17:01PM +0530, ankita@...dia.com wrote:
> From: Ankit Agrawal <ankita@...dia.com>
>
> Currently, KVM for ARM64 maps at stage 2 memory that is considered device
> with DEVICE_nGnRE memory attributes; this setting overrides (per
> ARM architecture [1]) any device MMIO mapping present at stage 1,
> resulting in a set-up whereby a guest operating system cannot
> determine device MMIO mapping memory attributes on its own but
> it is always overridden by the KVM stage 2 default.
>
> This set-up does not allow guest operating systems to select device
> memory attributes independently from KVM stage-2 mappings
> (refer to [1], "Combining stage 1 and stage 2 memory type attributes"),
> which turns out to be an issue in that guest operating systems
> (e.g. Linux) may request to map devices MMIO regions with memory
> attributes that guarantee better performance (e.g. gathering
> attribute - that for some devices can generate larger PCIe memory
> writes TLPs) and specific operations (e.g. unaligned transactions)
> such as the NormalNC memory type.
>
> The default device stage 2 mapping was chosen in KVM for ARM64 since
> it was considered safer (i.e. it would not allow guests to trigger
> uncontained failures ultimately crashing the machine) but this
> turned out to be asynchronous (SError) defeating the purpose.
>
> For these reasons, relax the KVM stage 2 device memory attributes
> from DEVICE_nGnRE to Normal-NC.
Hi Ankit,
Thanks for being responsive in respinning the series according to the
feedback. I think we're pretty close here, but it'd be good to address
the comment / changelog feedback as well.
Can you respin this once more? Hopefully we can get this stuff soaking
in -next thereafter.
--
Thanks,
Oliver
Powered by blists - more mailing lists