• Mel Gorman's avatar
    mm: add a basic debugging framework for memory initialisation · 6b74ab97
    Mel Gorman authored
    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: default avatarMel 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: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    6b74ab97
page_alloc.c 127 KB