public inbox for linux-remoteproc@vger.kernel.org
 help / color / mirror / Atom feed
* Regression by commit 7e83cab824a86704cdbd7735c19d34e0ce423dc5
@ 2018-11-07  7:36 Xiang Xiao
  0 siblings, 0 replies; 10+ messages in thread
From: Xiang Xiao @ 2018-11-07  7:36 UTC (permalink / raw)
  To: linux-remoteproc

This commit replace rproc_{shutdown,boot}() with rproc_{stop,start}(), which
skip destroy the virtio device at stop but reinitialize it again at start:
[ 1502.733760] remoteproc remoteproc0: crash detected in
f9210000.toppwr:tl421-rproc: type watchdog
[ 1502.744019] remoteproc remoteproc0: handling crash #1 in
f9210000.toppwr:tl421-rproc
[ 1502.820741] remoteproc remoteproc0: recovering
f9210000.toppwr:tl421-rproc
[ 1502.831588] remoteproc remoteproc0: stopped remote processor
f9210000.toppwr:tl421-rproc
[ 1502.844458] kobject (ffffffc0b8d1b898): tried to init an initialized
object, something is seriously wrong.
[ 1502.855415] CPU: 6 PID: 169 Comm: kworker/6:1 Tainted: G        W      
4.9.27-04453-g1a03c96 #253
[ 1502.865442] Hardware name: Banks (DT)
[ 1502.869557] Workqueue: events rproc_crash_handler_work
[ 1502.875319] Call trace:
[ 1502.878066] [<ffffff800808bd9c>] dump_backtrace+0x0/0x1cc
[ 1502.884106] [<ffffff800808bf7c>] show_stack+0x14/0x1c
[ 1502.889761] [<ffffff80083fef08>] dump_stack+0xa8/0xe0
[ 1502.895415] [<ffffff8008402b24>] kobject_init+0x8c/0x9c
[ 1502.901262] [<ffffff800853758c>] device_initialize+0x3c/0xe8
[ 1502.907590] [<ffffff80085397d4>] device_register+0x14/0x28
[ 1502.913727] [<ffffff80084b777c>] register_virtio_device+0xc4/0x114
[ 1502.920641] [<ffffff8008878b20>] rproc_add_virtio_dev+0x7c/0x108
[ 1502.927360] [<ffffff8008875cbc>] rproc_vdev_do_probe+0x14/0x1c
[ 1502.933883] [<ffffff8008875a60>] rproc_start+0xac/0x1ac
[ 1502.939728] [<ffffff8008877a68>] rproc_trigger_recovery+0x2f8/0x324
[ 1502.946740] [<ffffff8008877b24>] rproc_crash_handler_work+0x90/0xb0
[ 1502.953752] [<ffffff80080cd570>] process_one_work+0x204/0x704
[ 1502.960179] [<ffffff80080cdac4>] worker_thread+0x54/0x4a8
[ 1502.966225] [<ffffff80080d4aec>] kthread+0xec/0x100
[ 1502.971683] [<ffffff8008083890>] ret_from_fork+0x10/0x40
When the crash happen, It’s better to destroy and recreate all virtio device
and it’s children(rpmsg device) again to match the remote side state like
the original behavior.

Thanks
Xiang

^ permalink raw reply	[flat|nested] 10+ messages in thread
* Regression by commit 7e83cab824a86704cdbd7735c19d34e0ce423dc5
@ 2018-11-07 14:25 xiang xiao
  2018-11-08  6:22 ` Bjorn Andersson
  0 siblings, 1 reply; 10+ messages in thread
From: xiang xiao @ 2018-11-07 14:25 UTC (permalink / raw)
  To: linux-remoteproc, spjoshi, bjorn.andersson

[-- Attachment #1: Type: text/plain, Size: 2119 bytes --]

This commit replace rproc_{shutdown,boot}() with rproc_{stop,start}(),
which skip destroy the virtio device at stop but reinitialize it again at
start:
[  603.446805] remoteproc remoteproc0: crash detected in
f9210000.toppwr:tl421-rproc: type mmufault
[  603.456883] remoteproc remoteproc0: handling crash #1 in
f9210000.toppwr:tl421-rproc
[  603.469593] remoteproc remoteproc0: recovering
f9210000.toppwr:tl421-rproc
[  603.483172] remoteproc remoteproc0: stopped remote processor
f9210000.toppwr:tl421-rproc
[  603.495999] kobject (ffffffc0b8c51098): tried to init an initialized
object, something is seriously wrong.

  ^^^^^^^^^^^^^^^^^^^^^
[  603.506868] CPU: 5 PID: 198 Comm: kworker/5:1 Tainted: G        W
 4.9.27-04454-gd4c1829-dirty #255
[  603.517468] Hardware name: Banks (DT)
[  603.521581] Workqueue: events rproc_crash_handler_work
[  603.527342] Call trace:
[  603.530086] [<ffffff800808bd9c>] dump_backtrace+0x0/0x1cc
[  603.536115] [<ffffff800808bf7c>] show_stack+0x14/0x1c
[  603.541771] [<ffffff80083fef08>] dump_stack+0xa8/0xe0
[  603.547423] [<ffffff8008402b24>] kobject_init+0x8c/0x9c
[  603.553280] [<ffffff800853758c>] device_initialize+0x3c/0xe8
[  603.559609] [<ffffff80085397d4>] device_register+0x14/0x28
[  603.565750] [<ffffff80084b777c>] register_virtio_device+0xc4/0x114
[  603.572669] [<ffffff8008878b20>] rproc_add_virtio_dev+0x7c/0x108
[  603.579390] [<ffffff8008875cbc>] rproc_vdev_do_probe+0x14/0x1c
[  603.585911] [<ffffff8008875a60>] rproc_start+0xac/0x1ac
[  603.591754] [<ffffff8008877a68>] rproc_trigger_recovery+0x2f8/0x324
[  603.598763] [<ffffff8008877b24>] rproc_crash_handler_work+0x90/0xb0
[  603.605778] [<ffffff80080cd570>] process_one_work+0x204/0x704
[  603.612202] [<ffffff80080cdac4>] worker_thread+0x54/0x4a8
[  603.618248] [<ffffff80080d4aec>] kthread+0xec/0x100
[  603.623703] [<ffffff8008083890>] ret_from_fork+0x10/0x40

When the crash happen, is it better to destroy and recreate all virtio
device and it’s children(rpmsg device) again to match the remote side state
like the original behavior?


Thanks

Xiang

[-- Attachment #2: Type: text/html, Size: 3474 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-11-09  4:23 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-07  7:36 Regression by commit 7e83cab824a86704cdbd7735c19d34e0ce423dc5 Xiang Xiao
  -- strict thread matches above, loose matches on Subject: below --
2018-11-07 14:25 xiang xiao
2018-11-08  6:22 ` Bjorn Andersson
2018-11-08  6:36   ` xiang xiao
2018-11-08  7:26     ` Bjorn Andersson
2018-11-08  8:16       ` Loic PALLARDY
2018-11-08 18:11         ` xiang xiao
2018-11-08 20:10           ` Loic PALLARDY
2018-11-08  8:23       ` xiang xiao
2018-11-09  4:23         ` Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox