patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks
@ 2021-03-17  5:40 Cheng Jiang
  2021-03-17  6:58 ` Hu, Jiayu
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Cheng Jiang @ 2021-03-17  5:40 UTC (permalink / raw)
  To: maxime.coquelin, chenbo.xia
  Cc: dev, jiayu.hu, yvonnex.yang, yinan.wang, Cheng Jiang, stable

We use ioat ring space for determining if ioat callbacks can enqueue a
packet to ioat device. But there is one slot can't be used in ioat
ring due to the ioat driver design, so we need to reduce one slot in
ioat ring to prevent ring size mismatch in ioat callbacks.

Fixes: 2aa47e94bfb2 ("examples/vhost: add ioat ring space count and check")
Cc: stable@dpdk.org

Signed-off-by: Cheng Jiang <Cheng1.jiang@intel.com>
---
 examples/vhost/ioat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c
index 60b73be93..9cb5e0d50 100644
--- a/examples/vhost/ioat.c
+++ b/examples/vhost/ioat.c
@@ -113,7 +113,7 @@ open_ioat(const char *value)
 			goto out;
 		}
 		rte_rawdev_start(dev_id);
-		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE;
+		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE - 1;
 		dma_info->nr++;
 		i++;
 	}
-- 
2.29.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks
  2021-03-17  5:40 [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks Cheng Jiang
@ 2021-03-17  6:58 ` Hu, Jiayu
  2021-04-07  7:47 ` Maxime Coquelin
  2021-04-28  2:09 ` Xia, Chenbo
  2 siblings, 0 replies; 7+ messages in thread
From: Hu, Jiayu @ 2021-03-17  6:58 UTC (permalink / raw)
  To: Jiang, Cheng1, maxime.coquelin, Xia, Chenbo
  Cc: dev, Yang, YvonneX, Wang, Yinan, stable

Reviewed-by: Jiayu Hu <jiayu.hu@intel.com>

> -----Original Message-----
> From: Jiang, Cheng1 <cheng1.jiang@intel.com>
> Sent: Wednesday, March 17, 2021 1:41 PM
> To: maxime.coquelin@redhat.com; Xia, Chenbo <chenbo.xia@intel.com>
> Cc: dev@dpdk.org; Hu, Jiayu <jiayu.hu@intel.com>; Yang, YvonneX
> <yvonnex.yang@intel.com>; Wang, Yinan <yinan.wang@intel.com>; Jiang,
> Cheng1 <cheng1.jiang@intel.com>; stable@dpdk.org
> Subject: [PATCH] examples/vhost: fix ioat ring space in callbacks
> 
> We use ioat ring space for determining if ioat callbacks can enqueue a
> packet to ioat device. But there is one slot can't be used in ioat
> ring due to the ioat driver design, so we need to reduce one slot in
> ioat ring to prevent ring size mismatch in ioat callbacks.
> 
> Fixes: 2aa47e94bfb2 ("examples/vhost: add ioat ring space count and check")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Cheng Jiang <Cheng1.jiang@intel.com>
> ---
>  examples/vhost/ioat.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c
> index 60b73be93..9cb5e0d50 100644
> --- a/examples/vhost/ioat.c
> +++ b/examples/vhost/ioat.c
> @@ -113,7 +113,7 @@ open_ioat(const char *value)
>  			goto out;
>  		}
>  		rte_rawdev_start(dev_id);
> -		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE;
> +		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE - 1;
>  		dma_info->nr++;
>  		i++;
>  	}
> --
> 2.29.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks
  2021-03-17  5:40 [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks Cheng Jiang
  2021-03-17  6:58 ` Hu, Jiayu
@ 2021-04-07  7:47 ` Maxime Coquelin
  2021-04-07  7:54   ` Hu, Jiayu
  2021-04-28  2:09 ` Xia, Chenbo
  2 siblings, 1 reply; 7+ messages in thread
From: Maxime Coquelin @ 2021-04-07  7:47 UTC (permalink / raw)
  To: Cheng Jiang, chenbo.xia, Thomas Monjalon
  Cc: dev, jiayu.hu, yvonnex.yang, yinan.wang, stable



On 3/17/21 6:40 AM, Cheng Jiang wrote:
> We use ioat ring space for determining if ioat callbacks can enqueue a
> packet to ioat device. But there is one slot can't be used in ioat
> ring due to the ioat driver design, so we need to reduce one slot in
> ioat ring to prevent ring size mismatch in ioat callbacks.
> 
> Fixes: 2aa47e94bfb2 ("examples/vhost: add ioat ring space count and check")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Cheng Jiang <Cheng1.jiang@intel.com>
> ---
>  examples/vhost/ioat.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c
> index 60b73be93..9cb5e0d50 100644
> --- a/examples/vhost/ioat.c
> +++ b/examples/vhost/ioat.c
> @@ -113,7 +113,7 @@ open_ioat(const char *value)
>  			goto out;
>  		}
>  		rte_rawdev_start(dev_id);
> -		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE;
> +		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE - 1;

