WP and MINOR modes are conditionally enabled on specific memory types.  This
patch avoids dumping tons of zeros for those cases when the modes are not
supported at all.

Reviewed-by: Axel Rasmussen <axelrasmus...@google.com>
Signed-off-by: Peter Xu <pet...@redhat.com>
---
 tools/testing/selftests/vm/userfaultfd.c | 30 ++++++++++++++++--------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/tools/testing/selftests/vm/userfaultfd.c 
b/tools/testing/selftests/vm/userfaultfd.c
index 387b9360ae64..da2374bda5a3 100644
--- a/tools/testing/selftests/vm/userfaultfd.c
+++ b/tools/testing/selftests/vm/userfaultfd.c
@@ -171,16 +171,26 @@ static void uffd_stats_report(struct uffd_stats *stats, 
int n_cpus)
                minor_total += stats[i].minor_faults;
        }
 
-       printf("userfaults: %llu missing (", miss_total);
-       for (i = 0; i < n_cpus; i++)
-               printf("%lu+", stats[i].missing_faults);
-       printf("\b), %llu wp (", wp_total);
-       for (i = 0; i < n_cpus; i++)
-               printf("%lu+", stats[i].wp_faults);
-       printf("\b), %llu minor (", minor_total);
-       for (i = 0; i < n_cpus; i++)
-               printf("%lu+", stats[i].minor_faults);
-       printf("\b)\n");
+       printf("userfaults: ");
+       if (miss_total) {
+               printf("%llu missing (", miss_total);
+               for (i = 0; i < n_cpus; i++)
+                       printf("%lu+", stats[i].missing_faults);
+               printf("\b) ");
+       }
+       if (wp_total) {
+               printf("%llu wp (", wp_total);
+               for (i = 0; i < n_cpus; i++)
+                       printf("%lu+", stats[i].wp_faults);
+               printf("\b) ");
+       }
+       if (minor_total) {
+               printf("%llu minor (", minor_total);
+               for (i = 0; i < n_cpus; i++)
+                       printf("%lu+", stats[i].minor_faults);
+               printf("\b)");
+       }
+       printf("\n");
 }
 
 static int anon_release_pages(char *rel_area)
-- 
2.26.2

Reply via email to