diff options
author | Davidlohr Bueso <dave@stgolabs.net> | 2021-03-06 13:36:58 -0800 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2021-03-16 15:06:31 +0100 |
commit | 3a0ade0c521a542f8a25e96ce8ea0dfaa532ac75 (patch) | |
tree | 62f4be43c8c30899a2274713ce356be818e32ca7 /kernel/softirq.c | |
parent | cbe16f35bee6880becca6f20d2ebf6b457148552 (diff) |
tasklet: Remove tasklet_kill_immediate
Ever since RCU was converted to softirq, it has no users.
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Link: https://lore.kernel.org/r/20210306213658.12862-1-dave@stgolabs.net
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r-- | kernel/softirq.c | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c index 9908ec4a9bfe..8b44ab9a2f69 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -658,38 +658,6 @@ static void run_ksoftirqd(unsigned int cpu) } #ifdef CONFIG_HOTPLUG_CPU -/* - * tasklet_kill_immediate is called to remove a tasklet which can already be - * scheduled for execution on @cpu. - * - * Unlike tasklet_kill, this function removes the tasklet - * _immediately_, even if the tasklet is in TASKLET_STATE_SCHED state. - * - * When this function is called, @cpu must be in the CPU_DEAD state. - */ -void tasklet_kill_immediate(struct tasklet_struct *t, unsigned int cpu) -{ - struct tasklet_struct **i; - - BUG_ON(cpu_online(cpu)); - BUG_ON(test_bit(TASKLET_STATE_RUN, &t->state)); - - if (!test_bit(TASKLET_STATE_SCHED, &t->state)) - return; - - /* CPU is dead, so no lock needed. */ - for (i = &per_cpu(tasklet_vec, cpu).head; *i; i = &(*i)->next) { - if (*i == t) { - *i = t->next; - /* If this was the tail element, move the tail ptr */ - if (*i == NULL) - per_cpu(tasklet_vec, cpu).tail = i; - return; - } - } - BUG(); -} - static int takeover_tasklets(unsigned int cpu) { /* CPU is dead, so no lock needed. */ |