diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2021-12-17 12:17:22 +1000 |
---|---|---|
committer | Cédric Le Goater <clg@kaod.org> | 2021-12-23 18:47:26 +0100 |
commit | fa28a10c946c33de8c240c3412675f7c5a68335d (patch) | |
tree | f250fb7158bb65e636f42e5c11ffe5cf30dd990d | |
parent | 175170ba6a181682ad9368b184f2241acce568c3 (diff) | |
download | skiboot-fa28a10c946c33de8c240c3412675f7c5a68335d.zip skiboot-fa28a10c946c33de8c240c3412675f7c5a68335d.tar.gz skiboot-fa28a10c946c33de8c240c3412675f7c5a68335d.tar.bz2 |
core/cpu: move cpu_wake out of job_lock
There is no need to send the IPI while holding the job_lock. If the
target does wake after the job is queued and before we send the IPI,
it will check for new jobs anyway.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
-rw-r--r-- | core/cpu.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -198,8 +198,9 @@ static void queue_job_on_cpu(struct cpu_thread *cpu, struct cpu_job *job) cpu->job_has_no_return = true; else cpu->job_count++; - cpu_wake(cpu); unlock(&cpu->job_lock); + + cpu_wake(cpu); } struct cpu_job *__cpu_queue_job(struct cpu_thread *cpu, |