[PATCH 0/4] irq_work: Fix ordering issue

From: Frederic Weisbecker
Date: Fri Nov 08 2019 - 11:09:24 EST


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