async: fix compiler warning in initcall_debug code
PATCH 1/1 async: fix compiler warning in initcall_debug code
Fix compiler warning about uninitialized ktime_t variable:
CC kernel/async.okernel/async.c: In function ‘async_synchronize_cookie_domain’:kernel/async.c:270:10: warning: ‘starttime.tv64’ may be used uninitialized in this function kernel/async.c: In function ‘async_run_entry_fn’:kernel/async.c:122:10: warning: ‘calltime.tv64’ may be used uninitialized in this function
It always initialized before usage bacause initcall_debug cannot be turned off.
Signed-off-by Konstantin Khlebnikov <[email protected]>
--- kernel/async.c | 21 ++++++++++----------- 1 files changed, 10 insertions(+), 11 deletions(-)
kernel/async.c +10 -11
@@ -119,7 +119,7 @@ static void async_run_entry_fn(struct work_struct *work)struct async_entry *entry = container_of(work, struct async_entry, work);unsigned long flags; -ktime_t calltime, delta, rettime; +ktime_t uninitialized_var (time );/* 1) move self to the running queue */ spin_lock_irqsave (&async_lock, flags);
@@ -130,16 +130,17 @@ static void async_run_entry_fn(struct work_struct *work)if (initcall_debug && system_state ==SYSTEM_BOOTING ) {printk ("calling %lli_%pF @ %i\n" , (long long )entry->cookie, entry->func,task_pid_nr (current)); - calltime =ktime_get (); + time =ktime_get (); } + entry->func (entry->data, entry->cookie); +if (initcall_debug && system_state ==SYSTEM_BOOTING ) { - rettime =ktime_get (); - delta =ktime_sub (rettime, calltime); + time =ktime_sub (ktime_get (), time);printk ("initcall %lli_%pF returned 0 after %lld usecs\n" , (long long )entry->cookie, entry->func, - (long long )ktime_to_ns (delta) >>10 ); + (long long )ktime_to_ns (time) >>10 ); }/* 3) remove self from the running queue */
@@ -267,22 +268,20 @@ EXPORT_SYMBOL_GPL(async_synchronize_full_domain);void async_synchronize_cookie_domain (async_cookie_t cookie,struct list_head *running) { -ktime_t starttime, delta, endtime; +ktime_t uninitialized_var (time );if (initcall_debug && system_state ==SYSTEM_BOOTING ) {printk ("async_waiting @ %i\n" ,task_pid_nr (current)); - starttime =ktime_get (); + time =ktime_get (); }wait_event (async_done,lowest_in_progress (running) >= cookie);if (initcall_debug && system_state ==SYSTEM_BOOTING ) { - endtime =ktime_get (); - delta =ktime_sub (endtime, starttime); - + time =ktime_sub (ktime_get (), time);printk ("async_continuing @ %i after %lli usec\n" ,task_pid_nr (current), - (long long )ktime_to_ns (delta) >>10 ); + (long long )ktime_to_ns (time) >>10 ); } }EXPORT_SYMBOL_GPL (async_synchronize_cookie_domain);