[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1a4d9f90-1bb0-4092-9be8-9cf2c70ef79d@kernel.dk>
Date: Wed, 30 Aug 2023 16:48:38 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Leonardo BrĂ¡s <leobras@...hat.com>,
Chengming Zhou <chengming.zhou@...ux.dev>,
Peter Zijlstra <peterz@...radead.org>,
Josh Poimboeuf <jpoimboe@...nel.org>,
Palmer Dabbelt <palmer@...osinc.com>,
Guo Ren <guoren@...nel.org>,
Valentin Schneider <vschneid@...hat.com>,
"Paul E. McKenney" <paulmck@...nel.org>,
Juergen Gross <jgross@...e.com>,
Yury Norov <yury.norov@...il.com>,
Marcelo Tosatti <mtosatti@...hat.com>
Cc: linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH v2 0/3] Move usages of struct __call_single_data to
call_single_data_t
On 8/30/23 4:29 PM, Leonardo Br?s wrote:
> On Tue, 2023-08-29 at 10:29 +0800, Chengming Zhou wrote:
>> 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@...hat.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@...edance.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@...edance.com>
>> Reviewed-by: Ming Lei <ming.lei@...hat.com>
>> Reviewed-by: Christoph Hellwig <hch@....de>
>> Link: https://lore.kernel.org/r/20230717040058.3993930-2-chengming.zhou@linux.dev
>> Signed-off-by: Jens Axboe <axboe@...nel.dk>
>>
>
>
> Oh, thanks for the heads-up!
> I will send reviewed version of patch 3.
>
> I suppose it can go on top of block/for-next, since the above patch is there.
> Does that work for you Jens Axboe?
Just send it against Linus's tree, it's all upstream now.
--
Jens Axboe
Powered by blists - more mailing lists