* [PATCH] sbitmap: Fix sbitmap_put()
@ 2021-03-16 3:54 Bart Van Assche
2021-03-16 6:35 ` Ming Lei
2021-03-16 14:32 ` Jens Axboe
0 siblings, 2 replies; 4+ messages in thread
From: Bart Van Assche @ 2021-03-16 3:54 UTC (permalink / raw)
To: Jens Axboe
Cc: linux-block, Christoph Hellwig, Bart Van Assche, Ming Lei,
Hannes Reinecke, Omar Sandoval
This patch fixes the following kernel warning:
BUG: using smp_processor_id() in preemptible [00000000] code: scsi_eh_0/152
caller is debug_smp_processor_id+0x17/0x20
CPU: 1 PID: 152 Comm: scsi_eh_0 Tainted: G W 5.12.0-rc1-dbg+ #6
Call Trace:
show_stack+0x52/0x58
dump_stack+0xaf/0xf3
check_preemption_disabled+0xce/0xd0
debug_smp_processor_id+0x17/0x20
scsi_device_unbusy+0x13a/0x1c0 [scsi_mod]
scsi_finish_command+0x4d/0x290 [scsi_mod]
scsi_eh_flush_done_q+0x1e7/0x280 [scsi_mod]
ata_scsi_port_error_handler+0x592/0x750 [libata]
ata_scsi_error+0x1a0/0x1f0 [libata]
scsi_error_handler+0x19e/0x330 [scsi_mod]
kthread+0x222/0x250
ret_from_fork+0x1f/0x30
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Omar Sandoval <osandov@fb.com>
Fixes: c548e62bcf6a ("scsi: sbitmap: Move allocation hint into sbitmap")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
include/linux/sbitmap.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/sbitmap.h b/include/linux/sbitmap.h
index 3087e1f15fdd..2713e689ad66 100644
--- a/include/linux/sbitmap.h
+++ b/include/linux/sbitmap.h
@@ -324,7 +324,7 @@ static inline void sbitmap_put(struct sbitmap *sb, unsigned int bitnr)
sbitmap_deferred_clear_bit(sb, bitnr);
if (likely(sb->alloc_hint && !sb->round_robin && bitnr < sb->depth))
- *this_cpu_ptr(sb->alloc_hint) = bitnr;
+ *raw_cpu_ptr(sb->alloc_hint) = bitnr;
}
static inline int sbitmap_test_bit(struct sbitmap *sb, unsigned int bitnr)
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] sbitmap: Fix sbitmap_put()
2021-03-16 3:54 [PATCH] sbitmap: Fix sbitmap_put() Bart Van Assche
@ 2021-03-16 6:35 ` Ming Lei
2021-03-16 14:32 ` Jens Axboe
1 sibling, 0 replies; 4+ messages in thread
From: Ming Lei @ 2021-03-16 6:35 UTC (permalink / raw)
To: Bart Van Assche
Cc: Jens Axboe, linux-block, Christoph Hellwig, Hannes Reinecke,
Omar Sandoval
On Mon, Mar 15, 2021 at 08:54:20PM -0700, Bart Van Assche wrote:
> This patch fixes the following kernel warning:
>
> BUG: using smp_processor_id() in preemptible [00000000] code: scsi_eh_0/152
> caller is debug_smp_processor_id+0x17/0x20
> CPU: 1 PID: 152 Comm: scsi_eh_0 Tainted: G W 5.12.0-rc1-dbg+ #6
> Call Trace:
> show_stack+0x52/0x58
> dump_stack+0xaf/0xf3
> check_preemption_disabled+0xce/0xd0
> debug_smp_processor_id+0x17/0x20
> scsi_device_unbusy+0x13a/0x1c0 [scsi_mod]
> scsi_finish_command+0x4d/0x290 [scsi_mod]
> scsi_eh_flush_done_q+0x1e7/0x280 [scsi_mod]
> ata_scsi_port_error_handler+0x592/0x750 [libata]
> ata_scsi_error+0x1a0/0x1f0 [libata]
> scsi_error_handler+0x19e/0x330 [scsi_mod]
> kthread+0x222/0x250
> ret_from_fork+0x1f/0x30
>
> Cc: Ming Lei <ming.lei@redhat.com>
> Cc: Hannes Reinecke <hare@suse.de>
> Cc: Omar Sandoval <osandov@fb.com>
> Fixes: c548e62bcf6a ("scsi: sbitmap: Move allocation hint into sbitmap")
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>
> ---
> include/linux/sbitmap.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/sbitmap.h b/include/linux/sbitmap.h
> index 3087e1f15fdd..2713e689ad66 100644
> --- a/include/linux/sbitmap.h
> +++ b/include/linux/sbitmap.h
> @@ -324,7 +324,7 @@ static inline void sbitmap_put(struct sbitmap *sb, unsigned int bitnr)
> sbitmap_deferred_clear_bit(sb, bitnr);
>
> if (likely(sb->alloc_hint && !sb->round_robin && bitnr < sb->depth))
> - *this_cpu_ptr(sb->alloc_hint) = bitnr;
> + *raw_cpu_ptr(sb->alloc_hint) = bitnr;
> }
>
> static inline int sbitmap_test_bit(struct sbitmap *sb, unsigned int bitnr)
>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
--
Ming
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] sbitmap: Fix sbitmap_put()
2021-03-16 3:54 [PATCH] sbitmap: Fix sbitmap_put() Bart Van Assche
2021-03-16 6:35 ` Ming Lei
@ 2021-03-16 14:32 ` Jens Axboe
2021-03-16 19:37 ` Bart Van Assche
1 sibling, 1 reply; 4+ messages in thread
From: Jens Axboe @ 2021-03-16 14:32 UTC (permalink / raw)
To: Bart Van Assche
Cc: linux-block, Christoph Hellwig, Ming Lei, Hannes Reinecke, Omar Sandoval
On 3/15/21 9:54 PM, Bart Van Assche wrote:
> This patch fixes the following kernel warning:
>
> BUG: using smp_processor_id() in preemptible [00000000] code: scsi_eh_0/152
> caller is debug_smp_processor_id+0x17/0x20
> CPU: 1 PID: 152 Comm: scsi_eh_0 Tainted: G W 5.12.0-rc1-dbg+ #6
> Call Trace:
> show_stack+0x52/0x58
> dump_stack+0xaf/0xf3
> check_preemption_disabled+0xce/0xd0
> debug_smp_processor_id+0x17/0x20
> scsi_device_unbusy+0x13a/0x1c0 [scsi_mod]
> scsi_finish_command+0x4d/0x290 [scsi_mod]
> scsi_eh_flush_done_q+0x1e7/0x280 [scsi_mod]
> ata_scsi_port_error_handler+0x592/0x750 [libata]
> ata_scsi_error+0x1a0/0x1f0 [libata]
> scsi_error_handler+0x19e/0x330 [scsi_mod]
> kthread+0x222/0x250
> ret_from_fork+0x1f/0x30
It'd be nice to have a bit of a description in here on what is being
fixed, eg that we're preemptible and cannot safely use this_cpu_ptr(),
and why that it's OK to use raw_cpu_ptr() instead for this particular
application.
--
Jens Axboe
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] sbitmap: Fix sbitmap_put()
2021-03-16 14:32 ` Jens Axboe
@ 2021-03-16 19:37 ` Bart Van Assche
0 siblings, 0 replies; 4+ messages in thread
From: Bart Van Assche @ 2021-03-16 19:37 UTC (permalink / raw)
To: Jens Axboe
Cc: linux-block, Christoph Hellwig, Ming Lei, Hannes Reinecke, Omar Sandoval
On 3/16/21 7:32 AM, Jens Axboe wrote:
> It'd be nice to have a bit of a description in here on what is being
> fixed, eg that we're preemptible and cannot safely use this_cpu_ptr(),
> and why that it's OK to use raw_cpu_ptr() instead for this particular
> application.
Sure, I will provide a better description and repost this patch.
Thank you,
Bart.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-03-16 19:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-16 3:54 [PATCH] sbitmap: Fix sbitmap_put() Bart Van Assche
2021-03-16 6:35 ` Ming Lei
2021-03-16 14:32 ` Jens Axboe
2021-03-16 19:37 ` Bart Van Assche
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.