Re: bigmem questions

From: Andrea Arcangeli (andrea@suse.de)
Date: Wed Feb 02 2000 - 20:57:34 EST

  • Next message: Albert D. Cahalan: "Re: RFC: capability to limit/allow access to various system info"

    On Wed, 2 Feb 2000, Matt Chapman wrote:

    >I have a couple of questions about the BIGMEM implementation.
    >
    >I understand BIGMEM will support up to 64G of physical RAM, but I
    >haven't been able to glean from the postings what a user-process'
    >virtual address space will be. [..]

    User-process virtual memory is physically limited to 4giga in the IA32
    architecture (unless you want to play dirty with segmentation at least...
    and you probably prefer to more cleanly use shm memory and attach and
    deattach to shm segments or doing similar userspace non-IA32 specific
    tricks to access the whole RAM). New PAE stuff won't help you on the
    virtual memory side.

    Today you can use alpha with 2.2.14+bigmem patch if you need more RAM
    per-task (is 2T enough for you? :).

    Due the kernel/user split on the virtual memory the usual limit for
    linux-IA32 is around 2giga per-task (there are two one liner on my
    ftp-area to increase it to 3.5g per-task though).

    >[..] The SGI and SuSE patches that I've
    >seen map almost 4G virtual into physical RAM. Does BIGMEM support
    >this range or will it retain the old 3G virtual space?

    NOTE: when you talk about the SuSE patches you are exactly talking about
    BIGMEM. FYI: BIGMEM is been originally designed and developed from scratch
    by me at SuSE and Gerhard Wichert at Siemens.

    The BIGMEM SuSE patches that broken the 2giga RAM limit on IA32 are been
    included into 2.3.16. Then during 2.3.x the patch that did the rest of the
    stuff necessary for >4g support (so implementing the three level
    pagetables of PAE mode and changing GFP to return a struct page * instead
    of a 32bit interger) also renamed the word "bigmem" to "highmem".

    (BTW, personally I prefer the original "bigmem" name for the thing, and
    the rename just generated confusion to you for example.)

    >Does BIGMEM adjust to the amount of RAM installed? For example, the
    >2.2.x release requires one kernel build for less than 1G and another
    >for over 1G. Will BIGMEM support say 16M to 64G with the same kernel
    >build?

    You can support more than 4giga only on P6 chips, a kernel compiled for
    supporting 64giga of ram won't run on older IA32 chips like the P5
    generation, I actually don't know about AMD and others. Probably we should
    put a dependency for PAE mode on P6 compile.

    If you compile without PAE (so with 4G support) the resulting kernel will
    run all over the place.

    >How about support for 16M to 4G RAM with one kernel?

    Fine. You can just do it with 2.2.14+bigmem btw.

    >If rebuilding is required, why? [..]

    Not required.

    > [..] Is there a sizable performance hit in
    >making it dynamic?

    No.

    Andrea

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Wed Feb 02 2000 - 21:20:08 EST