[PATCH 00/13] kmemcheck (review)

From: Vegard Nossum
Date: Tue Jul 15 2008 - 20:22:29 EST


Hi,

I am sending out the current version of kmemcheck for review.

Let me first of all note that, yes, the SMP support is completely and utterly BROKEN, owing to, amongst other things, the fact that I forgot to use any memory barriers at all with the atomic ops. My only defence is that I've never worked with those before, and the reason the code is still there is that I'm hoping we might find a way to solve the problem. (This is all disregarding the fact that halting all CPUs in a system while processing any page fault is really an absolutely disgusting idea; still, it allows kmemcheck to be booted with SMP and let the user control the bad effects using CPU hotplug.)

(In other words: Comments, suggestions on how to fix this, and patches too, are all received in gratitude.)

Our changes since last full LKML posting:
- use set_memory_4k() where possible instead of disabling PSE at boot time
- SLAB support (courtesy of Pekka)
- better error reports:
- discard irrelevant stack frames using save_stack_trace_bp()
- reports using tasklet instead of timer
- include a dump of a small portion of the shadow map
- reorganized source code by splitting and moving to arch/x86/mm/kmemcheck/
- CodingStyle/checkpatch fix-ups
- a few other minor changes and fixes
- (SMP support, but BROKEN; see above.)

I believe there are many things which could be better, especially things like comments explaining how it works, but which are easy to forget when I'm working with it and have all the details in my head. So please ask, and I will try to adjust it accordingly.

Also, a small disclaimer; if you see anything that looks completely ridiculous, it's probably because I didn't know any better. I'll be very happy for any corrections. Review can only make the code better, right?

Oh, and before I forget: These patches are against v2.6.26 and are slightly different from what Ingo has in -tip. I've squashed bugfixes, et.c. as to make the series as easy as possible to review, whereas the branch in tip has these as separate commits. I've also removed some Signed-off-by lines that I felt were not up to date as I might have edited the patch later and thus invalidated the SOBs. I have not modified patches where the author was not me, and all authorship tags should therefore be preserved as well.


Vegard
--
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/