Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753726AbbDNIR2 (ORCPT ); Tue, 14 Apr 2015 04:17:28 -0400 Received: from sonata.ens-lyon.org ([140.77.166.138]:59085 "EHLO sonata.ens-lyon.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753494AbbDNIRF (ORCPT ); Tue, 14 Apr 2015 04:17:05 -0400 Date: Tue, 14 Apr 2015 10:00:10 +0200 From: Samuel Thibault To: daniel.vetter@intel.com, jani.nikula@linux.intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [i915] assert_device_not_suspended Message-ID: <20150414080010.GA3650@type.youpi.perso.aquilenet.fr> Mail-Followup-To: Samuel Thibault , daniel.vetter@intel.com, jani.nikula@linux.intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="oyUTqETQ0mS9luUI" Content-Disposition: inline User-Agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 6049 Lines: 135 --oyUTqETQ0mS9luUI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello, Yesterday, as usual I ran xlock before the night. In the morning, I typed a key to wake it up, it didn't. I had to reboot. I could however read in the logs: Apr 14 05:00:13 type kernel: [33976.116204] WARNING: CPU: 2 PID: 63 at driv= ers/gpu/drm/i915/intel_uncore.c:69 assert_device_not_suspended+0x45/0x4e [i= 915]() Apr 14 05:00:13 type kernel: [33976.116206] Device suspended Apr 14 05:00:13 type kernel: [33976.116206] Modules linked in: tun xt_REDIR= ECT nf_nat_redirect xt_tcpudp ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable= _nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip_ta= bles x_tables binfmt_misc nfsd cpufreq_powersave auth_rpcgss cpufreq_stats = oid_registry nfs_acl cpufreq_userspace lockd cpufreq_conservative bbswitch(= O) grace sunrpc joydev hid_generic usbhid hid cdc_mbim cdc_ncm usbnet mii c= dc_acm cdc_wdm arc4 brcmsmac cordic brcmutil b43 nls_utf8 nls_cp437 mac8021= 1 vfat fat cfg80211 x86_pkg_temp_thermal i915 kvm_intel kvm snd_hda_codec_h= dmi ssb rng_core pcmcia pcmcia_core crct10dif_pclmul crc32_pclmul ghash_clm= ulni_intel aesni_intel aes_x86_64 dell_wmi lrw sparse_keymap gf128mul drm_k= ms_helper dell_laptop glue_helper rfkill ablk_helper cryptd drm psmouse dcd= bas evdev serio_raw bcma i2c_i801 acpi_cpufreq tpm_tis wmi i2c_algo_bit tpm= i2c_core 8250_fintek video ac battery processor button snd_hda_codec_idt s= nd_hda_codec_generic ledtrig_timer ledtrig_oneshot ledtrig_heartbeat ledtri= g_default_on snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_p= cm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore coretemp ohci_hcd ledt= rig_backlight pcspkr i8k firewire_sbp2 firewire_core crc_itu_t loop fuse pa= rport_pc ppdev lp parport autofs4 microcode crc32c_intel ehci_pci ehci_hcd = sdhci_pci sr_mod sdhci cdrom sg mmc_core usbcore e1000e ptp usb_common pps_= core thermal thermal_sys Apr 14 05:00:13 type kernel: [33976.116266] CPU: 2 PID: 63 Comm: kswapd0 Ta= inted: G O 4.0.0 #87 Apr 14 05:00:13 type kernel: [33976.116267] Hardware name: Dell Inc. Latitu= de E6420/ , BIOS A14 07/11/2012 Apr 14 05:00:13 type kernel: [33976.116268] 0000000000000000 0000000000000= 009 ffffffff8144544b ffff8800b1313a88 Apr 14 05:00:13 type kernel: [33976.116270] ffffffff8104a9bc 0000000000000= 002 ffffffffa0848b37 ffffea00026dffa0 Apr 14 05:00:13 type kernel: [33976.116272] ffff8801388b0000 0000000000100= 028 ffff8801388b0068 000000000010002c Apr 14 05:00:13 type kernel: [33976.116274] Call Trace: Apr 14 05:00:13 type kernel: [33976.116280] [] ? dump_st= ack+0x40/0x50 Apr 14 05:00:13 type kernel: [33976.116284] [] ? warn_sl= owpath_common+0x98/0xb0 Apr 14 05:00:13 type kernel: [33976.116295] [] ? assert_= device_not_suspended+0x45/0x4e [i915] Apr 14 05:00:13 type kernel: [33976.116297] [] ? warn_sl= owpath_fmt+0x45/0x4a Apr 14 05:00:13 type kernel: [33976.116308] [] ? assert_= device_not_suspended+0x45/0x4e [i915] Apr 14 05:00:13 type kernel: [33976.116317] [] ? gen6_wr= ite32+0x32/0x83 [i915] Apr 14 05:00:13 type kernel: [33976.116328] [] ? i915_ge= m_write_fence+0x270/0x46d [i915] Apr 14 05:00:13 type kernel: [33976.116337] [] ? i915_ge= m_object_update_fence+0x40/0xa6 [i915] Apr 14 05:00:13 type kernel: [33976.116346] [] ? i915_ge= m_object_put_fence+0xa2/0xac [i915] Apr 14 05:00:13 type kernel: [33976.116355] [] ? i915_vm= a_unbind+0xa4/0x1a6 [i915] Apr 14 05:00:13 type kernel: [33976.116364] [] ? i915_ge= m_shrink+0x11e/0x178 [i915] Apr 14 05:00:13 type kernel: [33976.116373] [] ? i915_ge= m_shrinker_scan+0x60/0x82 [i915] Apr 14 05:00:13 type kernel: [33976.116376] [] ? shrink_= slab.part.53.constprop.71+0x1a6/0x2ac Apr 14 05:00:13 type kernel: [33976.116379] [] ? shrink_= zone+0x6b/0x131 Apr 14 05:00:13 type kernel: [33976.116381] [] ? kswapd+= 0x57a/0x740 Apr 14 05:00:13 type kernel: [33976.116383] [] ? zone_re= claim+0x1cb/0x1cb Apr 14 05:00:13 type kernel: [33976.116386] [] ? kthread= +0xab/0xb3 Apr 14 05:00:13 type kernel: [33976.116388] [] ? __kthre= ad_parkme+0x5d/0x5d Apr 14 05:00:13 type kernel: [33976.116389] [] ? ret_fro= m_fork+0x58/0x90 Apr 14 05:00:13 type kernel: [33976.116391] [] ? __kthre= ad_parkme+0x5d/0x5d Apr 14 05:00:13 type kernel: [33976.116392] ---[ end trace de34697426b2c759= ]--- So it seems it's the reclaiming that triggered an i915 operation while the graphic card was suspended. It's probably worth mentioning that I use on my i915 card: echo auto > /sys/bus/pci/devices/0000:00:02.0/power/control In the following days, I'll be trying the attached patch. Samuel --oyUTqETQ0mS9luUI Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -5258,6 +5258,11 @@ i915_gem_shrinker_scan(struct shrinker * if (!i915_gem_shrinker_lock(dev, &unlock)) return SHRINK_STOP; + if (HAS_RUNTIME_PM(dev_priv->dev) && dev_priv->pm.suspended) + { + freed = SHRINK_STOP; + goto out; + } freed = i915_gem_shrink(dev_priv, sc->nr_to_scan, I915_SHRINK_BOUND | @@ -5268,6 +5273,8 @@ i915_gem_shrinker_scan(struct shrinker * sc->nr_to_scan - freed, I915_SHRINK_BOUND | I915_SHRINK_UNBOUND); + +out: if (unlock) mutex_unlock(&dev->struct_mutex); --oyUTqETQ0mS9luUI-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/