summaryrefslogtreecommitdiff
path: root/dix/enterleave.c
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2016-04-01 22:44:26 -0400
committerAdam Jackson <ajax@redhat.com>2016-05-04 10:58:01 -0400
commit137ac094e7ab8c871f3b36e40ad826ac797f0e26 (patch)
tree176d84564ba28a563152634d5726ada7ce613969 /dix/enterleave.c
parentac164e58870d70640381e68b776eb95578c7fbd3 (diff)
dix: Push UpdateCurrentTimeIf down out of the main loop
This was added in: commit 312910b4e34215aaa50fc0c6092684d5878dc32f Author: Chase Douglas <chase.douglas@canonical.com> Date: Wed Apr 18 11:15:40 2012 -0700 Update currentTime in dispatch loop Unfortunately this is equivalent to calling GetTimeInMillis() once per request. In the absolute best case (as on Linux) you're only hitting the vDSO; on other platforms that's a syscall. Either way it puts a pretty hard ceiling on request throughput. Instead, push the call down to the requests that need it; basically, grab processing and event generation. Cc: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'dix/enterleave.c')
-rw-r--r--dix/enterleave.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/dix/enterleave.c b/dix/enterleave.c
index f0b1572fb..0fba8bdee 100644
--- a/dix/enterleave.c
+++ b/dix/enterleave.c
@@ -782,6 +782,7 @@ DeviceFocusEvent(DeviceIntPtr dev, int type, int mode, int detail,
DeviceIntPtr mouse;
int btlen, len, i;
+ UpdateCurrentTimeIf();
mouse = IsFloating(dev) ? dev : GetMaster(dev, MASTER_POINTER);
/* XI 2 event */