On Sun, Jul 30, 2017 at 10:20:55PM -0400, Brent W. Baccala wrote:
> It seems that the current libpager's data-request and data-unlock routines
> only handle single page requests, while the Mach documentation suggests
> that the kernel can make multi page requests using these routines.

No, the kernel can't, even if the interface seems to allow it.

> Looking at the gnumach code, it sure seems that the kernel only makes
> single page requests.
> 
> Does anybody know the history of multi page requests?  Was it ever
> implemented in the kernel?

Maksym Planeta worked on it as part of the 2012 GSoC. I tried to review
it for merging, but was never satisfied with some details, too afraid
of what it would break (in both the API and ABI), and didn't consider
the gain worth at the time (I always thought improving the page cache
internally first, without involving the external pagers, would yield
much better results, and it did). Both Maksym and I went on to do other
things and the work just lingered, as is often the case. It could make
sense to revive the work now that paging was globally improved, but
you'll likely get conflicts, and the work isn't trivial, IOW it really
needs careful review.

-- 
Richard Braun

Reply via email to