<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 1/14/2025 16:08, Marcin Bernatowicz
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:20250114150848.332708-8-marcin.bernatowicz@linux.intel.com">
      <pre wrap="" class="moz-quote-pre">By default, a dynamic subtest is executed with a random num_vfs to limit
execution time. Add an 'extended' command line option to enable
iteration over all possible num_vfs.

Signed-off-by: Marcin Bernatowicz <a class="moz-txt-link-rfc2396E" href="mailto:marcin.bernatowicz@linux.intel.com"><marcin.bernatowicz@linux.intel.com></a>
Cc: Adam Miszczak <a class="moz-txt-link-rfc2396E" href="mailto:adam.miszczak@linux.intel.com"><adam.miszczak@linux.intel.com></a>
Cc: Jakub Kolakowski <a class="moz-txt-link-rfc2396E" href="mailto:jakub1.kolakowski@intel.com"><jakub1.kolakowski@intel.com></a>
Cc: Lukasz Laguna <a class="moz-txt-link-rfc2396E" href="mailto:lukasz.laguna@intel.com"><lukasz.laguna@intel.com></a>
Cc: Michał Wajdeczko <a class="moz-txt-link-rfc2396E" href="mailto:michal.wajdeczko@intel.com"><michal.wajdeczko@intel.com></a>
Cc: Michał Winiarski <a class="moz-txt-link-rfc2396E" href="mailto:michal.winiarski@intel.com"><michal.winiarski@intel.com></a>
Cc: Narasimha C V <a class="moz-txt-link-rfc2396E" href="mailto:narasimha.c.v@intel.com"><narasimha.c.v@intel.com></a>
Cc: Piotr Piórkowski <a class="moz-txt-link-rfc2396E" href="mailto:piotr.piorkowski@intel.com"><piotr.piorkowski@intel.com></a>
Cc: Satyanarayana K V P <a class="moz-txt-link-rfc2396E" href="mailto:satyanarayana.k.v.p@intel.com"><satyanarayana.k.v.p@intel.com></a>
Cc: Tomasz Lis <a class="moz-txt-link-rfc2396E" href="mailto:tomasz.lis@intel.com"><tomasz.lis@intel.com></a>
---
 tests/intel/xe_sriov_auto_provisioning.c | 40 +++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)

diff --git a/tests/intel/xe_sriov_auto_provisioning.c b/tests/intel/xe_sriov_auto_provisioning.c
index 1d2aa8624..e13eb3644 100644
--- a/tests/intel/xe_sriov_auto_provisioning.c
+++ b/tests/intel/xe_sriov_auto_provisioning.c
@@ -216,7 +216,30 @@ static void exclusive_ranges(int pf_fd, unsigned int num_vfs)
        igt_fail_on_f(fails, "exclusive ranges check failed\n");
 }
 
-igt_main
+static bool extended_scope;
+
+static int opts_handler(int opt, int opt_index, void *data)
+{
+       switch (opt) {
+       case 'e':
+               extended_scope = true;
+               break;
+       default:
+               return IGT_OPT_HANDLER_ERROR;
+       }
+
+       return IGT_OPT_HANDLER_SUCCESS;
+}
+
+static const struct option long_opts[] = {
+       { .name = "extended", .has_arg = false, .val = 'e', },
+       {}
+};
+
+static const char help_str[] =
+       "  --extended\tRun the extended test scope\n";</pre>
    </blockquote>
    <br>
    nit: "   -e, --extended\t ..."<br>
    <br>
    <blockquote type="cite" cite="mid:20250114150848.332708-8-marcin.bernatowicz@linux.intel.com">
      <pre wrap="" class="moz-quote-pre">
+
+igt_main_args("", long_opts, help_str, opts_handler, NULL)
 {
        enum xe_sriov_shared_res res;
        unsigned int gt;
@@ -245,6 +268,11 @@ igt_main
 
        igt_describe("Verify that auto-provisioned resources are allocated by PF driver in fairly manner");
        igt_subtest_with_dynamic("fair-allocation") {
+               if (extended_scope)
+                       for_each_sriov_num_vfs(pf_fd, num_vfs)
+                               igt_dynamic_f("numvfs-%d", num_vfs)
+                                       fair_allocation(pf_fd, num_vfs);
+
                for_random_sriov_num_vfs(pf_fd, num_vfs) {
                        igt_dynamic_f("numvfs-random") {
                                igt_debug("numvfs=%u\n", num_vfs);
@@ -255,6 +283,11 @@ igt_main
 
        igt_describe("Verify that auto-provisioned resources are released once VFs are disabled");
        igt_subtest_with_dynamic("resources-released-on-vfs-disabling") {
+               if (extended_scope)
+                       for_each_sriov_num_vfs(pf_fd, num_vfs)
+                               igt_dynamic_f("numvfs-%d", num_vfs)
+                                       resources_released_on_vfs_disabling(pf_fd, num_vfs);
+
                for_random_sriov_num_vfs(pf_fd, num_vfs) {
                        igt_dynamic_f("numvfs-random") {
                                igt_debug("numvfs=%u\n", num_vfs);
@@ -269,6 +302,11 @@ igt_main
 
                igt_skip_on(total_vfs < 2);
 
+               if (extended_scope)
+                       for_each_sriov_num_vfs(pf_fd, num_vfs)
+                               igt_dynamic_f("numvfs-%d", num_vfs)
+                                       exclusive_ranges(pf_fd, num_vfs);
+
                for_random_sriov_vf_in_range(pf_fd, 2, total_vfs, num_vfs) {
                        igt_dynamic_f("numvfs-random") {
                                igt_debug("numvfs=%u\n", num_vfs);</pre>
    </blockquote>
    <br>
    One small nit, but looks good overall:<br>
    Reviewed-by: Lukasz Laguna <a class="moz-txt-link-rfc2396E" href="mailto:lukasz.laguna@intel.com"><lukasz.laguna@intel.com></a><br>
    <br>
    <span style="white-space: pre-wrap">
</span>
  </body>
</html>