DragonFly kernel List (threaded) for 2005-12
Re: Plans for 1.5
Matthew Dillon wrote:
STAGE 2 - I/O Subsystem
Starting early February!
What are your thoughts on also adding a new flag to madvise to prefault
pages, so as to avoid faults through the VM system?
Perhaps a flag named MADV_PREFAULT, or to be consistent with
MADV_WILLNEED, MADV_NEEDNOW. Of course, such a call would be limited to
a maximum size per call, which is queryable, etc.
As I recall, this is one of your main points for using buffered
read/write calls instead of mmap. This could be even more significant
with faults causing page-ins from cross-system boundaries.
Also, how about extending sendfile to behave as a general copyfile, or
simply adding a general copyfile syscall?
With a framework like CCMS it would seem that such operations could
easily be turned into a simple message passed to the file's source
system for direct copying. Such a call could perhapes even be an async.
operation with a method for querying progress via select/poll/kqueue.