[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, &gt_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(&gt_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