Re: [for-next 08/12] net/mlx5e: IPoIB, Use hash-table to map between QPN to child netdev

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

 





On 10/23/2017 6:47 PM, Jason Gunthorpe wrote:
On Sat, Oct 14, 2017 at 11:48:23AM -0700, Saeed Mahameed wrote:
From: Alex Vesker <valex@xxxxxxxxxxxx>

This change is needed for PKEY support, since the RQs are shared
between the child interface and the parent. The parent is responsible
for NAPI and the precessing of RX completions. Using the dqpn in the
completion descriptor we set the corresponding child IPoIB netdevice
on the SKB.
The mapping between the dqpn and the netdevice is done using a HT,
each mlx5 IPoIB interface registers its mapping on creation.
It seems really really weird to share the receive Q across all of the
children and do the sorting in software.. why is this done like this?

Wouldn't it be better to allow the children to progress concurrently,
potentially on multiple cores? They all have their own QPs after all..

Jason
The child interface RQs are in minimum size since they are not used.
The reason for this is saving resources, since we want to be able to support many PKEYs and allocating less memory while reusing HW resources such as flow steering table. This solution allowed us save memory on allocating the RQs of the child and use the same HW flow steering table, TIR, RQT. Using the hash table doesn't impact on performance.
The parent have multiple RQs on different cores running in parallel.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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