If someone wants to change the queue size, maybe bigger, this provides a 
formula to allow this.
There are advantages and also some disadvantages on using a larger queue.
Doubling the size does not work since 4096 is invalid and will fail 
compilation. Unless they 
researched this carefully, they may think that 2048 is the largest size 
possible. 
This is to give a hint of what values the defined value can be set to.

Mike Polehn

-----Original Message-----
From: Pravin Shelar [mailto:pshe...@nicira.com] 
Sent: Thursday, June 26, 2014 2:18 PM
To: Polehn, Mike A
Cc: dev@openvswitch.org
Subject: Re: [ovs-dev] PATCH [1/1] High speed PMD physical NIC queue size, 
resubmit

On Thu, Jun 26, 2014 at 7:08 AM, Polehn, Mike A <mike.a.pol...@intel.com> wrote:
> (n*32<4096) is the formula for calculating the buffer size. The 
> maximum size is not
> 4096 but 4096 - 32 =  4064. I ran into this issue on a different 
> project where I needed to use the largest buffers size available. 
> Often 2**n is used for queue sizing, but is not the case for the PMD driver.
>

I still not sure how is related to the patch where you set queue size of 2048.


> Mike Polehn
>
> -----Original Message-----
> From: Pravin Shelar [mailto:pshe...@nicira.com]
> Sent: Wednesday, June 25, 2014 4:19 PM
> To: Polehn, Mike A
> Cc: dev@openvswitch.org
> Subject: Re: [ovs-dev] PATCH [1/1] High speed PMD physical NIC queue 
> size, resubmit
>
> On Thu, Jun 19, 2014 at 3:58 PM, Polehn, Mike A <mike.a.pol...@intel.com> 
> wrote:
>> Large TX and RX queues are needed for high speed 10 GbE physical NICS.
>> Observed a 250% zero loss improvement over small NIC queue test for A 
>> port to port flow test.
>>
>> Signed-off-by: Mike A. Polehn <mike.a.pol...@intel.com>
> I am fine with the
>>
>> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index
>> fbdb6b3..d1bcc73 100644
>> --- a/lib/netdev-dpdk.c
>> +++ b/lib/netdev-dpdk.c
>> @@ -70,6 +70,9 @@ static struct vlog_rate_limit rl = 
>> VLOG_RATE_LIMIT_INIT(5, 20);
>>
>>  #define NON_PMD_THREAD_TX_QUEUE 0
>>
>> +#define NIC_PORT_RX_Q_SIZE 2048  /* Size of Physical NIC RX Queue 
>> +(n*32<4096)*/
>
> I am not sure what does "(n*32<4096)" means. Can you elaborate it bit?
>
>> +#define NIC_PORT_TX_Q_SIZE 2048  /* Size of Physical NIC TX Queue 
>> +(n*32<4096)*/
>> +
>>  /* TODO: Needs per NIC value for these constants. */  #define 
>> RX_PTHRESH 32 /* Default values of RX prefetch threshold reg. */ 
>> #define RX_HTHRESH 32 /* Default values of RX host threshold reg. */ 
>> @@ -369,7 +372,7 @@ dpdk_eth_dev_init(struct netdev_dpdk *dev) 
>> OVS_REQUIRES(dpdk_mutex)
>>      }
>>
>>      for (i = 0; i < NR_QUEUE; i++) {
>> -        diag = rte_eth_tx_queue_setup(dev->port_id, i, MAX_TX_QUEUE_LEN,
>> +        diag = rte_eth_tx_queue_setup(dev->port_id, i, 
>> + NIC_PORT_TX_Q_SIZE,
>>                                        dev->socket_id, &tx_conf);
>>          if (diag) {
>>              VLOG_ERR("eth dev tx queue setup error %d",diag); @@
>> -378,7 +381,7 @@ dpdk_eth_dev_init(struct netdev_dpdk *dev) 
>> OVS_REQUIRES(dpdk_mutex)
>>      }
>>
>>      for (i = 0; i < NR_QUEUE; i++) {
>> -        diag = rte_eth_rx_queue_setup(dev->port_id, i, MAX_RX_QUEUE_LEN,
>> +        diag = rte_eth_rx_queue_setup(dev->port_id, i, 
>> + NIC_PORT_RX_Q_SIZE,
>>                                        dev->socket_id,
>>                                        &rx_conf, dev->dpdk_mp->mp);
>>          if (diag) {
>>
>>
>> _______________________________________________
>> dev mailing list
>> dev@openvswitch.org
>> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to