From: Pauli Nieminen <[email protected]> Here is improved version of removing random empty block and wakeup handlers. First patch breaks the current handler code and extens API. That patch is most likely to cause problems. Too bad refactoring is hard to split to smaller patches.
Remaining patches I wanted to keep small and separated to make it easier to bisect if I caused any regression in any of them. The udev patch will conflict with previous patches because it does different change to same line. I hope Mark likes this patch set more than previous try to eliminate extra functions. And I have to run combined x11perf -prop with this set and previous set: ync time adjustment is 0.1203 msecs. 60000 reps @ 0.0896 msec ( 11200.0/sec): GetProperty 60000 reps @ 0.0896 msec ( 11200.0/sec): GetProperty 60000 reps @ 0.0896 msec ( 11200.0/sec): GetProperty 60000 reps @ 0.0896 msec ( 11200.0/sec): GetProperty 60000 reps @ 0.0896 msec ( 11200.0/sec): GetProperty 300000 trep @ 0.0896 msec ( 11200.0/sec): GetProperty About 0.8usec difference only that could be even inside measurement error. (This actually eliminates a NoopDDA and a random static handler in server that I run) I made some improvements to patches: * I got rid of brain damaged allocation in delete path :) * Fixed the size calculation to be simpler after deletion in handler * Added documentation for API extension (Separate new patch) Rest of patches weren't affected by this change Pauli Nieminen (11): v2 dix: Refactor block and wakup handlers udev: Don't register empty block handler dbus: Don't register empty block handler ephyr: Don't register empty wakeup handler kdrive/linux: Don't register empty block handler vfb: Don't register empty wakeup handler xfree86: Don't register empty block handler dmx: Don't register empty wakeup handler rootless: Don't register empty wakeup handler shadow: Don't register empty wakeup handler selinux: Don't register empty block handler Xext/xselinux_hooks.c | 11 +-- config/dbus-core.c | 9 +-- config/udev.c | 9 +-- dix/dixutils.c | 224 ++++++++++++++++++++++++++------------- hw/dmx/dmxsync.c | 9 +-- hw/kdrive/ephyr/ephyr.c | 14 +-- hw/kdrive/linux/linux.c | 9 +-- hw/vfb/InitOutput.c | 10 +-- hw/xfree86/common/xf86Init.c | 3 +- include/dix.h | 16 +++ miext/rootless/rootlessScreen.c | 12 +-- miext/shadow/shadow.c | 11 +-- 12 files changed, 183 insertions(+), 154 deletions(-) _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
