On 04/07/07, Alexey Dobriyan <[email protected]> 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 <[email protected]>
---
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 <[email protected]>
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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]