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

Reply via email to