Re: [PATCH RFC rdma-core 0/5] libhns: Add support for Dynamic Context Attachment

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

 



On 2021/2/23 0:02, Jason Gunthorpe wrote:
> On Sat, Feb 20, 2021 at 08:40:02AM +0000, liweihang wrote:
>> On 2021/2/10 3:54, Jason Gunthorpe wrote:
>>> On Sun, Feb 07, 2021 at 11:12:49AM +0800, Weihang Li wrote:
>>>> The HIP09 introduces the DCA(Dynamic Context Attachment) feature which
>>>> supports many RC QPs to share the WQE buffer in a memory pool. If a QP
>>>> enables DCA feature, the WQE's buffer will not be allocated when creating
>>>> but when the users start to post WRs. This will reduce the memory
>>>> consumption when there are too many QPs are inactive.
>>>> One a WQE buffer is allocated it still acts as a normal WQE ring
>>> buffer? So this DCA logic is to remap the send queue buffer based on
>>> demand for SQEs? How does it interact with the normal max send queue
>>> entries reported?
>>>
>>
>> Not exactly. If DCA is enabled, we first allocate a memory pool with a
>> default size when opening device. Each time we trying to post WR(s) to a
>> QP, the driver will check if current QP has WQE buffer.
>>
>> If not, the driver will check whether there is enough free memory in the
>> DCA memory pool. If there is, the QP will get WQE buffer from the
>> pool,
> 
> Does that mean the QP can have a non-contiguous list of buffers? Ie it
> isn't just a linear ring of memory?
> 
> Jason
> 

Yes, when using multilevel addressing, the virtual address of QP's buffers
may be non-contiguous to avoid memory fragmentation.

Weihang



[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