[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8fc70827-9785-48d0-9a43-e1e3674317e9@acm.org>
Date: Fri, 23 Feb 2024 08:09:17 -0800
From: Bart Van Assche <bvanassche@....org>
To: Qais Yousef <qyousef@...alina.io>, Jens Axboe <axboe@...nel.dk>,
Ingo Molnar <mingo@...nel.org>, Peter Zijlstra <peterz@...radead.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>
Cc: linux-kernel@...r.kernel.org, linux-block@...r.kernel.org,
Sudeep Holla <sudeep.holla@....com>, Wei Wang <wvw@...gle.com>,
Jaegeuk Kim <jaegeuk@...nel.org>, Christoph Hellwig <hch@...radead.org>
Subject: Re: [PATCH v2 2/2] block/blk-mq: Don't complete locally if capacities
are different
On 2/23/24 07:57, Qais Yousef wrote:
> diff --git a/block/blk-mq.c b/block/blk-mq.c
> index 2dc01551e27c..ea69047e12f7 100644
> --- a/block/blk-mq.c
> +++ b/block/blk-mq.c
> @@ -1167,10 +1167,11 @@ static inline bool blk_mq_complete_need_ipi(struct request *rq)
> if (force_irqthreads())
> return false;
>
> - /* same CPU or cache domain? Complete locally */
> + /* same CPU or cache domain and capacity? Complete locally */
> if (cpu == rq->mq_ctx->cpu ||
> (!test_bit(QUEUE_FLAG_SAME_FORCE, &rq->q->queue_flags) &&
> - cpus_share_cache(cpu, rq->mq_ctx->cpu)))
> + cpus_share_cache(cpu, rq->mq_ctx->cpu) &&
> + cpus_equal_capacity(cpu, rq->mq_ctx->cpu)))
> return false;
>
> /* don't try to IPI to an offline CPU */
I think it's worth mentioning that this change is intended for storage
controllers that only support a single completion interrupt. Anyway:
Reviewed-by: Bart Van Assche <bvanassche@....org>
Powered by blists - more mailing lists