Re: [PATCH 2/3] x86: Remove cmpxchg from i386 NMI nesting code

From: Steven Rostedt
Date: Fri Jun 08 2012 - 13:52:11 EST


On Fri, 2012-06-08 at 10:39 -0700, H. Peter Anvin wrote:
> On 06/08/2012 10:36 AM, Steven Rostedt wrote:
> >>
> >> On i386 it's infinite, but again, I don't think the code will ever be
> >> exercised on i386. I'm much more concerned about performance on current
> >> processors.
> >
> > I'm not worried about non i386 here. Some context missing from the patch
> > is that this code is surrounded by:
> >
>
> Sorry, I meant i386 as in actual i386 processors, as opposed to modern
> processors in 32-bit mode.
>

Fair enough. But still, I think a dec_and_test() is nicer (even if we
use this_cpu_dec_and_return()). That's the rational for this change in
the first place, with an added benefit that it would work with the
fictional i386 old processor that does NMIs but no cmpxchg.

Not to mention that I would love to make all users that have x86_64
machines running i386 kernels, for something other than testing i386,
thrown into a large boiling pot of clue stew. It really pisses me off
when people run these i386 machines with 16 gigs of memory and complain
about performance. highmem should be disabled for any x86_64 box with
more than 1G of RAM running an i386 kernel with a nasty message on boot
up:

"Idiot! Why the f*ck are you running i386 on your nice shiny new x86_64
machine, with Umpteen Gigs of RAM. Boot a x86_64 kernel for Christ sake
and get your full potential. Your i386 userspace will still work just
fine on it. You're like one of those 75 year old retirees that can
finally buy a Porsche just to drive it 10 miles per hour below the speed
limit with a line of cars behind them!"

-- Steve


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/