Hi all, Today's linux-next merge of the percpu tree got a conflict in kernel/irq_work.c between commit 76a33061b932 ("irq_work: Force raised irq work to run on irq work interrupt") from the tip tree and commit 22127e93c587 ("time: Replace __get_cpu_var uses") from the percpu tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc kernel/irq_work.c index 385b85aded19,345d19edcdae..000000000000 --- a/kernel/irq_work.c +++ b/kernel/irq_work.c @@@ -113,12 -113,10 +113,12 @@@ bool irq_work_needs_cpu(void { struct llist_head *raised, *lazy; - raised = &__get_cpu_var(raised_list); - lazy = &__get_cpu_var(lazy_list); + raised = this_cpu_ptr(&raised_list); + lazy = this_cpu_ptr(&lazy_list); - if (llist_empty(raised) && llist_empty(lazy)) - return false; + + if (llist_empty(raised) || arch_irq_work_has_interrupt()) + if (llist_empty(lazy)) + return false; /* All work should have been flushed before going offline */ WARN_ON_ONCE(cpu_is_offline(smp_processor_id()));
Attachment:
signature.asc
Description: PGP signature