Annotation of wikisrc/projects/project/maxphys-dynamic.mdwn, revision 1.1
1.1 ! dholland 1: [[!template id=project
! 2:
! 3: title="Make MAXPHYS dynamic (underway; stalled)"
! 4:
! 5: contact="""
! 6: [tech-kern](mailto:tech-kern@NetBSD.org)
! 7: """
! 8:
! 9: category="filesystems"
! 10: difficulty="medium"
! 11: duration="1-2 months"
! 12:
! 13: description="""
! 14: NetBSD has a fixed, kernel-wide upper limit on transfer size, called MAXPHYS, which is currently
! 15: set to 64k on most ports. This is too small to perform well on modern
! 16: IDE and SCSI hardware; on the other hand some devices can't do more than 64k,
! 17: and in some cases are even limited to less (the Xen virtual block device for
! 18: example). Software RAID will also cause requests to be split in multiple
! 19: smaller requests.
! 20:
! 21: This limit should be per-IO-path rather than global and should be
! 22: discovered/probed as those paths are created, based on driver
! 23: capability and driver properties.
! 24:
! 25: Much of the work has already been done and has been committed on the
! 26: tls-maxphys branch. What's needed at this point is mostly testing and
! 27: probably some debugging until it's ready to merge.
! 28:
! 29: This project originaly suggested instead to make the buffer queue
! 30: management logic (which currently only sorts the queue, aka disksort)
! 31: capable of splitting too-large buffers or aggregating small contiguous
! 32: buffers in order to conform to device-level requirements.
! 33:
! 34: Once the MAXPHYS changes are finalized and committed, this project may
! 35: be simply outdated. However, it may also be worthwhile to pursue this
! 36: idea as well, particularly the aggregation part.
! 37:
! 38: """
! 39: ]]
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb