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

Reply via email to