diff mbox series

sound/hda/hdac_i915: reduce the timeout for component binding

Message ID 20220222170413.5579-1-ramalingam.c@intel.com (mailing list archive)
State New, archived
Headers show
Series sound/hda/hdac_i915: reduce the timeout for component binding | expand

Commit Message

Ramalingam C Feb. 22, 2022, 5:04 p.m. UTC
To avoid the kernel taint for kworker being blocked for more than 30sec
lets reduce the wait to 30Sec.

<3>[   60.946316] INFO: task kworker/11:1:104 blocked for more than 30
seconds.
<3>[   60.946479]       Tainted: G        W
5.17.0-rc5-CI-CI_DRM_11265+ #1
<3>[   60.946580] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
<6>[   60.946688] task:kworker/11:1    state:D stack:14192 pid:  104
ppid:     2 flags:0x00004000
<6>[   60.946713] Workqueue: events azx_probe_work [snd_hda_intel]
<6>[   60.946740] Call Trace:
<6>[   60.946745]  <TASK>
<6>[   60.946763]  __schedule+0x42c/0xa80
<6>[   60.946797]  schedule+0x3f/0xc0
<6>[   60.946811]  schedule_timeout+0x1be/0x2e0
<6>[   60.946829]  ? del_timer_sync+0xb0/0xb0
<6>[   60.946849]  ? 0xffffffff81000000
<6>[   60.946864]  ? wait_for_completion_timeout+0x79/0x120
<6>[   60.946879]  wait_for_completion_timeout+0xab/0x120
<6>[   60.946906]  snd_hdac_i915_init+0xa5/0xb0 [snd_hda_core]
<6>[   60.946943]  azx_probe_work+0x71/0x84c [snd_hda_intel]
<6>[   60.946974]  process_one_work+0x275/0x5c0
<6>[   60.947010]  worker_thread+0x37/0x370
<6>[   60.947028]  ? process_one_work+0x5c0/0x5c0
<6>[   60.947038]  kthread+0xef/0x120
<6>[   60.947047]  ? kthread_complete_and_exit+0x20/0x20
<6>[   60.947065]  ret_from_fork+0x22/0x30
<6>[   60.947110]  </TASK>

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
---
 sound/hda/hdac_i915.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lucas De Marchi Feb. 22, 2022, 5:11 p.m. UTC | #1
On Tue, Feb 22, 2022 at 10:34:13PM +0530, Ramalingam C wrote:
>To avoid the kernel taint for kworker being blocked for more than 30sec
>lets reduce the wait to 30Sec.
>
><3>[   60.946316] INFO: task kworker/11:1:104 blocked for more than 30
>seconds.
><3>[   60.946479]       Tainted: G        W
>5.17.0-rc5-CI-CI_DRM_11265+ #1
><3>[   60.946580] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
>disables this message.
><6>[   60.946688] task:kworker/11:1    state:D stack:14192 pid:  104
>ppid:     2 flags:0x00004000
><6>[   60.946713] Workqueue: events azx_probe_work [snd_hda_intel]
><6>[   60.946740] Call Trace:
><6>[   60.946745]  <TASK>
><6>[   60.946763]  __schedule+0x42c/0xa80
><6>[   60.946797]  schedule+0x3f/0xc0
><6>[   60.946811]  schedule_timeout+0x1be/0x2e0
><6>[   60.946829]  ? del_timer_sync+0xb0/0xb0
><6>[   60.946849]  ? 0xffffffff81000000
><6>[   60.946864]  ? wait_for_completion_timeout+0x79/0x120
><6>[   60.946879]  wait_for_completion_timeout+0xab/0x120
><6>[   60.946906]  snd_hdac_i915_init+0xa5/0xb0 [snd_hda_core]
><6>[   60.946943]  azx_probe_work+0x71/0x84c [snd_hda_intel]
><6>[   60.946974]  process_one_work+0x275/0x5c0
><6>[   60.947010]  worker_thread+0x37/0x370
><6>[   60.947028]  ? process_one_work+0x5c0/0x5c0
><6>[   60.947038]  kthread+0xef/0x120
><6>[   60.947047]  ? kthread_complete_and_exit+0x20/0x20
><6>[   60.947065]  ret_from_fork+0x22/0x30
><6>[   60.947110]  </TASK>
>
>Signed-off-by: Ramalingam C <ramalingam.c@intel.com>

to clarify: this should be in topic/core-for-CI branch. The longer term
fix is more elaborate on the sound/  side. For now, this is ok to use
with Intel CI.  Our main issue is that when we have both integrated and
discreate, but integrated is disabled in the bios, i915 will never bind
to the integrated and the sound driver will wait until timeout.  If the
timeout is greater than the hung_task_timeout, we get the warning above
and taint CI execution on BAT.

With the amended explanation above in the commit message:


Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

Lucas De Marchi
diff mbox series

Patch

diff --git a/sound/hda/hdac_i915.c b/sound/hda/hdac_i915.c
index fbca4bf53a47..d20a450a9a15 100644
--- a/sound/hda/hdac_i915.c
+++ b/sound/hda/hdac_i915.c
@@ -184,7 +184,7 @@  int snd_hdac_i915_init(struct hdac_bus *bus)
 		    !request_module("i915")) {
 			/* 60s timeout */
 			wait_for_completion_timeout(&acomp->master_bind_complete,
-						    msecs_to_jiffies(60 * 1000));
+						    msecs_to_jiffies(30 * 1000));
 		}
 	}
 	if (!acomp->ops) {