[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <627769A8-AF84-47A1-B4F9-5F44C75A8058@infradead.org>
Date: Fri, 25 Oct 2024 08:13:03 +0200
From: David Woodhouse <dwmw2@...radead.org>
To: Oliver Upton <oliver.upton@...ux.dev>
CC: Miguel Luis <miguel.luis@...cle.com>, Paolo Bonzini <pbonzini@...hat.com>,
Jonathan Corbet <corbet@....net>, Marc Zyngier <maz@...nel.org>,
James Morse <james.morse@....com>, Suzuki K Poulose <suzuki.poulose@....com>,
Zenghui Yu <yuzenghui@...wei.com>, Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>, Mark Rutland <mark.rutland@....com>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
"Rafael J. Wysocki" <rafael@...nel.org>, Pavel Machek <pavel@....cz>,
Len Brown <len.brown@...el.com>, Shuah Khan <shuah@...nel.org>,
David Woodhouse <dwmw@...zon.co.uk>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>,
"kvmarm@...ts.linux.dev" <kvmarm@...ts.linux.dev>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-kselftest@...r.kernel.org" <linux-kselftest@...r.kernel.org>,
Francesco Lavra <francescolavra.fl@...il.com>
Subject: Re: [PATCH v6 6/6] arm64: Use SYSTEM_OFF2 PSCI call to power off for hibernate
On 24 October 2024 21:57:38 CEST, Oliver Upton <oliver.upton@...ux.dev> wrote:
>On Thu, Oct 24, 2024 at 05:56:09PM +0200, David Woodhouse wrote:
>> On 24 October 2024 17:44:49 CEST, Oliver Upton <oliver.upton@...ux.dev> wrote:
>> >IIUC, you're really wanting to 0x0 because there are hypervisors out
>> >there that violate the final spec and *only* accept this value.
>> >
>> >That's perfectly fine, but it'd help avoid confusion if the supporting
>> >comment was a bit more direct:
>> >
>> > /*
>> > * If no hibernate type is specified SYSTEM_OFF2 defaults to
>> > * selecting HIBERNATE_OFF.
>> > *
>> > * There are hypervisors in the wild that violate the spec and
>> > * reject calls that explicitly provide a hibernate type. For
>> > * compatibility with these nonstandard implementations, pass 0
>> > * as the type.
>> > */
>> > if (system_entering_hibernation())
>> > invoke_psci_fn(PSCI_FN_NATIVE(1_3, SYSTEM_OFF2), 0 , 0, 0);
>>
>> By the time this makes it into released versions of the guest Linux kernel, that comment won't be true any more.
>
>Then does it even matter? What is the problem you're trying to solve
>with using a particular value for the hibernate type?
>
>Either the goal of this is to make the PSCI client code compatible with
>your hypervisor today (and any other implementation based on 'F ALP1') or
>we don't care and go with whatever value we want.
>
>Even if the comment eventually becomes stale, there is a ton of value in
>documenting the exact implementation decision being made.
>
Eventually it won't matter and we can go with whatever value we want. But yes, the goal is to be compatible with the hypervisor *today* until it catches up the changes to the final versions of the spec. I didn't spend much time overthinking the comment. What was it....
/*
* Zero is an acceptable alternative to PSCI_1_3_OFF_TYPE_HIBERNATE_OFF
* and is supported by hypervisors implementing an earlier version
* of the pSCI v1.3 spec.
*/
That seems to cover it just fine, I think.
Powered by blists - more mailing lists