From: Ming Lei <ming.lei@redhat.com>
To: John Garry <john.garry@huawei.com>
Cc: Jens Axboe <axboe@kernel.dk>,
linux-block@vger.kernel.org, Yu Kuai <yukuai3@huawei.com>
Subject: Re: [PATCH 1/6] blk-mq: figure out correct numa node for hw queue
Date: Wed, 2 Mar 2022 09:47:20 +0800 [thread overview]
Message-ID: <Yh7MqBLsE2FJvT2Z@T590> (raw)
In-Reply-To: <45adf246-176a-b4a5-d973-4c885c37d821@huawei.com>
On Tue, Mar 01, 2022 at 07:19:43PM +0000, John Garry wrote:
> On 28/02/2022 09:04, Ming Lei wrote:
> > The current code always uses default queue map and hw queue index
> > for figuring out the numa node for hw queue, this way isn't correct
> > because blk-mq supports three queue maps, and the correct queue map
> > should be used for the specified hw queue.
> >
> > Signed-off-by: Ming Lei <ming.lei@redhat.com>
> > ---
>
> Hi Ming,
>
> Just some small comments to consider if you need to respin.
>
> Thanks,
> John
>
> > block/blk-mq.c | 36 ++++++++++++++++++++++++++++++------
> > 1 file changed, 30 insertions(+), 6 deletions(-)
> >
> > diff --git a/block/blk-mq.c b/block/blk-mq.c
> > index a05ce7725031..931add81813b 100644
> > --- a/block/blk-mq.c
> > +++ b/block/blk-mq.c
> > @@ -3107,15 +3107,41 @@ void blk_mq_free_rq_map(struct blk_mq_tags *tags)
> > blk_mq_free_tags(tags);
> > }
> > +static int
>
> enum hctx_type?
>
> > hctx_idx_to_type(struct blk_mq_tag_set *set,
> > + unsigned int hctx_idx)
> > +{
> > + int j;
>
> super nit: normally use i
OK
>
> > +
> > + for (j = 0; j < set->nr_maps; j++) {
> > + unsigned int start = set->map[j].queue_offset;
>
> nit: double whitespace intentional?
will fix it.
>
> > + unsigned int end = start + set->map[j].nr_queues;
> > +
> > + if (hctx_idx >= start && hctx_idx < end)
> > + break;
> > + }
> > +
> > + if (j >= set->nr_maps)
> > + j = HCTX_TYPE_DEFAULT;
> > +
> > + return j;
> > +}
> > +
> > +static int blk_mq_get_hctx_node(struct blk_mq_tag_set *set,
> > + unsigned int hctx_idx)
> > +{
> > + int type = hctx_idx_to_type(set, hctx_idx);
> > +
> > + return blk_mq_hw_queue_to_node(&set->map[type], hctx_idx);
> > +}
> > +
> > static struct blk_mq_tags *blk_mq_alloc_rq_map(struct blk_mq_tag_set *set,
> > unsigned int hctx_idx,
> > unsigned int nr_tags,
> > unsigned int reserved_tags)
> > {
> > struct blk_mq_tags *tags;
> > - int node;
> > + int node = blk_mq_get_hctx_node(set, hctx_idx);
>
> nit: the code originally had reverse firtree ordering, which I suppose is
> not by mistake
What is reverse firtree ordering here? I don't know what is wrong
with the above one line change from patch style viewpoint, and
checkpatch complains nothing here.
Thanks,
Ming
next prev parent reply other threads:[~2022-03-02 1:47 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-28 9:04 [PATCH 0/6] blk-mq: update_nr_hw_queues related improvement & bugfix Ming Lei
2022-02-28 9:04 ` [PATCH 1/6] blk-mq: figure out correct numa node for hw queue Ming Lei
2022-03-01 13:30 ` Christoph Hellwig
2022-03-01 19:19 ` John Garry
2022-03-02 1:47 ` Ming Lei [this message]
2022-03-02 9:02 ` John Garry
2022-03-02 9:22 ` Ming Lei
2022-03-02 10:11 ` John Garry
2022-02-28 9:04 ` [PATCH 2/6] blk-mq: simplify reallocation of hw ctxs a bit Ming Lei
2022-03-01 13:30 ` Christoph Hellwig
2022-02-28 9:04 ` [PATCH 3/6] blk-mq: re-config poll after queue map is changed Ming Lei
2022-03-01 13:31 ` Christoph Hellwig
2022-02-28 9:04 ` [PATCH 4/6] block: mtip32xx: don't touch q->queue_hw_ctx Ming Lei
2022-03-01 13:32 ` Christoph Hellwig
2022-02-28 9:04 ` [PATCH 5/6] blk-mq: add helper of blk_mq_get_hctx to retrieve hctx via its index Ming Lei
2022-03-01 13:33 ` Christoph Hellwig
2022-02-28 9:04 ` [PATCH 6/6] blk-mq: manage hctx map via xarray Ming Lei
2022-02-28 17:36 ` kernel test robot
2022-02-28 17:57 ` kernel test robot
2022-03-01 9:08 ` Ming Lei
2022-03-01 13:37 ` Christoph Hellwig
2022-03-02 2:06 ` Ming Lei
2022-03-02 8:24 ` Christoph Hellwig
2022-03-02 9:53 ` Ming Lei
2022-03-02 9:59 ` Christoph Hellwig
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=Yh7MqBLsE2FJvT2Z@T590 \
--to=ming.lei@redhat.com \
--cc=axboe@kernel.dk \
--cc=john.garry@huawei.com \
--cc=linux-block@vger.kernel.org \
--cc=yukuai3@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox