AnsweredAssumed Answered

We are seeing an issue when connecting our device to a server running VMWare ESXi 6.7.0 VMKernel. If the passthrough is not enabled for the USB port, our device generates the following RCU and I cannot longer type anything at the console. If passthrough i

Question asked by Pedro Valladares on Jun 13, 2019
Latest reply on Jul 7, 2019 by Yiping Wang

I am reposting this here since it looks like I posted it to the wrong group initially... Any help is greatly appreciated.

 

We are seeing an issue when connecting our device to a server running VMWare ESXi 6.7.0 VMKernel. If the passthrough is not enabled for the USB port, our device generates the following RCU and I cannot longer type anything at the console. If passthrough is enabled, then it works fine. If I remove the g_serial.ko module , the issue does not occur.  

Here is the output of uname -a for our system:

Linux (none) 4.1.8-rt8+gbd51baf #1 SMP Thu Jun 6 17:15:51 EDT 2019 ppc64 GNU/Linux

and the output of modinfo g_serial:

filename: /lib/modules/4.1.8-rt8+gbd51baf/kernel/drivers/usb/gadget/legacy/g_serial.ko
license: GPL
author: David Brownell
author: Al Borchers
description: Gadget Serial v2.4
depends: libcomposite
intree: Y
vermagic: 4.1.8-rt8+gbd51baf SMP mod_unload modversions
parm: idVendor:USB Vendor ID (ushort)
parm: idProduct:USB Product ID (ushort)
parm: bcdDevice:USB Device version (BCD) (ushort)
parm: iSerialNumber:SerialNumber string (charp)
parm: iManufacturer:USB Manufacturer string (charp)
parm: iProduct:USB Product string (charp)
parm: use_acm:Use CDC ACM, default=yes (bool)
parm: use_obex:Use CDC OBEX, default=no (bool)
parm: n_ports:number of ports to create, default=1 (uint)

 

modinfo libcomposite
filename: /lib/modules/4.1.8-rt8+gbd51baf/kernel/drivers/usb/gadget/libcomposite.ko
author: David Brownell
license: GPL
depends: configfs,udc-core
intree: Y
vermagic: 4.1.8-rt8+gbd51baf SMP mod_unload modversions

 

root@(none):~# modinfo udc-core
filename: /lib/modules/4.1.8-rt8+gbd51baf/kernel/drivers/usb/gadget/udc/udc-core.ko
license: GPL v2
author: Felipe Balbi <balbi@ti.com>
description: UDC Framework
depends:
intree: Y
vermagic: 4.1.8-rt8+gbd51baf SMP mod_unload modversions

 

root@(none):~# modinfo configfs
filename: /lib/modules/4.1.8-rt8+gbd51baf/kernel/fs/configfs/configfs.ko
description: Simple RAM filesystem for user driven kernel subsystem configuration.
version: 0.0.2
license: GPL
author: Oracle
alias: fs-configfs
srcversion: BAC846119DF7A8FAD803348
depends:
intree: Y
vermagic: 4.1.8-rt8+gbd51baf SMP mod_unload modversions

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

