login
Header Space

 
 

Re: [PATCH 1/2] kmemcheck v3

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Pekka Enberg <penberg@...>
Cc: Christoph Lameter <clameter@...>, Vegard Nossum <vegard.nossum@...>, Linux Kernel Mailing List <linux-kernel@...>, Andi Kleen <andi@...>, Richard Knutsson <ricknu-0@...>
Date: Friday, February 8, 2008 - 4:09 am

* Pekka Enberg <penberg@cs.helsinki.fi> wrote:


it should also be made clear that not only does kmemcheck consume half 
of the RAM to do byte granular tracking of the other half of RAM, it's 
also slow, very slow, because almost every kernel-space instruction will 
generate a pagefault and then it will be single-stepped and it takes a 
debug fault as well.

That's of course totally crazy, but that's also OK and it's what makes 
the feature so interesting and powerful.

For example, when CONFIG_DEBUG_PAGEALLOC=y was introduced 5 years ago, 
it was almost unusable on modern hardware, due to the slowdown it gave. 
People said "twiddling ptes and flushing the TLB for every allocation, 
that's crazy!".

Today it can be enabled without noticing anything on a desktop, and it 
catches lots of nasty bugs.

The many debugging helpers Linux has are our eyes and ears - they catch 
stuff our real eyes did not catch. We need to sharpen these tools 
constantly, and do all the things that current hardware allows us to do 
sanely.

The same speedup will happen with kmemcheck as well in the long run. It 
is a big slowdown currently due to the massive amount of pagefaults it 
generates, even on top of the line hardware, but it's already fast 
enough to boot up and to catch bugs. [and we can optimize it by quite a 
degree - i've alreadyextended the profiler to trace kmemcheck pagefault 
sources.] It will never be usable in production, but the boundary of 
where to enable it and why will move constantly.

So i'm convinced that the time has come for kmemcheck. It already caught 
4 live kernel bugs and it's been tested on 2 boxes only. Please help us 
make the SLUB bits squeaky clean :-)

	Ingo
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 1/2] kmemcheck v3, Vegard Nossum, (Thu Feb 7, 5:36 pm)
Re: [PATCH 1/2] kmemcheck v3, Andi Kleen, (Fri Feb 8, 7:55 am)
Re: [PATCH 1/2] kmemcheck v3, Vegard Nossum, (Fri Feb 8, 8:18 am)
Re: [PATCH 1/2] kmemcheck v3, Andi Kleen, (Fri Feb 8, 9:20 am)
Re: [PATCH 1/2] kmemcheck v3, Vegard Nossum, (Fri Feb 8, 8:59 am)
Re: [PATCH 1/2] kmemcheck v3, Andi Kleen, (Fri Feb 8, 9:48 am)
Re: [PATCH 1/2] kmemcheck v3, Ingo Molnar, (Sat Feb 9, 5:33 am)
Re: [PATCH 1/2] kmemcheck v3, Pekka Enberg, (Fri Feb 8, 7:37 am)
Re: [PATCH 1/2] kmemcheck v3, Andi Kleen, (Fri Feb 8, 8:15 am)
Re: [PATCH 1/2] kmemcheck v3, Pekka Enberg, (Fri Feb 8, 7:43 am)
Re: [PATCH 1/2] kmemcheck v3, Pekka Enberg, (Fri Feb 8, 7:31 am)
Re: [PATCH 1/2] kmemcheck v3, Andi Kleen, (Fri Feb 8, 8:10 am)
Re: [PATCH 1/2] kmemcheck v3, Pekka Enberg, (Fri Feb 8, 7:39 am)
Re: [PATCH 1/2] kmemcheck v3, Christoph Lameter, (Fri Feb 8, 3:10 am)
Re: [PATCH 1/2] kmemcheck v3, Pekka Enberg, (Fri Feb 8, 3:48 am)
Re: [PATCH 1/2] kmemcheck v3, Christoph Lameter, (Thu Feb 7, 5:53 pm)
Re: [PATCH 1/2] kmemcheck v3, Vegard Nossum, (Thu Feb 7, 6:12 pm)
Re: [PATCH 1/2] kmemcheck v3, Christoph Lameter, (Thu Feb 7, 6:53 pm)
Re: [PATCH 1/2] kmemcheck v3, Pekka Enberg, (Fri Feb 8, 2:30 am)
Re: [PATCH 1/2] kmemcheck v3, Pekka Enberg, (Fri Feb 8, 2:33 am)
Re: [PATCH 1/2] kmemcheck v3, Vegard Nossum, (Thu Feb 7, 7:18 pm)
Re: [PATCH 1/2] kmemcheck v3, Christoph Lameter, (Thu Feb 7, 7:32 pm)
Re: [PATCH 1/2] kmemcheck v3, Pekka Enberg, (Fri Feb 8, 2:40 am)
Re: [PATCH 1/2] kmemcheck v3, Ingo Molnar, (Fri Feb 8, 4:09 am)
[PATCH 2/2] kmemcheck v3, Vegard Nossum, (Thu Feb 7, 5:39 pm)
speck-geostationary