[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?

Jan

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


More information about the dev mailing list