[PATCH v3 00/02] Consolidate tasklet + tasklet-hi code
From: Sebastian Andrzej Siewior
Date: Tue Feb 27 2018 - 11:49:07 EST
Ingo made a RT patch a few years back called "tasklet: Prevent tasklets
from going into infinite spin in RT" [0]. I ripped the non-RT pieces out
of it and here they are. I kept him as the original Author.
v1âv3: in v1 I had this_cpu_ptr(&tasklet_hi_vec) without disabling
interrupts and was objected by Steven. There are (indeed) some
users which use this outside if of the interrupt.
So in v2 I moved this but then Julia suggested pass just the
__percpu pointer and use this_cpu_ptr() once interrupts are
disabled.
This is all 1/2. 2/2 is unchanged because tasklet_action() /
tasklet_hi_action() run always in BH and can't migrate to another
CPU between this_cpu_() access and disabling interrupts.
[0] https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/tree/patches/tasklet-rt-prevent-tasklets-from-going-into-infinite-spin-in-rt.patch?h=linux-4.14.y-rt-patches
Sebastian