[PATCH] Revert "Fix 80d20d35af1e ("nohz: Fix local_timer_softirq_pending()") may have revealed another problem"
Chris Wilson
chris at chris-wilson.co.uk
Wed Jan 9 09:48:19 UTC 2019
This reverts commit e183b2d29add01135392ae354be869ebbda7fed3.
---
kernel/softirq.c | 21 +--------------------
1 file changed, 1 insertion(+), 20 deletions(-)
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 716096b17e1e..d28813306b2c 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -56,7 +56,6 @@ EXPORT_PER_CPU_SYMBOL(irq_stat);
static struct softirq_action softirq_vec[NR_SOFTIRQS] __cacheline_aligned_in_smp;
DEFINE_PER_CPU(struct task_struct *, ksoftirqd);
-DEFINE_PER_CPU(int, ksoftirqd_parked);
const char * const softirq_to_name[NR_SOFTIRQS] = {
"HI", "TIMER", "NET_TX", "NET_RX", "BLOCK", "IRQ_POLL",
@@ -364,7 +363,7 @@ static inline void invoke_softirq(void)
if (ksoftirqd_running(local_softirq_pending()))
return;
- if (!force_irqthreads || __this_cpu_read(ksoftirqd_parked)) {
+ if (!force_irqthreads) {
#ifdef CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK
/*
* We can safely execute softirq on the current stack if
@@ -660,22 +659,6 @@ static void run_ksoftirqd(unsigned int cpu)
local_irq_enable();
}
-static void ksoftirqd_park(unsigned int cpu)
-{
- local_irq_disable();
- __this_cpu_write(ksoftirqd_parked, 1);
-
- if (local_softirq_pending())
- run_ksoftirqd(cpu);
-
- local_irq_enable();
-}
-
-static void ksoftirqd_unpark(unsigned int cpu)
-{
- __this_cpu_write(ksoftirqd_parked, 0);
-}
-
#ifdef CONFIG_HOTPLUG_CPU
/*
* tasklet_kill_immediate is called to remove a tasklet which can already be
@@ -741,8 +724,6 @@ static int takeover_tasklets(unsigned int cpu)
static struct smp_hotplug_thread softirq_threads = {
.store = &ksoftirqd,
.thread_should_run = ksoftirqd_should_run,
- .park = ksoftirqd_park,
- .unpark = ksoftirqd_unpark,
.thread_fn = run_ksoftirqd,
.thread_comm = "ksoftirqd/%u",
};
--
2.20.1
More information about the Intel-gfx-trybot
mailing list