CC: [email protected] CC: Linux Memory Management List <[email protected]> TO: Chris Wilson <[email protected]> CC: Daniele Ceraolo Spurio <[email protected]> CC: Tvrtko Ursulin <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 59fa6a163ffabc1bf25c5e0e33899e268a96d3cc commit: 70a2b431c36483c0c06e589e11c59e438cd0ac06 [405/6048] drm/i915/gt: Rename lrc.c to execlists_submission.c :::::: branch date: 7 days ago :::::: commit date: 8 weeks ago config: x86_64-randconfig-m001-20210201 (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/gt/intel_execlists_submission.c:1664 assert_pending_valid() error: uninitialized symbol 'flags'. Old smatch warnings: drivers/gpu/drm/i915/gt/intel_execlists_submission.c:1117 __unwind_incomplete_requests() error: uninitialized symbol 'pl'. drivers/gpu/drm/i915/gt/intel_execlists_submission.c:5817 intel_execlists_create_virtual() warn: assigning (-2) to unsigned variable 've->base.instance' drivers/gpu/drm/i915/gt/intel_execlists_submission.c:5818 intel_execlists_create_virtual() warn: assigning (-2) to unsigned variable 've->base.uabi_instance' drivers/gpu/drm/i915/gem/i915_gem_context.h:205 i915_gem_context_get_engine() warn: inconsistent indenting drivers/gpu/drm/i915/gem/i915_gem_context.h:207 i915_gem_context_get_engine() warn: inconsistent indenting drivers/gpu/drm/i915/gt/selftest_execlists.c:2683 create_gang() warn: missing error code 'err' drivers/gpu/drm/i915/gem/i915_gem_object.h:127 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 119) vim +/flags +1664 drivers/gpu/drm/i915/gt/intel_execlists_submission.c f1042cc8537713 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-01-29 1559 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1560 static __maybe_unused bool 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1561 assert_pending_valid(const struct intel_engine_execlists *execlists, 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1562 const char *msg) 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1563 { f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1564 struct intel_engine_cs *engine = f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1565 container_of(execlists, typeof(*engine), execlists); 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1566 struct i915_request * const *port, *rq; 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1567 struct intel_context *ce = NULL; 15db5fcce9c8e8 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-03-02 1568 bool sentinel = false; f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1569 u32 ccid = -1; 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1570 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1571 trace_ports(execlists, msg, execlists->pending); 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1572 f1042cc8537713 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-01-29 1573 /* We may be messing around with the lists during reset, lalala */ f1042cc8537713 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-01-29 1574 if (reset_in_progress(execlists)) f1042cc8537713 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-01-29 1575 return true; f1042cc8537713 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-01-29 1576 c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1577 if (!execlists->pending[0]) { f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1578 GEM_TRACE_ERR("%s: Nothing pending for promotion!\n", f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1579 engine->name); df403069029dc6 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-08-16 1580 return false; c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1581 } df403069029dc6 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-08-16 1582 c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1583 if (execlists->pending[execlists_num_ports(execlists)]) { f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1584 GEM_TRACE_ERR("%s: Excess pending[%d] for promotion!\n", f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1585 engine->name, execlists_num_ports(execlists)); 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1586 return false; c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1587 } 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1588 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1589 for (port = execlists->pending; (rq = *port); port++) { c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1590 unsigned long flags; c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1591 bool ok = true; c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1592 80aac91b27e130 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-12-03 1593 GEM_BUG_ON(!kref_read(&rq->fence.refcount)); 80aac91b27e130 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-12-03 1594 GEM_BUG_ON(!i915_request_is_active(rq)); 80aac91b27e130 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-12-03 1595 9f3ccd40acf4a3 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-12-20 1596 if (ce == rq->context) { f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1597 GEM_TRACE_ERR("%s: Dup context:%llx in pending[%zd]\n", f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1598 engine->name, 38098750719cb5 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-01 1599 ce->timeline->fence_context, c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1600 port - execlists->pending); 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1601 return false; c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1602 } 9f3ccd40acf4a3 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-12-20 1603 ce = rq->context; c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1604 f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1605 if (ccid == ce->lrc.ccid) { f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1606 GEM_TRACE_ERR("%s: Dup ccid:%x context:%llx in pending[%zd]\n", f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1607 engine->name, f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1608 ccid, ce->timeline->fence_context, f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1609 port - execlists->pending); f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1610 return false; f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1611 } f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1612 ccid = ce->lrc.ccid; f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1613 15db5fcce9c8e8 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-03-02 1614 /* 8733a06323d40e drivers/gpu/drm/i915/gt/intel_lrc.c Tvrtko Ursulin 2020-06-07 1615 * Sentinels are supposed to be the last request so they flush 8733a06323d40e drivers/gpu/drm/i915/gt/intel_lrc.c Tvrtko Ursulin 2020-06-07 1616 * the current execution off the HW. Check that they are the only 8733a06323d40e drivers/gpu/drm/i915/gt/intel_lrc.c Tvrtko Ursulin 2020-06-07 1617 * request in the pending submission. 15db5fcce9c8e8 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-03-02 1618 */ 15db5fcce9c8e8 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-03-02 1619 if (sentinel) { f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1620 GEM_TRACE_ERR("%s: context:%llx after sentinel in pending[%zd]\n", f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1621 engine->name, 15db5fcce9c8e8 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-03-02 1622 ce->timeline->fence_context, 15db5fcce9c8e8 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-03-02 1623 port - execlists->pending); 15db5fcce9c8e8 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-03-02 1624 return false; 15db5fcce9c8e8 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-03-02 1625 } 15db5fcce9c8e8 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-03-02 1626 sentinel = i915_request_has_sentinel(rq); 15db5fcce9c8e8 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-03-02 1627 c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1628 /* Hold tightly onto the lock to prevent concurrent retires! */ 49e74c8f9ae635 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-12-03 1629 if (!spin_trylock_irqsave(&rq->lock, flags)) 49e74c8f9ae635 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-12-03 1630 continue; c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1631 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1632 if (i915_request_completed(rq)) c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1633 goto unlock; 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1634 e6ba76480299a0 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-12-21 1635 if (i915_active_is_idle(&ce->active) && e6ba76480299a0 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-12-21 1636 !intel_context_is_barrier(ce)) { f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1637 GEM_TRACE_ERR("%s: Inactive context:%llx in pending[%zd]\n", f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1638 engine->name, 38098750719cb5 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-01 1639 ce->timeline->fence_context, c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1640 port - execlists->pending); c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1641 ok = false; c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1642 goto unlock; c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1643 } c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1644 c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1645 if (!i915_vma_is_pinned(ce->state)) { f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1646 GEM_TRACE_ERR("%s: Unpinned context:%llx in pending[%zd]\n", f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1647 engine->name, 38098750719cb5 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-01 1648 ce->timeline->fence_context, c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1649 port - execlists->pending); c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1650 ok = false; c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1651 goto unlock; c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1652 } 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1653 c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1654 if (!i915_vma_is_pinned(ce->ring->vma)) { f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1655 GEM_TRACE_ERR("%s: Unpinned ring:%llx in pending[%zd]\n", f6a7c21c991062 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2020-04-28 1656 engine->name, 38098750719cb5 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-01 1657 ce->timeline->fence_context, c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1658 port - execlists->pending); c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1659 ok = false; c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1660 goto unlock; 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1661 } c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1662 c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1663 unlock: c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 @1664 spin_unlock_irqrestore(&rq->lock, flags); c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1665 if (!ok) c95d31c3df1b9f drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-11-21 1666 return false; c97fb526ca0666 drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-10-10 1667 } 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1668 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1669 return ce; 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1670 } 22b7a426bbe1eb drivers/gpu/drm/i915/gt/intel_lrc.c Chris Wilson 2019-06-20 1671 :::::: The code at line 1664 was first introduced by commit :::::: c95d31c3df1b9ff29bcd85c47324e16d430bbd5a drm/i915/execlists: Lock the request while validating it during promotion :::::: TO: Chris Wilson <[email protected]> :::::: CC: Chris Wilson <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
