Michael Kelly via Bug reports for the GNU Hurd, le sam. 20 déc. 2025 09:30:34 +0000, a ecrit: > On 19/12/2025 23:54, Samuel Thibault wrote: > > Michael Kelly, le jeu. 18 déc. 2025 20:02:23 +0000, a ecrit: > > The current page replacement policy in gnumach/vm_page is documented > within > the source. It describes the policy of preferring page out of > external pages > (mmap) over internal pages (anonymous memory) in order to minimise > the use > of the default pager which is described as unreliable. > > As in: the kernel does not want to trust it. That's not saying that the > current implementation is unreliable, just that gnumach itself doesn't > want to have to rely on it. > > This is the comment copied from gnumach/vm_page.c: > > /* > > > * Page cache queue. > > > * > > > * XXX The current implementation hardcodes a preference to evict external > > > * pages first and keep internal ones as much as possible. This is because > > > * the Hurd default pager implementation suffers from bugs that can easily > > > * cause the system to freeze. >
Oh, that's cleary outdated, defpager is very reliable nowadays. Possibly at the time defpager didn't have mlockall() really working. Now, the reason for preferring to evict external pages first is that it doesn't fill swap :) > I'd welcome feedback on whether 'My_patch' should be submitted for > consideration. > > It's hard to say without seeing it. > > I was hoping for feedback on the direction rather than the detail but I can > see > that making sense of what I described would be a lot simpler by examining the > code changes. I'll try and get the patch series sent to the list soon. Yes, thanks for posting it, it's indeed clearer now :) Samuel
