[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: directmap vs highmem usage in gnu mach?
From: |
Richard Braun |
Subject: |
Re: directmap vs highmem usage in gnu mach? |
Date: |
Wed, 25 Aug 2021 15:59:12 +0200 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
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