[ros-dev] 13090: SYSENTER support, INT2E Optimization
Ge van Geldorp
gvg at reactos.com
Mon Jan 17 20:15:37 CET 2005
> From: Alex Ionescu
Well, I have good news and I have bad news. Let's start with the good news
> This patch improves by around 15-20% (tested but not
> scientific) the speed of ReactOS on all hardware and
> virtual machines. Furthermore, it improves speed by
> over 50% (tested but not scientific) on hardware
> supporting the SYSENTER/SYSEXIT call pair.
I have done some testing using rosperf (reactos/apps/utils/rosperf) and for
some of the tests (making lots of calls into the kernel) I see a significant
improvement (larger number is better):
Small Fill, old 32400/s, new 36600/s, improvement 13%
Horizontal Lines, old 23900/s, new 28800/s, improvement 20.5%
Vertical Lines, old 15100/s, new 16800/s, improvement 11.3%
Lines, old 7930/s, new 8430/s, improvement 6.3%
Fill, old 126/s, new 126/s, unchanged
We're now beating the XP VgaSave (default non-hardware accelerated driver,
comparable to our VBE driver) for some tests: XP smallfill 32500/s, hlines
19900/s, vlines 20200/s, lines 19700/s, fill 126/s
These tests were done on a 300MHz Celeron machine.
> On VMWare however, due to causes still under investigation,
> SYSENTER/SYSEXIT must be disabled, or else there is a 3X slowdown.
> Vmwinst takes care of writing the Windows-compatible Value in the
> Registry, and it is read before choosing which kind of call
> to execute.
> This means that vmware is able to take advantage of the ~20% speedup,
> but not of all the full capability of this patch.
This is where the bad news starts. Using an older version of VMware (4.0.5
build-6030 to be exact) ReactOS causes VMware to crash soon after smss.exe
is loaded, so my guess is that this happens on the first SYSENTER. This is
bad 'cause it also happens during setup, before vmwinst has run.
Another problem: it seems we're not allowed to do floating point arithmetic
in usermode anymore. On the first floating point operation the process is
terminated with a page fault exception.
Congratulations to Alex and the other people who made this happen, I think
this is a significant step forward in performance.
Gé van Geldorp.
More information about the Ros-dev