What is the PREEMPTION option good for?

Ivan Voras ivoras at fer.hr
Fri Dec 1 04:04:34 PST 2006


Robert Watson wrote:

> 
> They're independent twiddles, and can be frobbed separately.  If you can
> easily measure performance in the different configurations, seeing a
> table of permutations and results would be very nice to see what happens
> :-).

Ok, this is what I found:

- ipiwakeup doesn't produce differences as calculated by ministat
- turning off preemption produces visible differences, which are
calculated by ministat to be upto 10%.

x nopreempt+ipiwakeup
+ preempt+ipiwakeup
+--------------------------------------------------------------------------+
|+                + +        +                     x  x    xx    xx       x|
|    |___________A__M________|                       |______MA_______|     |
+--------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x   7         99.92        104.19        101.48     101.78429     1.4606717
+   4          90.5         95.78         94.12         93.53     2.2081365
Difference at 95.0% confidence
	-8.25429 +/- 2.4751
	-8.10959% +/- 2.43172%
	(Student's t, pooled s = 1.74576)


Sorry about the small number of samples - these are collected from the
system in the same state and product version (the machine was otherwise
idle, etc.), but the difference is always present - I've run simpler
benchmarks every few days since the discussion started and it's there.

This is on a low-end dual core Xeon (i.e. one socket, two cores, no HT),
enough RAM not to swap, requests/second with high concurrency on a web
application that does a lot of IPC to database & cache engines through
both TCP/localhost and unix sockets.



More information about the freebsd-arch mailing list