On Thu, Nov 5, 2020 at 11:31 AM Deepak R Varma <mh12gx2...@gmail.com> wrote: > > On Thu, Nov 05, 2020 at 10:42:15AM +0100, Daniel Vetter wrote: > > On Wed, Nov 04, 2020 at 04:53:38PM +0530, Deepak R Varma wrote: > > > idr_init() uses base 0 which is an invalid identifier. The new function > > > idr_init_base allows IDR to set the ID lookup from base 1. This avoids > > > all lookups that otherwise starts from 0 since 0 is always unused. > > > > > > References: commit 6ce711f27500 ("idr: Make 1-based IDRs more efficient") > > > > > > Signed-off-by: Deepak R Varma <mh12gx2...@gmail.com> > > > > Tiny typo in the commit message summary: s/vgm/vgem/ > > > > Also can you pls resbumit this with intel-gfx mailing list on cc (like for > > i915)? There's a CI bot there which runs a few vgem tests, would be good > > to confirm nothing has been broken. > > Hi Daniel, > sure. I will correct the summary typo and also feed it to the CI bot. > > Also, according to Felix Kuehling's comment on a similar patch for > drm/amdkfd driver, an ID can be 0. The change I am proposing is more > efficient for conditions that do not want to use ID as 0. Otherwise, > id = 0 is an acceptable possibility. So, my statement that "Id 0 is an invalid > identifier" is not true. > > Can you please comment if this is accurate and I should reword my log > message as well?
You need to review the vgem code to see whether we're using id 0 as invalid identifier or not. That's part of the work that needs to be done here. Best would be to explain the evidence you've found in the commit message, why id 0 is invalid for this specific code. Since yes in general that's not true, it depends how the idr is used. -Daniel > > Thank you. > ./drv > > > > > Otherwise lgtm. > > > > Thanks, Daniel > > > > > --- > > > drivers/gpu/drm/vgem/vgem_fence.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/gpu/drm/vgem/vgem_fence.c > > > b/drivers/gpu/drm/vgem/vgem_fence.c > > > index 17f32f550dd9..2902dc6e64fa 100644 > > > --- a/drivers/gpu/drm/vgem/vgem_fence.c > > > +++ b/drivers/gpu/drm/vgem/vgem_fence.c > > > @@ -233,7 +233,7 @@ int vgem_fence_signal_ioctl(struct drm_device *dev, > > > int vgem_fence_open(struct vgem_file *vfile) > > > { > > > mutex_init(&vfile->fence_mutex); > > > - idr_init(&vfile->fence_idr); > > > + idr_init_base(&vfile->fence_idr, 1); > > > > > > return 0; > > > } > > > -- > > > 2.25.1 > > > > > > > -- > > Daniel Vetter > > Software Engineer, Intel Corporation > > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel