[SCM] Samba Shared Repository - branch v3-6-test updated
Karolin Seeger
kseeger at samba.org
Tue Aug 23 12:29:36 MDT 2011
The branch, v3-6-test has been updated
via 9bf2b30 Fix bug #8395 - optimize serverid_exists() for Solaris.
from 8d46b29 talloc: check block count aftter references test
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test
- Log -----------------------------------------------------------------
commit 9bf2b3034b4c9523bfac779e518a2a1a6d76ef46
Author: Ira Cooper <ira at wakeful.net>
Date: Mon Aug 22 12:46:41 2011 -0700
Fix bug #8395 - optimize serverid_exists() for Solaris.
jra asked:
Do you have any idea on how many calls it saves,
and what help the optimization gives ?
As far as calls: Not 100% sure, dtrace pointed the issue out to me, and when I
saw 10-50%(Or more), I looked for an easy fix.
The real expense here is the fnctl locks on the database. That's pretty
painful. 1000ns per call, and probably 3-4 calls in that chain. So it doesn't
take much to come out ahead was my math.
-----------------------------------------------------------------------
Summary of changes:
source3/lib/serverid.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/lib/serverid.c b/source3/lib/serverid.c
index b1f6a57..8cd7f5a 100644
--- a/source3/lib/serverid.c
+++ b/source3/lib/serverid.c
@@ -233,7 +233,11 @@ bool serverid_exists(const struct server_id *id)
struct serverid_key key;
TDB_DATA tdbkey;
- if (lp_clustering() && !process_exists(*id)) {
+ if (procid_is_me(id)) {
+ return true;
+ }
+
+ if (!process_exists(*id)) {
return false;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list