From: Chengming Zhou <chengming.zhou@linux.dev>
To: "Leonardo Brás" <leobras@redhat.com>,
"Jens Axboe" <axboe@kernel.dk>,
"Peter Zijlstra" <peterz@infradead.org>,
"Josh Poimboeuf" <jpoimboe@kernel.org>,
"Palmer Dabbelt" <palmer@rivosinc.com>,
"Guo Ren" <guoren@kernel.org>,
"Valentin Schneider" <vschneid@redhat.com>,
"Paul E. McKenney" <paulmck@kernel.org>,
"Juergen Gross" <jgross@suse.com>,
"Yury Norov" <yury.norov@gmail.com>,
"Marcelo Tosatti" <mtosatti@redhat.com>
Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH v2 0/3] Move usages of struct __call_single_data to call_single_data_t
Date: Tue, 29 Aug 2023 10:29:17 +0800 [thread overview]
Message-ID: <51cf9db1-4487-4229-4d43-e91268e52125@linux.dev> (raw)
In-Reply-To: <1cd98cb37dcf621520e52ac7a15513aab5749534.camel@redhat.com>
On 2023/8/29 08:55, Leonardo Brás wrote:
> On Tue, 2023-07-04 at 04:22 -0300, Leonardo Brás wrote:
>> On Tue, 2023-06-13 at 00:51 -0300, Leonardo Bras Soares Passos wrote:
>>> Friendly ping
>>>
>>> On Sat, May 20, 2023 at 2:30 AM Leonardo Bras <leobras@redhat.com> wrote:
>>>>
>>>> Changes since RFCv1:
>>>> - request->csd moved to the middle of the struct, without size impact
>>>> - type change happens in a different patch (thanks Jens Axboe!)
>>>> - Improved the third patch to also update the .h file.
>>>>
>>>> Leonardo Bras (3):
>>>> blk-mq: Move csd inside struct request so it's 32-byte aligned
>>>> blk-mq: Change request->csd type to call_single_data_t
>>>> smp: Change signatures to use call_single_data_t
>>>>
>>>> include/linux/blk-mq.h | 10 +++++-----
>>>> include/linux/smp.h | 2 +-
>>>> kernel/smp.c | 4 ++--
>>>> kernel/up.c | 2 +-
>>>> 4 files changed, 9 insertions(+), 9 deletions(-)
>>>>
>>>> --
>>>> 2.40.1
>>>>
>>
>> Hello Jens,
>>
>> I still want your feedback on this series :)
>>
>> I think I addressed every issue of RFCv1, but if you have any other feedback,
>> please let me know.
>>
>> Thanks!
>> Leo
>
> Hello Jens Axboe,
>
> Please provide feedback on this series!
>
> Are you ok with those changes?
> What's your opinion on them?
>
> Thanks!
> Leo
>
Hello,
FYI, there is no csd in struct request anymore in block/for-next branch,
which is deleted by this commit:
commit 660e802c76c89e871c29cd3174c07c8d23e39c35
Author: Chengming Zhou <zhouchengming@bytedance.com>
Date: Mon Jul 17 12:00:55 2023 +0800
blk-mq: use percpu csd to remote complete instead of per-rq csd
If request need to be completed remotely, we insert it into percpu llist,
and smp_call_function_single_async() if llist is empty previously.
We don't need to use per-rq csd, percpu csd is enough. And the size of
struct request is decreased by 24 bytes.
This way is cleaner, and looks correct, given block softirq is guaranteed
to be scheduled to consume the list if one new request is added to this
percpu list, either smp_call_function_single_async() returns -EBUSY or 0.
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230717040058.3993930-2-chengming.zhou@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
next prev parent reply other threads:[~2023-08-29 2:31 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-20 5:29 [RFC PATCH v2 0/3] Move usages of struct __call_single_data to call_single_data_t Leonardo Bras
2023-05-20 5:29 ` [RFC PATCH v2 1/3] blk-mq: Move csd inside struct request so it's 32-byte aligned Leonardo Bras
2023-05-20 5:29 ` [RFC PATCH v2 2/3] blk-mq: Change request->csd type to call_single_data_t Leonardo Bras
2023-05-20 5:29 ` [RFC PATCH v2 3/3] smp: Change signatures to use call_single_data_t Leonardo Bras
2023-06-13 3:51 ` [RFC PATCH v2 0/3] Move usages of struct __call_single_data to call_single_data_t Leonardo Bras Soares Passos
2023-07-04 7:22 ` Leonardo Brás
2023-08-29 0:55 ` Leonardo Brás
2023-08-29 2:29 ` Chengming Zhou [this message]
2023-08-30 22:29 ` Leonardo Brás
2023-08-30 22:48 ` Jens Axboe
2023-08-31 2:04 ` Leonardo Brás
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=51cf9db1-4487-4229-4d43-e91268e52125@linux.dev \
--to=chengming.zhou@linux.dev \
--cc=axboe@kernel.dk \
--cc=guoren@kernel.org \
--cc=jgross@suse.com \
--cc=jpoimboe@kernel.org \
--cc=leobras@redhat.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=palmer@rivosinc.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=vschneid@redhat.com \
--cc=yury.norov@gmail.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;
as well as URLs for NNTP newsgroup(s).