diff options
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r-- | kernel/softirq.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c index 5918d227730f..65a6d6ff15dc 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -222,7 +222,7 @@ static inline void lockdep_softirq_end(bool in_hardirq) static inline bool lockdep_softirq_start(void) { return false; } static inline void lockdep_softirq_end(bool in_hardirq) { } #endif - +int __trace2; asmlinkage __visible void __do_softirq(void) { unsigned long end = jiffies + MAX_SOFTIRQ_TIME; @@ -259,7 +259,7 @@ restart: int prev_count; h += softirq_bit - 1; - +if (__trace2) printk("%s: running %pf\n", __func__, h->action); vec_nr = h - softirq_vec; prev_count = preempt_count(); @@ -282,6 +282,8 @@ restart: local_irq_disable(); pending = local_softirq_pending(); +if (__trace2) + printk("%s: pending=0x%08x\n", __func__, pending); if (pending) { if (time_before(jiffies, end) && !need_resched() && --max_restart) @@ -289,7 +291,10 @@ restart: wakeup_softirqd(); } - +if (__trace2) + printk("%s: pending=0x%08x jiffies=%lu end=%lu nrs=%u restart=%d\n", + __func__, pending, jiffies, end, need_resched(), max_restart); +__trace2 = 0; lockdep_softirq_end(in_hardirq); account_irq_exit_time(current); __local_bh_enable(SOFTIRQ_OFFSET); |