commit 21f466c8b62a10327e58eea09a72606d2b433e1a
parent 66e893f1d41a48c638a99c1e5b7148ab5dba37a2
Author: Joris Vink <joris@coders.se>
Date:   Wed,  8 Mar 2023 20:11:49 +0100
Move CPU pinning to kore_worker_started().
When trying to pin a worker to a certain CPU, Kore will log
if it fails but still continue.
The problem is that it tried to do it a bit early and the logging
facilities were not yet setup, causing it to be unable to continue
if kore_log() was called too early.
By moving it to kore_worker_started() we are certain all facilities
are up and running correctly.
Diffstat:
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/worker.c b/src/worker.c
@@ -450,9 +450,6 @@ kore_worker_entry(struct kore_worker *kw)
 
 	kore_platform_proctitle(kore_worker_name(kw->id));
 
-	if (worker_set_affinity == 1)
-		kore_platform_worker_setcpu(kw);
-
 	kore_pid = kw->pid;
 	kore_signal_setup();
 
@@ -752,6 +749,9 @@ kore_worker_started(void)
 {
 	const char	*chroot;
 
+	if (worker_set_affinity == 1)
+		kore_platform_worker_setcpu(worker);
+
 	if (worker->ps->skip_chroot)
 		chroot = "root";
 	else