CC: [email protected]
TO: Maarten Lankhorst <[email protected]>
CC: "Thomas Hellström" <[email protected]>

tree:   git://people.freedesktop.org/~thomash/linux thellstrom/locking-rework
head:   ab40727c3ac11d71edeb62fd40c1a92ec77d7467
commit: fb6922ca33087a7dcfd81591ba71fb2a6f623d30 [61/63] drm/i915: Finally 
remove obj->mm.lock.
:::::: branch date: 34 hours ago
:::::: commit date: 34 hours ago
config: x86_64-randconfig-m001-20201026 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c:234 i915_gem_shrink() error: 
uninitialized symbol 'err'.

Old smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_object.h:153 __i915_gem_object_lock() error: 
we previously assumed 'ww' could be null (see line 145)

vim +/err +234 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c

2d6692e642e7ca0 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2019-04-20   69  
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   70  /**
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   71   * i915_gem_shrink - Shrink buffer object caches
56fa4bf2b2f0840 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-11-23   72   * @i915: i915 device
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   73   * @target: amount of memory to make available, in pages
912d572d63b8cd1 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-09-06   74   * @nr_scanned: optional output for number of pages 
scanned (incremental)
70972f51819a22e drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-12   75   * @shrink: control flags for selecting cache types
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   76   *
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   77   * This function is the main interface to the shrinker. It 
will try to release
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   78   * up to @target pages of main memory backing storage from 
buffer objects.
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   79   * Selection of the specific caches can be done with 
@flags. This is e.g. useful
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   80   * when purgeable objects should be removed from caches 
preferentially.
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   81   *
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   82   * Note that it's not guaranteed that released amount is 
actually available as
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   83   * free system memory - the pages might still be in-used 
to due to other reasons
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   84   * (like cpu mmaps) or the mm core has reused them before 
we could grab them.
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   85   * Therefore code that needs to explicitly shrink buffer 
objects caches (e.g. to
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   86   * avoid deadlocks in memory reclaim) must fall back to 
i915_gem_shrink_all().
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   87   *
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   88   * Also note that any kind of pinning (both per-vma 
address space pins and
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   89   * backing storage pins at the buffer object level) result 
in the shrinker code
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   90   * having to skip the object.
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   91   *
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   92   * Returns:
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   93   * The number of pages of backing storage actually 
released.
eb0b44adc08c0be drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   94   */
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18   95  unsigned long
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10   96  i915_gem_shrink(struct i915_gem_ww_ctx *ww,
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10   97             struct drm_i915_private *i915,
912d572d63b8cd1 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-09-06   98             unsigned long target,
912d572d63b8cd1 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-09-06   99             unsigned long *nr_scanned,
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  100             unsigned int shrink)
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  101  {
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  102     const struct {
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  103             struct list_head *list;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  104             unsigned int bit;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  105     } phases[] = {
3b4fa9640ccded0 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-05-30  106             { &i915->mm.purge_list, ~0u },
ecab9be174d98ff drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-12  107             {
ecab9be174d98ff drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-12  108                     &i915->mm.shrink_list,
ecab9be174d98ff drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-12  109                     I915_SHRINK_BOUND | I915_SHRINK_UNBOUND
ecab9be174d98ff drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-12  110             },
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  111             { NULL, 0 },
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  112     }, *phase;
538ef96b9dae7fe drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2019-01-14  113     intel_wakeref_t wakeref = 0;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  114     unsigned long count = 0;
912d572d63b8cd1 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-09-06  115     unsigned long scanned = 0;
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  116     int err;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  117  
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  118     trace_i915_gem_shrink(i915, target, shrink);
3abafa539d2c17d drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2015-10-01  119  
178a30c90ac74e6 drivers/gpu/drm/i915/i915_gem_shrinker.c     Praveen Paneri     
    2016-05-02  120     /*
178a30c90ac74e6 drivers/gpu/drm/i915/i915_gem_shrinker.c     Praveen Paneri     
    2016-05-02  121      * Unbinding of objects will require HW access; Let us 
not wake the
178a30c90ac74e6 drivers/gpu/drm/i915/i915_gem_shrinker.c     Praveen Paneri     
    2016-05-02  122      * device just to recover a little memory. If 
absolutely necessary,
178a30c90ac74e6 drivers/gpu/drm/i915/i915_gem_shrinker.c     Praveen Paneri     
    2016-05-02  123      * we will force the wake during oom-notifier.
178a30c90ac74e6 drivers/gpu/drm/i915/i915_gem_shrinker.c     Praveen Paneri     
    2016-05-02  124      */
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  125     if (shrink & I915_SHRINK_BOUND) {
d858d5695f3897d drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Daniele Ceraolo 
Spurio 2019-06-13  126             wakeref = 
intel_runtime_pm_get_if_in_use(&i915->runtime_pm);
538ef96b9dae7fe drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2019-01-14  127             if (!wakeref)
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  128                     shrink &= ~I915_SHRINK_BOUND;
538ef96b9dae7fe drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2019-01-14  129     }
178a30c90ac74e6 drivers/gpu/drm/i915/i915_gem_shrinker.c     Praveen Paneri     
    2016-05-02  130  
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  131     /*
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  132      * When shrinking the active list, we should also 
consider active
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  133      * contexts. Active contexts are pinned until they are 
retired, and
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  134      * so can not be simply unbound to retire and unpin 
their pages. To
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  135      * shrink the contexts, we must wait until the gpu is 
idle and
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  136      * completed its switch to the kernel context. In 
short, we do
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  137      * not have a good mechanism for idling a specific 
context, but
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  138      * what we can do is give them a kick so that we do not 
keep idle
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  139      * contexts around longer than is necessary.
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  140      */
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  141     if (shrink & I915_SHRINK_ACTIVE)
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  142             /* Retire requests to unpin all idle contexts */
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  143             intel_gt_retire_requests(&i915->gt);
09137e945437611 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2020-07-08  144  
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  145     /*
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  146      * As we may completely rewrite the (un)bound list 
whilst unbinding
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  147      * (due to retiring requests) we have to strictly 
process only
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  148      * one element of the list at the time, and recheck the 
list
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  149      * on every iteration.
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  150      *
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  151      * In particular, we must hold a reference whilst 
removing the
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  152      * object as we may end up waiting for and/or retiring 
the objects.
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  153      * This might release the final reference (held by the 
active list)
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  154      * and result in the object being freed from under us. 
This is
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  155      * similar to the precautions the eviction code must 
take whilst
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  156      * removing objects.
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  157      *
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  158      * Also note that although these lists do not hold a 
reference to
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  159      * the object we can safely grab one here: The final 
object
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  160      * unreferencing and the bound_list are both protected 
by the
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  161      * dev->struct_mutex and so we won't ever be able to 
observe an
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  162      * object on the bound_list with a reference count 
equals 0.
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  163      */
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  164     for (phase = phases; phase->list; phase++) {
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  165             struct list_head still_in_list;
2a1d775201081c4 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2016-07-26  166             struct drm_i915_gem_object *obj;
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  167             unsigned long flags;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  168  
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  169             if ((shrink & phase->bit) == 0)
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  170                     continue;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  171  
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  172             INIT_LIST_HEAD(&still_in_list);
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  173  
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  174             /*
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  175              * We serialize our access to unreferenced 
objects through
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  176              * the use of the struct_mutex. While the 
objects are not
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  177              * yet freed (due to RCU then a workqueue) we 
still want
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  178              * to be able to shrink their pages, so they 
remain on
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  179              * the unbound/bound list until actually freed.
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  180              */
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  181             spin_lock_irqsave(&i915->mm.obj_lock, flags);
2a1d775201081c4 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2016-07-26  182             while (count < target &&
2a1d775201081c4 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2016-07-26  183                    (obj = 
list_first_entry_or_null(phase->list,
2a1d775201081c4 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2016-07-26  184                                                    
typeof(*obj),
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  185                                                    
mm.link))) {
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  186                     list_move_tail(&obj->mm.link, 
&still_in_list);
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  187  
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  188                     if (shrink & I915_SHRINK_VMAPS &&
a4f5ea64f0a8185 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2016-10-28  189                         !is_vmalloc_addr(obj->mm.mapping))
eae2c43b1233f81 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2016-04-08  190                             continue;
eae2c43b1233f81 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2016-04-08  191  
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  192                     if (!(shrink & I915_SHRINK_ACTIVE) &&
c03467ba40f783e drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-07-03  193                         i915_gem_object_is_framebuffer(obj))
5763ff04dc4ebdd drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2015-10-01  194                             continue;
5763ff04dc4ebdd drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2015-10-01  195  
c1a415e261aad09 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2015-12-04  196                     if (!can_release_pages(obj))
c1a415e261aad09 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2015-12-04  197                             continue;
c1a415e261aad09 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2015-12-04  198  
0bd6cb6b58f7332 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-18  199                     if 
(!kref_get_unless_zero(&obj->base.refcount))
0bd6cb6b58f7332 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-18  200                             continue;
0bd6cb6b58f7332 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-18  201  
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  202                     
spin_unlock_irqrestore(&i915->mm.obj_lock, flags);
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  203  
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  204                     err = 0;
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  205                     if (unsafe_drop_pages(obj, shrink)) {
7b7a119e8546e27 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2016-10-31  206                             /* May arrive from get_pages on 
another bo */
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  207                             if (!ww) {
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  208                                     if 
(!i915_gem_object_trylock(obj))
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  209                                             goto skip;
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  210                             } else {
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  211                                     err = 
i915_gem_object_lock(obj, ww);
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  212                                     if (err)
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  213                                             goto skip;
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  214                             }
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  215  
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  216                             if 
(!__i915_gem_object_put_pages(obj)) {
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  217                                     try_to_writeback(obj, 
shrink);
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  218                                     count += obj->base.size 
>> PAGE_SHIFT;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  219                             }
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  220                             if (!ww)
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  221                                     
i915_gem_object_unlock(obj);
1233e2db199dea0 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2016-10-28  222                     }
0bd6cb6b58f7332 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-18  223  
4e773c3a8a693e5 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-13  224                     scanned += obj->base.size >> PAGE_SHIFT;
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  225  skip:
0bd6cb6b58f7332 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-18  226                     i915_gem_object_put(obj);
f2123818ffad033 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-10-16  227  
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  228                     spin_lock_irqsave(&i915->mm.obj_lock, 
flags);
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  229                     if (err)
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  230                             break;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  231             }
535972771d8c99d drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2016-11-01  232             list_splice_tail(&still_in_list, phase->list);
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  233             spin_unlock_irqrestore(&i915->mm.obj_lock, 
flags);
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10 @234             if (err)
fb6922ca33087a7 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Maarten Lankhorst  
    2020-07-10  235                     return err;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  236     }
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  237  
a8cff4c8283af35 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Chris Wilson       
    2019-06-10  238     if (shrink & I915_SHRINK_BOUND)
d858d5695f3897d drivers/gpu/drm/i915/gem/i915_gem_shrinker.c Daniele Ceraolo 
Spurio 2019-06-13  239             intel_runtime_pm_put(&i915->runtime_pm, 
wakeref);
178a30c90ac74e6 drivers/gpu/drm/i915/i915_gem_shrinker.c     Praveen Paneri     
    2016-05-02  240  
912d572d63b8cd1 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-09-06  241     if (nr_scanned)
912d572d63b8cd1 drivers/gpu/drm/i915/i915_gem_shrinker.c     Chris Wilson       
    2017-09-06  242             *nr_scanned += scanned;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  243     return count;
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  244  }
be6a03769504753 drivers/gpu/drm/i915/i915_gem_shrinker.c     Daniel Vetter      
    2015-03-18  245  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to