Browse Source

ringtest: support test specific parameters

Add a new flag for passing test-specific parameters.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Michael S. Tsirkin 8 years ago
parent
commit
a49795054a
2 changed files with 15 additions and 0 deletions
  1. 13 0
      tools/virtio/ringtest/main.c
  2. 2 0
      tools/virtio/ringtest/main.h

+ 13 - 0
tools/virtio/ringtest/main.c

@@ -20,6 +20,7 @@
 int runcycles = 10000000;
 int runcycles = 10000000;
 int max_outstanding = INT_MAX;
 int max_outstanding = INT_MAX;
 int batch = 1;
 int batch = 1;
+int param = 0;
 
 
 bool do_sleep = false;
 bool do_sleep = false;
 bool do_relax = false;
 bool do_relax = false;
@@ -246,6 +247,11 @@ static const struct option longopts[] = {
 		.has_arg = required_argument,
 		.has_arg = required_argument,
 		.val = 'b',
 		.val = 'b',
 	},
 	},
+	{
+		.name = "param",
+		.has_arg = required_argument,
+		.val = 'p',
+	},
 	{
 	{
 		.name = "sleep",
 		.name = "sleep",
 		.has_arg = no_argument,
 		.has_arg = no_argument,
@@ -274,6 +280,7 @@ static void help(void)
 		" [--run-cycles C (default: %d)]"
 		" [--run-cycles C (default: %d)]"
 		" [--batch b]"
 		" [--batch b]"
 		" [--outstanding o]"
 		" [--outstanding o]"
+		" [--param p]"
 		" [--sleep]"
 		" [--sleep]"
 		" [--relax]"
 		" [--relax]"
 		" [--exit]"
 		" [--exit]"
@@ -328,6 +335,12 @@ int main(int argc, char **argv)
 			assert(c > 0 && c < INT_MAX);
 			assert(c > 0 && c < INT_MAX);
 			max_outstanding = c;
 			max_outstanding = c;
 			break;
 			break;
+		case 'p':
+			c = strtol(optarg, &endptr, 0);
+			assert(!*endptr);
+			assert(c > 0 && c < INT_MAX);
+			param = c;
+			break;
 		case 'b':
 		case 'b':
 			c = strtol(optarg, &endptr, 0);
 			c = strtol(optarg, &endptr, 0);
 			assert(!*endptr);
 			assert(!*endptr);

+ 2 - 0
tools/virtio/ringtest/main.h

@@ -10,6 +10,8 @@
 
 
 #include <stdbool.h>
 #include <stdbool.h>
 
 
+extern int param;
+
 extern bool do_exit;
 extern bool do_exit;
 
 
 #if defined(__x86_64__) || defined(__i386__)
 #if defined(__x86_64__) || defined(__i386__)