Re: git: c499ad6f997c - main - virtio: Use bus_dma for ring and indirect buffer allocations [Really: kernel: vtnet0: watchdog timeout on queue xx]

From: Michael Butler <imb_at_protected-networks.net>
Date: Tue, 10 Mar 2026 20:46:30 UTC
Commit 1a92fc9 appears to work around the issue on amd64. Thanks!

On 3/8/26 22:40, Mark Millard wrote:
> On 3/8/26 10:39, Herbert J. Skuhra wrote:
>> On Tue, 03 Mar 2026 18:37:57 +0100, Andrew Turner wrote:
>>>
>>> The branch main has been updated by andrew:
>>>
>>> URL: https://cgit.FreeBSD.org/src/commit/?id=c499ad6f997c8c5f61c88925e6d1e826d0c0f6c4
>>>
>>> commit c499ad6f997c8c5f61c88925e6d1e826d0c0f6c4
>>> Author:     Sarah Walker <sarah.walker2@arm.com>
>>> AuthorDate: 2026-03-03 16:08:11 +0000
>>> Commit:     Andrew Turner <andrew@FreeBSD.org>
>>> CommitDate: 2026-03-03 16:29:15 +0000
>>>
>>>      virtio: Use bus_dma for ring and indirect buffer allocations
>>>      
>>>      While the majority of virtio platforms will be fully coherent, some may
>>>      require cache maintenance or other specific device memory handling (eg for
>>>      secure partitioning). Using bus_dma allows for these usecases.
>>>      
>>>      The virtio buffers are marked as coherent; this should ensure that sync
>>>      calls are no-ops in the common cases.
>>>      
>>>      Reviewed by:    andrew
>>>      Sponsored by:   Arm Ltd
>>>      Differential Revision:  https://reviews.freebsd.org/D54959
>>> ---
>>>   sys/dev/virtio/virtio_ring.h |  27 ++++--
>>>   sys/dev/virtio/virtqueue.c   | 216 +++++++++++++++++++++++++++++++++++++------
>>>   2 files changed, 209 insertions(+), 34 deletions(-)
>>
>> After this change I see a lot of "kernel: vtnet0: watchdog timeout on
>> queue xx" errors on amd64 (arm64 seems to be OK).
> 
> See below about other reports of the messages.
> 
>>
>> Reverting this commit resolves the issue.
>>
>>
> 
> freebsd-current has the following notes, implicitly referencing official
> builders doing official builds:
> 
> QUOTE
> On 3/8/26 17:10, Philip Paeps wrote:
>> On 2026-03-08 07:10:01 (+0800), Michael Butler wrote:
>>> Is anyone else seeing timeouts on virtual interfaces? e.g.
>>>
>>> Mar  7 15:00:27 george kernel: vtnet0: watchdog timeout on queue 0
>>> Mar  7 15:00:45 george kernel: vtnet0: watchdog timeout on queue 0
>>
>> I started seeing these on today's build too.
>>
>> It seems to happen more or less randomly.  I can't point at anything
>> specific that might be triggering it.
>>
>> Philip
>>
>>
> END QUOTE
>