hsa: add total bytes parameter to vcl_test_client 80/39280/4
authorFilip Tehlar <ftehlar@cisco.com>
Thu, 27 Jul 2023 13:49:12 +0000 (15:49 +0200)
committerFlorin Coras <florin.coras@gmail.com>
Thu, 27 Jul 2023 17:16:00 +0000 (17:16 +0000)
Type: test

Change-Id: Ib1131eedb8eeaa9adfed9cfc47beeb1c7c8adb5c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
src/plugins/hs_apps/vcl/vcl_test_client.c

index 427dd82..ae05961 100644 (file)
@@ -1013,6 +1013,7 @@ print_usage_and_exit (void)
     "  -T <txbuf-size>  Test Cfg: tx buffer size.\n"
     "  -U               Run Uni-directional test.\n"
     "  -B               Run Bi-directional test.\n"
+    "  -b <bytes>       Total number of bytes transferred\n"
     "  -V               Verbose mode.\n"
     "  -I <N>           Use N sessions.\n"
     "  -s <N>           Use N sessions.\n"
@@ -1028,7 +1029,7 @@ vtc_process_opts (vcl_test_client_main_t * vcm, int argc, char **argv)
   int c, v;
 
   opterr = 0;
-  while ((c = getopt (argc, argv, "chnp:w:xXE:I:N:R:T:UBV6DLs:q:S")) != -1)
+  while ((c = getopt (argc, argv, "chnp:w:xXE:I:N:R:T:b:UBV6DLs:q:S")) != -1)
     switch (c)
       {
       case 'c':
@@ -1157,6 +1158,21 @@ vtc_process_opts (vcl_test_client_main_t * vcm, int argc, char **argv)
            print_usage_and_exit ();
          }
        break;
+      case 'b':
+       if (sscanf (optarg, "0x%lu", &ctrl->cfg.total_bytes) != 1)
+         if (sscanf (optarg, "%ld", &ctrl->cfg.total_bytes) != 1)
+           {
+             vtwrn ("Invalid value for option -%c!", c);
+             print_usage_and_exit ();
+           }
+       if (ctrl->cfg.total_bytes % ctrl->cfg.txbuf_size)
+         {
+           vtwrn ("total bytes must be mutliple of txbuf size(0x%lu)!",
+                  ctrl->cfg.txbuf_size);
+           print_usage_and_exit ();
+         }
+       ctrl->cfg.num_writes = ctrl->cfg.total_bytes / ctrl->cfg.txbuf_size;
+       break;
 
       case 'U':
        ctrl->cfg.test = VCL_TEST_TYPE_UNI;