From 2115c5557fc117d005feccf6a6165d8fd938bb62 Mon Sep 17 00:00:00 2001 From: Michael Mueller Date: Tue, 29 Nov 2022 12:17:51 +0100 Subject: [PATCH] core: Allow pinning and migration of threads from userspace components. --- repos/base/src/lib/base/thread.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/repos/base/src/lib/base/thread.cc b/repos/base/src/lib/base/thread.cc index b7ee561a44..9d38ea1314 100644 --- a/repos/base/src/lib/base/thread.cc +++ b/repos/base/src/lib/base/thread.cc @@ -20,6 +20,7 @@ #include #include #include +#include /* base-internal includes */ #include @@ -197,6 +198,11 @@ size_t Thread::stack_area_virtual_size() return Genode::stack_area_virtual_size(); } +void Thread::pin(Affinity::Location &loc) +{ + _cpu_session->migrate_thread(_thread_cap, loc); + _affinity = loc; +} Thread::Thread(size_t weight, const char *name, size_t stack_size, Type type, Cpu_session *cpu_session, Affinity::Location affinity)