File:  [NetBSD Developer Wiki] / wikisrc / projects / project / buffer-queue.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Sun Nov 6 21:08:23 2011 UTC (4 years ago) by jmmv
Branches: MAIN
CVS tags: HEAD
Add missing categories to the "all" index and sprinkle difficulty-level
settings to the projects that lacked them.  The "all" index is now fully

[[!template id=project

title="More intelligent buffer queue management"


duration="2-3 months"

NetBSD has a fixed, kernel-wide upper limit on transfer size, which is currently
set to 64k on most port.  This is too small to have good performances on modern
IDE and SCSI hardware; on the other hand some devices can't do more than 64k,
and in some case are even limited to less (the Xen virtual block device for
example).  Software RAID will also cause requests to be split in multiple
smaller requests.

NetBSD would greatly benefit from a more intelligent buffer queue management
between the block device drivers and the higher levels (the framework here
currently only applies some selectable algorithm to sort the queue).  This
framework should be able to split buffers too large for a device into smaller
ones, or aggregate multiple contiguous requests into a larger one.  This will
most probably require change to at last some block device drivers.

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb