Skip to content

Commit

Permalink
Move CPU pinning to kore_worker_started().
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
jorisvink committed Mar 8, 2023
1 parent 66e893f commit 21f466c
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/worker.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 21f466c

Please sign in to comment.