serverid(s)_exist, critical path work.

Ira Cooper ira at
Thu Feb 7 04:13:31 MST 2013

>From Andrew Bartlett's review on IRC:

Why remove TDB, isn't that a step backwards?

In most cases, yes.  In this one no.  Performance clearly is improved, and
semantics aren't impacted.  In the general case I don't recommend this

You assume no PID over 1000000?

Yes, the code does.  In theory you could make it a tunable, but I suspect
the bugs it would introduce would be worse than the cure.  The whole thing
should be hidden behind a config parameter probably, but it should not be a
"toggle" you can flip once you start smbd.

The if (cache == NULL) right under where it is declared equal to NULL?

Bad merge fragment.  Will be cleaned up.  There should also be a continue;
at the end of the if block @ line 501. (Inside the if, but beneath the
inner if.)

I'll look over things again with this feedback, and get a new rev out.
 Andrew, feel free to clean up my comments as needed.  But I think I
captured what you said, here.


On Wed, Feb 6, 2013 at 10:08 AM, Ira Cooper <ira at> wrote:

> This patch should remove TDB from the critical path in serverids_exist,
> for the non-clustered case.
> This patch has NOT seen extensive testing.  It is a prototype meant to see
> what people think about the concept.
> For 3.6 a similar patch along with some other tweaking about doubled my
> site's performance.  But this patch was a key part of getting there.  That
> patch has been heavily tested.
> Opinions?  I suspect that moving the check up the function would result in
> the removal of some calls, but I don't think there's other significant
> savings.
> Thanks,
> -Ira

More information about the samba-technical mailing list