INFO: rcu_sched self-detected stall on CPU
INFO: rcu_sched self-detected stall on CPU
0: (5250 ticks this GP) idle=e15/140000000000001/0 softirq=0/0 fqs=24
(t=5250 jiffies g=3340 c=3339 q=11378)
rcu_sched kthread starved for 5226 jiffies!
Task dump for CPU 0:
run R running task 0 3068 3008 0x00000004
Call Trace:
[c0000000ca1b29d0] [c0000000000858d8] .sched_show_task+0xd8/0x164 (unreliable)
[c0000000ca1b2a50] [c0000000000ba970] .rcu_dump_cpu_stacks+0xd8/0x150
[c0000000ca1b2af0] [c0000000000c0364] .rcu_check_callbacks+0x5e0/0x8f4
[c0000000ca1b2c40] [c0000000000c6cec] .update_process_times+0x54/0x94
[c0000000ca1b2cc0] [c0000000000dc6d4] .tick_sched_handle.isra.17+0x5c/0x7c
[c0000000ca1b2d50] [c0000000000dc758] .tick_sched_timer+0x64/0xcc
[c0000000ca1b2df0] [c0000000000c7ff8] .__run_hrtimer+0xc0/0x2ec
[c0000000ca1b2e90] [c0000000000c85a8] .hrtimer_interrupt+0x13c/0x2f8
[c0000000ca1b2fa0] [c00000000001217c] .__timer_interrupt+0xa0/0x200
[c0000000ca1b3040] [c00000000001261c] .timer_interrupt+0x90/0xc4
[c0000000ca1b30c0] [c00000000001c054] exc_0x900_common+0x104/0x108
--- interrupt: 901 at .smp_call_function_many+0x324/0x3b8
LR = .smp_call_function_many+0x2e0/0x3b8
[c0000000ca1b33b0] [c0000000000e2f48] .smp_call_function_many+0x2c0/0x3b8 (unreliable)
[c0000000ca1b3470] [c00000000002ed48] .__flush_tlb_page+0x140/0x19c
[c0000000ca1b3530] [c00000000002c64c] .ptep_set_access_flags+0xb8/0x160
[c0000000ca1b35d0] [c00000000018dbb0] .do_wp_page+0x1ac/0x758
[c0000000ca1b36d0] [c00000000019078c] .handle_mm_fault+0xab8/0x1198
[c0000000ca1b37f0] [c00000000002b874] .do_page_fault+0x398/0x6cc
[c0000000ca1b38c0] [c00000000001d1d4] storage_fault_common+0x20/0x44
--- interrupt: 301 at .handle_rt_signal64+0x164/0x440
LR = .handle_rt_signal64+0x9c/0x440
[c0000000ca1b3c70] [c00000000000a974] .do_signal+0x17c/0x220
[c0000000ca1b3db0] [c00000000000ab98] .do_notify_resume+0x84/0x94
[c0000000ca1b3e30] [c000000000000c4c] .ret_from_except_lite+0x78/0x7c
Task dump for CPU 4:
run R running task 0 3111 3045 0x00000004
Call Trace:
[c000000062f23900] [c000000001117edc] nr_cpu_ids+0x0/0x4 (unreliable)
Task dump for CPU 6:
swapper/6 R running task 0 0 1 0x00000804
Call Trace:
[c0000000f022f9e0] [c0000000f022fa70] 0xc0000000f022fa70 (unreliable)

4: (1 GPs behind) idle=a65/140000000000001/0 softirq=0/0 fqs=24
(t=5302 jiffies g=3340 c=3339 q=11378)
rcu_sched kthread starved for 5279 jiffies!
Task dump for CPU 0:
run R running task 0 3068 3008 0x00000004
Call Trace:
[c0000000ca1b3900] [c0000000ca1b39a0] 0xc0000000ca1b39a0 (unreliable)
Task dump for CPU 4:
run R running task 0 3111 3045 0x00000004
Call Trace:
[c000000062f22f40] [c0000000000858d8] .sched_show_task+0xd8/0x164 (unreliable)
[c000000062f22fc0] [c0000000000ba970] .rcu_dump_cpu_stacks+0xd8/0x150
[c000000062f23060] [c0000000000c0364] .rcu_check_callbacks+0x5e0/0x8f4
[c000000062f231b0] [c0000000000c6cec] .update_process_times+0x54/0x94
[c000000062f23230] [c0000000000dc6d4] .tick_sched_handle.isra.17+0x5c/0x7c
[c000000062f232c0] [c0000000000dc758] .tick_sched_timer+0x64/0xcc
[c000000062f23360] [c0000000000c7ff8] .__run_hrtimer+0xc0/0x2ec
[c000000062f23400] [c0000000000c85a8] .hrtimer_interrupt+0x13c/0x2f8
[c000000062f23510] [c00000000001217c] .__timer_interrupt+0xa0/0x200
[c000000062f235b0] [c00000000001261c] .timer_interrupt+0x90/0xc4
[c000000062f23630] [c00000000001c054] exc_0x900_common+0x104/0x108
--- interrupt: 901 at .smp_call_function_many+0x324/0x3b8
LR = .smp_call_function_many+0x2e0/0x3b8
[c000000062f23920] [c0000000000e2f48] .smp_call_function_many+0x2c0/0x3b8 (unreliable)
[c000000062f239e0] [c00000000002ed48] .__flush_tlb_page+0x140/0x19c
[c000000062f23aa0] [c00000000002c64c] .ptep_set_access_flags+0xb8/0x160
[c000000062f23b40] [c00000000018dbb0] .do_wp_page+0x1ac/0x758
[c000000062f23c40] [c00000000019078c] .handle_mm_fault+0xab8/0x1198
[c000000062f23d60] [c00000000002b874] .do_page_fault+0x398/0x6cc
[c000000062f23e30] [c00000000001d1d4] storage_fault_common+0x20/0x44
Task dump for CPU 6:

Outcomes