File:  [NetBSD Developer Wiki] / wikisrc / projects / project / buffer-queue.mdwn
Revision 1.3: download - view: text, annotated - select for diffs
Thu Feb 27 06:57:54 2014 UTC (12 months ago) by dholland
Branches: MAIN
CVS tags: HEAD
Mention MAXPHYS, allude to tls-maxphys. This project may be
superfluous once tls-maxphys is done, but I'm not sure -- I think
aggregating contiguous buffers will probably still be worthwhile.

[[!template id=project

title="More intelligent buffer queue management"


duration="2-3 months"

NetBSD has a fixed, kernel-wide upper limit on transfer size, called MAXPHYS, which is currently
set to 64k on most ports.  This is too small to perform well on modern
IDE and SCSI hardware; on the other hand some devices can't do more than 64k,
and in some cases 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.

There is currently work in progress to make MAXPHYS configured at
runtime based on driver capability.

This project originaly suggested instead to make the buffer queue
management logic (which currently only sorts the queue, aka disksort)
capable of splitting too-large buffers or aggregating small contiguous
buffers in order to conform to device-level requirements.

Once the MAXPHYS changes are finalized and committed, this project may
be simply outdated. However, it may also be worthwhile to pursue this
idea as well, particularly the aggregation part.


CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb