[SCM] Samba Shared Repository - branch master updated

Björn Jacke bjacke at samba.org
Tue Sep 14 14:18:32 MDT 2010


The branch, master has been updated
       via  5f6a145 s3/profiling: don't use CLOCK_PROCESS_CPUTIME_ID
      from  9c00fb4 libreplace: use CLOCK_HIGHRES when available

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 5f6a145800a9e67c638f3ee05e43bb12fafffb48
Author: Björn Jacke <bj at sernet.de>
Date:   Tue Sep 14 22:17:47 2010 +0200

    s3/profiling: don't use CLOCK_PROCESS_CPUTIME_ID
    
    that clock is a CPU burnometer but we need a chronometer for profiling.

-----------------------------------------------------------------------

Summary of changes:
 source3/include/proto.h   |    1 -
 source3/lib/util.c        |   17 -----------------
 source3/profile/profile.c |   18 ------------------
 3 files changed, 0 insertions(+), 36 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 73fe868..f089c69 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1230,7 +1230,6 @@ char *procid_str(TALLOC_CTX *mem_ctx, const struct server_id *pid);
 char *procid_str_static(const struct server_id *pid);
 bool procid_valid(const struct server_id *pid);
 bool procid_is_local(const struct server_id *pid);
-int this_is_smp(void);
 bool trans_oob(uint32_t bufsize, uint32_t offset, uint32_t length);
 bool is_offset_safe(const char *buf_base, size_t buf_len, char *ptr, size_t off);
 char *get_safe_ptr(const char *buf_base, size_t buf_len, char *ptr, size_t off);
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 315f389..3303894 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -2737,23 +2737,6 @@ bool procid_is_local(const struct server_id *pid)
 #endif
 }
 
-int this_is_smp(void)
-{
-#if defined(HAVE_SYSCONF)
-
-#if defined(SYSCONF_SC_NPROC_ONLN)
-        return (sysconf(_SC_NPROC_ONLN) > 1) ? 1 : 0;
-#elif defined(SYSCONF_SC_NPROCESSORS_ONLN)
-        return (sysconf(_SC_NPROCESSORS_ONLN) > 1) ? 1 : 0;
-#else
-	return 0;
-#endif
-
-#else
-	return 0;
-#endif
-}
-
 /****************************************************************
  Check if offset/length fit into bufsize. Should probably be
  merged with is_offset_safe, but this would require a rewrite
diff --git a/source3/profile/profile.c b/source3/profile/profile.c
index 4a61753..3e0df15 100644
--- a/source3/profile/profile.c
+++ b/source3/profile/profile.c
@@ -145,24 +145,6 @@ static void init_clock_gettime(void)
 
 	have_profiling_clock = False;
 
-#ifdef HAVE_CLOCK_PROCESS_CPUTIME_ID
-	/* CLOCK_PROCESS_CPUTIME_ID is sufficiently fast that the
-	 * always profiling times is plausible. Unfortunately on Linux
-	 * it is only accurate if we can guarantee we will not be scheduled
-	 * scheduled onto a different CPU between samples. Until there is
-	 * some way to set processor affinity, we can only use this on
-	 * uniprocessors.
-	 */
-	if (!this_is_smp()) {
-	    if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts) == 0) {
-		    DEBUG(10, ("Using CLOCK_PROCESS_CPUTIME_ID "
-				"for profile_clock\n"));
-		    __profile_clock = CLOCK_PROCESS_CPUTIME_ID;
-		    have_profiling_clock = True;
-	    }
-	}
-#endif
-
 #ifdef HAVE_CLOCK_MONOTONIC
 	if (!have_profiling_clock &&
 	    clock_gettime(CLOCK_MONOTONIC, &ts) == 0) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list