On Wed, Aug 23, 2023 at 07:10:52PM +0100, Pedro Falcato wrote: > On Wed, Aug 23, 2023 at 4:12 PM Ard Biesheuvel <a...@kernel.org> wrote: > > > > On Wed, 23 Aug 2023 at 13:08, Gerd Hoffmann <kra...@redhat.com> wrote: > > > > > > 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
QE reported back boot times without this patch are ~20-30 seconds, with this patch it can be more than 3 minutes. > 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. Also note that IoMmuDxe is only used in case memory encryption is enabled (I/O uses unencrypted bounce buffers so the host can virtio emulation can read/write stuff there). Maybe that affects performance too. Cc'ing the AMD people for comments on that. > 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... It's only a single VMEXIT per I/O request (ring the doorbell after adding a request to the ring), but still, this is heavy enough that the cmpxchg difference should be in the noise. > 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 :) I can try hack IoMmuDxe so it is used unconditionally and try reproduce locally (without sev-capable hardware), but most likely not this week. take care, Gerd -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#108000): https://edk2.groups.io/g/devel/message/108000 Mute This Topic: https://groups.io/mt/100256049/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-