• Chris Wilson's avatar
    os: Immediately queue initial WriteToClient · 645b757d
    Chris Wilson authored
     Backported from X.org:
    
     commit 9bf46610a9d20962854016032de4567974e87957
     Author: Chris Wilson <chris@chris-wilson.co.uk>
     Date:   Fri Jun 21 22:58:31 2013 +0100
    
        os: Immediately queue initial WriteToClient
    
        If we immediately put the WriteToClient() buffer into the socket's write
        queue, not only do we benefit from sending the response back to client
        earlier, but we also avoid the overhead of copying the data into our own
        staging buffer and causing extra work in the next select(). The write is
        effectively free as typically we may only send one reply per client per
        select() call, so the cost of the FlushClient() is the same.
    
        shmget10:   26400 -> 110000
        getimage10: 25000 -> 108000
    
        shmget500:   3160 -> 13500
        getimage500: 1000 -> 1010
    
        The knock-on effect is that on a mostly idle composited desktop, the CPU
        overhead is dominated by the memmove in WriteToClient, which is in turn
        eliminated by this patch.
    Reviewed-by: 's avatarAdam Jackson <ajax@redhat.com>
    Signed-off-by: 's avatarChris Wilson <chris@chris-wilson.co.uk>
    Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
    645b757d
Name
Last commit
Last update
..
Xserver Loading commit data...
Imakefile Loading commit data...