Cycles: no need in spin lock in memory statistics

This functions are called from device code which is guaranteed
not to be called simultaneously from different threads.
This commit is contained in:
Sergey Sharybin
2012-11-09 08:47:08 +00:00
parent 76525d5398
commit ffbf0a1b12
2 changed files with 1 additions and 13 deletions

View File

@@ -19,31 +19,22 @@
#ifndef __UTIL_STATS_H__
#define __UTIL_STATS_H__
#include "util_thread.h"
CCL_NAMESPACE_BEGIN
class Stats {
public:
Stats() : lock(), mem_used(0), mem_peak(0) {}
Stats() : mem_used(0), mem_peak(0) {}
void mem_alloc(size_t size) {
lock.lock();
mem_used += size;
if(mem_used > mem_peak)
mem_peak = mem_used;
lock.unlock();
}
void mem_free(size_t size) {
lock.lock();
mem_used -= size;
lock.unlock();
}
spin_lock lock;
size_t mem_used;
size_t mem_peak;
};

View File

@@ -33,9 +33,6 @@ typedef boost::mutex thread_mutex;
typedef boost::mutex::scoped_lock thread_scoped_lock;
typedef boost::condition_variable thread_condition_variable;
/* use boost for spinlocks as well */
typedef boost::detail::spinlock spin_lock;
/* own pthread based implementation, to avoid boost version conflicts with
* dynamically loaded blender plugins */