Whamcloud - gitweb
LU-2139 ofd: Do async commit if SOFT_SYNC is seen 35/5935/8
authorPrakash Surya <surya1@llnl.gov>
Mon, 22 Oct 2012 23:34:29 +0000 (16:34 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 9 Dec 2013 14:19:55 +0000 (14:19 +0000)
This change implements the server side portion of the OBD_BRW_SOFT_SYNC
agreement. When this flag is seen on an incoming BRW page, the server
will begin an asynchronous commit operation via dt_commit_async.

The intention is for this operation to commit pages belonging to a
client which has "too many" outstanding unstable pages in its cache.
Upon the commit operation completing, the last_commited value should
percolate out to the client of interest, allowing it to drop some of
its pinned unstable pages.

Unfortunately, there is currently no optimization to proactively send
the last_committed value to the client immediately after the commit
operation succeeds. It must be piggybacked on any future IO or
pings made by the client.

Added fed_soft_sync_count which is set to a limit of 16 SOFT_SYNC
RPCs, and it will be reset as soon as there is a non-SOFT_SYNC RPC.

Added ofd_soft_sync_limit as a tunable proc value for the limit of
fed_soft_sync_count.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I1bac4bc517ab023a5b298f34bb695c7ba8ece896
Reviewed-on: http://review.whamcloud.com/5935
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>

No differences found