[dpdk-dev,2/2] enic: fix hash creation when not using first numa node

Message ID 1441958551-29313-2-git-send-email-david.marchand@6wind.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

David Marchand Sept. 11, 2015, 8:02 a.m. UTC
If dpdk is run with memory only available on socket != 0, then hash
creation will fail and flow director feature won't be available.
Fix this by asking for allocation on caller socket.

Signed-off-by: David Marchand <david.marchand@6wind.com>
---
 drivers/net/enic/enic_clsf.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
  

Comments

Sujith Sankar Sept. 11, 2015, 8:29 a.m. UTC | #1
On 11/09/15 1:32 pm, "David Marchand" <david.marchand@6wind.com> wrote:

>If dpdk is run with memory only available on socket != 0, then hash
>creation will fail and flow director feature won't be available.
>Fix this by asking for allocation on caller socket.
>
>Signed-off-by: David Marchand <david.marchand@6wind.com>
>---
> drivers/net/enic/enic_clsf.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
>diff --git a/drivers/net/enic/enic_clsf.c b/drivers/net/enic/enic_clsf.c
>index 656b25b..e7416ce 100644
>--- a/drivers/net/enic/enic_clsf.c
>+++ b/drivers/net/enic/enic_clsf.c
>@@ -61,7 +61,6 @@
> #define DEFAULT_HASH_FUNC       rte_jhash
> #endif
> 
>-#define SOCKET_0                0
> #define ENICPMD_CLSF_HASH_ENTRIES       ENICPMD_FDIR_MAX
> 
> void enic_fdir_stats_get(struct enic *enic, struct rte_eth_fdir_stats
>*stats)
>@@ -247,7 +246,7 @@ int enic_clsf_init(struct enic *enic)
> 		.key_len = sizeof(struct rte_eth_fdir_filter),
> 		.hash_func = DEFAULT_HASH_FUNC,
> 		.hash_func_init_val = 0,
>-		.socket_id = SOCKET_0,
>+		.socket_id = SOCKET_ID_ANY,
> 	};
> 
> 	enic->fdir.hash = rte_hash_create(&hash_params);
>--

Acked by: Sujith Sankar <ssujith@cisco.com>


> 
>1.9.1
>
  
Thomas Monjalon Oct. 20, 2015, 7:34 p.m. UTC | #2
> >If dpdk is run with memory only available on socket != 0, then hash
> >creation will fail and flow director feature won't be available.
> >Fix this by asking for allocation on caller socket.
> >
> >Signed-off-by: David Marchand <david.marchand@6wind.com>
> 
> Acked by: Sujith Sankar <ssujith@cisco.com>

Series applied, thanks.
  

Patch

diff --git a/drivers/net/enic/enic_clsf.c b/drivers/net/enic/enic_clsf.c
index 656b25b..e7416ce 100644
--- a/drivers/net/enic/enic_clsf.c
+++ b/drivers/net/enic/enic_clsf.c
@@ -61,7 +61,6 @@ 
 #define DEFAULT_HASH_FUNC       rte_jhash
 #endif
 
-#define SOCKET_0                0
 #define ENICPMD_CLSF_HASH_ENTRIES       ENICPMD_FDIR_MAX
 
 void enic_fdir_stats_get(struct enic *enic, struct rte_eth_fdir_stats *stats)
@@ -247,7 +246,7 @@  int enic_clsf_init(struct enic *enic)
 		.key_len = sizeof(struct rte_eth_fdir_filter),
 		.hash_func = DEFAULT_HASH_FUNC,
 		.hash_func_init_val = 0,
-		.socket_id = SOCKET_0,
+		.socket_id = SOCKET_ID_ANY,
 	};
 
 	enic->fdir.hash = rte_hash_create(&hash_params);