Annotation of wikisrc/projects/project/buffer-flowcontrol.mdwn, revision 1.2

1.1       dholland    1: [[!template id=project
                      2: 
1.2     ! dholland    3: title="Buffer queue flow control"
1.1       dholland    4: 
                      5: contact="""
                      6: [tech-kern](mailto:tech-kern@NetBSD.org)
                      7: """
                      8: 
                      9: category="filesystems"
                     10: difficulty="hard"
                     11: duration="2 months"
                     12: 
                     13: description="""
1.2     ! dholland   14: Apply TCP-like flow control to processes accessing to the filesystem,
        !            15: particularly writers.
        !            16: That is: put them to sleep when there is "congestion", to avoid
        !            17: generating enormous backlogs and provide more fair allocation of disk
        !            18: bandwidth.
1.1       dholland   19: 
                     20: This is a nontrivial undertaking as the I/O path wasn't intended to
                     21: support this type of throttling. Also, the throttle should be
                     22: underneath all caching (there is nothing to be gained by throttling
                     23: cached accesses) but by that point attributing I/O actions to specific
                     24: processes is awkward.
1.2     ! dholland   25: 
        !            26: It might be worthwhile to develop a scheme to tag buffers with the
        !            27: upper-level I/O requests their pending changes came from, or something
        !            28: of the sort. That would likely help with readahead processing and
        !            29: other things as well as with flow control.
1.1       dholland   30: """
                     31: ]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb