[PATCH] drm/xe: Move page fault init after topology init
Summers, Stuart
stuart.summers at intel.com
Fri Jul 11 16:50:44 UTC 2025
On Fri, 2025-07-11 at 16:29 +0000, Summers, Stuart wrote:
> On Fri, 2025-07-11 at 09:25 -0700, Matthew Brost wrote:
> > On Fri, Jul 11, 2025 at 09:08:55AM -0600, Summers, Stuart wrote:
> > > On Thu, 2025-07-10 at 12:12 -0700, Matthew Brost wrote:
> > > > We need the topology to determine GT page fault queue size,
> > > > move
> > > > page
> > > > fault init after topology init.
> > > >
> > > > Cc: stable at vger.kernel.org
> > > > Fixes: 3338e4f90c14 ("drm/xe: Use topology to determine page
> > > > fault
> > > > queue size")
> > > > Signed-off-by: Matthew Brost <matthew.brost at intel.com>
> > >
> > > Yep, good catch and thanks!
> > >
> >
> > Thanks, I feel like this worked at one point in time though. Maybe
> > something in xe_gt_init got re-ordered recently. Will check on that
> > ahead of merging to make I have the fixes tag correct.
>
> You know it could have been a problem all along too...
>
> (num_eus + XE_NUM_HW_ENGINES) * PF_MSG_LEN_DW * PF_MULTIPLIER;
>
> We do have a non-zero calculation here even when num_eus is 0. That
> might also explain why we needed that extra multiplier, even if we
> aren't covering the full pathological case here - I still need to get
> those pow-of-2 fixes in to that pathological patch and get that
> merged
> :(
You know it also wouldn't hurt to print this calculated value out
during driver load or something so we can more easily catch
miscalculations like this instead of just relying on the compliance
test results. Of course not needed here in this patch...
Thanks,
Stuart
>
> Thanks,
> Stuart
>
> >
> > Matt
> >
> > > Reviewed-by: Stuart Summers <stuart.summers at intel.com>
> > >
> > > > ---
> > > > drivers/gpu/drm/xe/xe_gt.c | 6 +++---
> > > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/xe/xe_gt.c
> > > > b/drivers/gpu/drm/xe/xe_gt.c
> > > > index d397df056e4c..af03e19ef9be 100644
> > > > --- a/drivers/gpu/drm/xe/xe_gt.c
> > > > +++ b/drivers/gpu/drm/xe/xe_gt.c
> > > > @@ -628,15 +628,15 @@ int xe_gt_init(struct xe_gt *gt)
> > > > if (err)
> > > > return err;
> > > >
> > > > - err = xe_gt_pagefault_init(gt);
> > > > + err = xe_gt_sysfs_init(gt);
> > > > if (err)
> > > > return err;
> > > >
> > > > - err = xe_gt_sysfs_init(gt);
> > > > + err = gt_init_with_gt_forcewake(gt);
> > > > if (err)
> > > > return err;
> > > >
> > > > - err = gt_init_with_gt_forcewake(gt);
> > > > + err = xe_gt_pagefault_init(gt);
> > > > if (err)
> > > > return err;
> > > >
> > >
>
More information about the Intel-xe
mailing list