* [dpdk-dev] [PATCH] net/vhost: Initialise vid to -1
@ 2018-04-27 14:19 Ciara Loftus
2018-04-27 14:36 ` Maxime Coquelin
0 siblings, 1 reply; 6+ messages in thread
From: Ciara Loftus @ 2018-04-27 14:19 UTC (permalink / raw)
To: dev
rte_eth_vhost_get_vid_from_port_id returns a value of 0 if called before
the first call to the new_device callback. A vid value >=0 suggests the
device is active which is not the case in this instance. Initialise vid
to a negative value to prevent this.
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
---
drivers/net/vhost/rte_eth_vhost.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index 99a7727..f47950c 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1051,6 +1051,7 @@ eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
return -ENOMEM;
}
+ vq->vid = -1;
vq->mb_pool = mb_pool;
vq->virtqueue_id = rx_queue_id * VIRTIO_QNUM + VIRTIO_TXQ;
dev->data->rx_queues[rx_queue_id] = vq;
--
2.7.5
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH] net/vhost: Initialise vid to -1
2018-04-27 14:19 [dpdk-dev] [PATCH] net/vhost: Initialise vid to -1 Ciara Loftus
@ 2018-04-27 14:36 ` Maxime Coquelin
2018-04-30 13:57 ` Loftus, Ciara
0 siblings, 1 reply; 6+ messages in thread
From: Maxime Coquelin @ 2018-04-27 14:36 UTC (permalink / raw)
To: Ciara Loftus, dev
On 04/27/2018 04:19 PM, Ciara Loftus wrote:
> rte_eth_vhost_get_vid_from_port_id returns a value of 0 if called before
> the first call to the new_device callback. A vid value >=0 suggests the
> device is active which is not the case in this instance. Initialise vid
> to a negative value to prevent this.
>
> Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
> ---
> drivers/net/vhost/rte_eth_vhost.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
> index 99a7727..f47950c 100644
> --- a/drivers/net/vhost/rte_eth_vhost.c
> +++ b/drivers/net/vhost/rte_eth_vhost.c
> @@ -1051,6 +1051,7 @@ eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
> return -ENOMEM;
> }
>
> + vq->vid = -1;
> vq->mb_pool = mb_pool;
> vq->virtqueue_id = rx_queue_id * VIRTIO_QNUM + VIRTIO_TXQ;
> dev->data->rx_queues[rx_queue_id] = vq;
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH] net/vhost: Initialise vid to -1
2018-04-27 14:36 ` Maxime Coquelin
@ 2018-04-30 13:57 ` Loftus, Ciara
2018-05-03 13:18 ` Loftus, Ciara
0 siblings, 1 reply; 6+ messages in thread
From: Loftus, Ciara @ 2018-04-30 13:57 UTC (permalink / raw)
To: Maxime Coquelin, dev
>
> On 04/27/2018 04:19 PM, Ciara Loftus wrote:
> > rte_eth_vhost_get_vid_from_port_id returns a value of 0 if called before
> > the first call to the new_device callback. A vid value >=0 suggests the
> > device is active which is not the case in this instance. Initialise vid
> > to a negative value to prevent this.
> >
> > Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
> > ---
> > drivers/net/vhost/rte_eth_vhost.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/vhost/rte_eth_vhost.c
> b/drivers/net/vhost/rte_eth_vhost.c
> > index 99a7727..f47950c 100644
> > --- a/drivers/net/vhost/rte_eth_vhost.c
> > +++ b/drivers/net/vhost/rte_eth_vhost.c
> > @@ -1051,6 +1051,7 @@ eth_rx_queue_setup(struct rte_eth_dev *dev,
> uint16_t rx_queue_id,
> > return -ENOMEM;
> > }
> >
> > + vq->vid = -1;
> > vq->mb_pool = mb_pool;
> > vq->virtqueue_id = rx_queue_id * VIRTIO_QNUM + VIRTIO_TXQ;
> > dev->data->rx_queues[rx_queue_id] = vq;
> >
>
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>
> Thanks,
> Maxime
On second thoughts, self-NACK.
We need to provision for the case where we want to call eth_rx_queue_setup AFTER new_device. For instance when we want to change the mb_pool. In this case we need to maintain the same vid and not reset it to -1.
Without this patch the original problem still exists and need to find an alternative workaround.
Thanks,
Ciara
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH] net/vhost: Initialise vid to -1
2018-04-30 13:57 ` Loftus, Ciara
@ 2018-05-03 13:18 ` Loftus, Ciara
2018-05-04 13:09 ` Maxime Coquelin
0 siblings, 1 reply; 6+ messages in thread
From: Loftus, Ciara @ 2018-05-03 13:18 UTC (permalink / raw)
To: dev; +Cc: Maxime Coquelin, Chen, Junjie J
>
> >
> > On 04/27/2018 04:19 PM, Ciara Loftus wrote:
> > > rte_eth_vhost_get_vid_from_port_id returns a value of 0 if called before
> > > the first call to the new_device callback. A vid value >=0 suggests the
> > > device is active which is not the case in this instance. Initialise vid
> > > to a negative value to prevent this.
> > >
> > > Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
> > > ---
> > > drivers/net/vhost/rte_eth_vhost.c | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/net/vhost/rte_eth_vhost.c
> > b/drivers/net/vhost/rte_eth_vhost.c
> > > index 99a7727..f47950c 100644
> > > --- a/drivers/net/vhost/rte_eth_vhost.c
> > > +++ b/drivers/net/vhost/rte_eth_vhost.c
> > > @@ -1051,6 +1051,7 @@ eth_rx_queue_setup(struct rte_eth_dev *dev,
> > uint16_t rx_queue_id,
> > > return -ENOMEM;
> > > }
> > >
> > > + vq->vid = -1;
> > > vq->mb_pool = mb_pool;
> > > vq->virtqueue_id = rx_queue_id * VIRTIO_QNUM + VIRTIO_TXQ;
> > > dev->data->rx_queues[rx_queue_id] = vq;
> > >
> >
> > Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> >
> > Thanks,
> > Maxime
>
> On second thoughts, self-NACK.
>
> We need to provision for the case where we want to call
> eth_rx_queue_setup AFTER new_device. For instance when we want to
> change the mb_pool. In this case we need to maintain the same vid and not
> reset it to -1.
>
> Without this patch the original problem still exists and need to find an
> alternative workaround.
Junjie's patches fix the issue I was observing. Thanks Junjie!
https://dpdk.org/browse/dpdk/commit/?id=30a701a53737a0b6f7953412cc3b3d36c1d49122
https://dpdk.org/browse/dpdk/commit/?id=e6722dee533cda3756fbc5c9ea4ddfbf30276f1b
Along with the v2 of this patch could they be considered for the 17.11 stable branch?
Thanks,
Ciara
>
> Thanks,
> Ciara
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH] net/vhost: Initialise vid to -1
2018-05-03 13:18 ` Loftus, Ciara
@ 2018-05-04 13:09 ` Maxime Coquelin
2018-05-07 3:18 ` Chen, Junjie J
0 siblings, 1 reply; 6+ messages in thread
From: Maxime Coquelin @ 2018-05-04 13:09 UTC (permalink / raw)
To: Loftus, Ciara, dev; +Cc: Chen, Junjie J
On 05/03/2018 03:18 PM, Loftus, Ciara wrote:
>>
>>>
>>> On 04/27/2018 04:19 PM, Ciara Loftus wrote:
>>>> rte_eth_vhost_get_vid_from_port_id returns a value of 0 if called before
>>>> the first call to the new_device callback. A vid value >=0 suggests the
>>>> device is active which is not the case in this instance. Initialise vid
>>>> to a negative value to prevent this.
>>>>
>>>> Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
>>>> ---
>>>> drivers/net/vhost/rte_eth_vhost.c | 1 +
>>>> 1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/drivers/net/vhost/rte_eth_vhost.c
>>> b/drivers/net/vhost/rte_eth_vhost.c
>>>> index 99a7727..f47950c 100644
>>>> --- a/drivers/net/vhost/rte_eth_vhost.c
>>>> +++ b/drivers/net/vhost/rte_eth_vhost.c
>>>> @@ -1051,6 +1051,7 @@ eth_rx_queue_setup(struct rte_eth_dev *dev,
>>> uint16_t rx_queue_id,
>>>> return -ENOMEM;
>>>> }
>>>>
>>>> + vq->vid = -1;
>>>> vq->mb_pool = mb_pool;
>>>> vq->virtqueue_id = rx_queue_id * VIRTIO_QNUM + VIRTIO_TXQ;
>>>> dev->data->rx_queues[rx_queue_id] = vq;
>>>>
>>>
>>> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>>>
>>> Thanks,
>>> Maxime
>>
>> On second thoughts, self-NACK.
>>
>> We need to provision for the case where we want to call
>> eth_rx_queue_setup AFTER new_device. For instance when we want to
>> change the mb_pool. In this case we need to maintain the same vid and not
>> reset it to -1.
>>
>> Without this patch the original problem still exists and need to find an
>> alternative workaround.
>
> Junjie's patches fix the issue I was observing. Thanks Junjie!
> https://dpdk.org/browse/dpdk/commit/?id=30a701a53737a0b6f7953412cc3b3d36c1d49122
> https://dpdk.org/browse/dpdk/commit/?id=e6722dee533cda3756fbc5c9ea4ddfbf30276f1b
>
> Along with the v2 of this patch could they be considered for the 17.11 stable branch?
Yes, I think it is a good idea.
It wasn't planned for -stable initially as it fixed a new use-case in
v18.05.
Junjie, can you please generate a backport against v17.11 and post it to
stable@dpdk.org, adding "PATCH v17.11 LTS" as subject prefix, and using
-x option of when cherry-picking so that it references the patches in
master?
Thanks in advance,
Maxime
> Thanks,
> Ciara
>
>>
>> Thanks,
>> Ciara
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH] net/vhost: Initialise vid to -1
2018-05-04 13:09 ` Maxime Coquelin
@ 2018-05-07 3:18 ` Chen, Junjie J
0 siblings, 0 replies; 6+ messages in thread
From: Chen, Junjie J @ 2018-05-07 3:18 UTC (permalink / raw)
To: Maxime Coquelin, Loftus, Ciara, dev
Hi Maxime
I saw Yuanhan already did this. Two patches already in 17.11 LTS.
Cheers
JJ
> -----Original Message-----
> From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com]
> Sent: Friday, May 4, 2018 9:09 PM
> To: Loftus, Ciara <ciara.loftus@intel.com>; dev@dpdk.org
> Cc: Chen, Junjie J <junjie.j.chen@intel.com>
> Subject: Re: [dpdk-dev] [PATCH] net/vhost: Initialise vid to -1
>
>
>
> On 05/03/2018 03:18 PM, Loftus, Ciara wrote:
> >>
> >>>
> >>> On 04/27/2018 04:19 PM, Ciara Loftus wrote:
> >>>> rte_eth_vhost_get_vid_from_port_id returns a value of 0 if called
> >>>> before the first call to the new_device callback. A vid value >=0
> >>>> suggests the device is active which is not the case in this
> >>>> instance. Initialise vid to a negative value to prevent this.
> >>>>
> >>>> Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
> >>>> ---
> >>>> drivers/net/vhost/rte_eth_vhost.c | 1 +
> >>>> 1 file changed, 1 insertion(+)
> >>>>
> >>>> diff --git a/drivers/net/vhost/rte_eth_vhost.c
> >>> b/drivers/net/vhost/rte_eth_vhost.c
> >>>> index 99a7727..f47950c 100644
> >>>> --- a/drivers/net/vhost/rte_eth_vhost.c
> >>>> +++ b/drivers/net/vhost/rte_eth_vhost.c
> >>>> @@ -1051,6 +1051,7 @@ eth_rx_queue_setup(struct rte_eth_dev *dev,
> >>> uint16_t rx_queue_id,
> >>>> return -ENOMEM;
> >>>> }
> >>>>
> >>>> + vq->vid = -1;
> >>>> vq->mb_pool = mb_pool;
> >>>> vq->virtqueue_id = rx_queue_id * VIRTIO_QNUM + VIRTIO_TXQ;
> >>>> dev->data->rx_queues[rx_queue_id] = vq;
> >>>>
> >>>
> >>> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> >>>
> >>> Thanks,
> >>> Maxime
> >>
> >> On second thoughts, self-NACK.
> >>
> >> We need to provision for the case where we want to call
> >> eth_rx_queue_setup AFTER new_device. For instance when we want to
> >> change the mb_pool. In this case we need to maintain the same vid and
> >> not reset it to -1.
> >>
> >> Without this patch the original problem still exists and need to find
> >> an alternative workaround.
> >
> > Junjie's patches fix the issue I was observing. Thanks Junjie!
> >
> https://dpdk.org/browse/dpdk/commit/?id=30a701a53737a0b6f7953412cc3b3
> d
> > 36c1d49122
> >
> https://dpdk.org/browse/dpdk/commit/?id=e6722dee533cda3756fbc5c9ea4dd
> f
> > bf30276f1b
> >
> > Along with the v2 of this patch could they be considered for the 17.11 stable
> branch?
>
> Yes, I think it is a good idea.
> It wasn't planned for -stable initially as it fixed a new use-case in v18.05.
>
> Junjie, can you please generate a backport against v17.11 and post it to
> stable@dpdk.org, adding "PATCH v17.11 LTS" as subject prefix, and using -x
> option of when cherry-picking so that it references the patches in master?
>
> Thanks in advance,
> Maxime
> > Thanks,
> > Ciara
> >
> >>
> >> Thanks,
> >> Ciara
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-05-07 3:18 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-27 14:19 [dpdk-dev] [PATCH] net/vhost: Initialise vid to -1 Ciara Loftus
2018-04-27 14:36 ` Maxime Coquelin
2018-04-30 13:57 ` Loftus, Ciara
2018-05-03 13:18 ` Loftus, Ciara
2018-05-04 13:09 ` Maxime Coquelin
2018-05-07 3:18 ` Chen, Junjie J
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).