CC: kbuild-all(a)lists.01.org
In-Reply-To: <20200528211547.29392-1-chris(a)chris-wilson.co.uk>
References: <20200528211547.29392-1-chris(a)chris-wilson.co.uk>
TO: Chris Wilson <chris(a)chris-wilson.co.uk>
TO: intel-gfx(a)lists.freedesktop.org
CC: Chris Wilson <chris(a)chris-wilson.co.uk>
Hi Chris,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next v5.7-rc7 next-20200529]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see
https://stackoverflow.com/a/37406982]
url:
https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-Track-i915...
base:
git://anongit.freedesktop.org/drm/drm-tip drm-tip
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
config: i386-randconfig-c001-20200531 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Julia Lawall <julia.lawall(a)lip6.fr>
coccinelle warnings: (new ones prefixed by >>)
> drivers/gpu/drm/i915/i915_vma.c:1063:5-24: atomic_dec_and_test
variation before object free at line 1072.
drivers/gpu/drm/i915/i915_vma.c:843:47-48: atomic_add_unless
#
https://github.com/0day-ci/linux/commit/51c8e14b179d9348ce97abfaa5f80a65d...
git remote add linux-review
https://github.com/0day-ci/linux
git remote update linux-review
git checkout 51c8e14b179d9348ce97abfaa5f80a65dc244f2f
vim +1063 drivers/gpu/drm/i915/i915_vma.c
51c8e14b179d93 Chris Wilson 2020-05-28 1044
51c8e14b179d93 Chris Wilson 2020-05-28 1045 void i915_vma_close(struct i915_vma *vma)
3365e2268b6bc3 Chris Wilson 2018-05-03 1046 {
51c8e14b179d93 Chris Wilson 2020-05-28 1047 struct i915_vma_clock *clock =
&vma->vm->gt->vma_clock;
51c8e14b179d93 Chris Wilson 2020-05-28 1048
3365e2268b6bc3 Chris Wilson 2018-05-03 1049 /*
3365e2268b6bc3 Chris Wilson 2018-05-03 1050 * We defer actually closing, unbinding and
destroying the VMA until
3365e2268b6bc3 Chris Wilson 2018-05-03 1051 * the next idle point, or if the object is
freed in the meantime. By
3365e2268b6bc3 Chris Wilson 2018-05-03 1052 * postponing the unbind, we allow for it
to be resurrected by the
3365e2268b6bc3 Chris Wilson 2018-05-03 1053 * client, avoiding the work required to
rebind the VMA. This is
3365e2268b6bc3 Chris Wilson 2018-05-03 1054 * advantageous for DRI, where the
client/server pass objects
3365e2268b6bc3 Chris Wilson 2018-05-03 1055 * between themselves, temporarily opening
a local VMA to the
3365e2268b6bc3 Chris Wilson 2018-05-03 1056 * object, and then closing it again. The
same object is then reused
3365e2268b6bc3 Chris Wilson 2018-05-03 1057 * on the next frame (or two, depending on
the depth of the swap queue)
3365e2268b6bc3 Chris Wilson 2018-05-03 1058 * causing us to rebind the VMA once more.
This ends up being a lot
3365e2268b6bc3 Chris Wilson 2018-05-03 1059 * of wasted work for the steady state.
3365e2268b6bc3 Chris Wilson 2018-05-03 1060 */
50689771c8f073 Chris Wilson 2020-04-22 1061
50689771c8f073 Chris Wilson 2020-04-22 1062
GEM_BUG_ON(!atomic_read(&vma->open_count));
51c8e14b179d93 Chris Wilson 2020-05-28 @1063 if
(atomic_dec_and_lock(&vma->open_count, &clock->lock)) {
51c8e14b179d93 Chris Wilson 2020-05-28 1064 GEM_BUG_ON(i915_vma_is_closed(vma));
51c8e14b179d93 Chris Wilson 2020-05-28 1065 if (object_inuse(vma->obj)) {
51c8e14b179d93 Chris Wilson 2020-05-28 1066 i915_vma_get(vma);
51c8e14b179d93 Chris Wilson 2020-05-28 1067 list_add(&vma->closed_link,
&clock->age[0]);
50689771c8f073 Chris Wilson 2020-04-22 1068 }
51c8e14b179d93 Chris Wilson 2020-05-28 1069 spin_unlock(&clock->lock);
3365e2268b6bc3 Chris Wilson 2018-05-03 1070
51c8e14b179d93 Chris Wilson 2020-05-28 1071 if
(!list_empty(&vma->closed_link))
51c8e14b179d93 Chris Wilson 2020-05-28 @1072
schedule_delayed_work(&clock->work,
51c8e14b179d93 Chris Wilson 2020-05-28 1073 round_jiffies_up_relative(HZ));
51c8e14b179d93 Chris Wilson 2020-05-28 1074 }
3365e2268b6bc3 Chris Wilson 2018-05-03 1075
51c8e14b179d93 Chris Wilson 2020-05-28 1076 i915_vma_put(vma);
3365e2268b6bc3 Chris Wilson 2018-05-03 1077 }
155ab8836caa69 Chris Wilson 2019-06-06 1078
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org