mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-15 08:44:14 +08:00
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
This commit is contained in:
parent
cbe16f35be
commit
3a0ade0c52
@ -716,7 +716,6 @@ static inline void tasklet_enable(struct tasklet_struct *t)
|
||||
}
|
||||
|
||||
extern void tasklet_kill(struct tasklet_struct *t);
|
||||
extern void tasklet_kill_immediate(struct tasklet_struct *t, unsigned int cpu);
|
||||
extern void tasklet_init(struct tasklet_struct *t,
|
||||
void (*func)(unsigned long), unsigned long data);
|
||||
extern void tasklet_setup(struct tasklet_struct *t,
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user