Whamcloud - gitweb
LU-10990 osc: increase default max_dirty_mb to 2G 88/32288/5
authorOleg Drokin <oleg.drokin@intel.com>
Fri, 4 May 2018 03:08:35 +0000 (23:08 -0400)
committerOleg Drokin <green@whamcloud.com>
Wed, 18 Jul 2018 05:59:46 +0000 (05:59 +0000)
While ideally we want to go away from max_dirty_mb setting
completely and let grants code to take the msot part of it,
Andreas raises a somewhat valid point that for certain
system configurations with high-latency links, system
administrators might want to have ability to limit
amount of dirty pages just for those OSCs to limit amount
of time it might take to flush that dirty data.

So a good compromise is to lift the max_dirty_mb default
value first while we work out the current grant code
deficiencies

Change-Id: I4de407088af70e0f98f0563160217ba70a635dfb
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: https://review.whamcloud.com/32288
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Patrick Farrell <paf@cray.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/include/obd.h
lustre/tests/conf-sanity.sh
lustre/tests/recovery-small.sh

index e0db77c..5992d3e 100644 (file)
@@ -132,7 +132,7 @@ struct timeout_item {
 #define OBD_MAX_RIF_DEFAULT    8
 #define OBD_MAX_RIF_MAX                512
 #define OSC_MAX_RIF_MAX                256
-#define OSC_MAX_DIRTY_DEFAULT  (OBD_MAX_RIF_DEFAULT * 4)
+#define OSC_MAX_DIRTY_DEFAULT  2000     /* Arbitrary large value */
 #define OSC_MAX_DIRTY_MB_MAX   2048     /* arbitrary, but < MAX_LONG bytes */
 #define OSC_DEFAULT_RESENDS    10
 
index 935c46c..10408d5 100644 (file)
@@ -5338,7 +5338,7 @@ test_76a() {
        local MAX_DIRTY_MB=$($LCTL get_param -n $MDMB_PARAM |
                head -1)
        echo "max_dirty_mb: $MAX_DIRTY_MB"
-       local NEW_MAX_DIRTY_MB=$((MAX_DIRTY_MB + MAX_DIRTY_MB))
+       local NEW_MAX_DIRTY_MB=$((MAX_DIRTY_MB - 10))
        echo "new_max_dirty_mb: $NEW_MAX_DIRTY_MB"
        do_facet mgs $LCTL set_param -P $MDMB_PARAM=$NEW_MAX_DIRTY_MB
        wait_update $HOSTNAME "$LCTL get_param -n $MDMB_PARAM |
index 4b27f7a..ca6c07b 100755 (executable)
@@ -1312,6 +1312,13 @@ test_55() {
 
        mkdir -p $DIR/$tdir
 
+       # This test assumes relatively small max_dirty_mb setting
+       # which we want to walk away from, so just for it we will
+       # temporarily lower the value
+       local max_dirty_mb=$(lctl get_param -n osc.*.max_dirty_mb | head -n 1)
+       lctl set_param -n osc.*.max_dirty_mb=32
+       stack_trap "lctl set_param osc.*.max_dirty_mb=$max_dirty_mb" EXIT
+
        # Minimum pass speed is 2MBps
        local ddtimeout=64
        # LU-2887/LU-3089 - set min pass speed to 500KBps