From: Steffen Maier <maier@linux.ibm.com>
To: linux-scsi <linux-scsi@vger.kernel.org>,
Bart Van Assche <bvanassche@acm.org>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
"James E . J . Bottomley" <jejb@linux.ibm.com>,
Sachin Sant <sachinp@linux.ibm.com>,
Hannes Reinecke <hare@suse.de>, Martin Wilck <mwilck@suse.com>,
Benjamin Block <bblock@linux.ibm.com>,
linux-s390 <linux-s390@vger.kernel.org>
Subject: kernel BUG scsi_dh_alua sleeping from invalid context && kernel WARNING do not call blocking ops when !TASK_RUNNING
Date: Mon, 16 Jan 2023 15:59:03 +0100 [thread overview]
Message-ID: <b49e37d5-edfb-4c56-3eeb-62c7d5855c00@linux.ibm.com> (raw)
Hi all,
since a few days/weeks, we sometimes see below alua and sleep related kernel
BUG and WARNING (with panic_on_warn) in our CI.
It reminds me of
[PATCH 0/2] Rework how the ALUA driver calls scsi_device_put()
https://lore.kernel.org/linux-scsi/166986602290.2101055.17397734326843853911.b4-ty@oracle.com/
which I thought was the fix and went into 6.2-rc(1?) on 2022-12-14 with
[GIT PULL] first round of SCSI updates for the 6.1+ merge window
https://lore.kernel.org/linux-scsi/b2e824bbd1e40da64d2d01657f2f7a67b98919fb.camel@HansenPartnership.com/T/#u
Due to limited history, I cannot tell exactly when problems started and whether
it really correlates to above.
Test workload are all kinds of coverage tests for zfcp recovery including scsi
device removal and/or rescan.
[ 4569.045992] BUG: sleeping function called from invalid context at
drivers/scsi/device_handler/scsi_dh_alua.c:992
[ 4569.046003] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 0, name:
swapper/8
[ 4569.046013] preempt_count: 101, expected: 0
[ 4569.046023] RCU nest depth: 0, expected: 0
[ 4569.046033] no locks held by swapper/8/0.
[ 4569.046042] Preemption disabled at:
[ 4569.046046] [<000000017e27ce4e>] __slab_alloc.constprop.0+0x36/0xb8
[ 4569.046072] CPU: 8 PID: 0 Comm: swapper/8 Tainted: G W
6.2.0-20230114.rc3.git0.46e26dd43df0.300.fc37.s390x+debug #1
[ 4569.046084] Hardware name: IBM 2964 NC9 702 (z/VM 6.4.0)
[ 4569.046094] Call Trace:
[ 4569.046102] [<000000017ed21bcc>] dump_stack_lvl+0xac/0x100
[ 4569.046118] [<000000017df9192c>] __might_resched+0x284/0x2c8
[ 4569.046131] [<000003ff7fb9c874>] alua_rtpg_queue+0x3c/0x98 [scsi_dh_alua]
[ 4569.046146] [<000003ff7fb9cfb2>] alua_check+0x122/0x250 [scsi_dh_alua]
[ 4569.046167] [<000003ff7fb9d562>] alua_check_sense+0x172/0x228 [scsi_dh_alua]
[ 4569.046179] [<000000017e96b3e2>] scsi_check_sense+0x8a/0x2e0
[ 4569.046191] [<000000017e96e4b6>] scsi_decide_disposition+0x286/0x298
[ 4569.046201] [<000000017e972bca>] scsi_complete+0x6a/0x108
[ 4569.046212] [<000000017e746906>] blk_complete_reqs+0x6e/0x88
[ 4569.046227] [<000000017ed3830e>] __do_softirq+0x13e/0x6b8
[ 4569.046238] [<000000017df57902>] __irq_exit_rcu+0x14a/0x170
[ 4569.046264] [<000000017df58472>] irq_exit_rcu+0x22/0x50
[ 4569.046275] [<000000017ed2242a>] do_ext_irq+0x10a/0x1d0
[ 4569.046286] [<000000017ed36156>] ext_int_handler+0xd6/0x110
[ 4569.046296] [<000000017ed362e6>] psw_idle_exit+0x0/0xa
[ 4569.046307] ([<000000017defc5da>] arch_cpu_idle+0x52/0xe0)
[ 4569.046318] [<000000017ed34744>] default_idle_call+0x84/0xd0
[ 4569.046329] [<000000017dfbe4cc>] do_idle+0xfc/0x1b8
[ 4569.046340] [<000000017dfbe80e>] cpu_startup_entry+0x36/0x40
[ 4569.046350] [<000000017df11964>] smp_start_secondary+0x14c/0x160
[ 4569.046371] [<000000017ed3658e>] restart_int_handler+0x6e/0x90
[ 4569.046381] no locks held by swapper/8/0.
Above occurs a few times until it finally ends with:
[ 4760.865496] device-mapper: multipath: 251:6: Reinstating path 8:176.
[ 4760.867398] sd 4:0:0:1083719810: Power-on or device reset occurred
[ 4760.867445] sd 4:0:0:1083719810: [sde] tag#1224 Done: ADD_TO_MLQUEUE Result:
hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
[ 4760.867469] sd 4:0:0:1083719810: [sde] tag#1224 CDB: Test Unit Ready 00 00
00 00 00 00
[ 4760.867493] sd 4:0:0:1083719810: [sde] tag#1224 Sense Key : Unit Attention
[current]
[ 4760.867515] sd 4:0:0:1083719810: [sde] tag#1224 Add. Sense: Power on, reset,
or bus device reset occurred
[ 4760.878066] sd 4:0:0:1083719813: Power-on or device reset occurred
[ 4760.878096] ------------[ cut here ]------------
[ 4760.878107] do not call blocking ops when !TASK_RUNNING; state=2 set at
[<000000017ed2c0fa>] __wait_for_common+0xa2/0x240
[ 4760.878132] WARNING: CPU: 3 PID: 165738 at kernel/sched/core.c:9908
__might_sleep+0x7c/0x98
[ 4760.878147] Modules linked in: af_iucv kvm algif_hash af_alg nft_fib_inet
nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6
nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6
nf_defrag_ipv4 ip_set nf_tables nfnetlink sunrpc vfio_ccw mdev vfio_iommu_type1
vfio sch_fq_codel ip6_tables ip_tables x_tables configfs dm_service_time
ghash_s390 prng chacha_s390 libchacha aes_s390 des_s390 libdes sha512_s390
sha256_s390 sha1_s390 sha_common zfcp scsi_transport_fc dm_mirror
dm_region_hash dm_log scsi_dh_rdac scsi_dh_emc scsi_dh_alua pkey zcrypt
rng_core dm_multipath autofs4
[ 4760.878456] CPU: 3 PID: 165738 Comm: kworker/3:0 Tainted: G W
6.2.0-20230114.rc3.git0.46e26dd43df0.300.fc37.s390x+debug #1
[ 4760.878478] Hardware name: IBM 2964 NC9 702 (z/VM 6.4.0)
[ 4760.878489] Workqueue: kaluad alua_rtpg_work [scsi_dh_alua]
[ 4760.878509] Krnl PSW : 0704d00180000000 000000017df919f0
(__might_sleep+0x80/0x98)
[ 4760.878542] R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0
RI:0 EA:3
[ 4760.878560] Krnl GPRS: c0000000ffffbfff 0000000080000101 000000000000006d
000000017f198e94
[ 4760.878573] 00000380002739f8 00000380002739f0 0000000000000000
000000017f7bca48
[ 4760.878586] 0000000000000001 0000000000000000 00000000000003e0
000003ff7fb9f1bc
[ 4760.878599] 00000000827eb100 0000000000000101 000000017df919ec
0000038000273b88
[ 4760.878620] Krnl Code: 000000017df919e0: c020008c1da3 larl %r2,000000017f115526
000000017df919e6: c0e5006bb91d brasl
%r14,000000017ed08c20
#000000017df919ec: af000000 mc 0,0
>000000017df919f0: a7490000 lghi %r4,0
000000017df919f4: b904003a lgr %r3,%r10
000000017df919f8: b904002b lgr %r2,%r11
000000017df919fc: ebaff0a00004 lmg %r10,%r15,160(%r15)
000000017df91a02: c0f4fffffe53 brcl 15,000000017df916a8
[ 4760.878692] Call Trace:
[ 4760.878703] [<000000017df919f0>] __might_sleep+0x80/0x98
[ 4760.878716] ([<000000017df919ec>] __might_sleep+0x7c/0x98)
[ 4760.878728] [<000003ff7fb9c874>] alua_rtpg_queue+0x3c/0x98 [scsi_dh_alua]
[ 4760.878743] [<000003ff7fb9cfb2>] alua_check+0x122/0x250 [scsi_dh_alua]
[ 4760.878761] [<000003ff7fb9d562>] alua_check_sense+0x172/0x228 [scsi_dh_alua]
[ 4760.878775] [<000000017e96b3e2>] scsi_check_sense+0x8a/0x2e0
[ 4760.878788] [<000000017e96e4b6>] scsi_decide_disposition+0x286/0x298
[ 4760.878802] [<000000017e972bca>] scsi_complete+0x6a/0x108
[ 4760.878815] [<000000017e746906>] blk_complete_reqs+0x6e/0x88
[ 4760.878837] [<000000017ed3830e>] __do_softirq+0x13e/0x6b8
[ 4760.878852] [<000000017df57902>] __irq_exit_rcu+0x14a/0x170
[ 4760.878866] [<000000017df58472>] irq_exit_rcu+0x22/0x50
[ 4760.878880] [<000000017ed223da>] do_ext_irq+0xba/0x1d0
[ 4760.878896] [<000000017ed36156>] ext_int_handler+0xd6/0x110
[ 4760.878909] [<000000017ed34fbe>] _raw_spin_unlock_irqrestore+0x86/0xc0
[ 4760.878928] ([<000000017ed34fae>] _raw_spin_unlock_irqrestore+0x76/0xc0)
[ 4760.878941] [<000000017e033e66>] __mod_timer+0x2d6/0x408
[ 4760.878955] [<000000017ed33864>] schedule_timeout+0xc4/0x168
[ 4760.878969] [<000000017ed2ac62>] io_schedule_timeout+0x5a/0x80
[ 4760.878983] [<000000017ed2c12e>] __wait_for_common+0xd6/0x240
[ 4760.878997] [<000000017e7479a6>] blk_execute_rq+0x126/0x1f8
[ 4760.879011] [<000000017e970722>] __scsi_execute+0x112/0x260
[ 4760.879024] [<000003ff7fb9d750>] alua_rtpg+0x138/0xb10 [scsi_dh_alua]
[ 4760.879038] [<000003ff7fb9e3e4>] alua_rtpg_work+0x2bc/0x4e0 [scsi_dh_alua]
[ 4760.879053] [<000000017df78300>] process_one_work+0x310/0x730
[ 4760.879069] [<000000017df78782>] worker_thread+0x62/0x420
[ 4760.879109] [<000000017df83bc4>] kthread+0x13c/0x150
[ 4760.879124] [<000000017defb930>] __ret_from_fork+0x40/0x58
[ 4760.879138] [<000000017ed35eda>] ret_from_fork+0xa/0x40
[ 4760.879152] 2 locks held by kworker/3:0/165738:
[ 4760.879165] #0: 000000008c7b5948 ((wq_completion)kaluad){+.+.}-{0:0}, at:
process_one_work+0x232/0x730
[ 4760.879210] #1: 0000038001177dc8
((work_completion)(&(&pg->rtpg_work)->work)){+.+.}-{0:0}, at:
process_one_work+0x232/0x730
[ 4760.879249] Last Breaking-Event-Address:
[ 4760.879266] [<000000017e8c6dd0>] __s390_indirect_jump_r14+0x0/0x10
[ 4760.879283] Kernel panic - not syncing: kernel: panic_on_warn set ...
--
Mit freundlichen Gruessen / Kind regards
Steffen Maier
Linux on IBM Z and LinuxONE
https://www.ibm.com/privacy/us/en/
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschaeftsfuehrung: David Faller
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
next reply other threads:[~2023-01-16 15:10 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-16 14:59 Steffen Maier [this message]
2023-01-16 16:57 ` kernel BUG scsi_dh_alua sleeping from invalid context && kernel WARNING do not call blocking ops when !TASK_RUNNING Martin Wilck
2023-01-16 17:48 ` Bart Van Assche
2023-01-16 17:58 ` Martin Wilck
2023-01-17 9:28 ` Martin Wilck
2023-01-17 18:50 ` Bart Van Assche
2023-01-17 21:48 ` Martin Wilck
2023-01-17 21:52 ` Bart Van Assche
2023-01-17 22:03 ` Martin Wilck
2023-01-18 0:29 ` Bart Van Assche
2023-01-18 8:45 ` Martin Wilck
2023-01-18 16:17 ` Steffen Maier
2023-01-24 11:16 ` Steffen Maier
2023-01-24 11:36 ` Martin Wilck
2023-01-16 17:55 ` Bart Van Assche
2023-01-16 18:12 ` Steffen Maier
2023-01-16 18:31 ` Bart Van Assche
2023-01-17 7:46 ` Martin Wilck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b49e37d5-edfb-4c56-3eeb-62c7d5855c00@linux.ibm.com \
--to=maier@linux.ibm.com \
--cc=bblock@linux.ibm.com \
--cc=bvanassche@acm.org \
--cc=hare@suse.de \
--cc=jejb@linux.ibm.com \
--cc=linux-s390@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=mwilck@suse.com \
--cc=sachinp@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.