]> git.baikalelectronics.ru Git - kernel.git/commit
mm: add a basic debugging framework for memory initialisation
authorMel Gorman <mel@csn.ul.ie>
Thu, 24 Jul 2008 04:26:49 +0000 (21:26 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Jul 2008 17:47:13 +0000 (10:47 -0700)
commit59dd95f9a34c2ea4ace1269d0d5ef17c4ad0fe76
treed9d7b522a4a8f5f605d2e0f7f7a1bcb9d5049a82
parent2b80ff615ef8d06a93663ab2c443c3640cb255ef
mm: add a basic debugging framework for memory initialisation

Boot initialisation is very complex, with significant numbers of
architecture-specific routines, hooks and code ordering.  While significant
amounts of the initialisation is architecture-independent, it trusts the data
received from the architecture layer.  This is a mistake, and has resulted in
a number of difficult-to-diagnose bugs.

This patchset adds some validation and tracing to memory initialisation.  It
also introduces a few basic defensive measures.  The validation code can be
explicitly disabled for embedded systems.

This patch:

Add additional debugging and verification code for memory initialisation.

Once enabled, the verification checks are always run and when required
additional debugging information may be outputted via a mminit_loglevel=
command-line parameter.

The verification code is placed in a new file mm/mm_init.c.  Ideally other mm
initialisation code will be moved here over time.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Andy Whitcroft <apw@shadowen.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/kernel-parameters.txt
lib/Kconfig.debug
mm/Makefile
mm/internal.h
mm/mm_init.c [new file with mode: 0644]
mm/page_alloc.c