bug-hurd
[Top][All Lists]
Advanced

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

Making spl7 just cli/sti?


From: Samuel Thibault
Subject: Making spl7 just cli/sti?
Date: Sun, 14 Dec 2014 02:44:08 +0100
User-agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30)

Hello,

I've dug quite a bit why gnumach on kvm on kvm is slugguish.  What
happens is that spl7 (the scheduler level for interrupts) is using a
PIC mask to avoid reentrancy.  That is fine on real hardware, but in
a virtualized environment, this is very expensive since it'll need
a VMEXIT, then simulation in the host.  It happens than gnumach is
sometimes doing it a couple hundred thousand times a second!  Attached
patch2 allows to measure this, I do get 200000 during device creation at
debian installer boot.

The attached patch fixes this by making spl.S use just cli/sti for spl7;
they can be emulated fine without any VMEXIT.  This lowers the number of
PIC mask changes to a few hundreds or thousands only, and getting the
gnumach on kvm on kvm case way faster.

Does anybody with a bit of background with spl (I guess Richard?) see
any red flag here?

Samuel

Attachment: patch
Description: Text document

Attachment: patch2
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]