Message ID | 20240813121237.2382534-3-jani.nikula@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] fault-inject: improve build for CONFIG_FAULT_INJECTION=n | expand |
On Tue, 2024-08-13 at 15:12 +0300, 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@linux-foundation.org> > Cc: Akinobu Mita <akinobu.mita@gmail.com> > Cc: Lucas De Marchi <lucas.demarchi@intel.com> > Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.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);
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@linux-foundation.org> > Cc: Akinobu Mita <akinobu.mita@gmail.com> > Cc: Lucas De Marchi <lucas.demarchi@intel.com> > Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Signed-off-by: Jani Nikula <jani.nikula@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@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);
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);
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@linux-foundation.org> Cc: Akinobu Mita <akinobu.mita@gmail.com> Cc: Lucas De Marchi <lucas.demarchi@intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Jani Nikula <jani.nikula@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(-)