Hi, Thank you for your help and patience.
Jul 3 10:23:31 yx kernel: [ 1176.166204] CPU: 0 PID: 1837 Comm: rt_cansend Tainted: G OE 4.19.84-solve-alc-failure #1 Jul 3 10:23:31 yx kernel: [ 1176.166209] I-pipe domain: Linux Jul 3 10:23:31 yx kernel: [ 1176.166218] RIP: 0010:queued_spin_lock_slowpath+0xd9/0x1a0 ... Jul 3 10:23:31 yx kernel: [ 1176.166252] Call Trace: Jul 3 10:23:31 yx kernel: [ 1176.166261] _raw_spin_lock+0x20/0x30 Jul 3 10:23:31 yx kernel: [ 1176.166270] can_write+0x6c/0x2c0 [advcan] Jul 3 10:23:31 yx kernel: [ 1176.166292] __vfs_write+0x3a/0x190
One more question, what's the relation between "queued_spin_lock_slowpath" and "_raw_spin_lock"? Best Regards. 孙世龙 sunshilong <sunshilong369@gmail.com> 于2020年7月4日周六 下午5:13写道:
Hi, Valdis Klētnieks
Thank you for taking the time to respond to me. I have a better understanding of this matter.
Can I draw the conclusion that continually acquiring the spinlock causes the soft lockup and the CPU has been stuck for 22s? Can I think in this way?
No. It's been stuck for 22s *TRYING* and *FAILING* to get the spinlock.
I see. So there is a thread that has held the corresponding spinlock for more 22s, and a CPU is sticking(busy acquiring the spinlock) at the same duration. Can I think in this way?
Thank you for your attention to this matter. Best Regards.
Valdis Klētnieks <valdis.kletnieks@vt.edu> 于2020年7月4日周六 下午4:09写道:
孙世龙 sunshilong <sunshilong369@gmail.com> 于2020年7月4日周六 下午5:04写道:
Hi, Valdis Klētnieks
Thank you for taking the time to respond to me. I have a better understanding of this matter.
Can I draw the conclusion that continually acquiring the spinlock causes the soft lockup and the CPU has been stuck for 22s? Can I think in this way?
No. It's been stuck for 22s *TRYING* and *FAILING* to get the spinlock.
I see. So there is a thread that has held the corresponding spinlock for more 22s. Can I think in this way?
Thank you for your attention to this matter. Best Regards.
Valdis Klētnieks <valdis.kletnieks@vt.edu> 于2020年7月4日周六 下午4:09写道:
Can I draw the conclusion that continually acquiring the spinlock causes the soft lockup and the CPU has been stuck for 22s? Can I think in this way?
No. It's been stuck for 22s *TRYING* and *FAILING* to get the spinlock.
For comparison - spinlocks are usually used when you need a lock, but the code protected by the lock is short (things like adding to a linked list, etc), so it should again become available in milliseconds - things where it would take longer to put this thread to sleep and wake another one up than we expect to be waiting for this lock.