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 <jal...@linux.ibm.com> > Signed-off-by: Haren Myneni <ha...@us.ibm.com>
Series applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/cd24e457fd8b2d087d9236700c8d29 cheers