summaryrefslogtreecommitdiffstats
path: root/runtime/thread_pool_test.cc
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2013-11-13 14:33:28 -0800
committerMathieu Chartier <mathieuc@google.com>2013-11-13 14:48:41 -0800
commitbcd5e9daecad39f0dab3246808b4835caec29ea6 (patch)
tree1221f94faef80c649e7236f0e7c3045383720abb /runtime/thread_pool_test.cc
parentdfcca560e7b92e055a02adb39fdfb11798144cdd (diff)
downloadart-bcd5e9daecad39f0dab3246808b4835caec29ea6.zip
art-bcd5e9daecad39f0dab3246808b4835caec29ea6.tar.gz
art-bcd5e9daecad39f0dab3246808b4835caec29ea6.tar.bz2
Manually manage thread pool stacks.
We now allocate the thread pool worker stack using a MemMap. This enables us to name the maps so that we get more descriptive output for debugging leaks. Appears to fix the mips build 5/5 successful clean-oat and builds. This is probably since glibc caches up to 40 MB of thread stacks before releasing them. Change-Id: I1df2de50cb95838aa0d272a09807021404ba410c
Diffstat (limited to 'runtime/thread_pool_test.cc')
-rw-r--r--runtime/thread_pool_test.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/thread_pool_test.cc b/runtime/thread_pool_test.cc
index 9b789d2..1b22361 100644
--- a/runtime/thread_pool_test.cc
+++ b/runtime/thread_pool_test.cc
@@ -59,7 +59,7 @@ int32_t ThreadPoolTest::num_threads = 4;
// Check that the thread pool actually runs tasks that you assign it.
TEST_F(ThreadPoolTest, CheckRun) {
Thread* self = Thread::Current();
- ThreadPool thread_pool(num_threads);
+ ThreadPool thread_pool("Thread pool test thread pool", num_threads);
AtomicInteger count(0);
static const int32_t num_tasks = num_threads * 4;
for (int32_t i = 0; i < num_tasks; ++i) {
@@ -74,7 +74,7 @@ TEST_F(ThreadPoolTest, CheckRun) {
TEST_F(ThreadPoolTest, StopStart) {
Thread* self = Thread::Current();
- ThreadPool thread_pool(num_threads);
+ ThreadPool thread_pool("Thread pool test thread pool", num_threads);
AtomicInteger count(0);
static const int32_t num_tasks = num_threads * 4;
for (int32_t i = 0; i < num_tasks; ++i) {
@@ -129,7 +129,7 @@ class TreeTask : public Task {
// Test that adding new tasks from within a task works.
TEST_F(ThreadPoolTest, RecursiveTest) {
Thread* self = Thread::Current();
- ThreadPool thread_pool(num_threads);
+ ThreadPool thread_pool("Thread pool test thread pool", num_threads);
AtomicInteger count(0);
static const int depth = 8;
thread_pool.AddTask(self, new TreeTask(&thread_pool, &count, depth));