DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v3] lib/librte_vhost: update used->idx when allocation of mbuf fails
@ 2015-03-21  1:47 linhaifeng
  2015-03-21  8:41 ` Linhaifeng
  2015-03-22 12:08 ` Ouyang, Changchun
  0 siblings, 2 replies; 6+ messages in thread
From: linhaifeng @ 2015-03-21  1:47 UTC (permalink / raw)
  To: dev

From: Linhaifeng <haifeng.lin@huawei.com>

When failed to malloc buffer from mempool we just update last_used_idx but
not used->idx so after many times vhost thought have handle all packets
but virtio_net thought vhost have not handle all packets and will not
update avail->idx.

Signed-off-by: Linhaifeng <haifeng.lin@huawei.com>
---
 lib/librte_vhost/vhost_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c
index 535c7a1..510ffe8 100644
--- a/lib/librte_vhost/vhost_rxtx.c
+++ b/lib/librte_vhost/vhost_rxtx.c
@@ -609,7 +609,7 @@ rte_vhost_dequeue_burst(struct virtio_net *dev, uint16_t queue_id,
 		if (unlikely(m == NULL)) {
 			RTE_LOG(ERR, VHOST_DATA,
 				"Failed to allocate memory for mbuf.\n");
-			return entry_success;
+			break;	
 		}
 		seg_offset = 0;
 		seg_avail = m->buf_len - RTE_PKTMBUF_HEADROOM;
-- 
1.8.5.2.msysgit.0

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

* Re: [dpdk-dev] [PATCH v3] lib/librte_vhost: update used->idx when allocation of mbuf fails
  2015-03-21  1:47 [dpdk-dev] [PATCH v3] lib/librte_vhost: update used->idx when allocation of mbuf fails linhaifeng
@ 2015-03-21  8:41 ` Linhaifeng
  2015-03-22 12:08 ` Ouyang, Changchun
  1 sibling, 0 replies; 6+ messages in thread
From: Linhaifeng @ 2015-03-21  8:41 UTC (permalink / raw)
  To: dev

cc changchun.ouyang@intel.com
cc huawei.xie@intel.com

On 2015/3/21 9:47, linhaifeng wrote:
> From: Linhaifeng <haifeng.lin@huawei.com>
> 
> When failed to malloc buffer from mempool we just update last_used_idx but
> not used->idx so after many times vhost thought have handle all packets
> but virtio_net thought vhost have not handle all packets and will not
> update avail->idx.
> 
> Signed-off-by: Linhaifeng <haifeng.lin@huawei.com>
> ---
>  lib/librte_vhost/vhost_rxtx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c
> index 535c7a1..510ffe8 100644
> --- a/lib/librte_vhost/vhost_rxtx.c
> +++ b/lib/librte_vhost/vhost_rxtx.c
> @@ -609,7 +609,7 @@ rte_vhost_dequeue_burst(struct virtio_net *dev, uint16_t queue_id,
>  		if (unlikely(m == NULL)) {
>  			RTE_LOG(ERR, VHOST_DATA,
>  				"Failed to allocate memory for mbuf.\n");
> -			return entry_success;
> +			break;	
>  		}
>  		seg_offset = 0;
>  		seg_avail = m->buf_len - RTE_PKTMBUF_HEADROOM;
> 

-- 
Regards,
Haifeng

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

* Re: [dpdk-dev] [PATCH v3] lib/librte_vhost: update used->idx when allocation of mbuf fails
  2015-03-21  1:47 [dpdk-dev] [PATCH v3] lib/librte_vhost: update used->idx when allocation of mbuf fails linhaifeng
  2015-03-21  8:41 ` Linhaifeng
@ 2015-03-22 12:08 ` Ouyang, Changchun
  2015-03-24  7:14   ` Xie, Huawei
  1 sibling, 1 reply; 6+ messages in thread
From: Ouyang, Changchun @ 2015-03-22 12:08 UTC (permalink / raw)
  To: linhaifeng, dev



> -----Original Message-----
> From: linhaifeng [mailto:haifeng.lin@huawei.com]
> Sent: Saturday, March 21, 2015 9:47 AM
> To: dev@dpdk.org
> Cc: Ouyang, Changchun; Xie, Huawei
> Subject: [PATCH v3] lib/librte_vhost: update used->idx when allocation of
> mbuf fails
> 
> From: Linhaifeng <haifeng.lin@huawei.com>
> 
> When failed to malloc buffer from mempool we just update last_used_idx
> but not used->idx so after many times vhost thought have handle all packets
> but virtio_net thought vhost have not handle all packets and will not update
> avail->idx.
> 
> Signed-off-by: Linhaifeng <haifeng.lin@huawei.com>

Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>

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

* Re: [dpdk-dev] [PATCH v3] lib/librte_vhost: update used->idx when allocation of mbuf fails
  2015-03-22 12:08 ` Ouyang, Changchun
@ 2015-03-24  7:14   ` Xie, Huawei
  2015-03-24  7:46     ` Linhaifeng
  2015-03-27 11:05     ` Thomas Monjalon
  0 siblings, 2 replies; 6+ messages in thread
From: Xie, Huawei @ 2015-03-24  7:14 UTC (permalink / raw)
  To: Ouyang, Changchun; +Cc: dev

On 3/22/2015 8:08 PM, Ouyang, Changchun wrote:
>
>> -----Original Message-----
>> From: linhaifeng [mailto:haifeng.lin@huawei.com]
>> Sent: Saturday, March 21, 2015 9:47 AM
>> To: dev@dpdk.org
>> Cc: Ouyang, Changchun; Xie, Huawei
>> Subject: [PATCH v3] lib/librte_vhost: update used->idx when allocation of
>> mbuf fails
>>
>> From: Linhaifeng <haifeng.lin@huawei.com>
>>
>> When failed to malloc buffer from mempool we just update last_used_idx
>> but not used->idx so after many times vhost thought have handle all packets
>> but virtio_net thought vhost have not handle all packets and will not update
>> avail->idx.
>>
>> Signed-off-by: Linhaifeng <haifeng.lin@huawei.com>
> Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
>
>
>
Acked-by: Huawei Xie <huawei.xie@intel.com>

This patch fix the issue.
Simple solution like other PMDs is before processing one descriptor,
ensure allocation of new mbuf is successfull, and then immediately
refill after receiving the packet from the descriptor.
In future, we should consider optimized bulk allocation strategy with
threshold.





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

* Re: [dpdk-dev] [PATCH v3] lib/librte_vhost: update used->idx when allocation of mbuf fails
  2015-03-24  7:14   ` Xie, Huawei
@ 2015-03-24  7:46     ` Linhaifeng
  2015-03-27 11:05     ` Thomas Monjalon
  1 sibling, 0 replies; 6+ messages in thread
From: Linhaifeng @ 2015-03-24  7:46 UTC (permalink / raw)
  To: Xie, Huawei, Ouyang, Changchun; +Cc: dev



On 2015/3/24 15:14, Xie, Huawei wrote:
> On 3/22/2015 8:08 PM, Ouyang, Changchun wrote:
>>
>>> -----Original Message-----
>>> From: linhaifeng [mailto:haifeng.lin@huawei.com]
>>> Sent: Saturday, March 21, 2015 9:47 AM
>>> To: dev@dpdk.org
>>> Cc: Ouyang, Changchun; Xie, Huawei
>>> Subject: [PATCH v3] lib/librte_vhost: update used->idx when allocation of
>>> mbuf fails
>>>
>>> From: Linhaifeng <haifeng.lin@huawei.com>
>>>
>>> When failed to malloc buffer from mempool we just update last_used_idx
>>> but not used->idx so after many times vhost thought have handle all packets
>>> but virtio_net thought vhost have not handle all packets and will not update
>>> avail->idx.
>>>
>>> Signed-off-by: Linhaifeng <haifeng.lin@huawei.com>
>> Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
>>
>>
>>
> Acked-by: Huawei Xie <huawei.xie@intel.com>
> 
> This patch fix the issue.
> Simple solution like other PMDs is before processing one descriptor,
> ensure allocation of new mbuf is successfull, and then immediately
> refill after receiving the packet from the descriptor.
> In future, we should consider optimized bulk allocation strategy with
> threshold.
> 

Hi, huawei

THis is patch is for librte_vhost.
Do you want to ack for the other patch for virtio-net-pmd?
> 
> 
> 
> 
> 

-- 
Regards,
Haifeng

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

* Re: [dpdk-dev] [PATCH v3] lib/librte_vhost: update used->idx when allocation of mbuf fails
  2015-03-24  7:14   ` Xie, Huawei
  2015-03-24  7:46     ` Linhaifeng
@ 2015-03-27 11:05     ` Thomas Monjalon
  1 sibling, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2015-03-27 11:05 UTC (permalink / raw)
  To: Linhaifeng; +Cc: dev

> >> When failed to malloc buffer from mempool we just update last_used_idx
> >> but not used->idx so after many times vhost thought have handle all packets
> >> but virtio_net thought vhost have not handle all packets and will not update
> >> avail->idx.
> >>
> >> Signed-off-by: Linhaifeng <haifeng.lin@huawei.com>
> > Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
> Acked-by: Huawei Xie <huawei.xie@intel.com>

Applied, thanks

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

end of thread, other threads:[~2015-03-27 11:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-21  1:47 [dpdk-dev] [PATCH v3] lib/librte_vhost: update used->idx when allocation of mbuf fails linhaifeng
2015-03-21  8:41 ` Linhaifeng
2015-03-22 12:08 ` Ouyang, Changchun
2015-03-24  7:14   ` Xie, Huawei
2015-03-24  7:46     ` Linhaifeng
2015-03-27 11:05     ` Thomas Monjalon

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/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 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

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


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