[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
patch
Description: Text document
patch2
Description: Text document
- Making spl7 just cli/sti?,
Samuel Thibault <=