Re: drm/i915/intel_drv.h - RPM wakelock ref not held during HW access

From: Daniel Vetter
Date: Wed Jan 06 2016 - 02:23:56 EST


On Tue, Jan 05, 2016 at 04:03:38PM +0100, Andrea Gelmini wrote:
> Hi everybody,
> on my laptop I'm using 4.4.0-rc8 + drm-intel-nightly from git://anongit.freedesktop.org/drm-intel
> (commit 0417da5e6f56078d87d366d5f959f8290ae9d16d).
>
> Found this after few hours (dunno if it's a false positive, something to ignore or not):

It's a real bug, but runtime pm is disabled by default and the patch to
tune down the noise (for 4.5) is already in flight. Our plan is to address
all the uncovered bugs for real in 4.6.

Thanks for the report anyway.
-Daniel

>
> [Tue Jan 5 15:15:44 2016] ------------[ cut here ]------------
> [Tue Jan 5 15:15:44 2016] WARNING: CPU: 2 PID: 38 at drivers/gpu/drm/i915/intel_drv.h:1457 gen6_ggtt_clear_range+0x2fb/0x460 [i915]()
> [Tue Jan 5 15:15:44 2016] RPM wakelock ref not held during HW access
> [Tue Jan 5 15:15:44 2016] Modules linked in:
> [Tue Jan 5 15:15:44 2016] xt_conntrack ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype iptable_filter ip_tables x_tables nf_nat nf_conntrack br_netfilter bridge stp llc dm_thin_pool dm_persistent_data dm_bio_prison dm_bufio loop binfmt_misc snd_hrtimer snd_hda_codec_hdmi uvcvideo intel_rapl iosf_mbi videobuf2_vmalloc videobuf2_memops x86_pkg_temp_thermal intel_powerclamp videobuf2_v4l2 videobuf2_core coretemp v4l2_common arc4 videodev cdc_mbim iwldvm cdc_ncm media usbnet mac80211 mii cdc_wdm input_leds cdc_acm joydev snd_hda_codec_realtek snd_hda_codec_generic serio_raw snd_hda_intel iwlwifi snd_hda_codec thinkpad_acpi sg snd_hda_core nvram cfg80211 snd_seq_midi snd_hwdep snd_seq_midi_event lpc_ich snd_pcm snd_rawmidi snd_seq snd_seq_device snd_timer
> [Tue Jan 5 15:15:44 2016] snd soundcore tpm_tis tpm kvm_intel kvm irqbypass sunrpc autofs4 algif_skcipher af_alg sr_mod sd_mod cdrom i915 crct10dif_pclmul crc32_pclmul i2c_algo_bit drm_kms_helper syscopyarea sysfillrect jitterentropy_rng sysimgblt drbg fb_sys_fops ansi_cprng drm aesni_intel sdhci_pci aes_x86_64 e1000e lrw sdhci gf128mul glue_helper ablk_helper psmouse ahci intel_gtt cryptd mmc_core ptp libahci agpgart pps_core i2c_core wmi fjes video
> [Tue Jan 5 15:15:44 2016] CPU: 2 PID: 38 Comm: kswapd0 Not tainted 4.4.0-rc8-KASan-01354-g3041cce #6
> [Tue Jan 5 15:15:44 2016] Hardware name: LENOVO 2356LRG/2356LRG, BIOS G7ETA4WW (2.64 ) 10/08/2015
> [Tue Jan 5 15:15:44 2016] ffffffffc08a7320 ffff88035f9e7558 ffffffff86a2adea ffff88035f9e75c8
> [Tue Jan 5 15:15:44 2016] ffff88035f9e7598 ffffffff8610bccc ffffffffc06a9b2b ffffed006bf3ceb5
> [Tue Jan 5 15:15:44 2016] ffffc900011f9084 ffff88035e6b0000 ffff88035e6b9cd8 0000000000000002
> [Tue Jan 5 15:15:44 2016] Call Trace:
> [Tue Jan 5 15:15:44 2016] [<ffffffff86a2adea>] dump_stack+0x4e/0x84
> [Tue Jan 5 15:15:44 2016] [<ffffffff8610bccc>] warn_slowpath_common+0xbc/0x120
> [Tue Jan 5 15:15:44 2016] [<ffffffffc06a9b2b>] ? gen6_ggtt_clear_range+0x2fb/0x460 [i915]
> [Tue Jan 5 15:15:44 2016] [<ffffffff8610bdbf>] warn_slowpath_fmt+0x8f/0xb0
> [Tue Jan 5 15:15:44 2016] [<ffffffff8610bd30>] ? warn_slowpath_common+0x120/0x120
> [Tue Jan 5 15:15:44 2016] [<ffffffff8642821c>] ? kfree+0x19c/0x1b0
> [Tue Jan 5 15:15:44 2016] [<ffffffffc06a9b2b>] gen6_ggtt_clear_range+0x2fb/0x460 [i915]
> [Tue Jan 5 15:15:44 2016] [<ffffffffc06a410a>] ggtt_unbind_vma+0x24a/0x2e0 [i915]
> [Tue Jan 5 15:15:44 2016] [<ffffffffc06a1de2>] ? i915_gem_object_put_fence+0x62/0x270 [i915]
> [Tue Jan 5 15:15:44 2016] [<ffffffffc06ca49b>] __i915_vma_unbind+0x1fb/0x980 [i915]
> [Tue Jan 5 15:15:44 2016] [<ffffffffc06cac2e>] i915_vma_unbind+0xe/0x10 [i915]
> [Tue Jan 5 15:15:44 2016] [<ffffffffc06d7bce>] i915_gem_shrink+0x3ae/0x790 [i915]
> [Tue Jan 5 15:15:44 2016] [<ffffffffc06d7820>] ? i915_gem_shrinker_count+0x6c0/0x6c0 [i915]
> [Tue Jan 5 15:15:44 2016] [<ffffffff86aa2e43>] ? __this_cpu_preempt_check+0x13/0x20
> [Tue Jan 5 15:15:44 2016] [<ffffffff861ddbac>] ? trace_hardirqs_on_caller+0x28c/0x5e0
> [Tue Jan 5 15:15:44 2016] [<ffffffffc06d811a>] i915_gem_shrinker_scan+0x16a/0x1c0 [i915]
> [Tue Jan 5 15:15:44 2016] [<ffffffffc06d7fb0>] ? i915_gem_shrink+0x790/0x790 [i915]
> [Tue Jan 5 15:15:44 2016] [<ffffffff863b5001>] ? __list_lru_count_one.isra.0+0xd1/0x140
> [Tue Jan 5 15:15:44 2016] [<ffffffff86471352>] ? super_cache_count+0x142/0x260
> [Tue Jan 5 15:15:44 2016] [<ffffffff87585d4c>] ? _raw_spin_unlock+0x2c/0x50
> [Tue Jan 5 15:15:44 2016] [<ffffffff86380522>] shrink_slab.part.7+0x2f2/0x530
> [Tue Jan 5 15:15:44 2016] [<ffffffff86380230>] ? inactive_anon_is_low+0x1e0/0x1e0
> [Tue Jan 5 15:15:44 2016] [<ffffffff86388610>] shrink_zone+0x7a0/0xae0
> [Tue Jan 5 15:15:44 2016] [<ffffffff87585e58>] ? _raw_spin_unlock_irq+0x38/0x50
> [Tue Jan 5 15:15:44 2016] [<ffffffff86387e70>] ? shrink_lruvec+0xf20/0xf20
> [Tue Jan 5 15:15:44 2016] [<ffffffff8635ea51>] ? zone_watermark_ok_safe+0x1c1/0x280
> [Tue Jan 5 15:15:44 2016] [<ffffffff8638a85d>] kswapd+0x9ad/0x1110
> [Tue Jan 5 15:15:44 2016] [<ffffffff86389eb0>] ? mem_cgroup_shrink_node_zone+0x290/0x290
> [Tue Jan 5 15:15:44 2016] [<ffffffff86aa2e43>] ? __this_cpu_preempt_check+0x13/0x20
> [Tue Jan 5 15:15:44 2016] [<ffffffff87585e58>] ? _raw_spin_unlock_irq+0x38/0x50
> [Tue Jan 5 15:15:44 2016] [<ffffffff861c9390>] ? wake_atomic_t_function+0x270/0x270
> [Tue Jan 5 15:15:44 2016] [<ffffffff86389eb0>] ? mem_cgroup_shrink_node_zone+0x290/0x290
> [Tue Jan 5 15:15:44 2016] [<ffffffff8615f3b8>] kthread+0x218/0x2e0
> [Tue Jan 5 15:15:44 2016] [<ffffffff8615f1a0>] ? kthread_create_on_node+0x460/0x460
> [Tue Jan 5 15:15:44 2016] [<ffffffff8615f1a0>] ? kthread_create_on_node+0x460/0x460
> [Tue Jan 5 15:15:44 2016] [<ffffffff87586c2f>] ret_from_fork+0x3f/0x70
> [Tue Jan 5 15:15:44 2016] [<ffffffff8615f1a0>] ? kthread_create_on_node+0x460/0x460
> [Tue Jan 5 15:15:44 2016] ---[ end trace 074b4bd8168aac27 ]---
>
> In attachment all the hardware details. Also you can find compiled kernel here:
> http://mail.gelma.net/i915
>
> Thanks a lot for your work,
> Andrea








> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/