linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* BUG: using __this_cpu_read() in preemptible code observed with blktests nvme-tcp on rt kernel
       [not found] <642327227.19237955.1615702580608.JavaMail.zimbra@redhat.com>
@ 2021-03-14  6:32 ` Yi Zhang
  2021-03-15 17:29   ` Sagi Grimberg
  0 siblings, 1 reply; 4+ messages in thread
From: Yi Zhang @ 2021-03-14  6:32 UTC (permalink / raw)
  To: linux-nvme; +Cc: sagi

Hi

I reproduced this issue on latest rt kernel, could you help check it, thanks.

[   76.812567] run blktests nvme/003 at 2021-03-14 07:29:39
[   76.880530] loop: module loaded
[   76.893827] nvmet: adding nsid 1 to subsystem blktests-subsystem-1
[   76.895766] nvmet_tcp: enabling port 0 (127.0.0.1:4420)
[   76.898923] nvmet: creating controller 1 for subsystem nqn.2014-08.org.nvmexpress.discovery for NQN nqn.2014-08.org.nvmexpress:uuid:f1d7a9f1-79ef-42a3-952b-59c7338f3b54.
[   76.899061] nvme nvme0: new ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery", addr 127.0.0.1:4420
[   76.899063] BUG: using __this_cpu_read() in preemptible [00000000] code: kworker/u64:25/231
[   76.899065] caller is nvme_tcp_submit_async_event+0x128/0x170 [nvme_tcp]
[   76.899069] CPU: 3 PID: 231 Comm: kworker/u64:25 Tainted: G S        I       5.12.0-rc2-rt1 #4
[   76.899071] Hardware name: Dell Inc. PowerEdge R640/06NR82, BIOS 2.10.0 11/12/2020
[   76.899072] Workqueue: nvme-wq nvme_async_event_work [nvme_core]
[   76.899081] Call Trace:
[   76.899083]  dump_stack+0x64/0x7c
[   76.899086]  check_preemption_disabled+0xb6/0xd0
[   76.899090]  nvme_tcp_submit_async_event+0x128/0x170 [nvme_tcp]
[   76.899093]  nvme_async_event_work+0x5d/0xc0 [nvme_core]
[   76.899098]  process_one_work+0x1c8/0x3f0
[   76.899101]  ? process_one_work+0x3f0/0x3f0
[   76.899102]  worker_thread+0x30/0x370
[   76.899104]  ? process_one_work+0x3f0/0x3f0
[   76.899105]  kthread+0x183/0x1a0
[   76.899108]  ? kthread_park+0x80/0x80
[   76.899110]  ret_from_fork+0x1f/0x30
[   86.912113] nvme nvme0: Removing ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery"




Best Regards,
  Yi Zhang



_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

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

