/* we cannot loop indefinitely here to avoid userspace starvation, but we also don't want to introduce a worst case 1/HZ latency to the pending events, so lets the scheduler to balance the softirq load for us.  */
void wakeup_softirqd(void)
/* we cannot loop indefinitely here to avoid userspace starvation, but we also don't want to introduce a worst case 1/HZ latency to the pending events, so lets the scheduler to balance the softirq load for us.  */
void wakeup_softirqd(void)
{
	struct task_struct *tsk = __get_cpu_var(ksoftirqd);
	if (tsk && tsk->state != TASK_RUNNING)
		wake_up_process(tsk);
}