tech-kern archive

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

Re: [PATCH] bufq_priocscan enhancement



On Tue, Jun 07, 2011 at 10:49:10PM +0200, Marek Dopiera wrote:
> 
> Moreover I think (but I have not checked that in any way) that we can reduce 
> the time spent in interrupts by merging disk requests in the scheduler or 
> increasing buffer cache page size (which may be beneficial on 4KB sector 
> drives).

Marek,

Several of us have looked at this and even implemented it in hackish ways
for testing purposes.  There are some issues.  One is that it's tough to
cleanly merge requests without copying and to cleanly handle errors (the
"nestiobuf" abstraction looks like it could be used for this but errors
are basically not handled at all by that code).

Another is that we just can't handle particularly large requests, period.
This is because of our MAXPHYS limitation: we do not have a way to propagate
maximum request size up and down the device tree (necessary because the
same driver on different bus attachments may have different maximum I/O
size restrictions) thus are limited to a rather small maximum I/O size
everywhere.

That is easier to fix in my opinion than the first problem and might be
a good place to start if you are serious about working on I/O efficiency
and scheduling issues.  It could offer huge performance benefits to
RAIDframe since RAID volumes of many disks could advertise correspondingly
large maximum I/O sizes as well.

Thor


Home | Main Index | Thread Index | Old Index