From: Oleg Drokin Date: Fri, 4 May 2018 03:08:35 +0000 (-0400) Subject: LU-10990 osc: increase default max_dirty_mb to 2G X-Git-Tag: 2.11.53~20 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=92e2b514e06ca2cd8c83e7439e206a629ba508f2 LU-10990 osc: increase default max_dirty_mb to 2G 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 Reviewed-on: https://review.whamcloud.com/32288 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Patrick Farrell Reviewed-by: Andreas Dilger --- diff --git a/lustre/include/obd.h b/lustre/include/obd.h index e0db77c..5992d3e 100644 --- a/lustre/include/obd.h +++ b/lustre/include/obd.h @@ -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 diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh index 935c46c..10408d5 100644 --- a/lustre/tests/conf-sanity.sh +++ b/lustre/tests/conf-sanity.sh @@ -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 | diff --git a/lustre/tests/recovery-small.sh b/lustre/tests/recovery-small.sh index 4b27f7a..ca6c07b 100755 --- a/lustre/tests/recovery-small.sh +++ b/lustre/tests/recovery-small.sh @@ -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