Messages in this thread | | | Date | Thu, 5 Jul 2007 01:50:27 +0200 | From | "Jesper Juhl" <> | Subject | Re: [PATCH] Some love to default profiler |
| |
On 04/07/07, Alexey Dobriyan <adobriyan@gmail.com> wrote: > 1) Drop __KERNEL__ out of profile.h. It contains only internal kernel stuff and > not in exported headers list
Even if it's not in the list of exported headers, does it really hurt to retain that extra safeguard?
> 2) Put profile.c under CONFIG_PROFILING. You enabled profiling in config, you > will get it.
Makes logical sense. If the user didn't enable CONFIG_PROFILING why should she get any profiling related overhead of any kind if we can avoid it?
> Removes conditional branch from schedule(). Code savings on my > usual config: > > text data bss dec hex filename > 2921871 179895 180224 3281990 321446 vmlinux before > 2920141 179847 180224 3280212 320d54 vmlinux after > -------------------------------------------------------------- > -1730 -48 -1778 > Nice savings there. Not that 1.7K is huge, but it's kernel memory is precious :-)
> 3) Make timer_hook static (hi, Adrian!)
Makes perfect sense to me.
> 4) Convert do {} while (0) into static inline functions
Seems reasonable.
> 5) minor misc stuff >
One tiny comment below.
> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> > --- > > include/linux/profile.h | 78 +++++++++++++++++++++++++----------------------- > kernel/Makefile | 3 + > kernel/profile.c | 2 - > 3 files changed, 44 insertions(+), 39 deletions(-) > [snip] > +#define prof_on 0 > +static inline void profile_init(void) > +{ > +}
Just to be pedantic; don't we want a blank line between functions here, even if they are empty?
> +static inline void profile_tick(int type) > +{ > +} > +static inline void profile_hits(int type, void *ip, unsigned int nr_hits) > +{ > +} > +static inline void profile_hit(int type, void *ip) > +{ > +} > +static inline void profile_munmap(unsigned long addr) > +{ > +} > +static inline void profile_task_exit(struct task_struct *tsk) > +{ > +} > +static inline int profile_handoff_task(struct task_struct *tsk) > +{ > + return 0; > +} [snip]
-- Jesper Juhl <jesper.juhl@gmail.com> Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html Plain text mails only, please http://www.expita.com/nomime.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |