Probaility has a useful range of 0 to 100.
Verbose has a useful range of 0 to 2.

Reduce them both from unsigned long to unsigned char.  Since there
was already a hole they can fit into, this saves 16 bytes.

There's one consequential fix required: i915 selftests set the
probability to 999 for some reason, which had the same effect as
100.  Leaving it alone would have worked with a compiler warning
(999 % 256 = 231 is also >= 100, so would have the same effect),
but it seemed better to clean it up.

Signed-off-by: George Spelvin <l...@sdf.org>
Cc: Akinobu Mita <akinobu.m...@gmail.com>
Cc: Jani Nikula <jani.nik...@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahti...@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.v...@intel.com>
Cc: intel-gfx@lists.freedesktop.org
---
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c |  2 +-
 include/linux/fault-inject.h                  |  4 ++--
 lib/fault-inject.c                            | 10 +++++-----
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c 
b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
index 3f7e80fb3bbd1..3342e3c0ec10b 100644
--- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
@@ -901,7 +901,7 @@ static int shrink_hole(struct drm_i915_private *i915,
        unsigned long prime;
        int err;
 
-       vm->fault_attr.probability = 999;
+       vm->fault_attr.probability = 100;
        atomic_set(&vm->fault_attr.times, -1);
 
        for_each_prime_number_from(prime, 0, ULONG_MAX - 1) {
diff --git a/include/linux/fault-inject.h b/include/linux/fault-inject.h
index e525f6957c49f..094dd7d2a2ce6 100644
--- a/include/linux/fault-inject.h
+++ b/include/linux/fault-inject.h
@@ -14,11 +14,11 @@
  * Documentation/fault-injection/fault-injection.rst
  */
 struct fault_attr {
-       unsigned long probability;
        unsigned long interval;
        atomic_t times;
        atomic_t space;
-       unsigned long verbose;
+       unsigned char probability;
+       unsigned char verbose;
        bool task_filter;
        unsigned long stacktrace_depth;
        unsigned long require_start;
diff --git a/lib/fault-inject.c b/lib/fault-inject.c
index e20151fa5515e..406e27ba8e60f 100644
--- a/lib/fault-inject.c
+++ b/lib/fault-inject.c
@@ -17,13 +17,13 @@
  */
 int setup_fault_attr(struct fault_attr *attr, char *str)
 {
-       unsigned long probability;
+       unsigned char probability;
        unsigned long interval;
        int times;
        int space;
 
        /* "<interval>,<probability>,<space>,<times>" */
-       if (sscanf(str, "%lu,%lu,%d,%d",
+       if (sscanf(str, "%lu,%hhu,%d,%d",
                        &interval, &probability, &space, &times) < 4) {
                printk(KERN_WARNING
                        "FAULT_INJECTION: failed to parse arguments\n");
@@ -43,7 +43,7 @@ static void fail_dump(struct fault_attr *attr)
 {
        if (attr->verbose > 0 && __ratelimit(&attr->ratelimit_state)) {
                printk(KERN_NOTICE "FAULT_INJECTION: forcing a failure.\n"
-                      "name %pd, interval %lu, probability %lu, "
+                      "name %pd, interval %lu, probability %d, "
                       "space %d, times %d\n", attr->dname,
                       attr->interval, attr->probability,
                       atomic_read(&attr->space),
@@ -204,11 +204,11 @@ struct dentry *fault_create_debugfs_attr(const char *name,
        if (IS_ERR(dir))
                return dir;
 
-       debugfs_create_ul("probability", mode, dir, &attr->probability);
+       debugfs_create_u8("probability", mode, dir, &attr->probability);
        debugfs_create_ul("interval", mode, dir, &attr->interval);
        debugfs_create_atomic_t("times", mode, dir, &attr->times);
        debugfs_create_atomic_t("space", mode, dir, &attr->space);
-       debugfs_create_ul("verbose", mode, dir, &attr->verbose);
+       debugfs_create_u8("verbose", mode, dir, &attr->verbose);
        debugfs_create_u32("verbose_ratelimit_interval_ms", mode, dir,
                           &attr->ratelimit_state.interval);
        debugfs_create_u32("verbose_ratelimit_burst", mode, dir,
-- 
2.26.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to