Hi David

For the ?extended tag?, it was defined in PCIe spec, but actually not all BIOS 
implements it. Enabling it in BIOS or at runtime are two choices of doing the 
same thing. I don?t think it can be configured per PCI device in BIOS, so we 
don?t need to do that per PCI device in DPDK. Right? Actually we don?t want to 
touch PCIe settings in DPDK code, that?s why we want to let BIOS config as it 
is by default. If no better choice, we can do it in DPDK by changing 
configurations.

For ?CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n? by default, we want to support 32 
bytes rx descriptors by default. Two reasons:
One is 32 bytes rx descriptors can provide more powerful features, and more 
offload features.
The other is Linux PF host use 32 bytes rx descriptor by default which might 
not able to be changed, to support Linux PF host, it would be better to use 32 
bytes rx descriptors in DPDK VF by default.

Regards,
Helin

From: David Marchand [mailto:david.march...@6wind.com]
Sent: Wednesday, September 17, 2014 4:34 PM
To: Zhang, Helin
Cc: dev at dpdk.org
Subject: Re: [dpdk-dev] i40e: Steps and required configurations of how to 
achieve the best performance!

Hello,

Some questions/comments :

On Wed, Sep 17, 2014 at 6:18 AM, Zhang, Helin <helin.zhang at 
intel.com<mailto:helin.zhang at intel.com>> wrote:
-- *Extended Tag: Enabled
Note that 'Extended Tag' might not be seen in some BIOS, see 'compile settings' 
for doing that at runtime.

I am not sure I understand this point.

Either you have a bios that configures extended tag and you don't need anything 
in the dpdk or your bios does not support it and you must set it at runtime ?
Then why not just set it at runtime and we avoid touching bios config ?


5. Compile Settings:
-- Change below configuration items in config files
  CONFIG_RTE_PCI_CONFIG=y
  CONFIG_RTE_PCI_EXTENDED_TAG="on"

Why have this build option for what looks to be a runtime decision ?
Why don't we have RTE_PCI_CONFIG always set and extended tag to "on" ? (which 
means that we can get rid of these build options)

Looking at igb_uio code, I am a bit concerned that this option affects all 
"igb_uio" pci devices in dpdk.
Can you ensure me that any pci device going through igb_uio (em, igb, ixgbe 
etc... devices) will behave well with this option enabled ?

It would be better to have a per-device (or per-pmd) option.

Plus, build option should really be avoided for any feature in dpdk (and we 
have a lot of cleanup work about this ...).


  CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=y

 Why is it disabled as a default ?

Thanks.

--
David Marchand

Reply via email to