Skip to content

Commit 2a41b8f

Browse files
committed
Revert "softirq: Let ksoftirqd do its job"
This reverts commit 4cd13c2. It has been proven that this patch was not behaving corectly with our SoC or Ethernet driver. We don't experience issues anymore when reverting it. Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
1 parent 69973b8 commit 2a41b8f

1 file changed

Lines changed: 1 addition & 15 deletions

File tree

kernel/softirq.c

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -77,17 +77,6 @@ static void wakeup_softirqd(void)
7777
wake_up_process(tsk);
7878
}
7979

80-
/*
81-
* If ksoftirqd is scheduled, we do not want to process pending softirqs
82-
* right now. Let ksoftirqd handle this at its own rate, to get fairness.
83-
*/
84-
static bool ksoftirqd_running(void)
85-
{
86-
struct task_struct *tsk = __this_cpu_read(ksoftirqd);
87-
88-
return tsk && (tsk->state == TASK_RUNNING);
89-
}
90-
9180
/*
9281
* preempt_count and SOFTIRQ_OFFSET usage:
9382
* - preempt_count is changed by SOFTIRQ_OFFSET on entering or leaving
@@ -324,7 +313,7 @@ asmlinkage __visible void do_softirq(void)
324313

325314
pending = local_softirq_pending();
326315

327-
if (pending && !ksoftirqd_running())
316+
if (pending)
328317
do_softirq_own_stack();
329318

330319
local_irq_restore(flags);
@@ -351,9 +340,6 @@ void irq_enter(void)
351340

352341
static inline void invoke_softirq(void)
353342
{
354-
if (ksoftirqd_running())
355-
return;
356-
357343
if (!force_irqthreads) {
358344
#ifdef CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK
359345
/*

0 commit comments

Comments
 (0)