All of lore.kernel.org
 help / color / mirror / Atom feed
* Intel 82599 tx_conf setting
@ 2014-11-05  0:43 Gyumin
       [not found] ` <545972BF.9080100-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Gyumin @ 2014-11-05  0:43 UTC (permalink / raw)
  To: dev-VfR2kkLFssw

Hi

I've read the Intel 82599 official manual and I found that optimal 
PTHRESH is the tx descriptor buffer size - N (N is CPU cache line 
divided by 16).
1. I guess the size of the tx descriptor buffer is 128. Isn't it right?
    Where is the size of the tx descriptor buffer in the official manual?

2. What it means that the TX_PTHRESH=36 in the testpmd.c?
    If the size of tx descriptor buffer is 128 then optimal thresholds 
to minimize latency are pthresh=4(cache line / 16), hthresh=0 and 
wthresh=0. Is there something I missed?


Thanks.

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

* Re: Intel 82599 tx_conf setting
       [not found] ` <545972BF.9080100-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2014-11-05 15:48   ` Jeff Shaw
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff Shaw @ 2014-11-05 15:48 UTC (permalink / raw)
  To: Gyumin; +Cc: dev-VfR2kkLFssw

On Wed, Nov 05, 2014 at 09:43:43AM +0900, Gyumin wrote:
> Hi
> 
> I've read the Intel 82599 official manual and I found that optimal 
> PTHRESH is the tx descriptor buffer size - N (N is CPU cache line 
> divided by 16).

This is sometimes true, but not always.  I believe you are referring
to section "7.2.3.4.1 Transmit Descriptor Fetch and Write-back Settings"
in the datasheet.  You'll see the PTHRESH, HTHRESH, and WTHRESH parameters
should be tuned to for your workload. You should try a few combinations
of parameters (starting with the defaults) to see which is really optimal
for your application.

> 1. I guess the size of the tx descriptor buffer is 128. Isn't it right?
>    Where is the size of the tx descriptor buffer in the official manual?

The wording in the manual may be a bit confusing. You will see the manual
refers to the "on-chip descriptor buffer size".  This is where the NIC
stores descriptors which were fetched from the actual descriptor ring in
host memory.  Section "7.2.3.3 Transmit Descriptor Ring" states that the
size of the on-chip descriptor buffer size per queue is 40.

> 
> 2. What it means that the TX_PTHRESH=36 in the testpmd.c?
>    If the size of tx descriptor buffer is 128 then optimal thresholds 
> to minimize latency are pthresh=4(cache line / 16), hthresh=0 and 
> wthresh=0. Is there something I missed?

Since the on-chip descriptor buffer size is 40, it is clear that we have
chosen reasonable defaults since 40 minus 4 is 36. I recommend you test
a few different values to see how these parameters impact the performance
characteristics of your workload.

> 
> 
> Thanks.
You're welcome.

-Jeff

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

end of thread, other threads:[~2014-11-05 15:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-05  0:43 Intel 82599 tx_conf setting Gyumin
     [not found] ` <545972BF.9080100-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-11-05 15:48   ` Jeff Shaw

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.