[lkml]   [2010]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] Tight check of pfn_valid on sparsemem - v4
    On Fri, Jul 30, 2010 at 9:38 AM, Dave Hansen <> wrote:
    > On Thu, 2010-07-29 at 23:14 +0100, Russell King - ARM Linux wrote:
    >> What we need is something which allows us to handle memory scattered
    >> in several regions of the physical memory map, each bank being a
    >> variable size.
    > Russell, it does sound like you have a pretty pathological case here. :)
    > It's not one that we've really attempted to address on any other
    > architectures.
    > Just to spell it out, if you have 4GB of physical address space, with
    > 512k sections, you need 8192 sections, which means 8192*8 bytes, so it'd
    > eat 64k of memory.  That's the normal SPARSEMEM case.
    > SPARSEMEM_EXTREME would be a bit different.  It's a 2-level lookup.
    > You'd have 16 "section roots", each representing 256MB of address space.
    > Each time we put memory under one of those roots, we'd fill in a
    > 512-section second-level table, which is designed to always fit into one
    > page.  If you start at 256MB, you won't waste all those entries.
    > The disadvantage of SPARSEMEM_EXTREME is that it costs you the extra
    > level in the lookup.  The space loss in arm's case would only be 16
    > pointers, which would more than be made up for by the other gains.
    > The other case where it really makes no sense is when you're populating
    > a single (or small number) of sections, evenly across the address space.
    > For instance, let's say you have 16 512k banks, evenly spaced at 256MB
    > intervals:
    >        512k@0x00000000
    >        512k@0x10000000
    >        512k@0x20000000
    >        ...
    >        512k@0xF0000000
    > If you use SPARSEMEM_EXTREME on that it will degenerate to having the
    > same memory consumption as classic SPARSEMEM, along with the extra
    > lookup of EXTREME.  But, I haven't heard you say that you have this kind
    > of configuration, yet. :)
    > SPARSEMEM_EXTREME is really easy to test.  You just have to set it in
    > your .config.  To get much use out of it, you'd also need to make the
    > SECTION_SIZE, like the 512k we were talking about.

    Thanks for good explanation.
    When this problem happened, I suggested to use section size 16M.
    The space isn't a big cost but failed since Russell doesn't like it.

    So I tried to enhance sparsemem to support hole but you guys doesn't like it.
    Frankly speaking myself don't like this approach but I think whoever
    have to care of the problem.

    Hmm, Is it better to give up Samsung's good embedded board?
    It depends on Russell's opinion.

    I will hold this patch until reaching the conclusion of controversial
    Thanks, Dave.

    > -- Dave

    Kind regards,
    Minchan Kim
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2010-07-30 11:47    [W:0.030 / U:36.232 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site