[tip:locking/core 12/12] drivers/gpu/drm/i915/i915_gem_shrinker.c:230:2: warning: 'mutex_trylock_recursive' is deprecated

From: kbuild test robot
Date: Wed Nov 16 2016 - 04:46:17 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
head: 0f5225b024d4bffd682aab008c35862e8fdc1865
commit: 0f5225b024d4bffd682aab008c35862e8fdc1865 [12/12] locking/mutex, drm: Introduce mutex_trylock_recursive()
config: i386-randconfig-a0-201646 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
git checkout 0f5225b024d4bffd682aab008c35862e8fdc1865
# save the attached .config to linux build tree
make ARCH=i386

All warnings (new ones prefixed by >>):

drivers/gpu/drm/i915/i915_gem_shrinker.c: In function 'i915_gem_shrinker_lock':
>> drivers/gpu/drm/i915/i915_gem_shrinker.c:230:2: warning: 'mutex_trylock_recursive' is deprecated [-Wdeprecated-declarations]
switch (mutex_trylock_recursive(&dev->struct_mutex)) {
^~~~~~
In file included from arch/x86/include/asm/mmu.h:5:0,
from include/linux/mm_types.h:17,
from include/linux/sched.h:27,
from include/linux/oom.h:5,
from drivers/gpu/drm/i915/i915_gem_shrinker.c:25:
include/linux/mutex.h:215:1: note: declared here
mutex_trylock_recursive(struct mutex *lock)
^~~~~~~~~~~~~~~~~~~~~~~

vim +/mutex_trylock_recursive +230 drivers/gpu/drm/i915/i915_gem_shrinker.c

214 */
215 unsigned long i915_gem_shrink_all(struct drm_i915_private *dev_priv)
216 {
217 unsigned long freed;
218
219 freed = i915_gem_shrink(dev_priv, -1UL,
220 I915_SHRINK_BOUND |
221 I915_SHRINK_UNBOUND |
222 I915_SHRINK_ACTIVE);
223 rcu_barrier(); /* wait until our RCU delayed slab frees are completed */
224
225 return freed;
226 }
227
228 static bool i915_gem_shrinker_lock(struct drm_device *dev, bool *unlock)
229 {
> 230 switch (mutex_trylock_recursive(&dev->struct_mutex)) {
231 case MUTEX_TRYLOCK_FAILED:
232 return false;
233
234 case MUTEX_TRYLOCK_SUCCESS:
235 *unlock = true;
236 return true;
237
238 case MUTEX_TRYLOCK_RECURSIVE:

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip