[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <E64227FF-E6A2-4E2C-85F3-EF1D9EFEC91F@infradead.org>
Date: Mon, 16 Dec 2024 18:14:17 +0000
From: David Woodhouse <dwmw2@...radead.org>
To: "Eric W. Biederman" <ebiederm@...ssion.com>
CC: "Rafael J. Wysocki" <rjw@...ysocki.net>, Thomas Gleixner <tglx@...utronix.de>,
Ming Lei <ming.lei@...hat.com>, LKML <linux-kernel@...r.kernel.org>,
Linux PM <linux-pm@...r.kernel.org>,
Kexec Mailing List <kexec@...ts.infradead.org>
Subject: Re: Does anyone actually use KEXEC_JUMP?
On 16 December 2024 16:00:00 GMT, "Eric W. Biederman" <ebiederm@...ssion.com> wrote:
>David Woodhouse <dwmw2@...radead.org> writes:
>
>> On Mon, 2024-12-16 at 14:39 +0100, Rafael J. Wysocki wrote:
>>> From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
>>>
>>> The KEXEC_JUMP flow is analogous to hibernation flows occurring
>>> before
>>> and after creating an image and before and after jumping from the
>>> restore kernel to the image one, which is why it uses the same device
>>> callbacks as those hibernation flows.
>>>
>>> Add comments explaining that to the code in question and update an
>>> existing comment in it which appears a bit out of context.
>>>
>>> No functional changes.
>>>
>>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
>>
>> Thanks. I'll round that up into my kexec-debug tree, which Ingo has
>> been taking into tip/x86/boot. Once I'm done fighting with
>> objtool(qv).
>
>I have no objection to getting kexec jump more in sync with the
>rest of the power management code.
>
>I do have a question though. Does anyone actually use kexec jump?
>
>It is fine if folks do, but I haven't actually heard of anyone using
>it. If folks aren't using it, it might make sense to just use the fact
>that it is broken as a nudge to remove that option.
>
>Eric
>
>
>
It isn't broken. I know of it being used a few million times a week.
There are corner cases which have never worked right, like the callee putting a different return address for its next invocation, on the stack *above* the address it 'ret's to. Which since the first kjump patch has been the first word of the page *after* the swap page (and is now fixed in my tree). But fundamentally it *does* work.
I only started messing with it because I was working on relocate_kernel() and needed to write a test case for it; the fact that I know of it being used in production is actually just a coincidence.
Powered by blists - more mailing lists