Diff for /wikisrc/projects/project/buffer-flowcontrol.mdwn between versions 1.1 and 1.2

version 1.1, 2016/08/26 07:36:59 version 1.2, 2016/08/26 07:41:58
Line 1 Line 1
 [[!template id=project  [[!template id=project
   
 title="Flow control for writing to the file system"  title="Buffer queue flow control"
   
 contact="""  contact="""
 [tech-kern](mailto:tech-kern@NetBSD.org)  [tech-kern](mailto:tech-kern@NetBSD.org)
Line 11  difficulty="hard" Line 11  difficulty="hard"
 duration="2 months"  duration="2 months"
   
 description="""  description="""
 Apply TCP-like flow control to processes writing to the filesystem (put them to  Apply TCP-like flow control to processes accessing to the filesystem,
 sleep when there is "congestion"), to avoid enormous backlogs and provide more  particularly writers.
 fair allocation of disk bandwidth.  That is: put them to sleep when there is "congestion", to avoid
   generating enormous backlogs and provide more fair allocation of disk
   bandwidth.
   
 This is a nontrivial undertaking as the I/O path wasn't intended to  This is a nontrivial undertaking as the I/O path wasn't intended to
 support this type of throttling. Also, the throttle should be  support this type of throttling. Also, the throttle should be
 underneath all caching (there is nothing to be gained by throttling  underneath all caching (there is nothing to be gained by throttling
 cached accesses) but by that point attributing I/O actions to specific  cached accesses) but by that point attributing I/O actions to specific
 processes is awkward.  processes is awkward.
   
   It might be worthwhile to develop a scheme to tag buffers with the
   upper-level I/O requests their pending changes came from, or something
   of the sort. That would likely help with readahead processing and
   other things as well as with flow control.
 """  """
 ]]  ]]

Removed from v.1.1  
changed lines
  Added in v.1.2


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