Whamcloud - gitweb
- introduce tunables for the aggregate amount of cached data that llite will
authorzab <zab>
Thu, 31 Jul 2003 17:15:41 +0000 (17:15 +0000)
committerzab <zab>
Thu, 31 Jul 2003 17:15:41 +0000 (17:15 +0000)
commitad856da8d0e3508c57ffc5a9ad3398195ec09316
treebf7ba39999d7183039b6ac69aacf7d3941642336
parent0cae15d7dabc925fa83bb1899d438ef7802c3f28
- introduce tunables for the aggregate amount of cached data that llite will
  allow on a machine.  When we have more than 'dirty_high_water_MB' meg of
  data dirty we start async ocp io on the amount of data between the high
  water mark and 'dirty_low_water_MB'.  If we ever have more than
  'max_dirty_MB' we write synchronously in commit_write, batching with other
  dirty data in the inode.  these watermarks are checked every time we pass
  through commit_write and we account seperately for dirty pages and pages
  that are under io.

- add ocp_count to the ocp so that we can write partial pages at the end
  of the file.  make the callback func a proper type.

- remove iod.c, the few code paths we cared about in there are moved to
  rw{,24,26}.c

- turn off generic file read-ahead by setting filp->f_ramax to 0.

- have writepage and commit_write when writing sync use the plugging to batch
  their io with io started from other dirty pages in the inode's dirty list

- woops, missed a hardcoded '16'.  move to max_pags_per_rpc

There's still much to do.  The 2.6 side needs work on its many-page variants,
kiovec->bio, etc.  We need to actually start watermark io from the dirty inode
list.
lustre/llite/rw24.c
lustre/llite/rw26.c
lustre/osc/osc_internal.h