[PATCH net-next] net: thunderx: initialize VF's mailbox mutex before first usage

2020-08-05 Thread Dean Nelson
t (52313): [] irq_exit+0x3cc/0x500 [ 28.271545] ---[ end trace a9b90324c8a0d4ee ]--- This problem is resolved by moving the call to mutex_init() up earlier in nicvf_probe(). Fixes: 609ea65c65a0 ("net: thunderx: add mutex to protect mailbox from concurrent calls for same VF") Signed-o

Re: [PATCH net v2 0/2] thunderx: fix receive buffer page recycling

2019-03-26 Thread Dean Nelson
On 3/26/19 11:18 AM, Jesper Dangaard Brouer wrote: On Tue, 26 Mar 2019 11:09:10 -0500 Dean Nelson wrote: On 3/26/19 10:53 AM, Dean Nelson wrote: In attempting to optimize receive buffer page recycling for XDP, commit 773225388dae15e72790 ("net: thunderx: Optimize page recycling fo

Re: [PATCH net v2 0/2] thunderx: fix receive buffer page recycling

2019-03-26 Thread Dean Nelson
On 3/26/19 10:53 AM, Dean Nelson wrote: In attempting to optimize receive buffer page recycling for XDP, commit 773225388dae15e72790 ("net: thunderx: Optimize page recycling for XDP") inadvertently introduced two problems for the non-XDP case, that will be addressed by this patch ser

[PATCH net v2 2/2] thunderx: eliminate extra calls to put_page() for pages held for recycling

2019-03-26 Thread Dean Nelson
dle kernel paging request...". So this patch changes nicvf_free_rbdr() to only call put_page() once for pages held for recycling (in the non-XDP case). Fixes: 773225388dae15e72790 ("net: thunderx: Optimize page recycling for XDP") Signed-off-by: Dean Nelson --- drivers/net/ethernet/cavium/th

[PATCH net v2 1/2] thunderx: enable page recycling for non-XDP case

2019-03-26 Thread Dean Nelson
he recycling of non-XDP mode pages by only setting the page pointer to NULL when the page is not ready for recycling. Fixes: 773225388dae15e72790 ("net: thunderx: Optimize page recycling for XDP") Signed-off-by: Dean Nelson --- drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 23

[PATCH net v2 0/2] thunderx: fix receive buffer page recycling

2019-03-26 Thread Dean Nelson
In attempting to optimize receive buffer page recycling for XDP, commit 773225388dae15e72790 ("net: thunderx: Optimize page recycling for XDP") inadvertently introduced two problems for the non-XDP case, that will be addressed by this patch series. Dean Nelson (2): thunderx: e

Re: [PATCH net 0/2] thunderx: fix receive buffer page recycling

2019-03-26 Thread Dean Nelson
On 3/26/19 9:04 AM, Dean Nelson wrote: In attempting to optimize receive buffer page recycling for XDP, commit 773225388dae15e72790 inadvertently introduced two problems for the non-XDP case, that will be addressed by this patch series. Dean Nelson (2): thunderx: enable page recycling for

Re: [PATCH net 1/2] thunderx: enable page recycling for non-XDP case

2019-03-26 Thread Dean Nelson
On 3/26/19 9:59 AM, Jesper Dangaard Brouer wrote: On Tue, 26 Mar 2019 09:44:19 -0500 Dean Nelson wrote: On 3/26/19 9:39 AM, Jesper Dangaard Brouer wrote: On Tue, 26 Mar 2019 10:04:47 -0400 Dean Nelson wrote: Commit 773225388dae15e72790 added code to nicvf_alloc_page() that

Re: [PATCH net 1/2] thunderx: enable page recycling for non-XDP case

2019-03-26 Thread Dean Nelson
On 3/26/19 9:39 AM, Jesper Dangaard Brouer wrote: On Tue, 26 Mar 2019 10:04:47 -0400 Dean Nelson wrote: Commit 773225388dae15e72790 added code to nicvf_alloc_page() that inadvertently disables receive buffer page recycling for the non-XDP case by always NULL'ng the page pointer. This

[PATCH net 2/2] thunderx: eliminate extra calls to put_page() for pages held for recycling

2019-03-26 Thread Dean Nelson
dr() to only call put_page() once for pages held for recycling (in the non-XDP case). Signed-off-by: Dean Nelson --- drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b/dr

[PATCH net 1/2] thunderx: enable page recycling for non-XDP case

2019-03-26 Thread Dean Nelson
inter to NULL when the page is not ready for recycling. Signed-off-by: Dean Nelson --- drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 23 +++--- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b/driver

[PATCH net 0/2] thunderx: fix receive buffer page recycling

2019-03-26 Thread Dean Nelson
In attempting to optimize receive buffer page recycling for XDP, commit 773225388dae15e72790 inadvertently introduced two problems for the non-XDP case, that will be addressed by this patch series. Dean Nelson (2): thunderx: enable page recycling for non-XDP case thunderx: eliminate extra

Re: [PATCH] net: thunderx: prevent concurrent data re-writing by nicvf_set_rx_mode

2018-06-11 Thread Dean Nelson
On 06/10/2018 02:35 PM, David Miller wrote: From: Vadim Lomovtsev Date: Fri, 8 Jun 2018 02:27:59 -0700 + /* Save message data locally to prevent them from +* being overwritten by next ndo_set_rx_mode call(). +*/ + spin_lock(&nic->rx_mode_wq_lock); + mode = vf

Re: net: thunder: change q_len's type to handle max ring size

2018-02-09 Thread Dean Nelson
On 02/08/2018 10:29 PM, Sunil Kovvuri wrote: On Fri, Feb 9, 2018 at 3:27 AM, Dean Nelson wrote: On 02/08/2018 02:34 PM, David Miller wrote: From: Dean Nelson Date: The Cavium thunder nicvf driver supports rx/tx rings of up to 65536 entries per. ... Another way to solve this could have

Re: net: thunder: change q_len's type to handle max ring size

2018-02-08 Thread Dean Nelson
On 02/08/2018 02:34 PM, David Miller wrote: From: Dean Nelson Date: The Cavium thunder nicvf driver supports rx/tx rings of up to 65536 entries per. The number of entires are stored in the q_len member of struct q_desc_mem. The problem is that q_len being a u16, results in 65536 becoming 0

net: thunder: change q_len's type to handle max ring size

2018-02-08 Thread Dean Nelson
ETDEV WATCHDOG: enP2p1s0f1 (nicvf): transmit queue 7 timed out" warning. This patch remedies the problem by changing q_len to a u32. Signed-off-by: Dean Nelson --- drivers/net/ethernet/cavium/thunder/nicvf_queues.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/d