That really comforts me in thinking we need a generic abstraction for
DMA devices. How is the application developer supposed to know that
the DMA driver has such weird limitations?

Can the driver be fixed to have a proper behavior?

>  		dma_info->nr++;
>  		i++;
>  	}
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks
  2021-04-07  7:47 ` Maxime Coquelin
@ 2021-04-07  7:54   ` Hu, Jiayu
  2021-04-13  8:50     ` Maxime Coquelin
  0 siblings, 1 reply; 7+ messages in thread
From: Hu, Jiayu @ 2021-04-07  7:54 UTC (permalink / raw)
  To: Maxime Coquelin, Jiang, Cheng1, Xia, Chenbo, Thomas Monjalon
  Cc: dev, Yang, YvonneX, Wang, Yinan, stable

Hi Maxime,

> -----Original Message-----
> From: Maxime Coquelin <maxime.coquelin@redhat.com>
> Sent: Wednesday, April 7, 2021 3:48 PM
> To: Jiang, Cheng1 <cheng1.jiang@intel.com>; Xia, Chenbo
> <chenbo.xia@intel.com>; Thomas Monjalon <thomas@monjalon.net>
> Cc: dev@dpdk.org; Hu, Jiayu <jiayu.hu@intel.com>; Yang, YvonneX
> <yvonnex.yang@intel.com>; Wang, Yinan <yinan.wang@intel.com>;
> stable@dpdk.org
> Subject: Re: [PATCH] examples/vhost: fix ioat ring space in callbacks
> 
> 
> 
> On 3/17/21 6:40 AM, Cheng Jiang wrote:
> > We use ioat ring space for determining if ioat callbacks can enqueue a
> > packet to ioat device. But there is one slot can't be used in ioat
> > ring due to the ioat driver design, so we need to reduce one slot in
> > ioat ring to prevent ring size mismatch in ioat callbacks.
> >
> > Fixes: 2aa47e94bfb2 ("examples/vhost: add ioat ring space count and
> check")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Cheng Jiang <Cheng1.jiang@intel.com>
> > ---
> >  examples/vhost/ioat.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c
> > index 60b73be93..9cb5e0d50 100644
> > --- a/examples/vhost/ioat.c
> > +++ b/examples/vhost/ioat.c
> > @@ -113,7 +113,7 @@ open_ioat(const char *value)
> >  			goto out;
> >  		}
> >  		rte_rawdev_start(dev_id);
> > -		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE;
> > +		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE - 1;
> 
> That really comforts me in thinking we need a generic abstraction for
> DMA devices. How is the application developer supposed to know that
> the DMA driver has such weird limitations?
> 
> Can the driver be fixed to have a proper behavior?

Here is the patch of providing capacity check API for DMA:
http://patches.dpdk.org/project/dpdk/patch/20210318182042.43658-6-bruce.richardson@intel.com/

Thanks,
Jiayu
> 
> >  		dma_info->nr++;
> >  		i++;
> >  	}
> >


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks
  2021-04-07  7:54   ` Hu, Jiayu
@ 2021-04-13  8:50     ` Maxime Coquelin
  2021-04-13  9:55       ` Jiang, Cheng1
  0 siblings, 1 reply; 7+ messages in thread
From: Maxime Coquelin @ 2021-04-13  8:50 UTC (permalink / raw)
  To: Hu, Jiayu, Jiang, Cheng1, Xia, Chenbo, Thomas Monjalon
  Cc: dev, Yang, YvonneX, Wang, Yinan, stable



