async: don't do the initcall stuff post boot
authorArjan van de Ven <arjan@linux.intel.com>
Wed, 7 Jan 2009 17:28:53 +0000 (09:28 -0800)
committerArjan van de Ven <arjan@linux.intel.com>
Wed, 7 Jan 2009 17:31:49 +0000 (09:31 -0800)
while tracking the asynchronous calls during boot using the initcall_debug
convention is useful, doing it once the kernel is done is actually
bad now that we use asynchronous operations post boot as well...

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
kernel/async.c

index afaa8a6..9737338 100644 (file)
@@ -124,12 +124,12 @@ static void run_one_entry(void)
        spin_unlock_irqrestore(&async_lock, flags);
 
        /* 3) run it (and print duration)*/
-       if (initcall_debug) {
+       if (initcall_debug && system_state == SYSTEM_BOOTING) {
                printk("calling  %lli_%pF @ %i\n", entry->cookie, entry->func, task_pid_nr(current));
                calltime = ktime_get();
        }
        entry->func(entry->data, entry->cookie);
-       if (initcall_debug) {
+       if (initcall_debug && system_state == SYSTEM_BOOTING) {
                rettime = ktime_get();
                delta = ktime_sub(rettime, calltime);
                printk("initcall %lli_%pF returned 0 after %lld usecs\n", entry->cookie,
@@ -220,14 +220,14 @@ void async_synchronize_cookie_special(async_cookie_t cookie, struct list_head *r
 {
        ktime_t starttime, delta, endtime;
 
-       if (initcall_debug) {
+       if (initcall_debug && system_state == SYSTEM_BOOTING) {
                printk("async_waiting @ %i\n", task_pid_nr(current));
                starttime = ktime_get();
        }
 
        wait_event(async_done, __lowest_in_progress(running) >= cookie);
 
-       if (initcall_debug) {
+       if (initcall_debug && system_state == SYSTEM_BOOTING) {
                endtime = ktime_get();
                delta = ktime_sub(endtime, starttime);