[DRBD-cvs] svn commit by lars - r2229 - in branches/drbd-0.7: documentation drbd drbd/linux scripts user - * bdev-threshold --> unplug-watermark * convert drbd_si

drbd-cvs at lists.linbit.com drbd-cvs at lists.linbit.com
Fri Jun 9 15:38:09 CEST 2006


Author: lars
Date: 2006-06-09 15:38:07 +0200 (Fri, 09 Jun 2006)
New Revision: 2229

Modified:
   branches/drbd-0.7/documentation/drbd.conf.sgml
   branches/drbd-0.7/documentation/drbdsetup.sgml
   branches/drbd-0.7/drbd/drbd_main.c
   branches/drbd-0.7/drbd/drbd_receiver.c
   branches/drbd-0.7/drbd/drbd_sizeof_sanity_check.c
   branches/drbd-0.7/drbd/linux/drbd.h
   branches/drbd-0.7/scripts/drbd.conf
   branches/drbd-0.7/user/drbd_limits.h
   branches/drbd-0.7/user/drbdadm_adjust.c
   branches/drbd-0.7/user/drbdadm_parser.y
   branches/drbd-0.7/user/drbdadm_scanner.fl
   branches/drbd-0.7/user/drbdsetup.c
Log:
* bdev-threshold --> unplug-watermark

* convert drbd_sizeof_sanity_check.c to use compile time assertions,
  so we won't build some 64bit ioctl incompatibilities by accident again.



Modified: branches/drbd-0.7/documentation/drbd.conf.sgml
===================================================================
--- branches/drbd-0.7/documentation/drbd.conf.sgml	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/documentation/drbd.conf.sgml	2006-06-09 13:38:07 UTC (rev 2229)
@@ -175,7 +175,7 @@
     <option>sndbuf-size</option>, <option>timeout</option>,
     <option>connect-int</option>, <option>ping-int</option>,
     <option>max-buffers</option>, <option>max-epoch-size</option>,
-    <option>bdev-threshold</option>,
+    <option>unplug-watermark</option>,
     <option>ko-count</option>, <option>on-disconnect</option>.
   </para>
   </listitem>
@@ -428,11 +428,11 @@
 </varlistentry>
 
 <varlistentry>
-  <term><option>bdev-threshold <replaceable>number</replaceable></option></term>
+  <term><option>unplug-watermark <replaceable>number</replaceable></option></term>
   <listitem>
     <para>
       When the number of pending write requests on the standby
-      (secondary) node exceeds the bdev-threshold, we trigger
+      (secondary) node exceeds the unplug-watermark, we trigger
       the request processing of our backing storage device.
       Some storage controllers deliver better performance with small
       values, other deliver best performance when it is set to

Modified: branches/drbd-0.7/documentation/drbdsetup.sgml
===================================================================
--- branches/drbd-0.7/documentation/drbdsetup.sgml	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/documentation/drbdsetup.sgml	2006-06-09 13:38:07 UTC (rev 2229)
@@ -314,11 +314,11 @@
 	</varlistentry>
 	<varlistentry>
 	  <term><option>-l</option>,
-	  <option>--bdev-threshold <replaceable>val</replaceable></option></term>
+	  <option>--unplug-watermark <replaceable>val</replaceable></option></term>
 	  <listitem>
 	    <para>
 	      When the number of pending write requests on the standby
-	      (secondary) node exceeds the bdev-threshold, we trigger
+	      (secondary) node exceeds the unplug-watermark, we trigger
 	      the request processing of our backing storage device.
 	      Some storage controllers deliver better performance with small
 	      values, other deliver best performance when it is set to

Modified: branches/drbd-0.7/drbd/drbd_main.c
===================================================================
--- branches/drbd-0.7/drbd/drbd_main.c	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/drbd/drbd_main.c	2006-06-09 13:38:07 UTC (rev 2229)
@@ -1736,9 +1736,6 @@
 		       ": never change the size or layout of the HandShake packet.\n");
 		return -EINVAL;
 	}
