lkml.org 
[lkml]   [2007]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Crash while mapping memory in pagetable_init() (Was: Re: .config)
    * Jeremy Fitzhardinge (jeremy@goop.org) wrote:
    > Subject: i386: map enough initial memory to create lowmem mappings
    >
    > head.S creates the very initial pagetable for the kernel. This just
    > maps enough space for the kernel itself, and an allocation bitmap.
    > The amount of mapped memory is rounded up to 4Mbytes, and so this
    > typically ends up mapping 8Mbytes of memory.
    >
    > When booting, pagetable_init() needs to create mappings for all
    > lowmem, and the pagetables for these mappings are allocated from the
    > free pages around the kernel in low memory. If the number of
    > pagetable pages + kernel size exceeds head.S's initial mapping, it
    > will end up faulting on an unmapped page. This will only happen with
    > specific combinations of kernel size and memory size.
    >
    > This patch makes sure that head.S also maps enough space to fit the
    > kernel pagetables as well as the kernel itself. It ends up using an
    > additional two pages of unreclaimable memory.

    Yup, fixes it up here, nice catch.

    Acked-by: Chris Wright <chrisw@sous-sol.org>
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-04-14 02:13    [W:0.021 / U:8.024 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site