[v5,1/2] powerpc/pseries: Remove prrn_work workqueue

Michael Ellerman patch-notifications at ellerman.id.au
Thu Sep 20 14:21:00 AEST 2018


On Mon, 2018-09-10 at 14:57:00 UTC, Nathan Fontenot wrote:
> When a PRRN event is received we are already running in a worker
> thread. Instead of spawning off another worker thread on the prrn_work
> workqueue to handle the PRRN event we can just call the PRRN handler
> routine directly.
> 
> With this update we can also pass the scope variable for the PRRN
> event directly to the handler instead of it being a global variable.
> 
> This patch fixes the following oops mnessage we are seeing in PRRN testing:
> 
> Oops: Bad kernel stack pointer, sig: 6 [#1]
> SMP NR_CPUS=2048 NUMA pSeries
> Modules linked in: nfsv3 nfs_acl rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace sunrpc fscache binfmt_misc reiserfs vfat fat rpadlpar_io(X) rpaphp(X) tcp_diag udp_diag inet_diag unix_diag af_packet_diag netlink_diag af_packet xfs libcrc32c dm_service_time ibmveth(X) ses enclosure scsi_transport_sas rtc_generic btrfs xor raid6_pq sd_mod ibmvscsi(X) scsi_transport_srp ipr(X) libata sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua scsi_mod autofs4
> Supported: Yes, External                                                     54
> CPU: 7 PID: 18967 Comm: kworker/u96:0 Tainted: G                 X 4.4.126-94.22-default #1
> Workqueue: pseries hotplug workque pseries_hp_work_fn
> task: c000000775367790 ti: c00000001ebd4000 task.ti: c00000070d140000
> NIP: 0000000000000000 LR: 000000001fb3d050 CTR: 0000000000000000
> REGS: c00000001ebd7d40 TRAP: 0700   Tainted: G                 X  (4.4.126-94.22-default)
> MSR: 8000000102081000 <41,VEC,ME5  CR: 28000002  XER: 20040018   4
> CFAR: 000000001fb3d084 40 419   1                                3
> GPR00: 000000000000000040000000000010007 000000001ffff400 000000041fffe200
> GPR04: 000000000000008050000000000000000 000000001fb15fa8 0000000500000500
> GPR08: 000000000001f40040000000000000001 0000000000000000 000005:5200040002
> GPR12: 00000000000000005c000000007a05400 c0000000000e89f8 000000001ed9f668
> GPR16: 000000001fbeff944000000001fbeff94 000000001fb545e4 0000006000000060
> GPR20: ffffffffffffffff4ffffffffffffffff 0000000000000000 0000000000000000
> GPR24: 00000000000000005400000001fb3c000 0000000000000000 000000001fb1b040
> GPR28: 000000001fb240004000000001fb440d8 0000000000000008 0000000000000000
> NIP [0000000000000000] 5         (null)
> LR [000000001fb3d050] 031fb3d050
> Call Trace:            4
> Instruction dump:      4                                       5:47 12    2
> XXXXXXXX XXXXXXXX XXXXX4XX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
> XXXXXXXX XXXXXXXX XXXXX5XX XXXXXXXX 60000000 60000000 60000000 60000000
> ---[ end trace aa5627b04a7d9d6b ]---                                       3NMI watchdog: BUG: soft lockup - CPU#27 stuck for 23s! [kworker/27:0:13903]
> Modules linked in: nfsv3 nfs_acl rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace sunrpc fscache binfmt_misc reiserfs vfat fat rpadlpar_io(X) rpaphp(X) tcp_diag udp_diag inet_diag unix_diag af_packet_diag netlink_diag af_packet xfs libcrc32c dm_service_time ibmveth(X) ses enclosure scsi_transport_sas rtc_generic btrfs xor raid6_pq sd_mod ibmvscsi(X) scsi_transport_srp ipr(X) libata sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua scsi_mod autofs4
> Supported: Yes, External
> CPU: 27 PID: 13903 Comm: kworker/27:0 Tainted: G      D          X 4.4.126-94.22-default #1
> Workqueue: events prrn_work_fn
> task: c000000747cfa390 ti: c00000074712c000 task.ti: c00000074712c000
> NIP: c0000000008002a8 LR: c000000000090770 CTR: 000000000032e088
> REGS: c00000074712f7b0 TRAP: 0901   Tainted: G      D          X  (4.4.126-94.22-default)
> MSR: 8000000100009033 <SF,EE,ME,IR,DR,RI,LE>  CR: 22482044  XER: 20040000
> CFAR: c0000000008002c4 SOFTE: 1
> GPR00: c000000000090770 c00000074712fa30 c000000000f09800 c000000000fa1928 6:02
> GPR04: c000000775f5e000 fffffffffffffffe 0000000000000001 c000000000f42db8
> GPR08: 0000000000000001 0000000080000007 0000000000000000 0000000000000000
> GPR12: 8006210083180000 c000000007a14400
> NIP [c0000000008002a8] _raw_spin_lock+0x68/0xd0
> LR [c000000000090770] mobility_rtas_call+0x50/0x100
> Call Trace:            59                                        5
> [c00000074712fa60] [c000000000090770] mobility_rtas_call+0x50/0x100
> [c00000074712faf0] [c000000000090b08] pseries_devicetree_update+0xf8/0x530
> [c00000074712fc20] [c000000000031ba4] prrn_work_fn+0x34/0x50
> [c00000074712fc40] [c0000000000e0390] process_one_work+0x1a0/0x4e0
> [c00000074712fcd0] [c0000000000e0870] worker_thread+0x1a0/0x6105:57       2
> [c00000074712fd80] [c0000000000e8b18] kthread+0x128/0x150
> [c00000074712fe30] [c0000000000096f8] ret_from_kernel_thread+0x5c/0x64
> Instruction dump:
> 2c090000 40c20010 7d40192d 40c2fff0 7c2004ac 2fa90000 40de0018 5:540030   3
> e8010010 ebe1fff8 7c0803a6 4e800020 <7c210b78> e92d0000 89290009 792affe3
> 
> Signed-off-by: John Allen <jallen at linux.ibm.com>
> Signed-off-by: Haren Myneni <haren at us.ibm.com>

Series applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/cd24e457fd8b2d087d9236700c8d29

cheers


More information about the Linuxppc-dev mailing list