-	if (sizeof_drbd_structs_sanity_check()) {
-		return -EINVAL;
-	}
 
 	if (use_nbd_major) {
 		major_nr = NBD_MAJOR;

Modified: branches/drbd-0.7/drbd/drbd_receiver.c
===================================================================
--- branches/drbd-0.7/drbd/drbd_receiver.c	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/drbd/drbd_receiver.c	2006-06-09 13:38:07 UTC (rev 2229)
@@ -303,7 +303,7 @@
 	MUST_HOLD(&mdev->ee_lock);
 
 	if(mdev->ee_vacant == EE_MININUM / 2 && 
-	   (mdev->conf.bdev_threshold != mdev->conf.max_buffers) ) {
+	   (mdev->conf.unplug_watermark != mdev->conf.max_buffers) ) {
 		spin_unlock_irq(&mdev->ee_lock);
 		drbd_kick_lo(mdev);
 		spin_lock_irq(&mdev->ee_lock);
@@ -910,7 +910,7 @@
 	 * reference counts on it, which typically are locally submitted io
 	 * requests.  don't use unacked_cnt, so we speed up proto A and B, too.
 	 */
-	if (atomic_read(&mdev->local_cnt) >= mdev->conf.bdev_threshold ) {
+	if (atomic_read(&mdev->local_cnt) >= mdev->conf.unplug_watermark ) {
 		drbd_kick_lo(mdev);
 	}
 	mdev->writ_cnt+=data_size>>9;

Modified: branches/drbd-0.7/drbd/drbd_sizeof_sanity_check.c
===================================================================
--- branches/drbd-0.7/drbd/drbd_sizeof_sanity_check.c	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/drbd/drbd_sizeof_sanity_check.c	2006-06-09 13:38:07 UTC (rev 2229)
@@ -1,24 +1,17 @@
 #include <linux/drbd.h>
 #include <linux/kernel.h>
 
+#define COMPILETIME_ASSERT(x) \
+	switch(0) { case 0:; case (x):; }
 #define SZO(type,size) \
-	s = sizeof(type); \
-	if (s != size) { \
-		printk("<3>sizeof(" #type "): %d != %d\n", s, size); \
-		err = -1; \
-	}
+void __assert_sizeof_ ##type ## _eq_ ##size(void) { COMPILETIME_ASSERT(sizeof(struct type) == (size)); } \
+void __assert_sizeof_ ##type ## _modulo_8_eq_0(void) { COMPILETIME_ASSERT(sizeof(struct type) % 8 == 0); }
 
-int sizeof_drbd_structs_sanity_check(void)
-{
-	int err = 0, s = 0;
-	SZO(struct disk_config,		 24)
-	SZO(struct net_config,		308)
-	SZO(struct syncer_config,	 24)
-	SZO(struct ioctl_disk_config,	 32)
-	SZO(struct ioctl_net_config,	316)
-	SZO(struct ioctl_syncer_config,	 32)
-	SZO(struct ioctl_wait,		 16)
-	SZO(struct ioctl_get_config,	444)
-	if (err) printk("<3>ioctls won't work, aborting\n");
-	return err;
-}
+SZO(disk_config,	 24)
+SZO(net_config,		304)
+SZO(syncer_config,	 24)
+SZO(ioctl_disk_config,	 32)
+SZO(ioctl_net_config,	312)
+SZO(ioctl_syncer_config, 32)
+SZO(ioctl_wait,		 16)
+SZO(ioctl_get_config,	440)

Modified: branches/drbd-0.7/drbd/linux/drbd.h
===================================================================
--- branches/drbd-0.7/drbd/linux/drbd.h	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/drbd/linux/drbd.h	2006-06-09 13:38:07 UTC (rev 2229)
@@ -93,11 +93,10 @@
 	IN int      ping_int;         /* seconds */
 	IN int      max_epoch_size;
 	IN int      max_buffers;
-	IN int      bdev_threshold;
+	IN int      unplug_watermark;
 	IN int      sndbuf_size;  /* socket send buffer size */
 	IN unsigned int ko_count;
 	IN enum disconnect_handler on_disconnect;
-	const int   _pad;
 };
 
 struct syncer_config {

Modified: branches/drbd-0.7/scripts/drbd.conf
===================================================================
--- branches/drbd-0.7/scripts/drbd.conf	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/scripts/drbd.conf	2006-06-09 13:38:07 UTC (rev 2229)
@@ -173,7 +173,7 @@
     # max-buffers     2048;
 
     # When the number of outstanding requests on a standby (secondary)
-    # node exceeds bdev-threshold, we start to kick the backing device
+    # node exceeds unplug-watermark, we start to kick the backing device
     # to start its request processing. This is an advanced tuning
     # parameter to get more performance out of capable storage controlers.
     # Some controlers like to be kicked often, other controlers 
@@ -181,7 +181,7 @@
     # Set it to the value of max-buffers to get the least possible
     # number of run_task_queue_disk() / q->unplug_fn(q) calls.
     #
-    # bdev-threshold   128;
+    # unplug-watermark   128;
 
 
     # The highest number of data blocks between two write barriers. 

Modified: branches/drbd-0.7/user/drbd_limits.h
===================================================================
--- branches/drbd-0.7/user/drbd_limits.h	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/user/drbd_limits.h	2006-06-09 13:38:07 UTC (rev 2229)
@@ -53,7 +53,7 @@
   RANGE(MAX_BUFFERS, 32, 131072);
 
   /* @4k PageSize -> 64kB - 512MB */
-  RANGE(BDEV_THRESHOLD, 16, 131072);
+  RANGE(UNPLUG_WATERMARK, 16, 131072);
 
   /* 0 is disabled.
    * 200 should be more than enough even for very short timeouts */

Modified: branches/drbd-0.7/user/drbdadm_adjust.c
===================================================================
--- branches/drbd-0.7/user/drbdadm_adjust.c	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/user/drbdadm_adjust.c	2006-06-09 13:38:07 UTC (rev 2229)
@@ -337,7 +337,7 @@
     do_connect |= check_opt_d(in,"ping-int",1,"sec",res->net_options);
     do_connect |= check_opt_d(in,"max-epoch-size",1,"",res->net_options);
     do_connect |= check_opt_d(in,"max-buffers",1,"",res->net_options);
-    do_connect |= check_opt_d(in,"bdev-threshold",1,"",res->net_options);
+    do_connect |= check_opt_d(in,"unplug-watermark",1,"",res->net_options);
     do_connect |= check_opt_d(in,"sndbuf-size",1,"",res->net_options);
     do_connect |= check_opt_d(in,"ko-count",1,"",res->net_options);
     do_connect |= check_opt_s(in,"on-disconnect",res->net_options);

Modified: branches/drbd-0.7/user/drbdadm_parser.y
===================================================================
--- branches/drbd-0.7/user/drbdadm_parser.y	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/user/drbdadm_parser.y	2006-06-09 13:38:07 UTC (rev 2229)
@@ -144,7 +144,7 @@
   R_CONNECT_INT,
   R_PING_INT,
   R_MAX_BUFFERS,
-  R_BDEV_THRESHOLD,
+  R_UNPLUG_WATERMARK,
   R_MAX_EPOCH_SIZE,
   R_SNDBUF_SIZE,
   R_KO_COUNT,
@@ -193,9 +193,9 @@
       m_strtoll_range(value, 1, name, DRBD_MAX_BUFFERS_MIN,
 		      DRBD_MAX_BUFFERS_MAX);
       break;
-    case R_BDEV_THRESHOLD:
-      m_strtoll_range(value, 1, name, DRBD_BDEV_THRESHOLD_MIN,
-		      DRBD_BDEV_THRESHOLD_MAX);
+    case R_UNPLUG_WATERMARK:
+      m_strtoll_range(value, 1, name, DRBD_UNPLUG_WATERMARK_MIN,
+		      DRBD_UNPLUG_WATERMARK_MAX);
       break;
     case R_MAX_EPOCH_SIZE:
       m_strtoll_range(value, 1, name, DRBD_MAX_EPOCH_SIZE_MIN,
@@ -333,7 +333,7 @@
 %token <txt> TK_MINOR_COUNT TK_INTEGER TK_STRING
 %token <txt> TK_ON_IO_ERROR TK_SIZE
 %token <txt> TK_TIMEOUT TK_CONNECT_INT TK_PING_INT TK_MAX_BUFFERS TK_IPADDR
-%token <txt> TK_BDEV_THRESHOLD TK_MAX_EPOCH_SIZE TK_SNDBUF_SIZE
+%token <txt> TK_UNPLUG_WATERMARK TK_MAX_EPOCH_SIZE TK_SNDBUF_SIZE
 %token <txt> TK_SKIP_SYNC TK_USE_CSUMS TK_RATE TK_SYNC_GROUP TK_AL_EXTENTS
 %token <txt> TK_WFC_TIMEOUT TK_DEGR_WFC_TIMEOUT
 %token <txt> TK_KO_COUNT TK_ON_DISCONNECT TK_DIALOG_REFRESH
@@ -457,8 +457,8 @@
 		{ range_check(R_PING_INT,$1,$2);	$$=new_opt($1,$2); }
 		| TK_MAX_BUFFERS    TK_INTEGER
 		{ range_check(R_MAX_BUFFERS,$1,$2);	$$=new_opt($1,$2); }
-		| TK_BDEV_THRESHOLD TK_INTEGER
-		{ range_check(R_BDEV_THRESHOLD,$1,$2);	$$=new_opt($1,$2); }
+		| TK_UNPLUG_WATERMARK TK_INTEGER
+		{ range_check(R_UNPLUG_WATERMARK,$1,$2);	$$=new_opt($1,$2); }
 		| TK_MAX_EPOCH_SIZE TK_INTEGER
 		{ range_check(R_MAX_EPOCH_SIZE,$1,$2);	$$=new_opt($1,$2); }
 		| TK_SNDBUF_SIZE    TK_INTEGER

Modified: branches/drbd-0.7/user/drbdadm_scanner.fl
===================================================================
--- branches/drbd-0.7/user/drbdadm_scanner.fl	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/user/drbdadm_scanner.fl	2006-06-09 13:38:07 UTC (rev 2229)
@@ -258,11 +258,11 @@
   ping-int		do_assign(NUM);   CP; return TK_PING_INT;
   connect-int		do_assign(NUM);   CP; return TK_CONNECT_INT;
   max-buffers		do_assign(NUM);   CP; return TK_MAX_BUFFERS;
-  bdev-threshold	do_assign(NUM);   CP; return TK_BDEV_THRESHOLD;
+  unplug-watermark	do_assign(NUM);   CP; return TK_UNPLUG_WATERMARK;
   max-epoch-size	do_assign(NUM);   CP; return TK_MAX_EPOCH_SIZE;
   ko-count		do_assign(NUM);   CP; return TK_KO_COUNT;
   on-disconnect 	do_assign(ON_DISCONNECT); CP; return TK_ON_DISCONNECT;
-  {NDELIM}		expect_error("one of 'sndbuf-size|timeout|ping-int|connect-int|max-buffers|bdev-threshold|max-epoch-size|ko-count|on-disconnect'");
+  {NDELIM}		expect_error("one of 'sndbuf-size|timeout|ping-int|connect-int|max-buffers|unplug-watermark|max-epoch-size|ko-count|on-disconnect'");
 }
 
 <SYNCER>{

Modified: branches/drbd-0.7/user/drbdsetup.c
===================================================================
--- branches/drbd-0.7/user/drbdsetup.c	2006-06-09 12:05:34 UTC (rev 2228)
+++ branches/drbd-0.7/user/drbdsetup.c	2006-06-09 13:38:07 UTC (rev 2229)
@@ -68,7 +68,7 @@
 #define DEF_ON_IO_ERROR         PassOn
 #define DEF_KO_COUNT                 0
 #define DEF_ON_DISCONNECT       Reconnect
-#define DEF_BDEV_THRESHOLD       (DEF_MAX_BUFFERS/16)
+#define DEF_UNPLUG_WATERMARK       (DEF_MAX_BUFFERS/16)
 
 #if 0
 # define ioctl(X...) (fprintf(stderr,"ioctl(%s)\n",#X),0);
@@ -156,7 +156,7 @@
      { "timeout",    required_argument, 0, 't' },
      { "max-epoch-size", required_argument, 0, 'e' },
      { "max-buffers",required_argument, 0, 'b' },
-     { "bdev-threshold",required_argument, 0, 'l' },
+     { "unplug-watermark",required_argument, 0, 'l' },
      { "connect-int",required_argument, 0, 'c' },
      { "ping-int",   required_argument, 0, 'i' },
      { "sndbuf-size",required_argument, 0, 'S' },
@@ -562,7 +562,7 @@
   cn->config.sndbuf_size = DEF_SNDBUF_SIZE ;
   cn->config.on_disconnect = DEF_ON_DISCONNECT;
   cn->config.ko_count = DEF_KO_COUNT;
-  cn->config.bdev_threshold = DEF_BDEV_THRESHOLD;
+  cn->config.unplug_watermark = DEF_UNPLUG_WATERMARK;
 
   if(argc==0) return 0;
 
@@ -590,8 +590,8 @@
 			  DRBD_MAX_BUFFERS_MIN, DRBD_MAX_BUFFERS_MAX);
 	  break;
 	case 'l':
-	  cn->config.bdev_threshold = m_strtoll_range(optarg,1, "bdev-threshold",
-			  DRBD_BDEV_THRESHOLD_MIN, DRBD_BDEV_THRESHOLD_MAX);
+	  cn->config.unplug_watermark = m_strtoll_range(optarg,1, "unplug-watermark",
+			  DRBD_UNPLUG_WATERMARK_MIN, DRBD_UNPLUG_WATERMARK_MAX);
 	  break;
 	case 'c':
 	  cn->config.try_connect_int = m_strtoll_range(optarg,1, "connect-int",
@@ -1350,7 +1350,7 @@
   SHOW_I("ping-int","sec", cn.nconf.ping_int, DEF_NET_PING_I);
   SHOW_I("max-epoch-size","", cn.nconf.max_epoch_size, DEF_MAX_EPOCH_SIZE);
   SHOW_I("max-buffers","", cn.nconf.max_buffers, DEF_MAX_BUFFERS);
-  SHOW_I("bdev-threshold","", cn.nconf.bdev_threshold, DEF_BDEV_THRESHOLD);
+  SHOW_I("unplug-watermark","", cn.nconf.unplug_watermark, DEF_UNPLUG_WATERMARK);
   SHOW_I("sndbuf-size","", cn.nconf.sndbuf_size, DEF_SNDBUF_SIZE);
   SHOW_I("ko-count","", cn.nconf.ko_count, DEF_KO_COUNT);
   if( cn.nconf.on_disconnect != DEF_ON_DISCONNECT) {



More information about the drbd-cvs mailing list