Sergio Lopez, le Mon 02 Apr 2012 17:09:08 +0200, a écrit : > El Mon, 02 Apr 2012 00:23:03 +0300 > Maksym Planeta <mcsim.plan...@gmail.com> escribió: > > The goal of this project is not only add > > ability of reading more than one page when page fault occurs, but > > also implement appropriate interface for user to give him ability to > > configure behavior at page faults. Usual way for this in > > POSIX-compatible operating systems is using of function madvise. > > > > This function allows user advise the kernel about how to handle paging > > input/output in specified memory range. There are several behaviors, > > like RANDOM, NORMAL, SEQUENTIAL, WILLNEED and DONTNEED. From the page > > fault handler's point of view these behaviors differ only in size of > > memory chunk that will be read ahead. > > I don't think the kernel should be the one to be advised, but the > filesystem translators. These are the ones who really know current and > future (as they control most of the operations) state of the object,
Do they really? We discussed about it with neal a long time ago, and we believed that Mach was at a better position, because it knows about each and every mapping. Say for instance that two processes map the same file, and access it concurrently, but in a different way. AIUI, the translators will get data requests without indication of what mapping is pulling it, and thus no correlation between them, thus seemingly random. > and the number of pages which can be served after a page fault (cluster > size). That, however, could be chosen by the translator, yes (such as rounding up what the kernel requested). Samuel