kexec.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Does anyone actually use KEXEC_JUMP?
       [not found] ` <d29738023f117bbd4031579443e0c2f8f1f78592.camel@infradead.org>
@ 2024-12-16 16:00   ` Eric W. Biederman
  2024-12-16 18:14     ` David Woodhouse
  0 siblings, 1 reply; 4+ messages in thread
From: Eric W. Biederman @ 2024-12-16 16:00 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Rafael J. Wysocki, Thomas Gleixner, Ming Lei, LKML, Linux PM,
	Kexec Mailing List

David Woodhouse <dwmw2@infradead.org> writes:

> On Mon, 2024-12-16 at 14:39 +0100, Rafael J. Wysocki wrote:
>> From: Rafael J. Wysocki <rafael.j.wysocki@intel.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@intel.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





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Does anyone actually use KEXEC_JUMP?
  2024-12-16 16:00   ` Does anyone actually use KEXEC_JUMP? Eric W. Biederman
@ 2024-12-16 18:14     ` David Woodhouse
  2024-12-16 18:21       ` Eric W. Biederman
  0 siblings, 1 reply; 4+ messages in thread
From: David Woodhouse @ 2024-12-16 18:14 UTC (permalink / raw)
  To: Eric W. Biederman
  Cc: Rafael J. Wysocki, Thomas Gleixner, Ming Lei, LKML, Linux PM,
	Kexec Mailing List

On 16 December 2024 16:00:00 GMT, "Eric W. Biederman" <ebiederm@xmission.com> wrote:
>David Woodhouse <dwmw2@infradead.org> writes:
>
>> On Mon, 2024-12-16 at 14:39 +0100, Rafael J. Wysocki wrote:
>>> From: Rafael J. Wysocki <rafael.j.wysocki@intel.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@intel.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.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Does anyone actually use KEXEC_JUMP?
  2024-12-16 18:14     ` David Woodhouse
@ 2024-12-16 18:21       ` Eric W. Biederman
  2024-12-20  7:22         ` Baoquan He
  0 siblings, 1 reply; 4+ messages in thread
From: Eric W. Biederman @ 2024-12-16 18:21 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Rafael J. Wysocki, Thomas Gleixner, Ming Lei, LKML, Linux PM,
	Kexec Mailing List

David Woodhouse <dwmw2@infradead.org> writes:

> 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.

Cool.  I had the sense that the original developer never got around
to using it, so I figured I should check.

Mind if I ask what you know of it being used for?

I had imagined it might be a way to call firmware code preventing the
need to code of a specific interface for each type of firmware.

Eric



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Does anyone actually use KEXEC_JUMP?
  2024-12-16 18:21       ` Eric W. Biederman
@ 2024-12-20  7:22         ` Baoquan He
  0 siblings, 0 replies; 4+ messages in thread
From: Baoquan He @ 2024-12-20  7:22 UTC (permalink / raw)
  To: Eric W. Biederman
  Cc: David Woodhouse, Rafael J. Wysocki, Thomas Gleixner, Ming Lei,
	LKML, Linux PM, Kexec Mailing List

On 12/16/24 at 12:21pm, Eric W. Biederman wrote:
> David Woodhouse <dwmw2@infradead.org> writes:
> 
> > 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.
> 
> Cool.  I had the sense that the original developer never got around
> to using it, so I figured I should check.
> 
> Mind if I ask what you know of it being used for?

I am also very curious about the use case and asked David in other
thread, while David didn't tell. Not sure if it's one company's
confidential information. We may want to know what it's used for to
evaluate if it's a generally useful use case, or an unintentional
testing.

> 
> I had imagined it might be a way to call firmware code preventing the
> need to code of a specific interface for each type of firmware.
> 
> Eric
> 
> 



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-12-20  7:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <4968818.GXAFRqVoOG@rjwysocki.net>
     [not found] ` <d29738023f117bbd4031579443e0c2f8f1f78592.camel@infradead.org>
2024-12-16 16:00   ` Does anyone actually use KEXEC_JUMP? Eric W. Biederman
2024-12-16 18:14     ` David Woodhouse
2024-12-16 18:21       ` Eric W. Biederman
2024-12-20  7:22         ` Baoquan He

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).