From 21f466c8b62a10327e58eea09a72606d2b433e1a Mon Sep 17 00:00:00 2001 From: Joris Vink Date: Wed, 8 Mar 2023 20:11:49 +0100 Subject: [PATCH] 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. --- src/worker.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/worker.c b/src/worker.c index 41539a9..a8621cb 100644 --- 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