Add support for pinning EventLoops
This can be used to help tune realtime performance.
Change-Id: I88031fe65d298b769742bb638a716d29fc965ffd
diff --git a/aos/events/event_loop_param_test.cc b/aos/events/event_loop_param_test.cc
index f0fb3d3..fbcb62e 100644
--- a/aos/events/event_loop_param_test.cc
+++ b/aos/events/event_loop_param_test.cc
@@ -585,6 +585,17 @@
EXPECT_DEATH(Run(), "realtime");
}
+// Verify that SetRuntimeAffinity fails while running.
+TEST_P(AbstractEventLoopDeathTest, SetRuntimeAffinity) {
+ auto loop = MakePrimary();
+ // Confirm that runtime priority calls work when not running.
+ loop->SetRuntimeAffinity(MakeCpusetFromCpus({0}));
+
+ loop->OnRun([&]() { loop->SetRuntimeAffinity(MakeCpusetFromCpus({1})); });
+
+ EXPECT_DEATH(Run(), "Cannot set affinity while running");
+}
+
// Verify that registering a watcher and a sender for "/test" fails.
TEST_P(AbstractEventLoopDeathTest, WatcherAndSender) {
auto loop = Make();