On Mon, Aug 23, 2021 at 01:56:52PM +0200, Samuel Thibault wrote: > Do you know if it is on purpose that all vm_page_grab() calls use the > directmem segment, and not the highmem segment? Notably vm_page_fault() > ends up filling the directmem segment first, I even wonder how the > highmem segment ends up getting filled :) > > Is that perhaps to rather try allocating in directmem that has faster > access from kernel than highmem? (although for e.g. all kmsg purpose the > kernel just uses the userland page table so it's not faster, right?) > > I was thinking about adding a vm_page_grab_high() that can be used when > there are no directmap constraints, that will probably solve the > (relatively rare) OOM issues on the buildds.
Hello, I can't recall exactly, but that's why we write comments, right ? See [1]. Fixing this requires changing all callers to not assume that allocated memory can always be directly mapped, in particular some kvtophys calls. -- Richard Braun [1] https://git.savannah.gnu.org/cgit/hurd/gnumach.git/tree/vm/vm_resident.c?id=4dbaa718038fadc51d9b95d2383868a229d91457#n776