[Intel-gfx] [PATCH] drm/i915/selftests: Initialise mock_i915->mm.obj_lock

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Fri Nov 10 16:06:51 UTC 2017



On 10/11/2017 15:19, Chris Wilson wrote:
> lockdep spotted that the mock tests were using the i915->mm.obj_lock
> without first initialiasing it:
> 
>> [ 1303.217043] [IGT] drv_selftest: starting subtest mock_objects
> <4>[ 1303.240898] Setting dangerous option mock_selftests - tainting kernel
> <6>[ 1303.253665] i915: Performing mock selftests with st_random_seed=0xd87ea6c6 st_timeout=1000
> <4>[ 1303.254812] INFO: trying to register non-static key.
> <4>[ 1303.254816] the code is fine but needs lockdep annotation.
> <4>[ 1303.254818] turning off the locking correctness validator.
> <4>[ 1303.254820] CPU: 4 PID: 13112 Comm: drv_selftest Tainted: G     U  W       4.14.0-rc8-CI-Patchwork_7058+ #1
> <4>[ 1303.254823] Hardware name: MSI MS-7924/Z97M-G43(MS-7924), BIOS V1.12 02/15/2016
> <4>[ 1303.254825] Call Trace:
> <4>[ 1303.254829]  dump_stack+0x68/0x9f
> <4>[ 1303.254832]  register_lock_class+0x3fd/0x580
> <4>[ 1303.254835]  ? ___slab_alloc.constprop.29+0x157/0x3d0
> <4>[ 1303.254837]  ? ___slab_alloc.constprop.29+0x157/0x3d0
> <4>[ 1303.254840]  ? sg_kmalloc+0x1e/0x50
> <4>[ 1303.254842]  ? debug_smp_processor_id+0x17/0x20
> <4>[ 1303.254845]  __lock_acquire+0xa4/0x1b00
> <4>[ 1303.254884]  ? __i915_gem_object_set_pages+0x116/0x1f0 [i915]
> <4>[ 1303.254887]  ? __this_cpu_preempt_check+0x13/0x20
> <4>[ 1303.254889]  ? sg_kmalloc+0x1e/0x50
> <4>[ 1303.254891]  lock_acquire+0xb0/0x200
> <4>[ 1303.254893]  ? lock_acquire+0xb0/0x200
> <4>[ 1303.254917]  ? __i915_gem_object_set_pages+0x116/0x1f0 [i915]
> <4>[ 1303.254920]  _raw_spin_lock+0x32/0x50
> <4>[ 1303.254944]  ? __i915_gem_object_set_pages+0x116/0x1f0 [i915]
> <4>[ 1303.254967]  __i915_gem_object_set_pages+0x116/0x1f0 [i915]
> <4>[ 1303.254991]  i915_gem_object_get_pages_phys+0x286/0x2b0 [i915]
> <4>[ 1303.255015]  ____i915_gem_object_get_pages+0x20/0x60 [i915]
> <4>[ 1303.255039]  i915_gem_object_attach_phys+0x137/0x1a0 [i915]
> <4>[ 1303.255063]  igt_phys_object+0x45/0x120 [i915]
> <4>[ 1303.255094]  __i915_subtests+0x40/0xd0 [i915]
> <4>[ 1303.255099]  ? work_on_cpu_safe+0x60/0x60
> <4>[ 1303.255131]  i915_gem_object_mock_selftests+0x34/0x50 [i915]
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Matthew Auld <matthew.william.auld at gmail.com>
> Cc: Mika Kuoppala <mika.kuoppala at intel.com>
> ---
>   drivers/gpu/drm/i915/selftests/mock_gem_device.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> index 04eb9362f4f8..d2bf2729c331 100644
> --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> @@ -180,6 +180,7 @@ struct drm_i915_private *mock_gem_device(void)
>   		I915_GTT_PAGE_SIZE_2M;
>   
>   	spin_lock_init(&i915->mm.object_stat_lock);
> +	spin_lock_init(&i915->mm.obj_lock);
>   	mock_uncore_init(i915);
>   
>   	init_waitqueue_head(&i915->gpu_error.wait_queue);
> 

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko


More information about the Intel-gfx mailing list