[ovs-dev] [RFC 10/10] ovs-thread: Removed old unused ovsthread_stats
Daniele Di Proietto
ddiproietto at vmware.com
Wed Oct 8 21:09:56 UTC 2014
Signed-off-by: Daniele Di Proietto <ddiproietto at vmware.com>
---
lib/ovs-thread.c | 48 ------------------------------------------------
lib/ovs-thread.h | 32 --------------------------------
2 files changed, 80 deletions(-)
diff --git a/lib/ovs-thread.c b/lib/ovs-thread.c
index ac014f5..83ade11 100644
--- a/lib/ovs-thread.c
+++ b/lib/ovs-thread.c
@@ -457,54 +457,6 @@ may_fork(void)
return !must_not_fork;
}
-/* ovsthread_stats. */
-
-void
-ovsthread_stats_init(struct ovsthread_stats *stats)
-{
- int i;
-
- ovs_mutex_init(&stats->mutex);
- for (i = 0; i < ARRAY_SIZE(stats->buckets); i++) {
- stats->buckets[i] = NULL;
- }
-}
-
-void
-ovsthread_stats_destroy(struct ovsthread_stats *stats)
-{
- ovs_mutex_destroy(&stats->mutex);
-}
-
-void *
-ovsthread_stats_bucket_get(struct ovsthread_stats *stats,
- void *(*new_bucket)(void))
-{
- unsigned int idx = ovsthread_id_self() & (ARRAY_SIZE(stats->buckets) - 1);
- void *bucket = stats->buckets[idx];
- if (!bucket) {
- ovs_mutex_lock(&stats->mutex);
- bucket = stats->buckets[idx];
- if (!bucket) {
- bucket = stats->buckets[idx] = new_bucket();
- }
- ovs_mutex_unlock(&stats->mutex);
- }
- return bucket;
-}
-
-size_t
-ovs_thread_stats_next_bucket(const struct ovsthread_stats *stats, size_t i)
-{
- for (; i < ARRAY_SIZE(stats->buckets); i++) {
- if (stats->buckets[i]) {
- break;
- }
- }
- return i;
-}
-
-
/* Parses /proc/cpuinfo for the total number of physical cores on this system
* across all CPU packages, not counting hyper-threads.
*
diff --git a/lib/ovs-thread.h b/lib/ovs-thread.h
index 42808b9..2576e3e 100644
--- a/lib/ovs-thread.h
+++ b/lib/ovs-thread.h
@@ -585,38 +585,6 @@ ovsthread_id_self(void)
return *ovsthread_id_get();
}
-/* Simulated global counter.
- *
- * Incrementing such a counter is meant to be cheaper than incrementing a
- * global counter protected by a lock. It is probably more expensive than
- * incrementing a truly thread-local variable, but such a variable has no
- * straightforward way to get the sum.
- *
- *
- * Thread-safety
- * =============
- *
- * Fully thread-safe. */
-
-struct ovsthread_stats {
- struct ovs_mutex mutex;
- void *volatile buckets[16];
-};
-
-void ovsthread_stats_init(struct ovsthread_stats *);
-void ovsthread_stats_destroy(struct ovsthread_stats *);
-
-void *ovsthread_stats_bucket_get(struct ovsthread_stats *,
- void *(*new_bucket)(void));
-
-#define OVSTHREAD_STATS_FOR_EACH_BUCKET(BUCKET, IDX, STATS) \
- for ((IDX) = ovs_thread_stats_next_bucket(STATS, 0); \
- ((IDX) < ARRAY_SIZE((STATS)->buckets) \
- ? ((BUCKET) = (STATS)->buckets[IDX], true) \
- : false); \
- (IDX) = ovs_thread_stats_next_bucket(STATS, (IDX) + 1))
-size_t ovs_thread_stats_next_bucket(const struct ovsthread_stats *, size_t);
-
bool single_threaded(void);
void assert_single_threaded_at(const char *where);
--
2.1.0.rc1
More information about the dev
mailing list