• Ingo Molnar's avatar
    x86/boot/e820: Rename memblock_x86_fill() to e820__memblock_setup() and improve the explanations · 4918e228
    Ingo Molnar authored
    So memblock_x86_fill() is another E820 code misnomer:
    
     - nothing in its name tells us that it's part of the E820 subsystem ...
    
     - The 'fill' wording is ambiguous and doesn't tell us whether it's a single
       entry or some process - while the _real_ purpose of the function is hidden,
       which is to do a complete setup of the (platform independent) memblock regions.
    
    So rename it accordingly, to e820__memblock_setup().
    
    Also translate this incomprehensible and misleading comment:
    
            /*
    	 * EFI may have more than 128 entries
    	 * We are safe to enable resizing, beause memblock_x86_fill()
    	 * is rather later for x86
    	 */
            memblock_allow_resize();
    
    The worst aspect of this comment isn't even the sloppy typos, but that it
    casually mentions a '128' number with no explanation, which makes one lead
    to the assumption that this is related to the well-known limit of a maximum
    of 128 E820 entries passed via legacy bootloaders.
    
    But no, the _real_ meaning of 128 here is that of the memblock subsystem,
    which too happens to have a 128 entries limit for very early memblock
    regions (which is unrelated to E820), via INIT_MEMBLOCK_REGIONS ...
    
    So change the comment to a more comprehensible version:
    
            /*
             * The bootstrap memblock region count maximum is 128 entries
             * (INIT_MEMBLOCK_REGIONS), but EFI might pass us more E820 entries
             * than that - so allow memblock resizing.
             *
             * This is safe, because this call happens pretty late during x86 setup,
             * so we know about reserved memory regions already. (This is important
             * so that memblock resizing does no stomp over reserved areas.)
             */
            memblock_allow_resize();
    
    No change in functionality.
    
    Cc: Alex Thorlton <athorlton@sgi.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Huang, Ying <ying.huang@intel.com>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Juergen Gross <jgross@suse.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Paul Jackson <pj@sgi.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    4918e228
e820.c 32.3 KB