[PATCH -v3 6/7] kexec jump: __ftrace_enabled_save/restore
Huang Ying
ying.huang at intel.com
Sun Aug 17 21:18:13 EDT 2008
On Fri, 2008-08-15 at 14:49 +0200, Ingo Molnar wrote:
> * Huang Ying <ying.huang at intel.com> 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.
> > +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.
Best Regards,
Huang Ying
More information about the kexec
mailing list