Re: [PATCH] Some love to default profiler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux