<div dir="ltr"><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">Hi all,</p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">Sometimes, sdma produces a large number of interrupts without a stop, and Linux kernel might freeze. This situation</p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">happens in kernel with PREEMPT_RT in some specific configuration for islocpu. Currently, the kernel in my test is </p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">Linux 4.1.15-rt17 and the kernel command line is</p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">   <span style="color:rgb(0,0,0);font-family:Consolas,"Courier New",Courier,mono,serif;font-size:12px;line-height:16px">console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw nohz_full=3 isolcpus=1,2 nohz=on</span></p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px"><br></p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">After booting, the kernel will freeze and the last messages are:</p><p style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word"><span style="font-style:inherit;font-weight:inherit;font-family:inherit;font-size:15px;line-height:26px;background-color:inherit"><font color="#51626f">  </font></span><span style="color:black;font-size:9pt;line-height:12pt;font-style:inherit;font-weight:inherit;font-family:inherit;background-color:inherit">imx-weim 21b8000.weim: Driver registered.  </span></p><p style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word"><span style="color:black;font-size:9pt;font-style:inherit;font-weight:inherit;font-family:inherit;line-height:12pt;background-color:inherit">  imx-sdma 20ec000.sdma: failed to get firmware from device tree  </span></p><p style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word"><span style="color:black;font-size:9pt;font-style:inherit;font-weight:inherit;font-family:inherit;line-height:12pt;background-color:inherit">  imx-sdma 20ec000.sdma: initialized  </span></p><p style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word"><span style="color:black;font-size:9pt;font-style:inherit;font-weight:inherit;font-family:inherit;line-height:12pt;background-color:inherit">  2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 24, base_baud =  </span></p><p style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word"><span style="color:black;font-size:9pt;font-style:inherit;font-weight:inherit;font-family:inherit;line-height:12pt;background-color:inherit">  5000000) is a IMX  </span></p><p style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word"><span style="color:black;font-size:9pt;font-style:inherit;font-weight:inherit;font-family:inherit;line-height:12pt;background-color:inherit">  console [ttymxc0] enabled  </span></p><p style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word"><span style="color:black;font-size:9pt;font-style:inherit;font-weight:inherit;font-family:inherit;line-height:12pt;background-color:inherit">  random: nonblocking pool is initialized  </span></p><p style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word"><span style="color:black;font-size:9pt;font-style:inherit;font-weight:inherit;font-family:inherit;line-height:12pt;background-color:inherit"><br></span></p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">The last line give me a hint and I find <span style="margin:0px;padding:0px;border:0px;font-weight:700;font-style:inherit;font-family:inherit;vertical-align:baseline">add_interrupt_randomness() </span>from irq_thread is called continuously</p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">Then I insert a printk in irq_thread(void *data) to identify the interrupt source for this issue.</p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">It shows 281, which is the interrupt number of sdma, and never stops.</p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">In my root fs, the firmware for sdma does not exist and the number of sdma interrupt is only two in ordinary booting.</p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px"><br></p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">Is there any suggestion to investigate this issue?</p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">Thanks a lot.<br></p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px"><br></p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">Best Regards,</p><p style="margin:0px;padding:0px;border:0px;font-size:15px;font-family:arial,helvetica,"helvetica neue",verdana,sans-serif;vertical-align:baseline;word-wrap:break-word;color:rgb(81,98,111);line-height:26px">George Kang</p><div><br></div><div><br></div><div><br></div></div>