[PATCH v2] arm: improve non-section-aligned low memory mapping
Min-Hua Chen
orca.chen at gmail.com
Thu May 7 09:20:32 PDT 2015
On Wed, May 06, 2015 at 11:32:49AM +0100, Russell King - ARM Linux wrote:
> On Sun, Apr 26, 2015 at 04:47:08PM +0800, Min-Hua Chen wrote:
> > @@ -1384,6 +1351,15 @@ static void __init map_lowmem(void)
> > create_mapping(&map);
> > }
> > }
> > +
> > + /*
> > + * Find the first section-aligned memblock and set
> > + * memblock_limit at it.
> > + */
> > + if (!section_memblock_limit && !(end & ~SECTION_MASK)) {
> > + section_memblock_limit = end;
> > + memblock_set_current_limit(section_memblock_limit);
> > + }
>
> I've suggested an alternative solution to this (which just means changing
> the alignment of the memblock limit to 2x SECTION_SIZE).
Sorry I do not understand your suggestion very well. Do you mean the
alignment check should be 2X SECTION_SIZE?
if (!section_memblock_limit && !(end & (2 * SECTION_SIZE - 1))) {
I found that this solution is based on the fact that the first memory block is
always SECTION_SIZE-aligned. So we do not have to check the
alignment of the first memblock:
if (!section_memblock_limit)) {
section_memblock_limit = end;
memblock_set_current_limit(section_memblock_limit);
}
> --
> FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
> according to speedtest.net.
More information about the linux-arm-kernel
mailing list