[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 6 Jun 2019 10:19:41 +0300
From: Max Gurtovoy <maxg@...lanox.com>
To: Leon Romanovsky <leon@...nel.org>,
Saeed Mahameed <saeedm@...lanox.com>
CC: "David S. Miller" <davem@...emloft.net>,
Jason Gunthorpe <jgg@...lanox.com>,
Doug Ledford <dledford@...hat.com>,
Michael Chan <michael.chan@...adcom.com>,
Andy Gospodarek <andy@...yhouse.net>,
Tal Gilboa <talgi@...lanox.com>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [pull request][for-next 0/9] Generic DIM lib for netdev and RDMA
On 6/6/2019 10:14 AM, Leon Romanovsky wrote:
> On Wed, Jun 05, 2019 at 11:24:31PM +0000, Saeed Mahameed wrote:
>> Hi Dave, Doug & Jason
>>
>> This series improves DIM - Dynamically-tuned Interrupt
>> Moderation- to be generic for netdev and RDMA use-cases.
>>
>> From Tal and Yamin:
>> The first 7 patches provide the necessary refactoring to current net_dim
>> library which affect some net drivers who are using the API.
>>
>> The last 2 patches provide the RDMA implementation for DIM.
>>
>> For more information please see tag log below.
>>
>> Once we are all happy with the series, please pull to net-next and
>> rdma-next trees.
>>
>> Thanks,
>> Saeed.
>>
>> ---
>> The following changes since commit cd6c84d8f0cdc911df435bb075ba22ce3c605b07:
>>
>> Linux 5.2-rc2 (2019-05-26 16:49:19 -0700)
>>
>> are available in the Git repository at:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/dim-updates-2019-06-05
>>
>> for you to fetch changes up to 1ec9974e75e7a58bff1ab17c4fcda17b180ed3bb:
>>
>> RDMA/core: Provide RDMA DIM support for ULPs (2019-06-05 16:09:02 -0700)
>>
>> ----------------------------------------------------------------
>> dim-updates-2019-06-05
>>
>> From: Tal Gilboa
>>
>> Implement net DIM over a generic DIM library
>>
>> net_dim.h lib exposes an implementation of the DIM algorithm for
>> dynamically-tuned interrupt moderation for networking interfaces.
>>
>> We want a similar functionality for other protocols, which might need to
>> optimize interrupts differently. Main motivation here is DIM for NVMf
>> storage protocol.
>>
>> Current DIM implementation prioritizes reducing interrupt overhead over
>> latency. Also, in order to reduce DIM's own overhead, the algorithm might
>> take some time to identify it needs to change profiles. While this is
>> acceptable for networking, it might not work well on other scenarios.
>>
>> Here I propose a new structure to DIM. The idea is to allow a slightly
>> modified functionality without the risk of breaking Net DIM behavior for
>> netdev. I verified there are no degradations in current DIM behavior with
>> the modified solution.
>>
>> Solution:
>> - Common logic is declared in include/linux/dim.h and implemented in
>> lib/dim/dim.c
>> - Net DIM (existing) logic is declared in include/linux/net_dim.h and
>> implemented in lib/dim/net_dim.c, which uses the common logic from dim.h
>> - Any new DIM logic will be declared in "/include/linux/new_dim.h" and
>> implemented in "lib/dim/new_dim.c".
>> - This new implementation will expose modified versions of profiles,
>> dim_step() and dim_decision().
>>
>> Pros for this solution are:
>> - Zero impact on existing net_dim implementation and usage
>> - Relatively more code reuse (compared to two separate solutions)
>> - Increased extensibility
>>
>> ----------------------------------------------------------------
>> Tal Gilboa (6):
>> linux/dim: Move logic to dim.h
>> linux/dim: Remove "net" prefix from internal DIM members
>> linux/dim: Rename externally exposed macros
>> linux/dim: Rename net_dim_sample() to net_dim_update_sample()
>> linux/dim: Rename externally used net_dim members
>> linux/dim: Move implementation to .c files
>>
>> Yamin Friedman (3):
>> linux/dim: Add completions count to dim_sample
>> linux/dim: Implement rdma_dim
>> RDMA/core: Provide RDMA DIM support for ULPs
> Saeed,
>
> No, for the RDMA patches.
> We need to see usage of those APIs before merging.
I've asked Yamin to prepare patches for NVMeoF initiator and target for
review, so I guess he has it on his plate (this is how he tested it..).
It might cause conflict with NVMe/blk branch maintained by Sagi,
Christoph and Jens.
So we need a plan here.
>
> Thanks
Powered by blists - more mailing lists