[dpdk-dev] net/af_packet: initialize link interrupt callback queue
Checks
Commit Message
This patch initializes the eth_dev->link_intr_cbs queue which is
used when af_packet is passed into rte_eth_ev_callback_register().
Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks")
Signed-off-by: Chas Williams <3chas3@gmail.com>
---
drivers/net/af_packet/rte_eth_af_packet.c | 1 +
1 file changed, 1 insertion(+)
Comments
On Sat, 17 Dec 2016 13:03:55 -0500
Chas Williams <3chas3@gmail.com> wrote:
> This patch initializes the eth_dev->link_intr_cbs queue which is
> used when af_packet is passed into rte_eth_ev_callback_register().
>
> Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks")
>
> Signed-off-by: Chas Williams <3chas3@gmail.com>
> ---
> drivers/net/af_packet/rte_eth_af_packet.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
> index a1e13ff..ea5070a 100644
> --- a/drivers/net/af_packet/rte_eth_af_packet.c
> +++ b/drivers/net/af_packet/rte_eth_af_packet.c
> @@ -708,6 +708,7 @@ rte_pmd_init_internals(const char *name,
> (*eth_dev)->data->drv_name = pmd_af_packet_drv.driver.name;
> (*eth_dev)->data->kdrv = RTE_KDRV_NONE;
> (*eth_dev)->data->numa_node = numa_node;
> + TAILQ_INIT(&((*eth_dev)->link_intr_cbs));
This code really needs to have a local variable for eth_dev and not deref
a pointer in every statement.
On 12/17/2016 6:03 PM, Chas Williams wrote:
> This patch initializes the eth_dev->link_intr_cbs queue which is
> used when af_packet is passed into rte_eth_ev_callback_register().
Why do you want to register callback to af_packet PMD, it won't be
calling them?
>
> Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks")
>
> Signed-off-by: Chas Williams <3chas3@gmail.com>
Please cc the maintainers...
CC: John W. Linville <linville@tuxdriver.com>
> ---
> drivers/net/af_packet/rte_eth_af_packet.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
> index a1e13ff..ea5070a 100644
> --- a/drivers/net/af_packet/rte_eth_af_packet.c
> +++ b/drivers/net/af_packet/rte_eth_af_packet.c
> @@ -708,6 +708,7 @@ rte_pmd_init_internals(const char *name,
> (*eth_dev)->data->drv_name = pmd_af_packet_drv.driver.name;
> (*eth_dev)->data->kdrv = RTE_KDRV_NONE;
> (*eth_dev)->data->numa_node = numa_node;
> + TAILQ_INIT(&((*eth_dev)->link_intr_cbs));
>
> return 0;
>
>
On Tue, 2016-12-20 at 14:20 +0000, Ferruh Yigit wrote:
> On 12/17/2016 6:03 PM, Chas Williams wrote:
> > This patch initializes the eth_dev->link_intr_cbs queue which is
> > used when af_packet is passed into rte_eth_ev_callback_register().
>
> Why do you want to register callback to af_packet PMD, it won't be
> calling them?
Because I have a some other code that basically treats all the PMD's
the same way. Do I really need to write an exception for that code
that says "if this is driver such and such don't call this API routine?"
> >
> > Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks")
> >
> > Signed-off-by: Chas Williams <3chas3@gmail.com>
>
> Please cc the maintainers...
OK
>
> CC: John W. Linville <linville@tuxdriver.com>
>
> > ---
> > drivers/net/af_packet/rte_eth_af_packet.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
> > index a1e13ff..ea5070a 100644
> > --- a/drivers/net/af_packet/rte_eth_af_packet.c
> > +++ b/drivers/net/af_packet/rte_eth_af_packet.c
> > @@ -708,6 +708,7 @@ rte_pmd_init_internals(const char *name,
> > (*eth_dev)->data->drv_name = pmd_af_packet_drv.driver.name;
> > (*eth_dev)->data->kdrv = RTE_KDRV_NONE;
> > (*eth_dev)->data->numa_node = numa_node;
> > + TAILQ_INIT(&((*eth_dev)->link_intr_cbs));
> >
> > return 0;
> >
> >
>
>
On 12/20/2016 8:57 PM, Chas Williams wrote:
> On Tue, 2016-12-20 at 14:20 +0000, Ferruh Yigit wrote:
>> On 12/17/2016 6:03 PM, Chas Williams wrote:
>>> This patch initializes the eth_dev->link_intr_cbs queue which is
>>> used when af_packet is passed into rte_eth_ev_callback_register().
>>
>> Why do you want to register callback to af_packet PMD, it won't be
>> calling them?
>
> Because I have a some other code that basically treats all the PMD's
> the same way. Do I really need to write an exception for that code
> that says "if this is driver such and such don't call this API routine?"
No, you shouldn't.
Thanks for the clarification.
>
>>>
>>> Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks")
>>>
>>> Signed-off-by: Chas Williams <3chas3@gmail.com>
>>
>> Please cc the maintainers...
>
> OK
>
>>
>> CC: John W. Linville <linville@tuxdriver.com>
>>
>>> ---
>>> drivers/net/af_packet/rte_eth_af_packet.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
>>> index a1e13ff..ea5070a 100644
>>> --- a/drivers/net/af_packet/rte_eth_af_packet.c
>>> +++ b/drivers/net/af_packet/rte_eth_af_packet.c
>>> @@ -708,6 +708,7 @@ rte_pmd_init_internals(const char *name,
>>> (*eth_dev)->data->drv_name = pmd_af_packet_drv.driver.name;
>>> (*eth_dev)->data->kdrv = RTE_KDRV_NONE;
>>> (*eth_dev)->data->numa_node = numa_node;
>>> + TAILQ_INIT(&((*eth_dev)->link_intr_cbs));
>>>
>>> return 0;
>>>
>>>
>>
>>
On 12/17/2016 6:03 PM, Chas Williams wrote:
> This patch initializes the eth_dev->link_intr_cbs queue which is
> used when af_packet is passed into rte_eth_ev_callback_register().
>
> Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks")
>
> Signed-off-by: Chas Williams <3chas3@gmail.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
On 12/21/2016 3:30 PM, Ferruh Yigit wrote:
> On 12/17/2016 6:03 PM, Chas Williams wrote:
>> This patch initializes the eth_dev->link_intr_cbs queue which is
>> used when af_packet is passed into rte_eth_ev_callback_register().
>>
>> Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks")
>>
>> Signed-off-by: Chas Williams <3chas3@gmail.com>
>
> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
>
The commit that just applied solves the issue that this patch targets:
http://dpdk.org/browse/dpdk/commit/?id=75aca7997e57b017
I am updating this patch as rejected.
Thanks,
ferruh
@@ -708,6 +708,7 @@ rte_pmd_init_internals(const char *name,
(*eth_dev)->data->drv_name = pmd_af_packet_drv.driver.name;
(*eth_dev)->data->kdrv = RTE_KDRV_NONE;
(*eth_dev)->data->numa_node = numa_node;
+ TAILQ_INIT(&((*eth_dev)->link_intr_cbs));
return 0;