<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Fri, 2011-02-04 at 16:42 +0200, Rami Ylim&#228;ki wrote:<BR>
<BLOCKQUOTE TYPE=CITE>
    <TT><FONT COLOR="#1a1a1a">This change makes it possible to detect missing XInitThreads calls in</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">X clients. If a client hasn't called XInitThreads and enters a</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">critical section in Xlib concurrently, the client will be aborted with</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">a message informing about the missing call.</FONT></TT><BR>
    <BR>
    <TT><FONT COLOR="#1a1a1a">Enabling thread safety by default causes a minor performance</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">regression for single threaded X clients. However, the performance</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">regression is only noticeable in the worst case situation. In</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">realistic use cases the overhead from unnecessary locking is difficult</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">to see.</FONT></TT><BR>
    <BR>
    <TT><FONT COLOR="#1a1a1a">Relative x11perf results showing the amount of regression for worst</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">case and some common operations are shown below.</FONT></TT><BR>
    <BR>
    <TT><FONT COLOR="#1a1a1a">&nbsp;unlocked/locked&nbsp;&nbsp; Operation</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">----------------- ------------------------------------</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.001&nbsp;&nbsp; 500-pixel line</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.000&nbsp;&nbsp; Copy 500x500 from window to window</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.609&nbsp;&nbsp; X protocol NoOperation</FONT></TT><BR>
    <BR>
    <TT><FONT COLOR="#1a1a1a">Signed-off-by: Rami Ylim&#228;ki &lt;<A HREF="mailto:rami.ylimaki@vincit.fi">rami.ylimaki@vincit.fi</A>&gt;</FONT></TT><BR>
    <TT><FONT COLOR="#1a1a1a">Reviewed-by: Erkki Sepp&#228;l&#228; &lt;<A HREF="mailto:erkki.seppala@vincit.fi">erkki.seppala@vincit.fi</A>&gt;</FONT></TT><BR>
    <BR>
</BLOCKQUOTE>
For the configuration part,<BR>
<BR>
Reviewed-by: <TT><FONT COLOR="#1a1a1a">Gaetan Nadon &lt;<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>&gt;</FONT></TT>
</BODY>
</HTML>