tech-kern archive

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

Re: [PATCH] bufq_priocscan enhancement

On Wednesday 08 June 2011 08:11:37 Thor Lancelot Simon wrote:
> 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).

It's good to know that someone already knows the problems. Do you possibly 
know the branch names or have some patches elsewhere so that I could take a 
look at it? I am aware (maybe not fully) that it's hard, however guys from 
Linux do it somehow (I don't know how yet, though), so I'd like to at least 
gain confidence that is impossible on NetBSD, or better try to solve it.
> 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.

Still MAXPHYS is 64KB mostly, which is 128 times more than buffer cache page 
size, so I think it's worth the game even though. If I'm correct, Linux uses 
128KB, so not much more and has lower CPU overhead thenn we do.


Marek Dopiera

Home | Main Index | Thread Index | Old Index