On Wed, Oct 28, 2026 at 01:44:30PM +0100, Dragos Tatulea wrote:
> Hi,
> 
> We've started seeing regressions for a while in our verification CI for
> vDPA Live Migration tests. Occasionally the FW returns a syndrome
> related to invalid mappings during device reset.
> 
> We've narrowed this down to commit 1ed35ac7f3fe "vhost_iotlb: bound map
> allocation in add_range" which limits the iotlbs to 2K by default. On a
> host with fragmented memory you can get easily more than 2K entries.
> This results in truncated/incomplete iotlbs mapped to the device and when
> the rings happen to be outside of the first 2K mappings the FW will complain
> because it got addresses that are not mapped.
> 
> I'm not sure how to fix this though:
> 
> - LLM suggests setting the 2K limit only in VA mode and using 0 as
>   before in PA mode because PA mode is limited anyway. Does this
>   work?

Well no, we do need the limit in PA mode I think.

But we should maybe  bound from what's actually being mapped rather than
a fixed count. e.g. X entries per pinned page? Bounding by bytes instead
of entry count is another option.

Also 0 is now rejected.



> - Can we detect this and reject the device / stop the device at boot time?
>   Probably not as this doesn't cover Live Migration.

Exactly. Besides, failure is not at boot.

> 
> Any thoughts?

Does boosting max_iotlb_entries help?
vhost_vdpa.max_iotlb_entries=65536? Or sized to guest RAM?



> 
> Thanks,
> Dragos


Reply via email to