Hello,

Michael Kelly, le lun. 13 avril 2026 07:02:12 +0100, a ecrit:
> I've thought for a while that something significant had to change with the
> pageout and this is certainly a significant change. struct vm_page has grown
> in size by 2 pointers, I think. That equates to an extra 32M used per 8G of
> RAM which doesn't seem that much if the system performance benefits
> significantly.

Yes, the reduced RAM availability looked fine enough compared to
properly evicting memory.

> I had a prototype from a few months ago that did combine all segments into a
> single free list. I shelved that "for the future" because I was failing to
> come up with a sensible way of finding free pages in specific segments (eg.
> for DMA) without adding new list pointers to vm_page.

Yes, that's why I kept the existing list, also because we want to be
able to balance between segments.

> Have you tried it with the heavy build load?

I am trying mypy, it's going much better, though 3G memory remains quite
low and it's still quite swapping. One thing I notice is that the page
cache remains quite large, something like 1.5G over 3G, I would have
expected less. Perhaps for some reason a lot of page cache pages get
vm_page_can_move() returning false.

Samuel

Reply via email to