bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Setting behavior for clustered IO


From: Samuel Thibault
Subject: Re: Setting behavior for clustered IO
Date: Mon, 2 Apr 2012 19:06:51 +0200
User-agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30)

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.planeta@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

[Prev in Thread] Current Thread [Next in Thread]