Re: [PATCH -v3 6/7] kexec jump: __ftrace_enabled_save/restore

From: Ingo Molnar
Date: Mon Aug 18 2008 - 04:00:29 EST



* Huang Ying <ying.huang@xxxxxxxxx> wrote:

> On Fri, 2008-08-15 at 14:49 +0200, Ingo Molnar wrote:
> > * Huang Ying <ying.huang@xxxxxxxxx> wrote:
> >
> > > +/* Ftrace disable/restore without lock. Some synchronization mechanism
> > > + * must be used to prevent ftrace_enabled to be changed between
> > > + * disable/restore. */
> >
> > use the proper comment style please:
> >
> > /*
> > *
> > */
>
> OK. I will change it.

it's upstream already, please send a followup clean up patch.

> > > +static inline int __ftrace_enabled_save(void)
> > > +{
> > > +#ifdef CONFIG_FTRACE
> > > + int saved_ftrace_enabled = ftrace_enabled;
> > > + ftrace_enabled = 0;
> > > + return saved_ftrace_enabled;
> > > +#else
> > > + return 0;
> > > +#endif
> > > +}
> > > +
> > > +static inline void __ftrace_enabled_restore(int enabled)
> > > +{
> > > +#ifdef CONFIG_FTRACE
> > > + ftrace_enabled = enabled;
> > > +#endif
> > > +}
> >
> > hm, what is this used for?
> >
> > also, instead of such an ugly inline, why not create a proper
> > kernel/trace/* function for this. That would also give it access to all
> > the proper locking mechanisms - instead of relying on some extral
> > mechanism.
>
> This function is used for kexec jump in machine_kexec(). Where all
> non-boot CPUs and IRQ are disabled, system is going to kexec, and it
> is not allowed to schedule to other process in this circumstance, so a
> non-lock version is needed. A locked version has been implemented by
> Steven Rostedt, I think it can be used for other circumstance.

ok, fair enough.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/