Peter Harris
2ab70dede7
os: Restore buffer when writing to network
...
The commit 9bf46610a9 "os: Immediately
queue initial WriteToClient" effectively disables buffering (of all
writes, not just the "initial" write), since the OS's network buffers
will usually be large enough to hold whatever replies we have sent.
This does improve performance when drawing over a Unix socket (I measure
approximtely 10%, not the ~5x mentioned in that commit message, probably
due to the large changes in this area since that commit), but it
decreases performance when drawing over a network due to the additional
TCP packets. This decrease is small (~10%) in most cases, but if the two
machines have mismatched Nagle / tcp_delay settings it can cause
XGetWindowAttributes to take 200ms (because it's composed of two
requests, the 2nd of which might wait for the ack which is delayed).
Avoid network slowdowns by making the immediate flush conditional on
who->local.
Signed-off-by: Peter Harris <pharris@opentext.com>
2022-09-09 16:52:43 +00:00
..
.gitignore
dix and os: gitignore dix.O and os.O
2011-09-23 17:14:47 -07:00
access.c
xserver/os: safer IPv6 "kame hack" fix, only override sin6_scope_id if zero
2021-04-04 21:06:35 +00:00
auth.c
Clarify authorization failure reason strings sent back to the client
2019-07-23 19:50:25 +00:00
backtrace.c
os: print registers in the libunwind version of xorg_backtrace()
2022-05-23 11:20:40 -07:00
busfault.c
os: Fix iteration over busfaults
2017-02-23 09:20:48 +10:00
client.c
Fix spelling/wording issues
2020-07-05 13:07:33 -07:00
connection.c
os/connection: Improve abstraction for launchd secure sockets
2022-06-14 21:57:15 -07:00
inputthread.c
os, shm: fcntl()'s third argument is integer, not pointer
2020-12-18 09:36:30 -05:00
io.c
os: Restore buffer when writing to network
2022-09-09 16:52:43 +00:00
log.c
os: Remove support for Tiger and earlier versions of macOS
2021-02-01 16:21:39 -08:00
meson.build
meson: Use system method for locating tirpc
2022-07-01 21:38:54 +00:00
mitauth.c
os: Use memcpy() instead of memmove() when buffers are known not to overlap
2022-08-29 21:10:51 +00:00
oscolor.c
Use ARRAY_SIZE all over the tree
2017-10-30 13:45:20 -04:00
osdep.h
os: Remove mffs()
2017-11-06 17:22:46 -05:00
osinit.c
os: Make OsSignalHandler ask for core dumps for signo != SIGQUIT
2017-12-13 11:11:42 -05:00
ospoll.c
ospoll: Fix Solaris ports implementation to build on Solaris 11.4
2019-09-23 15:12:01 -07:00
ospoll.h
os: Add ospoll interface [v2]
2016-07-21 15:04:47 -04:00
reallocarray.c
Import reallocarray() from OpenBSD
2015-04-21 16:57:08 -07:00
rpcauth.c
os: Use memcpy() instead of memmove() when buffers are known not to overlap
2022-08-29 21:10:51 +00:00
strcasecmp.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
strcasestr.c
Remove unneeded include of dix.h from strcasestr.c
2019-04-30 20:07:51 +00:00
strlcat.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
strlcpy.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
strndup.c
os: Ensure <dix-config.h> is included in strndup.c
2013-02-14 09:20:46 -08:00
timingsafe_memcmp.c
timingsafe_memcmp: Fix meson build
2017-05-10 10:56:16 -04:00
utils.c
os: Use memcpy() instead of memmove() when buffers are known not to overlap
2022-08-29 21:10:51 +00:00
WaitFor.c
os: Recompute whether any clients are ready after check_timers()
2018-06-26 17:03:32 -07:00
xdmauth.c
os: Use memcpy() instead of memmove() when buffers are known not to overlap
2022-08-29 21:10:51 +00:00
xdmcp.c
os: Use memcpy() instead of memmove() when buffers are known not to overlap
2022-08-29 21:10:51 +00:00
xprintf.c
os/xprintf: add Xvscnprintf and Xscnprintf
2012-05-03 14:59:23 +10:00
xserver_poll.c
os: Fix build of xserver_poll.c on MinGW
2019-05-18 14:59:38 +00:00
xsha1.c
os: unbreak xsha1 on FreeBSD
2020-05-27 07:15:07 +00:00
xstrans.c
Clean up a couple of warnings in os/
2013-10-31 16:58:12 -07:00