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