On Thu, Oct 09, 2014 at 03:50:18PM +1100, Stephen Rothwell wrote: > 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); Ah thanks! The conflict is compile time rather than merge time, thanks for spotting it! Should we notify Linus about it? That's certainly something that should be applied with the percpu tree. > - 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())); -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html