diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2016-07-24 09:27:21 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-08-22 15:26:51 +1000 |
commit | f4d95024f5d45c5c96da3e79ae4e2497f50ff2e8 (patch) | |
tree | 09c40e513b2cc241210f281d68206117c2bf81d1 /include | |
parent | 610d54e7c0d9d4e1650b38ac408dc14225b57493 (diff) | |
download | skiboot-f4d95024f5d45c5c96da3e79ae4e2497f50ff2e8.zip skiboot-f4d95024f5d45c5c96da3e79ae4e2497f50ff2e8.tar.gz skiboot-f4d95024f5d45c5c96da3e79ae4e2497f50ff2e8.tar.bz2 |
cpu: Remove global job queue
Instead, target a specific CPU for a global job at queuing time.
This will allow us to wake up the target using an interrupt when
implementing nap mode.
The algorithm used is to look for idle primary threads first, then
idle secondaries, and finally the less loaded thread. If nothing can
be found, we fallback to a synchronous call.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/cpu.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/cpu.h b/include/cpu.h index 256fc5b..4164151 100644 --- a/include/cpu.h +++ b/include/cpu.h @@ -79,6 +79,8 @@ struct cpu_thread { #endif struct lock job_lock; struct list_head job_queue; + uint32_t job_count; + bool job_has_no_return; /* * Per-core mask tracking for threads in HMI handler and * a cleanup done bit. |