[PATCH 3/3] drm/xe: clean up fault injection usage
Ghimiray, Himal Prasad
himal.prasad.ghimiray at intel.com
Tue Aug 13 12:50:40 UTC 2024
On 13-08-2024 17:42, Jani Nikula wrote:
> With the proper stubs in place in linux/fault-inject.h, we can remove a
> bunch of conditional compilation for CONFIG_FAULT_INJECTION=n.
>
> Cc: Andrew Morton <akpm at linux-foundation.org>
> Cc: Akinobu Mita <akinobu.mita at gmail.com>
> Cc: Lucas De Marchi <lucas.demarchi at intel.com>
> Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
I had previously raised the patch
[https://lore.kernel.org/lkml/ZYBNDXoVO7LB_S0d@rdvivi-mobl4/T/] to
address the header inclusion dependency in lklm.
Given that [Patch 1/3] in this series also makes function inclusions,
such as should_fail, independent of configs, this seems to be an
improved version.
Assuming Patch 1 is approved by the maintainers, this patch looks good
to me.
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray at intel.com>
> ---
> drivers/gpu/drm/xe/xe_debugfs.c | 7 +------
> drivers/gpu/drm/xe/xe_gt.h | 10 ++--------
> 2 files changed, 3 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_debugfs.c b/drivers/gpu/drm/xe/xe_debugfs.c
> index 1011e5d281fa..b381bfb634f7 100644
> --- a/drivers/gpu/drm/xe/xe_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_debugfs.c
> @@ -6,6 +6,7 @@
> #include "xe_debugfs.h"
>
> #include <linux/debugfs.h>
> +#include <linux/fault-inject.h>
> #include <linux/string_helpers.h>
>
> #include <drm/drm_debugfs.h>
> @@ -26,10 +27,7 @@
> #include "xe_vm.h"
> #endif
>
> -#ifdef CONFIG_FAULT_INJECTION
> -#include <linux/fault-inject.h> /* XXX: fault-inject.h is broken */
> DECLARE_FAULT_ATTR(gt_reset_failure);
> -#endif
>
> static struct xe_device *node_to_xe(struct drm_info_node *node)
> {
> @@ -214,8 +212,5 @@ void xe_debugfs_register(struct xe_device *xe)
> for_each_gt(gt, xe, id)
> xe_gt_debugfs_register(gt);
>
> -#ifdef CONFIG_FAULT_INJECTION
> fault_create_debugfs_attr("fail_gt_reset", root, >_reset_failure);
> -#endif
> -
> }
> diff --git a/drivers/gpu/drm/xe/xe_gt.h b/drivers/gpu/drm/xe/xe_gt.h
> index 8b1a5027dcf2..ee138e9768a2 100644
> --- a/drivers/gpu/drm/xe/xe_gt.h
> +++ b/drivers/gpu/drm/xe/xe_gt.h
> @@ -6,6 +6,8 @@
> #ifndef _XE_GT_H_
> #define _XE_GT_H_
>
> +#include <linux/fault-inject.h>
> +
> #include <drm/drm_util.h>
>
> #include "xe_device.h"
> @@ -19,19 +21,11 @@
>
> #define CCS_MASK(gt) (((gt)->info.engine_mask & XE_HW_ENGINE_CCS_MASK) >> XE_HW_ENGINE_CCS0)
>
> -#ifdef CONFIG_FAULT_INJECTION
> -#include <linux/fault-inject.h> /* XXX: fault-inject.h is broken */
> extern struct fault_attr gt_reset_failure;
> static inline bool xe_fault_inject_gt_reset(void)
> {
> return should_fail(>_reset_failure, 1);
> }
> -#else
> -static inline bool xe_fault_inject_gt_reset(void)
> -{
> - return false;
> -}
> -#endif
>
> struct xe_gt *xe_gt_alloc(struct xe_tile *tile);
> int xe_gt_init_hwconfig(struct xe_gt *gt);
More information about the dri-devel
mailing list