Messages in this thread Patch in this message |  | | | Date | Fri, 25 Feb 2011 12:06:35 -0600 | | From | Mike Travis <> | | Subject | [PATCH 2/4] printk: Break out printk_time |
| |
Clean up printk_time by making it a separate function.
Signed-off-by: Mike Travis <travis@sgi.com> Acked-by: David Rientjes <rientjes@google.com> --- kernel/printk.c | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) --- linux.orig/kernel/printk.c +++ linux/kernel/printk.c @@ -739,6 +739,24 @@ static inline void printk_delay(void) } } +/* Follow the token with the time */ +static inline int printk_emit_time(void) +{ + char tbuf[50], *tp; + unsigned tlen; + unsigned long long t; + unsigned long microsec_rem; + + t = cpu_clock(printk_cpu); + microsec_rem = do_div(t, 1000000000) / 1000; + tlen = sprintf(tbuf, "[%5lu.%06lu] ", (unsigned long)t, microsec_rem); + + for (tp = tbuf; tp < tbuf + tlen; tp++) + emit_log_char(*tp); + + return tlen; +} + asmlinkage int vprintk(const char *fmt, va_list args) { int printed_len = 0; @@ -823,23 +841,9 @@ asmlinkage int vprintk(const char *fmt, printed_len += 3; new_text_line = 0; - if (printk_time) { - /* Follow the token with the time */ - char tbuf[50], *tp; - unsigned tlen; - unsigned long long t; - unsigned long nanosec_rem; - - t = cpu_clock(printk_cpu); - nanosec_rem = do_div(t, 1000000000); - tlen = sprintf(tbuf, "[%5lu.%06lu] ", - (unsigned long) t, - nanosec_rem / 1000); - - for (tp = tbuf; tp < tbuf + tlen; tp++) - emit_log_char(*tp); - printed_len += tlen; - } + /* add time if requested */ + if (printk_time) + printed_len += printk_emit_time(); if (!*p) break; --
|  |