[dpdk-dev] vhost-switch example: huge memory need and CRC off-loading issue

Jan Kiszka jan.kiszka at siemens.com
Sat Aug 8 09:17:51 CEST 2015

On 2015-08-08 02:39, Ouyang, Changchun wrote:
>> -----Original Message-----
>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jan Kiszka
>> Sent: Saturday, August 8, 2015 1:31 AM
>> To: dev at dpdk.org
>> Subject: [dpdk-dev] vhost-switch example: huge memory need and CRC off-
>> loading issue
>> Hi again,
>> two findings in the vhost-switch example code that can cause grey hair for
>> starters:
>> - MAX_QUEUES of 512 causes pretty high memory need for the application
>>   (something between 1 and 2G) - is that really needed? I'm now running
>>   with 32, and I'm able to get away with 256M. Can we tune this
>>   default?
> Don't think we need change default just because your platform is 32,
> Well, my platform is 128, other platform may have other value, :-)

Then let's make it configurable or explore the actual device needs
before allocating the buffer. The impact on memory consumption is way
too big to hard-code this, specifically as this is per physical port IIUC.

>> - hw_strip_crc is set to 0, but either the igb driver or the ET2 quad
>>   port adapter I'm using is ignoring this. It does strip the CRC, so
> Igb and ET2 should NOT ignore it.

Well, they do not listen to us. What can I do to debug this?

According to eth_igb_rx_init, hw_strip_crc affects E1000_RCTL_SECRC in
the receiver control registers, and debugging confirms this (the bit is
unset in all E1000_RCTL accesses). But there is still no CRC at the end
of received packets. Possibly, there is some other knob that controls
CRC stripping?


Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux

More information about the dev mailing list