Re: [PATCH] m68k: fix for systems with memory at end of 32-bit address space

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

 



Hi Geert,

Am 25.02.2023 um 00:01 schrieb Geert Uytterhoeven:
Now I just need to figure out why the last page of memory is excluded.
Do you also see this on other machines?

Zone ranges:
  DMA      [mem 0x00000000fc000000-0x00000fffffffefff]
  Normal   empty
Movable zone start for each node
Early memory node ranges
  node   0: [mem 0x00000000fc000000-0x00000000ffffefff]
Initmem setup node 0 [mem 0x00000000fc000000-0x00000000ffffefff]

I don't see that on ARAnyM or on qemu-system-m68k, but those
don't have memory at the end of the address space.

ISTR something about not mapping the last page of RAM, if it's at the
end of the address space, to avoid wrap-around while prefetching?

What would that achieve? The prefetch would still hit an unmapped page.

I can see that excluding the last page from use by memory allocators will prevent wrap, but that last page must then still be mapped, no?

Cheers,

	Michael


[searching]

I think it's a side-effect of:

    static inline phys_addr_t memblock_cap_size(phys_addr_t base,
phys_addr_t *size)
    {
            return *size = min(*size, PHYS_ADDR_MAX - base);
    }

with

    #define PHYS_ADDR_MAX  (~(phys_addr_t)0)

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds




[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux