Commit c7311654 authored by Olivier Fourdan's avatar Olivier Fourdan Committed by Adam Jackson

dix: cache ResourceClientBits() value

The `LimitClient` is set once and for all at startup, whereas the
function `ResourceClientBits()` which returns the client field offset
within the XID based on the value of `LimitClient` can be called
repeatedly.

Small optimization, cache the result of `ilog2()`, that saves running
the same loop over and over each time `ResourceClientBits()` is called.
Signed-off-by: 's avatarOlivier Fourdan <ofourdan@redhat.com>
parent 48b1af27
......@@ -620,7 +620,12 @@ ilog2(int val)
unsigned int
ResourceClientBits(void)
{
return (ilog2(LimitClients));
static unsigned int cached = 0;
if (cached == 0)
cached = ilog2(LimitClients);
return cached;
}
/*****************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment