On Fri, Jul 11, 2025 at 07:41:02AM +0000, Anthoine Bourgeois wrote: > On Thu, Jul 10, 2025 at 01:05:47PM -0700, Elliott Mitchell wrote: > >On Thu, Jul 10, 2025 at 04:11:15PM +0000, Anthoine Bourgeois wrote: > >> We found at Vates that there are lot of spurious interrupts when > >> benchmarking the PV drivers of Xen. This issue appeared with a patch > >> that addresses security issue XSA-391 (see Fixes below). On an iperf > >> benchmark, spurious interrupts can represent up to 50% of the > >> interrupts. > > > >If this is the correct fix, near-identical fixes are needed for *all* > >of the Xen front-ends. Xen virtual block-devices and Xen PCI-passthrough > >devices are also effected by a similar issue. > > > blkfront doesn't call the response handle from multiple places. It > doesn't seem to be affected by this problem. > And pcifront neither.
Ick. I had hope it might be a single bug, or at worst a group of highly similar bugs. This may be several distinct bugs then. :-( When this bug was first reportted to xen-devel@, I noticed reports of spurious interrupts on the block backend. Due to a piece of hardware intended for pass-through, I now know it manifests on the PCI backend too. Perhaps you hadn't noticed due to caching lessening the impact of spurious events on virtual block devices? Whatever the case `ls /sys/devices/??*-[0-9]*-[0-9]*/xenbus/spurious_events` shows spurious interrupts on pretty well every virtual device for me (I plan to test the fix for net-front in the near future). > >Thanks for finding a candidate fix, this effects many other people who > >have been troubled by this performance issue. > > > >FreeBSD will also need a similar fix. > > In FreeBSD, netfront may also be affected. > xn_assemble_tx_request calls xn_txeof. > blkfront and pcifront seems good. Interestingly the problem doesn't seem nearly as severe on ARM. -- (\___(\___(\______ --=> 8-) EHM <=-- ______/)___/)___/) \BS ( | ehem+sig...@m5p.com PGP 87145445 | ) / \_CS\ | _____ -O #include <stddisclaimer.h> O- _____ | / _/ 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445