Re: [dpdk-stable] [PATCH] net/sfc: specify correct scale table size on Rx start
From: Andrew Rybchenko <hidden>
Date: 2017-08-30 09:16:12
On 08/29/2017 08:03 PM, Ferruh Yigit wrote:
On 8/28/2017 1:53 PM, Andrew Rybchenko wrote:quoted
From: Ivan Malov <redacted> efx_rx_scale_tbl_set() takes the number of entries in the scale table to be set, not the size of the table in bytes; currently this bug does not make any damage since the size argument is used to wrap the loop on the input table when filling in an MCDI request in case if the table size in the MCDI request is larger then one provided by the user, and MCDI scale table size is the same as the size of the table provided by the driver; this patch brings a fix for the bug Fixes: 4ec1fc3ba881 ("net/sfc: add basic stubs for RSS support on driver attach") Cc: stable@dpdk.org Signed-off-by: Ivan Malov <redacted> Signed-off-by: Andrew Rybchenko <redacted> --- drivers/net/sfc/sfc_rx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c index 1bf8644..364f718 100644 --- a/drivers/net/sfc/sfc_rx.c +++ b/drivers/net/sfc/sfc_rx.c@@ -1068,7 +1068,7 @@ struct sfc_dp_rx sfc_efx_rx = { goto finish;It is not shown in this patch, but there is "sizeof(sa->rss_key)" usage here, since its type is uint8_t, it is not wrong, but it can be good to change that one too to RTE_DIM() both to show the intent and to be safe if in the future type updated... But this is your call to update or not.
In theory API annotation in efx.h says __in_ecount(n), so it should be element count and RTE_DIM() should be used. However, the RSS hash key semantics is just a byte string and I think it would be more correct to annotate it as __in_bcount(n) regardless element size. I'll discuss it internally, but right now I would prefer to keep it as is just to avoid code shuffling. Thanks, Andrew.