* Re: BUG: using __this_cpu_read() in preemptible code observed with blktests nvme-tcp on rt kernel
  2021-03-14  6:32 ` BUG: using __this_cpu_read() in preemptible code observed with blktests nvme-tcp on rt kernel Yi Zhang
@ 2021-03-15 17:29   ` Sagi Grimberg
  2021-03-15 18:04     ` Christoph Hellwig
  0 siblings, 1 reply; 4+ messages in thread
From: Sagi Grimberg @ 2021-03-15 17:29 UTC (permalink / raw)
  To: Yi Zhang, linux-nvme


> Hi
> 
> I reproduced this issue on latest rt kernel, could you help check it, thanks.
> 
> [   76.812567] run blktests nvme/003 at 2021-03-14 07:29:39
> [   76.880530] loop: module loaded
> [   76.893827] nvmet: adding nsid 1 to subsystem blktests-subsystem-1
> [   76.895766] nvmet_tcp: enabling port 0 (127.0.0.1:4420)
> [   76.898923] nvmet: creating controller 1 for subsystem nqn.2014-08.org.nvmexpress.discovery for NQN nqn.2014-08.org.nvmexpress:uuid:f1d7a9f1-79ef-42a3-952b-59c7338f3b54.
> [   76.899061] nvme nvme0: new ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery", addr 127.0.0.1:4420
> [   76.899063] BUG: using __this_cpu_read() in preemptible [00000000] code: kworker/u64:25/231
> [   76.899065] caller is nvme_tcp_submit_async_event+0x128/0x170 [nvme_tcp]
> [   76.899069] CPU: 3 PID: 231 Comm: kworker/u64:25 Tainted: G S        I       5.12.0-rc2-rt1 #4
> [   76.899071] Hardware name: Dell Inc. PowerEdge R640/06NR82, BIOS 2.10.0 11/12/2020
> [   76.899072] Workqueue: nvme-wq nvme_async_event_work [nvme_core]
> [   76.899081] Call Trace:
> [   76.899083]  dump_stack+0x64/0x7c
> [   76.899086]  check_preemption_disabled+0xb6/0xd0
> [   76.899090]  nvme_tcp_submit_async_event+0x128/0x170 [nvme_tcp]
> [   76.899093]  nvme_async_event_work+0x5d/0xc0 [nvme_core]
> [   76.899098]  process_one_work+0x1c8/0x3f0
> [   76.899101]  ? process_one_work+0x3f0/0x3f0
> [   76.899102]  worker_thread+0x30/0x370
> [   76.899104]  ? process_one_work+0x3f0/0x3f0
> [   76.899105]  kthread+0x183/0x1a0
> [   76.899108]  ? kthread_park+0x80/0x80
> [   76.899110]  ret_from_fork+0x1f/0x30
> [   86.912113] nvme nvme0: Removing ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery"

Annoying... why can't we just get an advisory hint of the running cpu
without disabling preemption ?!

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

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

* Re: BUG: using __this_cpu_read() in preemptible code observed with blktests nvme-tcp on rt kernel
  2021-03-15 17:29   ` Sagi Grimberg
@ 2021-03-15 18:04     ` Christoph Hellwig
  2021-03-15 18:13       ` Sagi Grimberg
  0 siblings, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2021-03-15 18:04 UTC (permalink / raw)
  To: Sagi Grimberg; +Cc: Yi Zhang, linux-nvme

On Mon, Mar 15, 2021 at 10:29:37AM -0700, Sagi Grimberg wrote:
> 
> > Hi
> > 
> > I reproduced this issue on latest rt kernel, could you help check it, thanks.
> > 
> > [   76.812567] run blktests nvme/003 at 2021-03-14 07:29:39
> > [   76.880530] loop: module loaded
> > [   76.893827] nvmet: adding nsid 1 to subsystem blktests-subsystem-1
> > [   76.895766] nvmet_tcp: enabling port 0 (127.0.0.1:4420)
> > [   76.898923] nvmet: creating controller 1 for subsystem nqn.2014-08.org.nvmexpress.discovery for NQN nqn.2014-08.org.nvmexpress:uuid:f1d7a9f1-79ef-42a3-952b-59c7338f3b54.
> > [   76.899061] nvme nvme0: new ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery", addr 127.0.0.1:4420
> > [   76.899063] BUG: using __this_cpu_read() in preemptible [00000000] code: kworker/u64:25/231
> > [   76.899065] caller is nvme_tcp_submit_async_event+0x128/0x170 [nvme_tcp]
> > [   76.899069] CPU: 3 PID: 231 Comm: kworker/u64:25 Tainted: G S        I       5.12.0-rc2-rt1 #4
> > [   76.899071] Hardware name: Dell Inc. PowerEdge R640/06NR82, BIOS 2.10.0 11/12/2020
> > [   76.899072] Workqueue: nvme-wq nvme_async_event_work [nvme_core]
> > [   76.899081] Call Trace:
> > [   76.899083]  dump_stack+0x64/0x7c
> > [   76.899086]  check_preemption_disabled+0xb6/0xd0
> > [   76.899090]  nvme_tcp_submit_async_event+0x128/0x170 [nvme_tcp]
> > [   76.899093]  nvme_async_event_work+0x5d/0xc0 [nvme_core]
> > [   76.899098]  process_one_work+0x1c8/0x3f0
> > [   76.899101]  ? process_one_work+0x3f0/0x3f0
> > [   76.899102]  worker_thread+0x30/0x370
> > [   76.899104]  ? process_one_work+0x3f0/0x3f0
> > [   76.899105]  kthread+0x183/0x1a0
> > [   76.899108]  ? kthread_park+0x80/0x80
> > [   76.899110]  ret_from_fork+0x1f/0x30
> > [   86.912113] nvme nvme0: Removing ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery"
> 
> Annoying... why can't we just get an advisory hint of the running cpu
> without disabling preemption ?!

