[edk2-devel] [RFC/RFT PATCH] OvmfPkg/IoMmuDxe: don't rely on TPLs for re-entrancy

Pedro Falcato pedro.falcato at gmail.com
Wed Aug 23 18:10:52 UTC 2023


On Wed, Aug 23, 2023 at 4:12 PM Ard Biesheuvel <ardb at kernel.org> wrote:
>
> On Wed, 23 Aug 2023 at 13:08, Gerd Hoffmann <kraxel at redhat.com> wrote:
> >
> > On Tue, Aug 22, 2023 at 09:57:12AM +0200, Ard Biesheuvel wrote:
> > > On Tue, 22 Aug 2023 at 08:25, Gerd Hoffmann <kraxel at redhat.com> wrote:
> > > >
> > > > Looks good to me.
> > > >
> > > > What is the status?  Merged?  Or waiting for testing still?  If so I can
> > > > create a test build with the patch and ask our QE department to check
> > > > it.
> > > >
> > >
> > > Still waiting for testing, so yes, please test.
> >
> > Hmm, QE reports back it slows down the boot alot.  No boot hangs yet
> > with 12 test runs so far, which isn't that much for a reproduce rate
> > below 20% ...
> >
> > https://bugzilla.redhat.com//show_bug.cgi?id=2211060#c28
> >
> > So I guess we go with the TPL version for the coming stable tag and
> > leave any improvements for later ...
> >
>
> Yeah, this was not going to make the stable tag in any case.
>
> The boot speed regression seems odd, though - this is effectively UP
> code so there shouldn't be any contention, the only thing this patch
> does is ensure that the critical section is restarted if it was
> interrupted

FWIW: Given completely correct logic, straightforward logic, a lock
cmpxchg is much slower(3-4x) than an a non-lock cmpxchg, which itself
is around 2x as slow as a regular relaxed load + store.
See https://gist.github.com/heatd/49c9be23ccb1f4ad8dfeac231da2647a for
a nice fun test benchmark.

HOWEVER, given this is likely in IO paths, I would *really* not expect
this to make a difference, right? Even virtio drivers will themselves
trap with a VMEXIT whenever you touch a hardware register...

Gerd, could you folks get a perf kvm (perf-kvm(1)) recording out of
that OVMF build? Assuming you can get that thing to work, that is,
personally it mysteriously stopped working 6 years ago for me :)

-- 
Pedro


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#107988): https://edk2.groups.io/g/devel/message/107988
Mute This Topic: https://groups.io/mt/100256049/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list