On 4/7/21 9:54 AM, Hu, Jiayu wrote:
> Hi Maxime,
> 
>> -----Original Message-----
>> From: Maxime Coquelin <maxime.coquelin@redhat.com>
>> Sent: Wednesday, April 7, 2021 3:48 PM
>> To: Jiang, Cheng1 <cheng1.jiang@intel.com>; Xia, Chenbo
>> <chenbo.xia@intel.com>; Thomas Monjalon <thomas@monjalon.net>
>> Cc: dev@dpdk.org; Hu, Jiayu <jiayu.hu@intel.com>; Yang, YvonneX
>> <yvonnex.yang@intel.com>; Wang, Yinan <yinan.wang@intel.com>;
>> stable@dpdk.org
>> Subject: Re: [PATCH] examples/vhost: fix ioat ring space in callbacks
>>
>>
>>
>> On 3/17/21 6:40 AM, Cheng Jiang wrote:
>>> We use ioat ring space for determining if ioat callbacks can enqueue a
>>> packet to ioat device. But there is one slot can't be used in ioat
>>> ring due to the ioat driver design, so we need to reduce one slot in
>>> ioat ring to prevent ring size mismatch in ioat callbacks.
>>>
>>> Fixes: 2aa47e94bfb2 ("examples/vhost: add ioat ring space count and
>> check")
>>> Cc: stable@dpdk.org
>>>
>>> Signed-off-by: Cheng Jiang <Cheng1.jiang@intel.com>
>>> ---
>>>  examples/vhost/ioat.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c
>>> index 60b73be93..9cb5e0d50 100644
>>> --- a/examples/vhost/ioat.c
>>> +++ b/examples/vhost/ioat.c
>>> @@ -113,7 +113,7 @@ open_ioat(const char *value)
>>>  			goto out;
>>>  		}
>>>  		rte_rawdev_start(dev_id);
>>> -		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE;
>>> +		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE - 1;
>>
>> That really comforts me in thinking we need a generic abstraction for
>> DMA devices. How is the application developer supposed to know that
>> the DMA driver has such weird limitations?
>>
>> Can the driver be fixed to have a proper behavior?
> 
> Here is the patch of providing capacity check API for DMA:
> http://patches.dpdk.org/project/dpdk/patch/20210318182042.43658-6-bruce.richardson@intel.com/

OK, thanks for the pointer.

While this new API is being reviewed, and for LTS, let's pick your
patch. As soon as Bruce patch is merged, please send a new patch on top
to make use of this API.

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime

> Thanks,
> Jiayu
>>
>>>  		dma_info->nr++;
>>>  		i++;
>>>  	}
>>>
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks
  2021-04-13  8:50     ` Maxime Coquelin
@ 2021-04-13  9:55       ` Jiang, Cheng1
  0 siblings, 0 replies; 7+ messages in thread
From: Jiang, Cheng1 @ 2021-04-13  9:55 UTC (permalink / raw)
  To: Maxime Coquelin, Hu, Jiayu, Xia, Chenbo, Thomas Monjalon
  Cc: dev, Yang, YvonneX, Wang, Yinan, stable

Hi,

> -----Original Message-----
> From: Maxime Coquelin <maxime.coquelin@redhat.com>
> Sent: Tuesday, April 13, 2021 4:51 PM
> To: Hu, Jiayu <jiayu.hu@intel.com>; Jiang, Cheng1 <cheng1.jiang@intel.com>;
> Xia, Chenbo <chenbo.xia@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>
> Cc: dev@dpdk.org; Yang, YvonneX <yvonnex.yang@intel.com>; Wang, Yinan
> <yinan.wang@intel.com>; stable@dpdk.org
> Subject: Re: [PATCH] examples/vhost: fix ioat ring space in callbacks
> 
> 
> 
> On 4/7/21 9:54 AM, Hu, Jiayu wrote:
> > Hi Maxime,
> >
> >> -----Original Message-----
> >> From: Maxime Coquelin <maxime.coquelin@redhat.com>
> >> Sent: Wednesday, April 7, 2021 3:48 PM
> >> To: Jiang, Cheng1 <cheng1.jiang@intel.com>; Xia, Chenbo
> >> <chenbo.xia@intel.com>; Thomas Monjalon <thomas@monjalon.net>
> >> Cc: dev@dpdk.org; Hu, Jiayu <jiayu.hu@intel.com>; Yang, YvonneX
> >> <yvonnex.yang@intel.com>; Wang, Yinan <yinan.wang@intel.com>;
> >> stable@dpdk.org
> >> Subject: Re: [PATCH] examples/vhost: fix ioat ring space in callbacks
> >>
> >>
> >>
> >> On 3/17/21 6:40 AM, Cheng Jiang wrote:
> >>> We use ioat ring space for determining if ioat callbacks can enqueue
> >>> a packet to ioat device. But there is one slot can't be used in ioat
> >>> ring due to the ioat driver design, so we need to reduce one slot in
> >>> ioat ring to prevent ring size mismatch in ioat callbacks.
> >>>
> >>> Fixes: 2aa47e94bfb2 ("examples/vhost: add ioat ring space count and
> >> check")
> >>> Cc: stable@dpdk.org
> >>>
> >>> Signed-off-by: Cheng Jiang <Cheng1.jiang@intel.com>
> >>> ---
> >>>  examples/vhost/ioat.c | 2 +-
> >>>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c index
> >>> 60b73be93..9cb5e0d50 100644
> >>> --- a/examples/vhost/ioat.c
> >>> +++ b/examples/vhost/ioat.c
> >>> @@ -113,7 +113,7 @@ open_ioat(const char *value)
> >>>  			goto out;
> >>>  		}
> >>>  		rte_rawdev_start(dev_id);
> >>> -		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE;
> >>> +		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE - 1;
> >>
> >> That really comforts me in thinking we need a generic abstraction for
> >> DMA devices. How is the application developer supposed to know that
> >> the DMA driver has such weird limitations?
> >>
> >> Can the driver be fixed to have a proper behavior?
> >
> > Here is the patch of providing capacity check API for DMA:
> > http://patches.dpdk.org/project/dpdk/patch/20210318182042.43658-6-
> bruc
> > e.richardson@intel.com/
> 
> OK, thanks for the pointer.
> 
> While this new API is being reviewed, and for LTS, let's pick your patch. As
> soon as Bruce patch is merged, please send a new patch on top to make use
> of this API.

