32-bit virtio failing on DPDK v23.11.1 (and tags)

Maxime Coquelin maxime.coquelin at redhat.com
Fri Sep 6 11:15:03 CEST 2024


Hello Chris,

On 9/3/24 16:43, Chris Brezovec (cbrezove) wrote:
> Hi Maxime / others,
> 
> I am just following up to see if you have had any chance to look at what 
> I previously sent and had any ideas regarding the issue.

It seems there are not a lot of people testing 32-bits builds with
Virtio if it is borken since v23.03.

As it looks important to you, could you please work in setting up a CI?

For the issue itself, nothing catch my eye for now. I will continue to
have a look.

Regards,
Maxime

> Thanks in advance!
> 
> -ChrisB
> 
> *From: *Chris Brezovec (cbrezove) <cbrezove at cisco.com>
> *Date: *Wednesday, August 28, 2024 at 5:27 PM
> *To: *dev at dpdk.org <dev at dpdk.org>, maxime.coquelin at redhat.com 
> <maxime.coquelin at redhat.com>
> *Cc: *common-dpio-core-team(mailer list) <common-dpio-core-team at cisco.com>
> *Subject: *32-bit virtio failing on DPDK v23.11.1 (and tags)
> 
> HI Maxime,
> 
> My name is Chris Brezovec, we met and talked about some 32 bit virtio 
> issues we were seeing at Cisco during the DPDK summit last year.  There 
> was also a back and forth between you and Dave Johnson at Cisco last 
> September regarding the same issue.  I have attached some of the email 
> chain from that conversation that resulted in this commit being made to 
> dpdk v23.11 
> (https://github.com/DPDK/dpdk/commit/8c41645be010ec7fa0df4f6c3790b167945154b4 <https://github.com/DPDK/dpdk/commit/8c41645be010ec7fa0df4f6c3790b167945154b4>).
> 
> We recently picked up the v23.11.1 DPDK release and saw that 32 bit 
> virtio is not working again, but 64-bit virtio is working.  We are 
> noticing CVQ timeouts - PMD receives no response from host and this 
> leads to failure of the port to start.  We were able to recreate this 
> issue using testpmd.  We have done some tracing through the virtio 
> changes made during the development of the v23.xx DPDK release, and 
> believe we have identified the following rework commit to have caused a 
> failure 
> (https://github.com/DPDK/dpdk/commit/a632f0f64ffba3553a18bdb51a670c1b603c0ce6 <https://github.com/DPDK/dpdk/commit/a632f0f64ffba3553a18bdb51a670c1b603c0ce6>).
> 
> We have also tested v23.07, v23.11, v23.11.2-rc2, v24.07 and they all 
> seem to see the same issue when running in 32-bit mode using testpmd.
> 
> We were hoping you might be able to take a quick look at the two commits 
> and see if there might be something obvious missing in the refactor work 
> that might have caused this issue.  I am thinking there might a location 
> or two in the code that should be using the VIRTIO_MBUF_ADDR() or 
> similar macro that might have been missed.
> 
> Regards,
> 
> ChrisB
> 
> This is some of the testpmd output seen on v23.11.2-rc2:
> 
> LD_LIBRARY_PATH=/home/rmelton/scratch/dpdk-v23.11.2-rc2.git/build/lib 
> /home/rmelton/scratch/dpdk-v23.11.2-rc2.git/build/app/dpdk-testpmd -l 
> 2-3 -a 0000:07:00.0 --log-level pmd.net.iavf.*,8 --log-level lib.eal.*,8 
> --log-level=lib.eal:info --log-level=lib.eal:debug 
> --log-level=lib.ethdev:info --log-level=lib.ethdev:debug 
> --log-level=lib.virtio:warning --log-level=lib.virtio:info 
> --log-level=lib.virtio:debug --log-level=pmd.*:debug --iova-mode=pa -- -i
> 
> — snip —
> 
> virtio_send_command(): vq->vq_desc_head_idx = 0, status = 255, 
> vq->hw->cvq = 0x76d9acc0 vq = 0x76d9ac80
> 
> virtio_send_command_split(): vq->vq_queue_index = 2
> 
> virtio_send_command_split(): vq->vq_free_cnt=64
> 
> vq->vq_desc_head_idx=0
> 
> virtio_dev_promiscuous_disable(): Failed to disable promisc
> 
> Failed to disable promiscuous mode for device (port 0): Resource 
> temporarily unavailable
> 
> Error during restoring configuration for device (port 0): Resource 
> temporarily unavailable
> 
> virtio_dev_stop(): stop
> 
> Fail to start port 0: Resource temporarily unavailable
> 
> Done
> 
> virtio_send_command(): vq->vq_desc_head_idx = 0, status = 255, 
> vq->hw->cvq = 0x76d9acc0 vq = 0x76d9ac80
> 
> virtio_send_command_split(): vq->vq_queue_index = 2
> 
> virtio_send_command_split(): vq->vq_free_cnt=64
> 
> vq->vq_desc_head_idx=0
> 
> virtio_dev_promiscuous_enable(): Failed to enable promisc
> 
> Error during enabling promiscuous mode for port 0: Resource temporarily 
> unavailable - ignore
> 



More information about the dev mailing list