Re: multi page memory object operations
On Mon, Jul 31, 2017 at 5:21 AM, Richard Braun wrote: > On Sun, Jul 30, 2017 at 10:20:55PM -0400, Brent W. Baccala wrote: > > > 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. I'm designing the new libpager to handle multi page requests, so I'll just leave it at that. If the kernel work gets revived, the filesystem translators will be able to handle it. agape brent
Re: multi page memory object operations
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
multi page memory object operations
Hi - I've found something puzzling while working on the libpager code. 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. 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? agape brent