On Fri, 2006-05-19 at 10:39 +1000, Rusty Russell wrote: > As to performance, I believe we'll need to patch the call sites for > critical insns anyway. (I'll code up something today to demonstrate > this, pref. with benchmarks). My thesis is that it won't matter that > the call through the ops table is kinda slow, because we'll be patching > over that anyway where we care. If I'm wrong, we should be able to tell > soon. OK, I created a patch to show how often the each ops get called, and ran some workloads (UP, under QEMU). As expected, the top 4 were always cli/sti/save_flags/restore_flags, and here was the percentages of those 4 of the total for each benchmark: normal usage (booted, logged in) 87.5% dbench 2 98.2% ls -lR / >/dev/null 93.4% tbench 2 96.4% ubench (~20 seconds) 95.9% Patch can be found http://kernel.org/pub/linux/kernel/people/rusty/Paravirt/counting.patch.gz and the raw data under http://kernel.org/pub/linux/kernel/people/rusty/Paravirt/stats/ Cheers! Rusty. -- ccontrol: http://ccontrol.ozlabs.org