Re: [PATCH v8 for-next] RDMA/rxe: Add workqueue support for tasks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/17/23 13:38, Jason Gunthorpe wrote:
> On Fri, Apr 28, 2023 at 12:13:22PM -0500, Bob Pearson wrote:
>> Replace tasklets by work queues for the three main rxe tasklets:
>> rxe_requester, rxe_completer and rxe_responder.
>>
>> Rebased to current for-next branch with changes, below, applied.
>>
>> Link: https://lore.kernel.org/linux-rdma/20230329193308.7489-1-rpearsonhpe@xxxxxxxxx/
>> Signed-off-by: Ian Ziemba <ian.ziemba@xxxxxxx>
>> Signed-off-by: Bob Pearson <rpearsonhpe@xxxxxxxxx>
>> Reviewed-by: Daisuke Matsuda <matsuda-daisuke@xxxxxxxxxxx>
>> Tested-by: Daisuke Matsuda <matsuda-daisuke@xxxxxxxxxxx>
>> ---
>> v8:
>>   Corrected a soft cpu lockup by testing return value from task->func
>>   for all task states.
>>   Removed WQ_CPU_INTENSIVE flag from alloc_workqueue() since documentation
>>   shows that this has no effect if WQ_UNBOUND is set.
>>   Removed work_pending() call in __reserve_if_idle() since by design
>>   a task cannot be pending and idle at the same time.
>>   Renamed __do_task() to do_work() per a comment by Diasuke Matsuda.
>> v7:
>>   Adjusted so patch applies after changes to rxe_task.c.
>> v6:
>>   Fixed left over references to tasklets in the comments.
>>   Added WQ_UNBOUND to the parameters for alloc_workqueue(). This shows
>>   a significant performance improvement.
>> v5:
>>   Based on corrected task logic for tasklets and simplified to only
>>   convert from tasklets to workqueues and not provide a flexible
>>   interface.
>> ---
>>  drivers/infiniband/sw/rxe/rxe.c      |   9 ++-
>>  drivers/infiniband/sw/rxe/rxe_task.c | 108 +++++++++++++++------------
>>  drivers/infiniband/sw/rxe/rxe_task.h |   6 +-
>>  3 files changed, 75 insertions(+), 48 deletions(-)
> 
> Applied to for-next, thanks
> 
> Jason
Thanks!!

Bob



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux