[Bug 104975] Delay in skl_disable_plane() causes a system freeze

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Apr 25 23:51:06 UTC 2018


https://bugs.freedesktop.org/show_bug.cgi?id=104975

--- Comment #69 from Azhar <azhar.shaikh at intel.com> ---
(In reply to Ville Syrjala from comment #68)
> (In reply to Azhar from comment #67)
> > (In reply to Azhar from comment #66)
> > > (In reply to Ville Syrjala from comment #65)
> > > > Hmm. I wonder if we're still barking up the right tree with the DDB angle.
> > > > 
> > > > I pushed the following hack:
> > > > b48dad3fe322 ("hacks: fixed ddb allocation for each plane")
> > > > to git://github.com/vsyrjala/linux.git double_buffer_ctl_ddb_wa_hacks
> > > > 
> > > > Would be nice to know whether that fully eliminates the hang. If it doesn't
> > > > then we would seem to be on the wrong track.
> > > 
> > > The test has been running for more than 5 hours now, with ONLY the top
> > > commit "b48dad3fe322 ("hacks: fixed ddb allocation for each plane")"  on
> > > linux-stable 4.15.18 branch without IPC support on BXT+.
> > > 
> > > I will keep it running overnight.
> > 
> > There was no crash with overnight run for above configuration.
> 
> OK. I guess we're still on the right track then.
> 
> Let's try to make this double buffer thing as simple as possible:
> git://github.com/vsyrjala/linux.git double_buffer_ctl_simple
> 
> That approach is no good when multiple pipes are enabled, but for a single
> pipe case it's about as simple as we can make it.

In the above branch commit("grab double buffer ctl around the entire update")
has a schedule_timeout call within a spinlock which is causing a kernel panic
due to BUG.

[  204.671649] BUG: scheduling while atomic: kworker/u8:1/78/0x00000002
[  204.678769] Modules linked in: rfcomm cmac uinput cfg80211 ip6table_filter
xt_nat bridge stp llc ipt_MASQUERADE nf_nat_masquerade_ipv4 btusb btrtl lzo
btbcm btintel lzo_compress ov13858 bluetooth iptable_nat zram nf_nat_ipv4
nf_nat ov5670 v4l2_fwnode ecdh_generic snd_soc_max98927 dw9714 at24 acpi_als
xt_mark fuse snd_seq_dummy snd_seq snd_seq_device iio_trig_sysfs
cros_ec_light_prox cros_ec_sensors cros_ec_sensors_core
industrialio_triggered_buffer kfifo_buf industrialio r8152 mii joydev
[  204.727322] CPU: 0 PID: 78 Comm: kworker/u8:1 Tainted: G        W       
4.15.18-00010-gc4c90323f9ec #49
[  204.746677] Workqueue: events_unbound intel_atomic_commit_work
[  204.753196] Call Trace:
[  204.755943]  dump_stack+0x4d/0x63
[  204.759650]  __schedule_bug+0x5d/0x6b
[  204.763740]  __schedule+0x83/0x7b2
[  204.767542]  ? __switch_to_asm+0x40/0x70
[  204.771920]  ? __switch_to_asm+0x34/0x70
[  204.776297]  ? __switch_to_asm+0x34/0x70
[  204.780665]  ? __switch_to_asm+0x40/0x70
[  204.785055]  schedule+0x75/0x86
[  204.788566]  schedule_timeout+0x2de/0x34b
[  204.793053]  ? collect_expired_timers+0x10b/0x10b
[  204.798312]  intel_pipe_update_start+0x1ea/0x2e2
[  204.803473]  ? add_wait_queue+0x48/0x48
[  204.807761]  intel_begin_crtc_commit+0x6b/0x20d
[  204.812836]  drm_atomic_helper_commit_planes_on_crtc+0x4e/0x14f
[  204.819462]  skl_update_crtcs+0x172/0x1b7
[  204.823944]  intel_atomic_commit_tail+0x6dd/0x1d15
[  204.829299]  ? _raw_spin_unlock_irq+0xe/0x21
[  204.834085]  ? __schedule+0x583/0x7b2
[  204.838180]  worker_thread+0x42e/0x5da
[  204.842362]  ? queue_work_on+0x24/0x24
[  204.846552]  kthread+0x1e6/0x1ee
[  204.850153]  ? queue_work_on+0x24/0x24
[  204.854336]  ? kthread_create_worker+0x72/0x72
[  204.859297]  ret_from_fork+0x35/0x40
[  204.863441] BUG: sleeping function called from invalid context at
/mnt/host/source/src/third_party/kernel/v4.4/kernel/sched/completion.c:102
[  204.877553] in_atomic(): 1, irqs_disabled(): 0, pid: 78, name: kworker/u8:1
[  204.885348] CPU: 1 PID: 78 Comm: kworker/u8:1 Tainted: G        W       
4.15.18-00010-gc4c90323f9ec #49
[  204.904727] Workqueue: events_unbound intel_atomic_commit_work
[  204.911252] Call Trace:
[  204.913990]  dump_stack+0x4d/0x63
[  204.917696]  ___might_sleep+0x126/0x135
[  204.921975]  wait_for_common+0x32/0x69
[  204.926158]  drm_atomic_helper_wait_for_flip_done+0x50/0x7e
[  204.932391]  intel_atomic_commit_tail+0x6ea/0x1d15
[  204.937745]  ? _raw_spin_unlock_irq+0xe/0x21
[  204.942513]  ? __schedule+0x583/0x7b2
[  204.946610]  worker_thread+0x42e/0x5da
[  204.950793]  ? queue_work_on+0x24/0x24
[  204.954976]  kthread+0x1e6/0x1ee
[  204.958578]  ? queue_work_on+0x24/0x24
[  204.962764]  ? kthread_create_worker+0x72/0x72
[  204.967725]  ret_from_fork+0x35/0x40
[  204.971759] BUG: workqueue leaked lock or atomic: kworker/u8:1/0x7fffffff/78
[  204.971759]      last function: intel_atomic_commit_work
[  204.971775] BUG: scheduling while atomic: kworker/u8:3/713/0x00000002

For now I just commented and ran the test with the same patch and it still
crashed.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20180425/4b261fd4/attachment.html>


More information about the intel-gfx-bugs mailing list