Re: [PATCH v2 7/9] mm: Calc the right pfn if page size is not 4K

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 21 Apr 2022 at 00:27, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Tue, 19 Apr 2022 20:29:27 +0200 Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
>
> > > > --- a/mm/page_alloc.c
> > > > +++ b/mm/page_alloc.c
> > > > @@ -7870,7 +7870,7 @@ static void __init find_zone_movable_pfns_for_nodes(void)
> > > >
> > > >                       usable_startpfn = memblock_region_memory_base_pfn(r);
> > > >
> > > > -                     if (usable_startpfn < 0x100000) {
> > > > +                     if (usable_startpfn < PHYS_PFN(SZ_4G)) {
> > > >                               mem_below_4gb_not_mirrored = true;
> > > >                               continue;
> > > >                       }
> > >
> > > Regardless PFN value should never be encoded directly.
> > >
> > > Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
> >
> > Acked-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
> >
> > Andrew, can you please take this one through the -mm tree? The rest of
> > the series needs a bit more work, but is an obvious fix and there is
> > no point in holding it up.
>
> Sure.
>
> I'm not seeing any description of the runtime effects of this
> shortcoming.  I tentatively queued the fix for 5.18, without a
> cc:stable for backporting.  But that might not be the best decision?
>

As far as I can tell, mirrored memory is only used on x86 today, where
pages are always 4k.

However, the whole notion of memory below 4 GB being special is a
x86-ism, and so this logic does not appear to extrapolate to other
architectures anyway, and probably needs more work.

So definitely not a backportable fix, but just an incremental
improvement, so either 5.18 or 5.19 should be fine afaict (and no
cc:stable)




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux