Message ID | f9550e6bacea10131ff40dd8981b69eb9251cdcd.1659598090.git.mchehab@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Move TLB invalidation code for its own file and document it | expand |
On 04/08/2022 08:37, Mauro Carvalho Chehab wrote: > WRITE_ONCE() should happen at the original var, not on a local > copy of it. > > Fixes: 5d36acb7198b ("drm/i915/gt: Batch TLB invalidations") Cc: stable I think, since the above one was. So both hit 5.21 (or 6.1) together. Regards, Tvrtko > Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> > --- > > To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover. > See [PATCH v3 0/3] at: https://lore.kernel.org/all/cover.1659598090.git.mchehab@kernel.org/ > > drivers/gpu/drm/i915/gt/intel_ppgtt.c | 2 +- > drivers/gpu/drm/i915/i915_vma.c | 6 +++--- > drivers/gpu/drm/i915/i915_vma.h | 2 +- > 3 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_ppgtt.c b/drivers/gpu/drm/i915/gt/intel_ppgtt.c > index 2da6c82a8bd2..6ee8d1127016 100644 > --- a/drivers/gpu/drm/i915/gt/intel_ppgtt.c > +++ b/drivers/gpu/drm/i915/gt/intel_ppgtt.c > @@ -211,7 +211,7 @@ void ppgtt_unbind_vma(struct i915_address_space *vm, > > vm->clear_range(vm, vma_res->start, vma_res->vma_size); > if (vma_res->tlb) > - vma_invalidate_tlb(vm, *vma_res->tlb); > + vma_invalidate_tlb(vm, vma_res->tlb); > } > > static unsigned long pd_count(u64 size, int shift) > diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c > index 84a9ccbc5fc5..260371716490 100644 > --- a/drivers/gpu/drm/i915/i915_vma.c > +++ b/drivers/gpu/drm/i915/i915_vma.c > @@ -1308,7 +1308,7 @@ I915_SELFTEST_EXPORT int i915_vma_get_pages(struct i915_vma *vma) > return err; > } > > -void vma_invalidate_tlb(struct i915_address_space *vm, u32 tlb) > +void vma_invalidate_tlb(struct i915_address_space *vm, u32 *tlb) > { > /* > * Before we release the pages that were bound by this vma, we > @@ -1318,7 +1318,7 @@ void vma_invalidate_tlb(struct i915_address_space *vm, u32 tlb) > * the most recent TLB invalidation seqno, and if we have not yet > * flushed the TLBs upon release, perform a full invalidation. > */ > - WRITE_ONCE(tlb, intel_gt_next_invalidate_tlb_full(vm->gt)); > + WRITE_ONCE(*tlb, intel_gt_next_invalidate_tlb_full(vm->gt)); > } > > static void __vma_put_pages(struct i915_vma *vma, unsigned int count) > @@ -1971,7 +1971,7 @@ struct dma_fence *__i915_vma_evict(struct i915_vma *vma, bool async) > dma_fence_put(unbind_fence); > unbind_fence = NULL; > } > - vma_invalidate_tlb(vma->vm, vma->obj->mm.tlb); > + vma_invalidate_tlb(vma->vm, &vma->obj->mm.tlb); > } > > /* > diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h > index 5048eed536da..33a58f605d75 100644 > --- a/drivers/gpu/drm/i915/i915_vma.h > +++ b/drivers/gpu/drm/i915/i915_vma.h > @@ -213,7 +213,7 @@ bool i915_vma_misplaced(const struct i915_vma *vma, > u64 size, u64 alignment, u64 flags); > void __i915_vma_set_map_and_fenceable(struct i915_vma *vma); > void i915_vma_revoke_mmap(struct i915_vma *vma); > -void vma_invalidate_tlb(struct i915_address_space *vm, u32 tlb); > +void vma_invalidate_tlb(struct i915_address_space *vm, u32 *tlb); > struct dma_fence *__i915_vma_evict(struct i915_vma *vma, bool async); > int __i915_vma_unbind(struct i915_vma *vma); > int __must_check i915_vma_unbind(struct i915_vma *vma);
Hi Mauro, On Thu, Aug 04, 2022 at 09:37:22AM +0200, Mauro Carvalho Chehab wrote: > WRITE_ONCE() should happen at the original var, not on a local > copy of it. > > Fixes: 5d36acb7198b ("drm/i915/gt: Batch TLB invalidations") > Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Are you going to send it to the stable mailing list? Andi
On Mon, Aug 08, 2022 at 06:37:58PM +0200, Andi Shyti wrote: > Hi Mauro, > > On Thu, Aug 04, 2022 at 09:37:22AM +0200, Mauro Carvalho Chehab wrote: > > WRITE_ONCE() should happen at the original var, not on a local > > copy of it. > > > > Fixes: 5d36acb7198b ("drm/i915/gt: Batch TLB invalidations") > > Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> > > Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Thanks and pushed... > > Are you going to send it to the stable mailing list? I added cc stable while pushing and the cherry-pick to drm-intel-next-fixes has the right sha, so I'd assume this would be automagically now. But yeap, it would be good if Mauro can follow up whenever this gets to Linus tree and Greg's script start to pop up the heads-up messages. Thanks, Rodrigo. > > Andi
Hi Rodrigo, On Mon, Aug 08, 2022 at 03:04:13PM -0400, Rodrigo Vivi wrote: > On Mon, Aug 08, 2022 at 06:37:58PM +0200, Andi Shyti wrote: > > Hi Mauro, > > > > On Thu, Aug 04, 2022 at 09:37:22AM +0200, Mauro Carvalho Chehab wrote: > > > WRITE_ONCE() should happen at the original var, not on a local > > > copy of it. > > > > > > Fixes: 5d36acb7198b ("drm/i915/gt: Batch TLB invalidations") > > > Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> > > > > Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> > > Thanks and pushed... Thanks! > > > > Are you going to send it to the stable mailing list? > > I added cc stable while pushing and the cherry-pick to drm-intel-next-fixes > has the right sha, so I'd assume this would be automagically now. > But yeap, it would be good if Mauro can follow up whenever this gets > to Linus tree and Greg's script start to pop up the heads-up messages. That's what I meant... does Mauro now need to send the e-mail again for the stable? I thought there was some suspicion towards e-mails pushed without being first sent to both stable and upstream mailing lists because they can get lost or forgotten... maybe I'm wrong. Andi > Thanks, > Rodrigo. > > > > > Andi
On Tue, 2022-08-09 at 01:09 +0200, Andi Shyti wrote: > Hi Rodrigo, > > On Mon, Aug 08, 2022 at 03:04:13PM -0400, Rodrigo Vivi wrote: > > On Mon, Aug 08, 2022 at 06:37:58PM +0200, Andi Shyti wrote: > > > Hi Mauro, > > > > > > On Thu, Aug 04, 2022 at 09:37:22AM +0200, Mauro Carvalho Chehab > > > wrote: > > > > WRITE_ONCE() should happen at the original var, not on a local > > > > copy of it. > > > > > > > > Fixes: 5d36acb7198b ("drm/i915/gt: Batch TLB invalidations") > > > > Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> > > > > > > Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> > > > > Thanks and pushed... > > Thanks! > > > > > > > Are you going to send it to the stable mailing list? > > > > I added cc stable while pushing and the cherry-pick to drm-intel- > > next-fixes > > has the right sha, so I'd assume this would be automagically now. > > But yeap, it would be good if Mauro can follow up whenever this > > gets > > to Linus tree and Greg's script start to pop up the heads-up > > messages. > > That's what I meant... does Mauro now need to send the e-mail > again for the stable? > > I thought there was some suspicion towards e-mails pushed without > being first sent to both stable and upstream mailing lists > because they can get lost or forgotten... maybe I'm wrong. It doesn't help to send now to stable ml because it can only be merged there after it reaches the Linus' master tree. Right now with the right fixes and cc:stable it should be automatically and he shouldn't worry. But in case he notices that the first patch got in but the second didn't then it is when we send the patch directly to the stable ml. > > Andi > > > Thanks, > > Rodrigo. > > > > > > > > Andi
On Tue, 9 Aug 2022 00:15:14 +0000 "Vivi, Rodrigo" <rodrigo.vivi@intel.com> wrote: > On Tue, 2022-08-09 at 01:09 +0200, Andi Shyti wrote: > > Hi Rodrigo, > > > > On Mon, Aug 08, 2022 at 03:04:13PM -0400, Rodrigo Vivi wrote: > > > On Mon, Aug 08, 2022 at 06:37:58PM +0200, Andi Shyti wrote: > > > > Hi Mauro, > > > > > > > > On Thu, Aug 04, 2022 at 09:37:22AM +0200, Mauro Carvalho Chehab > > > > wrote: > > > > > WRITE_ONCE() should happen at the original var, not on a local > > > > > copy of it. > > > > > > > > > > Fixes: 5d36acb7198b ("drm/i915/gt: Batch TLB invalidations") > > > > > Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> > > > > > > > > Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> > > > > > > Thanks and pushed... > > > > Thanks! > > > > > > > > > > Are you going to send it to the stable mailing list? > > > > > > I added cc stable while pushing and the cherry-pick to drm-intel- > > > next-fixes > > > has the right sha, so I'd assume this would be automagically now. > > > But yeap, it would be good if Mauro can follow up whenever this > > > gets > > > to Linus tree and Greg's script start to pop up the heads-up > > > messages. > > > > That's what I meant... does Mauro now need to send the e-mail > > again for the stable? > > > > I thought there was some suspicion towards e-mails pushed without > > being first sent to both stable and upstream mailing lists > > because they can get lost or forgotten... maybe I'm wrong. > > It doesn't help to send now to stable ml because it can only be merged > there after it reaches the Linus' master tree. > Right now with the right fixes and cc:stable it should be automatically > and he shouldn't worry. > But in case he notices that the first patch got in but the second > didn't then it is when we send the patch directly to the stable ml. I sent a heads-up to Greg to warn him about the issue. I'll keep my eyes on the -stable automatic e-mails to double-check that they'll both be merged altogether. Thanks! Mauro > > > > > > Andi > > > > > Thanks, > > > Rodrigo. > > > > > > > > > > > Andi >
diff --git a/drivers/gpu/drm/i915/gt/intel_ppgtt.c b/drivers/gpu/drm/i915/gt/intel_ppgtt.c index 2da6c82a8bd2..6ee8d1127016 100644 --- a/drivers/gpu/drm/i915/gt/intel_ppgtt.c +++ b/drivers/gpu/drm/i915/gt/intel_ppgtt.c @@ -211,7 +211,7 @@ void ppgtt_unbind_vma(struct i915_address_space *vm, vm->clear_range(vm, vma_res->start, vma_res->vma_size); if (vma_res->tlb) - vma_invalidate_tlb(vm, *vma_res->tlb); + vma_invalidate_tlb(vm, vma_res->tlb); } static unsigned long pd_count(u64 size, int shift) diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c index 84a9ccbc5fc5..260371716490 100644 --- a/drivers/gpu/drm/i915/i915_vma.c +++ b/drivers/gpu/drm/i915/i915_vma.c @@ -1308,7 +1308,7 @@ I915_SELFTEST_EXPORT int i915_vma_get_pages(struct i915_vma *vma) return err; } -void vma_invalidate_tlb(struct i915_address_space *vm, u32 tlb) +void vma_invalidate_tlb(struct i915_address_space *vm, u32 *tlb) { /* * Before we release the pages that were bound by this vma, we @@ -1318,7 +1318,7 @@ void vma_invalidate_tlb(struct i915_address_space *vm, u32 tlb) * the most recent TLB invalidation seqno, and if we have not yet * flushed the TLBs upon release, perform a full invalidation. */ - WRITE_ONCE(tlb, intel_gt_next_invalidate_tlb_full(vm->gt)); + WRITE_ONCE(*tlb, intel_gt_next_invalidate_tlb_full(vm->gt)); } static void __vma_put_pages(struct i915_vma *vma, unsigned int count) @@ -1971,7 +1971,7 @@ struct dma_fence *__i915_vma_evict(struct i915_vma *vma, bool async) dma_fence_put(unbind_fence); unbind_fence = NULL; } - vma_invalidate_tlb(vma->vm, vma->obj->mm.tlb); + vma_invalidate_tlb(vma->vm, &vma->obj->mm.tlb); } /* diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h index 5048eed536da..33a58f605d75 100644 --- a/drivers/gpu/drm/i915/i915_vma.h +++ b/drivers/gpu/drm/i915/i915_vma.h @@ -213,7 +213,7 @@ bool i915_vma_misplaced(const struct i915_vma *vma, u64 size, u64 alignment, u64 flags); void __i915_vma_set_map_and_fenceable(struct i915_vma *vma); void i915_vma_revoke_mmap(struct i915_vma *vma); -void vma_invalidate_tlb(struct i915_address_space *vm, u32 tlb); +void vma_invalidate_tlb(struct i915_address_space *vm, u32 *tlb); struct dma_fence *__i915_vma_evict(struct i915_vma *vma, bool async); int __i915_vma_unbind(struct i915_vma *vma); int __must_check i915_vma_unbind(struct i915_vma *vma);
WRITE_ONCE() should happen at the original var, not on a local copy of it. Fixes: 5d36acb7198b ("drm/i915/gt: Batch TLB invalidations") Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> --- To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover. See [PATCH v3 0/3] at: https://lore.kernel.org/all/cover.1659598090.git.mchehab@kernel.org/ drivers/gpu/drm/i915/gt/intel_ppgtt.c | 2 +- drivers/gpu/drm/i915/i915_vma.c | 6 +++--- drivers/gpu/drm/i915/i915_vma.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-)