DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: Ouyang Changchun <changchun.ouyang@intel.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] vhost: Check descriptor number for vector Rx
Date: Fri, 24 Oct 2014 11:27:31 +0200
Message-ID: <1684003.hLxV2SOth0@xps13> (raw)
In-Reply-To: <1414139898-26562-1-git-send-email-changchun.ouyang@intel.com>

Hi Changchun,

2014-10-24 16:38, Ouyang Changchun:
> For zero copy, it need check whether RX descriptor num meets the 
> least requirement when using vector PMD Rx function, and give user 
> more hints if it fails to meet the least requirement.
[...]
> --- a/examples/vhost/main.c
> +++ b/examples/vhost/main.c
> @@ -131,6 +131,10 @@
>  #define RTE_TEST_RX_DESC_DEFAULT_ZCP 32   /* legacy: 32, DPDK virt FE: 128. */
>  #define RTE_TEST_TX_DESC_DEFAULT_ZCP 64   /* legacy: 64, DPDK virt FE: 64.  */
>  
> +#ifdef RTE_IXGBE_INC_VECTOR
> +#define VPMD_RX_BURST         32
> +#endif
> +
>  /* Get first 4 bytes in mbuf headroom. */
>  #define MBUF_HEADROOM_UINT32(mbuf) (*(uint32_t *)((uint8_t *)(mbuf) \
>  		+ sizeof(struct rte_mbuf)))
> @@ -792,6 +796,19 @@ us_vhost_parse_args(int argc, char **argv)
>  		return -1;
>  	}
>  
> +#ifdef RTE_IXGBE_INC_VECTOR
> +	if ((zero_copy == 1) && (num_rx_descriptor <= VPMD_RX_BURST)) {
> +		RTE_LOG(INFO, VHOST_PORT,
> +			"The RX desc num: %d is too small for PMD to work\n"
> +			"properly, please enlarge it to bigger than %d if\n"
> +			"possible by the option: '--rx-desc-num <number>'\n"
> +			"One alternative is disabling RTE_IXGBE_INC_VECTOR\n"
> +			"in config file and rebuild the libraries.\n",
> +			num_rx_descriptor, VPMD_RX_BURST);
> +		return -1;
> +	}
> +#endif
> +
>  	return 0;
>  }

I feel there is a design problem here.
An application shouldn't have to care about the underlying driver.

-- 
Thomas

  reply	other threads:[~2014-10-24  9:19 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-24  8:38 Ouyang Changchun
2014-10-24  9:27 ` Thomas Monjalon [this message]
2014-10-25  0:48   ` Ouyang, Changchun
2014-10-27  8:46     ` Thomas Monjalon
2014-10-27 13:55       ` Ouyang, Changchun
2014-10-29 23:37         ` Xie, Huawei
2014-10-30  0:58           ` Ouyang, Changchun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1684003.hLxV2SOth0@xps13 \
    --to=thomas.monjalon@6wind.com \
    --cc=changchun.ouyang@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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