From 5485371cf3894d71e0d0fe2bdf639fde478012ca Mon Sep 17 00:00:00 2001 From: Filip Pavlis Date: Wed, 31 Oct 2018 12:43:13 +0000 Subject: Revert "Implement LockSupport.park with a futex" This reverts commit 5e1a75c1d12ea47bdc0f73d378b5fa25326829f4. Reason for revert: This CL unfortunately breaks: sdk_gphone_x86-sdk_addon_mac sdk_mac Following error: art/runtime/thread.cc:370:4: warning: "LockSupport.park/unpark implemented as noops without FUTEX support." [-W#warnings] #warning "LockSupport.park/unpark implemented as noops without FUTEX support." ^ art/runtime/thread.cc:295:24: error: unused parameter 'is_absolute' [-Werror,-Wunused-parameter] void Thread::Park(bool is_absolute, int64_t time) { ^ art/runtime/thread.cc:295:45: error: unused parameter 'time' [-Werror,-Wunused-parameter] void Thread::Park(bool is_absolute, int64_t time) { ^ 1 warning and 2 errors generated. Change-Id: Iae41cce7cd5fc38f605173519931491a019f7c80 --- test/004-ThreadStress/src-art/Main.java | 36 +++------------------------------ 1 file changed, 3 insertions(+), 33 deletions(-) (limited to 'test/004-ThreadStress/src-art/Main.java') diff --git a/test/004-ThreadStress/src-art/Main.java b/test/004-ThreadStress/src-art/Main.java index b8bfafb2d3..3a89f4f166 100644 --- a/test/004-ThreadStress/src-art/Main.java +++ b/test/004-ThreadStress/src-art/Main.java @@ -26,7 +26,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.Semaphore; -import java.util.concurrent.locks.LockSupport; // Run on host with: // javac ThreadTest.java && java ThreadStress && rm *.class @@ -252,31 +251,6 @@ public class Main implements Runnable { } } - private final static class TimedPark extends Operation { - private final static int SLEEP_TIME = 100; - - public TimedPark() {} - - @Override - public boolean perform() { - LockSupport.parkNanos(this, 100*1000000); - return true; - } - } - - private final static class UnparkAllThreads extends Operation { - public UnparkAllThreads() {} - - @Override - public boolean perform() { - Set threads = Thread.getAllStackTraces().keySet(); - for (Thread candidate : threads) { - LockSupport.unpark(candidate); - } - return true; - } - } - private final static class SyncAndWork extends Operation { private final Object lock; @@ -346,9 +320,7 @@ public class Main implements Runnable { frequencyMap.put(new NonMovingAlloc(), 0.025); // 5/200 frequencyMap.put(new StackTrace(), 0.1); // 20/200 frequencyMap.put(new Exit(), 0.225); // 45/200 - frequencyMap.put(new Sleep(), 0.125); // 15/200 - frequencyMap.put(new TimedPark(), 0.025); // 5/200 - frequencyMap.put(new UnparkAllThreads(), 0.025); // 5/200 + frequencyMap.put(new Sleep(), 0.125); // 25/200 frequencyMap.put(new TimedWait(lock), 0.05); // 10/200 frequencyMap.put(new Wait(lock), 0.075); // 15/200 frequencyMap.put(new QueuedWait(semaphore), 0.05); // 10/200 @@ -369,11 +341,9 @@ public class Main implements Runnable { private final static Map createLockFrequencyMap(Object lock) { Map frequencyMap = new HashMap(); frequencyMap.put(new Sleep(), 0.2); // 40/200 - frequencyMap.put(new TimedWait(lock), 0.1); // 20/200 - frequencyMap.put(new Wait(lock), 0.1); // 20/200 + frequencyMap.put(new TimedWait(lock), 0.2); // 40/200 + frequencyMap.put(new Wait(lock), 0.2); // 40/200 frequencyMap.put(new SyncAndWork(lock), 0.4); // 80/200 - frequencyMap.put(new TimedPark(), 0.1); // 20/200 - frequencyMap.put(new UnparkAllThreads(), 0.1); // 20/200 return frequencyMap; } -- cgit v1.2.3-59-g8ed1b