[Intel-gfx] [PATCH] drm/i915: Prevent machine hang from Broxton's vtd w/a and error capture
kbuild test robot
lkp at intel.com
Thu Oct 11 22:03:22 UTC 2018
Hi Chris,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.19-rc7 next-20181011]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-Prevent-machine-hang-from-Broxton-s-vtd-w-a-and-error-capture/20181012-053134
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x019-201840 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
drivers/gpu/drm/i915/i915_gpu_error.c: In function 'i915_capture_error_state':
>> drivers/gpu/drm/i915/i915_gpu_error.c:1827:28: error: 'dev_priv' undeclared (first use in this function); did you mean 'dev_crit'?
i915_disable_error_state(dev_priv, -ENOMEM);
^~~~~~~~
dev_crit
drivers/gpu/drm/i915/i915_gpu_error.c:1827:28: note: each undeclared identifier is reported only once for each function it appears in
vim +1827 drivers/gpu/drm/i915/i915_gpu_error.c
1798
1799 /**
1800 * i915_capture_error_state - capture an error record for later analysis
1801 * @i915: i915 device
1802 * @engine_mask: the mask of engines triggering the hang
1803 * @error_msg: a message to insert into the error capture header
1804 *
1805 * Should be called when an error is detected (either a hang or an error
1806 * interrupt) to capture error state from the time of the error. Fills
1807 * out a structure which becomes available in debugfs for user level tools
1808 * to pick up.
1809 */
1810 void i915_capture_error_state(struct drm_i915_private *i915,
1811 u32 engine_mask,
1812 const char *error_msg)
1813 {
1814 static bool warned;
1815 struct i915_gpu_state *error;
1816 unsigned long flags;
1817
1818 if (!i915_modparams.error_capture)
1819 return;
1820
1821 if (READ_ONCE(i915->gpu_error.first_error))
1822 return;
1823
1824 error = i915_capture_gpu_state(i915);
1825 if (!error) {
1826 DRM_DEBUG_DRIVER("out of memory, not capturing error state\n");
> 1827 i915_disable_error_state(dev_priv, -ENOMEM);
1828 return;
1829 }
1830
1831 i915_error_capture_msg(i915, error, engine_mask, error_msg);
1832 DRM_INFO("%s\n", error->error_msg);
1833
1834 if (!error->simulated) {
1835 spin_lock_irqsave(&i915->gpu_error.lock, flags);
1836 if (!i915->gpu_error.first_error) {
1837 i915->gpu_error.first_error = error;
1838 error = NULL;
1839 }
1840 spin_unlock_irqrestore(&i915->gpu_error.lock, flags);
1841 }
1842
1843 if (error) {
1844 __i915_gpu_state_free(&error->ref);
1845 return;
1846 }
1847
1848 if (!warned &&
1849 ktime_get_real_seconds() - DRIVER_TIMESTAMP < DAY_AS_SECONDS(180)) {
1850 DRM_INFO("GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace.\n");
1851 DRM_INFO("Please file a _new_ bug report on bugs.freedesktop.org against DRI -> DRM/Intel\n");
1852 DRM_INFO("drm/i915 developers can then reassign to the right component if it's not a kernel issue.\n");
1853 DRM_INFO("The gpu crash dump is required to analyze gpu hangs, so please always attach it.\n");
1854 DRM_INFO("GPU crash dump saved to /sys/class/drm/card%d/error\n",
1855 i915->drm.primary->index);
1856 warned = true;
1857 }
1858 }
1859
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 30015 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20181012/f8da2d8f/attachment-0001.gz>
More information about the Intel-gfx
mailing list