[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] xen/netfront: Fix TX response spurious interrupts



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+sigmsg@xxxxxxx  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.