On Mon, Oct 12, 2009 at 11:30:07AM -0700, Linus Torvalds wrote: > > > On Mon, 12 Oct 2009, Andi Kleen wrote: > > > Peter Zijlstra <peterz@xxxxxxxxxxxxx> writes: > > > - > > > -static inline void debug_kmap_atomic(enum km_type type) > > > +static inline int kmap_atomic_push_idx(void) > > > { > > > + int idx = __get_cpu_var(__kmap_atomic_depth)++; > > > > The counter needs to be of local atomic type. Otherwise kmap_atomic cannot > > be done from interrupts/nmis, which is unfortunately occasionally needed. > > I thought so too on lookin gat it initially, but it's not actually true. > > It's both IRQ and NMI safe as-is, for a very simple reason: any interrupts Good point, thanks. I was thinking of CPU migration in interrupt cases, but even there it should be ok in mainline. I suppose it's not true for the preempt-rt folks (who can migrate CPUs at any time), so it might be still more friendly to handle it for them though. -Andi -- ak@xxxxxxxxxxxxxxx -- Speaking for myself only. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html