[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20090617122812.GD13316@elte.hu>
Date: Wed, 17 Jun 2009 14:28:12 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Hugh Dickins <hugh.dickins@...cali.co.uk>,
linux-kernel@...r.kernel.org, mingo@...hat.com, hpa@...or.com,
paulus@...ba.org, acme@...hat.com, efault@....de, npiggin@...e.de,
tglx@...utronix.de, linux-tip-commits@...r.kernel.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [tip:perfcounters/core] x86: Add NMI types for kmap_atomic
* Peter Zijlstra <peterz@...radead.org> wrote:
> On Tue, 2009-06-16 at 10:13 +0200, Ingo Molnar wrote:
>
> > > By removing the types it becomes very difficult to verify the max
> > > depth. I really don't like removing them.
> >
> > The fact that it implies an atomic section pretty much limits its
> > depth in practice, doesnt it?
> >
> > All we need to track in the debug code is
> > max-{syscall,softirq,hardirq,nmi}. The sum of these 4 counts
> > must be smaller than the max - even if (as you are right to
> > point out) we dont hit that magic combo that truly maximizes the
> > depth.
>
> Right, so the thing I'd worry about is someone adding
> kmap_atomic() to an interrupt context that didn't have interrupts
> disabled and then managing to nest that a few times.
>
> Suppose you put it in some IO completion handler, and someone has
> 4 IO controllers installed and all 4 IO interrupts come in at the
> 'same' time.
>
> With types you could warn on similarly to what we do today, but
> with the simple push/pop that might be a lot harder.
Yes, fixed-purpose allocations are easier to warn about - they imply
more constraints, no doubt about that.
But we could warn about using kmap-atomic with in irq context with
irqs enabled and thus exclude the case you are worried about?
> Anyway, with the whole cr2 fiddling bit being discussed this seems
> to become redundant.
It's not just the cr2 fiddling but also conversion of pagefault
returns from IRET to RET. The kmap_atomic API change is a nice
cleanup in itself.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists