Need for KEXEC_PRESERVE_CONTEXT flag ?

Neil Horman nhorman at redhat.com
Sun Jun 21 21:17:59 EDT 2009


On Mon, Jun 22, 2009 at 12:24:05AM +0530, Indraneel Mukherjee wrote:
> On Sun, Jun 21, 2009 at 10:47 PM, Neil Horman <nhorman at redhat.com> wrote:
> 
> > On Fri, Jun 19, 2009 at 12:00:44PM +0530, Indraneel Mukherjee wrote:
> > > Hi,
> > >
> > > The file kernel/kexec.c (~ line 1001 in linux-2.6.30) has this code
> > >
> > > ------snip----
> > >
> > >  if (flags & KEXEC_PRESERVE_CONTEXT)
> > >             image->preserve_context = 1;
> > >
> > > ------snip----
> > >
> > > Will this ever be true? The flag KEXEC_PRESERVE_CONTEXT is not even
> > defined
> > > in kexec-tools-2.0.0.
> > >
> > > Consequently, all the code inside the condition
> >  if(image->preserve_context)
> > >   is also useless?
> > >
> > > Am i missing something here?
> > >
> > Yes, the code you're looking at in the first definition is part of the
> > kernel,
> > while you're looking for the definition of KEXEC_PRESERVE_CONTEXT in the
> > kexec-tools userspace code.  You need to look for the definition of
> > KEXEC_PRESERVE_CONTEXT in the kernel code (you'll find it in
> > include/linux/kexec.h).
> 
> 
> I've seen that bit.  I was only trying to understand that code & figure out
> when does it ever gets executed. My guess is that kexec-tools is the only
> user of all the code in kernel/kexec.c. So, i started wondering if
> kexec-tools never sets the flag KEXEC_PRESERVE_CONTEXT, then why was that
> code even written?
> Ans that means we've got some untested code in the kernel :) ?
> 
Technically, you're correct, the code doesn't ever get used because the very
limited set of tools that make use of the kexec infrastructure doesn't make use
of it (yet).  That said, just because nothing uses it in user space, doesn't
mean that it won't.  And if its not in the kernel first, userspace won't ever
get to use it :)

I guess the bottom line is, yeah its not used right now, but thats more of an
impetus for kexec-tools to write code to take advantage of it, rather than for
the kernel to remove it :)

Neil

> Regards,
> Indro
> 
> 
> 
>  kexec-tools might use it one day, but not using it
> > doesn't mean we should remove it from the kernel.
> >
> 
> >
> > Neil
> >
> > > Regards,
> > > Indro
> >
> > > _______________________________________________
> > > kexec mailing list
> > > kexec at lists.infradead.org
> > > http://lists.infradead.org/mailman/listinfo/kexec
> >
> >



More information about the kexec mailing list