[PATCH] nvme-tcp: Fix misuse of __smp_processor_id with preemption enabled
Yi Zhang
yi.zhang at redhat.com
Tue Mar 16 02:47:43 GMT 2021
Thanks.
Tested-by: Yi Zhang <yi.zhang at redhat.com>
On 3/16/21 4:53 AM, Sagi Grimberg wrote:
> For our pure advisory use-case, we only rely on this call as a hint
> so fix the warning complaints of using the smp_processor_id variants
> with preemption enabled.
>
> Fixes: db5ad6b7f8cd ("nvme-tcp: try to send request in queue_rq context")
> Fixes: ada831772188 ("nvme-tcp: Fix warning with CONFIG_DEBUG_PREEMPT")
> Signed-off-by: Sagi Grimberg <sagi at grimberg.me>
> ---
> drivers/nvme/host/tcp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c
> index bd931de44d6c..0ef72568a4dd 100644
> --- a/drivers/nvme/host/tcp.c
> +++ b/drivers/nvme/host/tcp.c
> @@ -287,7 +287,7 @@ static inline void nvme_tcp_queue_request(struct nvme_tcp_request *req,
> * directly, otherwise queue io_work. Also, only do that if we
> * are on the same cpu, so we don't introduce contention.
> */
> - if (queue->io_cpu == __smp_processor_id() &&
> + if (queue->io_cpu == raw_smp_processor_id() &&
> sync && empty && mutex_trylock(&queue->send_mutex)) {
> queue->more_requests = !last;
> nvme_tcp_send_all(queue);
More information about the Linux-nvme
mailing list