Sure, thanks a lot.
Cheng

> 
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> 
> Thanks,
> Maxime
> 
> > Thanks,
> > Jiayu
> >>
> >>>  		dma_info->nr++;
> >>>  		i++;
> >>>  	}
> >>>
> >


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks
  2021-03-17  5:40 [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks Cheng Jiang
  2021-03-17  6:58 ` Hu, Jiayu
  2021-04-07  7:47 ` Maxime Coquelin
@ 2021-04-28  2:09 ` Xia, Chenbo
  2 siblings, 0 replies; 7+ messages in thread
From: Xia, Chenbo @ 2021-04-28  2:09 UTC (permalink / raw)
  To: Jiang, Cheng1, maxime.coquelin
  Cc: dev, Hu, Jiayu, Yang, YvonneX, Wang, Yinan, stable

> -----Original Message-----
> From: Jiang, Cheng1 <cheng1.jiang@intel.com>
> Sent: Wednesday, March 17, 2021 1:41 PM
> To: maxime.coquelin@redhat.com; Xia, Chenbo <chenbo.xia@intel.com>
> Cc: dev@dpdk.org; Hu, Jiayu <jiayu.hu@intel.com>; Yang, YvonneX
> <yvonnex.yang@intel.com>; Wang, Yinan <yinan.wang@intel.com>; Jiang, Cheng1
> <cheng1.jiang@intel.com>; stable@dpdk.org
> Subject: [PATCH] examples/vhost: fix ioat ring space in callbacks
> 
> We use ioat ring space for determining if ioat callbacks can enqueue a
> packet to ioat device. But there is one slot can't be used in ioat
> ring due to the ioat driver design, so we need to reduce one slot in
> ioat ring to prevent ring size mismatch in ioat callbacks.
> 
> Fixes: 2aa47e94bfb2 ("examples/vhost: add ioat ring space count and check")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Cheng Jiang <Cheng1.jiang@intel.com>
> ---
>  examples/vhost/ioat.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c
> index 60b73be93..9cb5e0d50 100644
> --- a/examples/vhost/ioat.c
> +++ b/examples/vhost/ioat.c
> @@ -113,7 +113,7 @@ open_ioat(const char *value)
>  			goto out;
>  		}
>  		rte_rawdev_start(dev_id);
> -		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE;
> +		cb_tracker[dev_id].ioat_space = IOAT_RING_SIZE - 1;
>  		dma_info->nr++;
>  		i++;
>  	}
> --
> 2.29.2

Patch applied to next-virtio/main, Thanks

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-04-28  2:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-17  5:40 [dpdk-stable] [PATCH] examples/vhost: fix ioat ring space in callbacks Cheng Jiang
2021-03-17  6:58 ` Hu, Jiayu
2021-04-07  7:47 ` Maxime Coquelin
2021-04-07  7:54   ` Hu, Jiayu
2021-04-13  8:50     ` Maxime Coquelin
2021-04-13  9:55       ` Jiang, Cheng1
2021-04-28  2:09 ` Xia, Chenbo

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git