* Huang Ying <ying.huang at intel.com> wrote: > 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. 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