diff options
Diffstat (limited to 'kernel/softirq.c')
| -rw-r--r-- | kernel/softirq.c | 12 | 
1 files changed, 9 insertions, 3 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c index bdbe9de9cd8..ea23ec087ee 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -180,7 +180,7 @@ asmlinkage void __do_softirq(void)  	account_system_vtime(current);  	__local_bh_disable((unsigned long)__builtin_return_address(0)); -	trace_softirq_enter(); +	lockdep_softirq_enter();  	cpu = smp_processor_id();  restart: @@ -220,7 +220,7 @@ restart:  	if (pending)  		wakeup_softirqd(); -	trace_softirq_exit(); +	lockdep_softirq_exit();  	account_system_vtime(current);  	_local_bh_enable(); @@ -496,7 +496,7 @@ static int __try_remote_softirq(struct call_single_data *cp, int cpu, int softir  		cp->flags = 0;  		cp->priv = softirq; -		__smp_call_function_single(cpu, cp); +		__smp_call_function_single(cpu, cp, 0);  		return 0;  	}  	return 1; @@ -626,6 +626,7 @@ static int ksoftirqd(void * __bind_cpu)  			preempt_enable_no_resched();  			cond_resched();  			preempt_disable(); +			rcu_qsctr_inc((long)__bind_cpu);  		}  		preempt_enable();  		set_current_state(TASK_INTERRUPTIBLE); @@ -795,6 +796,11 @@ int __init __weak early_irq_init(void)  	return 0;  } +int __init __weak arch_probe_nr_irqs(void) +{ +	return 0; +} +  int __init __weak arch_early_irq_init(void)  {  	return 0;  |