DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] RSS API discussion
@ 2015-10-16 13:40 Lu, Wenzhuo
  2015-10-16 15:28 ` Nélio Laranjeiro
  0 siblings, 1 reply; 3+ messages in thread
From: Lu, Wenzhuo @ 2015-10-16 13:40 UTC (permalink / raw)
  To: Nélio Laranjeiro; +Cc: dev

Hi Nélio,
 
> Hi Wenzhuo,
> 
> We should discuss about this API for a future release of DPDK because this one
> lacks in flexibility.  Some other NICs have indirection tables with a
> different/configurable size, and the current API does not help to manage it.
> 
> For ConnectX-4 I have made a lot of hacks to avoid changing the DPDK API,
> "[dpdk-dev] [PATCH 0/3] Add RETA configuration to MLX5".
> http://dpdk.org/ml/archives/dev/2015-October/024681.html
> 
> From a user point of view, to update the RETA table, the API expects the user to
> know the size of it to update or query.  With your patchset, Intel have two
> indirection table sizes now, with Mellanox ConnectX-4, I fixed to the size of 512
> entries because it is not fixed by default.
> 
> How about discussing this in a separate thread?
Sure, I changed the tittle.
But I'm afraid I don't catch up with you. I have 2 questions, 1, Why the reta size cannot be predict on  Mellanox ConnectX-4? 2, I don't understand the meaning when you say the reta size is not fixed by default on Mellanox ConnectX-4.
Would you like to give more details of the Mellanox ConnectX-4's behavior? It'll be helpful to understand this problem.

> 
> Regards,
> 
> --
> Nélio Laranjeiro
> 6WIND

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] RSS API discussion
  2015-10-16 13:40 [dpdk-dev] RSS API discussion Lu, Wenzhuo
@ 2015-10-16 15:28 ` Nélio Laranjeiro
  2015-10-19  1:37   ` Lu, Wenzhuo
  0 siblings, 1 reply; 3+ messages in thread
From: Nélio Laranjeiro @ 2015-10-16 15:28 UTC (permalink / raw)
  To: Lu, Wenzhuo; +Cc: dev

On Fri, Oct 16, 2015 at 01:40:00PM +0000, Lu, Wenzhuo wrote:
> Hi Nélio,
>  
> > Hi Wenzhuo,
> > 
> > We should discuss about this API for a future release of DPDK because this one
> > lacks in flexibility.  Some other NICs have indirection tables with a
> > different/configurable size, and the current API does not help to manage it.
> > 
> > For ConnectX-4 I have made a lot of hacks to avoid changing the DPDK API,
> > "[dpdk-dev] [PATCH 0/3] Add RETA configuration to MLX5".
> > http://dpdk.org/ml/archives/dev/2015-October/024681.html
> > 
> > From a user point of view, to update the RETA table, the API expects the user to
> > know the size of it to update or query.  With your patchset, Intel have two
> > indirection table sizes now, with Mellanox ConnectX-4, I fixed to the size of 512
> > entries because it is not fixed by default.
> > 
> > How about discussing this in a separate thread?
> Sure, I changed the tittle.
> But I'm afraid I don't catch up with you. I have 2 questions, 1, Why the reta size cannot be predict on  Mellanox ConnectX-4? 2, I don't understand the meaning when you say the reta size is not fixed by default on Mellanox ConnectX-4.
> Would you like to give more details of the Mellanox ConnectX-4's behavior? It'll be helpful to understand this problem.

On Connexct-4 we can configure the indirection table size with any power
of two up to 512 entries.

The current API only expects RETA tables size to be a multiple of
RTE_RETA_GROUP_SIZE i.e. 64.

To handle any kind of NICs, a simple array of N (RETA table size)
elements with the data, instead of something in multiple of 64 would be
easier to use, something like:

 struct rte_eth_rss_reta_entry {
 	uint16_t idx; /* index to query/update. */
 	uint16_t reta; /* redirection value. */
 };

We should update the API to take an array of such entries plus its size.
It would also make update and query easier.

-- 
Nélio Laranjeiro
6WIND

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] RSS API discussion
  2015-10-16 15:28 ` Nélio Laranjeiro
@ 2015-10-19  1:37   ` Lu, Wenzhuo
  0 siblings, 0 replies; 3+ messages in thread
From: Lu, Wenzhuo @ 2015-10-19  1:37 UTC (permalink / raw)
  To: Nélio Laranjeiro; +Cc: dev

Hi Nélio,

> -----Original Message-----
> From: Nélio Laranjeiro [mailto:nelio.laranjeiro@6wind.com]
> Sent: Friday, October 16, 2015 11:28 PM
> To: Lu, Wenzhuo
> Cc: dev@dpdk.org; Adrien Mazarguil; Olga Shern
> Subject: Re: RSS API discussion
> 
> On Fri, Oct 16, 2015 at 01:40:00PM +0000, Lu, Wenzhuo wrote:
> > Hi Nélio,
> >
> > > Hi Wenzhuo,
> > >
> > > We should discuss about this API for a future release of DPDK
> > > because this one lacks in flexibility.  Some other NICs have
> > > indirection tables with a different/configurable size, and the current API does
> not help to manage it.
> > >
> > > For ConnectX-4 I have made a lot of hacks to avoid changing the DPDK
> > > API, "[dpdk-dev] [PATCH 0/3] Add RETA configuration to MLX5".
> > > http://dpdk.org/ml/archives/dev/2015-October/024681.html
> > >
> > > From a user point of view, to update the RETA table, the API expects
> > > the user to know the size of it to update or query.  With your
> > > patchset, Intel have two indirection table sizes now, with Mellanox
> > > ConnectX-4, I fixed to the size of 512 entries because it is not fixed by default.
> > >
> > > How about discussing this in a separate thread?
> > Sure, I changed the tittle.
> > But I'm afraid I don't catch up with you. I have 2 questions, 1, Why the reta
> size cannot be predict on  Mellanox ConnectX-4? 2, I don't understand the
> meaning when you say the reta size is not fixed by default on Mellanox
> ConnectX-4.
> > Would you like to give more details of the Mellanox ConnectX-4's behavior?
> It'll be helpful to understand this problem.
> 
> On Connexct-4 we can configure the indirection table size with any power of
> two up to 512 entries.
> 
> The current API only expects RETA tables size to be a multiple of
> RTE_RETA_GROUP_SIZE i.e. 64.
> 
> To handle any kind of NICs, a simple array of N (RETA table size) elements with
> the data, instead of something in multiple of 64 would be easier to use,
> something like:
> 
>  struct rte_eth_rss_reta_entry {
>  	uint16_t idx; /* index to query/update. */
>  	uint16_t reta; /* redirection value. */  };
> 
> We should update the API to take an array of such entries plus its size.
> It would also make update and query easier.
Agree. We should not limit the RETA table size to be multiple of 64 in RTE. Every NIC should check the RETA table size for itself.
I think the only reason the API is realized like this is that we only support Intel NICs before. We'd better change this API in the future release for the sake of all kinds of NICs.

> 
> --
> Nélio Laranjeiro
> 6WIND

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-10-19  1:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-16 13:40 [dpdk-dev] RSS API discussion Lu, Wenzhuo
2015-10-16 15:28 ` Nélio Laranjeiro
2015-10-19  1:37   ` Lu, Wenzhuo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).