On 10/6/25 14:55, David Marchand wrote:
On Mon, 6 Oct 2025 at 14:45, Thierry Herbelot
<[email protected]> wrote:

The e1000 PMD stopped working under Ubuntu-24.04 (using gcc-13) when
compiled with -O3 (default level for all DPDK code). There is a crash
when starting testpmd:

(gdb) bt
#0  rte_read32_relaxed (addr=0x1100800e00) at 
../sources/lib/eal/include/generic/rte_io.h:290
#1  rte_read32 (addr=0x1100800e00) at 
../sources/lib/eal/include/generic/rte_io.h:345
#2  e1000_read_addr (addr=0x1100800e00) at 
../sources/drivers/net/intel/e1000/base/e1000_osdep.h:106
#3  e1000_id_led_init_generic (hw=0x1586788c0) at 
../sources/drivers/net/intel/e1000/base/e1000_mac.c:1844
#4  0x000062aaf653c85f in e1000_init_hw_82540 (hw=0x1586788c0)
     at ../sources/drivers/net/intel/e1000/base/e1000_82540.c:308
#5  0x000062aaf6db8227 in em_hardware_init (hw=hw@entry=0x1586788c0)
     at ../sources/drivers/net/intel/e1000/em_ethdev.c:920
#6  0x000062aaf65340ff in em_hw_init (hw=0x1586788c0) at 
../sources/drivers/net/intel/e1000/em_ethdev.c:445
#7  eth_em_dev_init (eth_dev=eth_dev@entry=0x62aaff346000 <rte_eth_devices>)
     at ../sources/drivers/net/intel/e1000/em_ethdev.c:314
#8  0x000062aaf6db8b71 in rte_eth_dev_pci_generic_probe 
(private_data_size=11240,
     dev_init=0x62aaf6db8310 <eth_em_dev_init>, pci_dev=0x62ab2853dd90) at 
../sources/lib/ethdev/ethdev_pci.h:150
#9  eth_em_pci_probe (pci_drv=<optimized out>, pci_dev=0x62ab2853dd90)
     at ../sources/drivers/net/intel/e1000/em_ethdev.c:365
#10 0x000062aaf646adf5 in rte_pci_probe_one_driver (dr=dr@entry=0x62aaf82d8020 
<rte_em_pmd>,
     dev=dev@entry=0x62ab2853dd90) at 
../sources/drivers/bus/pci/pci_common.c:299
#11 0x000062aaf6a15f7d in pci_probe_all_drivers (dev=0x62ab2853dd90) at 
../sources/drivers/bus/pci/pci_common.c:383
#12 pci_probe () at ../sources/drivers/bus/pci/pci_common.c:410
#13 0x000062aaf7a485f3 in rte_bus_probe () at 
../sources/lib/eal/common/eal_common_bus.c:84
#14 0x000062aaf670585d in rte_eal_init (argc=argc@entry=146, 
argv=argv@entry=0x7fffca468898)
     at ../sources/lib/eal/linux/eal.c:1253

The crash is linked to the use of gcc-13: uner Ubuntu-24.04 testpmd
compiled with gcc-11 from the same DPDK tree works as expected.

The perfect solution would be for someone to investigate why the
PMD crashes. However, this depends on Maintainer availability.

A less-perfect solution is to reduce the optimization level
(like another proposal for net/qede: see Link).

Note: if more regressions are seen in less-frequently used PMDs,
       maybe we should switch the default optimization level to -O1,
       (tree-wide) and only rise the optimization level for actively
       maintained PMDs, which are proven to work as expected with
       higher optimization levels.

Link: 
http://patches.dpdk.org/project/dpdk/patch/[email protected]/
Signed-off-by: Thierry Herbelot <[email protected]>

NAK.
Please RCA this rather than hiding such an issue.

Hello David,

As said in the commit log, this is clearly a Maintainer issue, who will have the hardware documentation. The PMD is broken, and this was not seen until a new gcc is used.

We can not expect a random developer to sprinkle memory barriers in the PMD until testpmd seems to be working.

        Best regards

        Thierry


--
Thierry Herbelot

Reply via email to