You'll have to use raw_smp_processor_id() for that.

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

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

* Re: BUG: using __this_cpu_read() in preemptible code observed with blktests nvme-tcp on rt kernel
  2021-03-15 18:04     ` Christoph Hellwig
@ 2021-03-15 18:13       ` Sagi Grimberg
  0 siblings, 0 replies; 4+ messages in thread
From: Sagi Grimberg @ 2021-03-15 18:13 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Yi Zhang, linux-nvme


>>> Hi
>>>
>>> I reproduced this issue on latest rt kernel, could you help check it, thanks.
>>>
>>> [   76.812567] run blktests nvme/003 at 2021-03-14 07:29:39
>>> [   76.880530] loop: module loaded
>>> [   76.893827] nvmet: adding nsid 1 to subsystem blktests-subsystem-1
>>> [   76.895766] nvmet_tcp: enabling port 0 (127.0.0.1:4420)
>>> [   76.898923] nvmet: creating controller 1 for subsystem nqn.2014-08.org.nvmexpress.discovery for NQN nqn.2014-08.org.nvmexpress:uuid:f1d7a9f1-79ef-42a3-952b-59c7338f3b54.
>>> [   76.899061] nvme nvme0: new ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery", addr 127.0.0.1:4420
>>> [   76.899063] BUG: using __this_cpu_read() in preemptible [00000000] code: kworker/u64:25/231
>>> [   76.899065] caller is nvme_tcp_submit_async_event+0x128/0x170 [nvme_tcp]
>>> [   76.899069] CPU: 3 PID: 231 Comm: kworker/u64:25 Tainted: G S        I       5.12.0-rc2-rt1 #4
>>> [   76.899071] Hardware name: Dell Inc. PowerEdge R640/06NR82, BIOS 2.10.0 11/12/2020
>>> [   76.899072] Workqueue: nvme-wq nvme_async_event_work [nvme_core]
>>> [   76.899081] Call Trace:
>>> [   76.899083]  dump_stack+0x64/0x7c
>>> [   76.899086]  check_preemption_disabled+0xb6/0xd0
>>> [   76.899090]  nvme_tcp_submit_async_event+0x128/0x170 [nvme_tcp]
>>> [   76.899093]  nvme_async_event_work+0x5d/0xc0 [nvme_core]
>>> [   76.899098]  process_one_work+0x1c8/0x3f0
>>> [   76.899101]  ? process_one_work+0x3f0/0x3f0
>>> [   76.899102]  worker_thread+0x30/0x370
>>> [   76.899104]  ? process_one_work+0x3f0/0x3f0
>>> [   76.899105]  kthread+0x183/0x1a0
>>> [   76.899108]  ? kthread_park+0x80/0x80
>>> [   76.899110]  ret_from_fork+0x1f/0x30
>>> [   86.912113] nvme nvme0: Removing ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery"
>>
>> Annoying... why can't we just get an advisory hint of the running cpu
>> without disabling preemption ?!
> 
> You'll have to use raw_smp_processor_id() for that.

:)

I'll do that then...

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

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

end of thread, other threads:[~2021-03-15 18:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <642327227.19237955.1615702580608.JavaMail.zimbra@redhat.com>
2021-03-14  6:32 ` BUG: using __this_cpu_read() in preemptible code observed with blktests nvme-tcp on rt kernel Yi Zhang
2021-03-15 17:29   ` Sagi Grimberg
2021-03-15 18:04     ` Christoph Hellwig
2021-03-15 18:13       ` Sagi Grimberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).