[PATCH 0/4] irq_work: Fix ordering issue

Frederic Weisbecker
2019-11-08T16:09:24Z

Patches 1 and 2 are the fix part, 3 is a cleanup, 4 is
extra-optimization (rfc).

Thanks to Paul that confirmed my doubts about ordering on cmpxchg() failure.

Frederic Weisbecker (4):
irq_work: Convert flags to atomic_t
irq_work: Fix irq_work_claim() ordering
irq_work: Slightly simplify IRQ_WORK_PENDING clearing
irq_work: Weaken ordering in irq_work_run_list()

include/linux/irq_work.h | 10 +++++++---
kernel/irq_work.c | 35 ++++++++++++++---------------------
kernel/printk/printk.c | 2 +-
3 files changed, 22 insertions(+), 25 deletions(-)

--
2.23.0