Commit 67c7ddd055c794f0d8e9466ca2d6b5cc0b73d4df

Authored by Philipp Reisner
1 parent 7237bc430f

drbd: Four new configuration settings for resync speed control

To reasonably control resync speed over drbd-proxy connections,
drbd has to measure the current delay of packets transmitted over
the (possibly congested) data socket vs the meta-data socket.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>

Showing 3 changed files with 24 additions and 0 deletions Side-by-side Diff

drivers/block/drbd/drbd_nl.c
... ... @@ -1555,6 +1555,10 @@
1555 1555 sc.rate = DRBD_RATE_DEF;
1556 1556 sc.after = DRBD_AFTER_DEF;
1557 1557 sc.al_extents = DRBD_AL_EXTENTS_DEF;
  1558 + sc.dp_volume = DRBD_DP_VOLUME_DEF;
  1559 + sc.dp_interval = DRBD_DP_INTERVAL_DEF;
  1560 + sc.throttle_th = DRBD_RS_THROTTLE_TH_DEF;
  1561 + sc.hold_off_th = DRBD_RS_HOLD_OFF_TH_DEF;
1558 1562 } else
1559 1563 memcpy(&sc, &mdev->sync_conf, sizeof(struct syncer_conf));
1560 1564  
include/linux/drbd_limits.h
... ... @@ -133,6 +133,22 @@
133 133 #define DRBD_MAX_BIO_BVECS_MAX 128
134 134 #define DRBD_MAX_BIO_BVECS_DEF 0
135 135  
  136 +#define DRBD_DP_VOLUME_MIN 4
  137 +#define DRBD_DP_VOLUME_MAX 1048576
  138 +#define DRBD_DP_VOLUME_DEF 16384
  139 +
  140 +#define DRBD_DP_INTERVAL_MIN 1
  141 +#define DRBD_DP_INTERVAL_MAX 600
  142 +#define DRBD_DP_INTERVAL_DEF 5
  143 +
  144 +#define DRBD_RS_THROTTLE_TH_MIN 1
  145 +#define DRBD_RS_THROTTLE_TH_MAX 600
  146 +#define DRBD_RS_THROTTLE_TH_DEF 20
  147 +
  148 +#define DRBD_RS_HOLD_OFF_TH_MIN 1
  149 +#define DRBD_RS_HOLD_OFF_TH_MAX 6000
  150 +#define DRBD_RS_HOLD_OFF_TH_DEF 100
  151 +
136 152 #undef RANGE
137 153 #endif
include/linux/drbd_nl.h
... ... @@ -78,6 +78,10 @@
78 78 NL_INTEGER( 30, T_MAY_IGNORE, rate)
79 79 NL_INTEGER( 31, T_MAY_IGNORE, after)
80 80 NL_INTEGER( 32, T_MAY_IGNORE, al_extents)
  81 + NL_INTEGER( 71, T_MAY_IGNORE, dp_volume)
  82 + NL_INTEGER( 72, T_MAY_IGNORE, dp_interval)
  83 + NL_INTEGER( 73, T_MAY_IGNORE, throttle_th)
  84 + NL_INTEGER( 74, T_MAY_IGNORE, hold_off_th)
81 85 NL_STRING( 52, T_MAY_IGNORE, verify_alg, SHARED_SECRET_MAX)
82 86 NL_STRING( 51, T_MAY_IGNORE, cpu_mask, 32)
83 87 NL_STRING( 64, T_MAY_IGNORE, csums_alg, SHARED_SECRET_MAX)