aboutsummaryrefslogtreecommitdiff
path: root/include/cpu.h
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2016-07-24 09:27:21 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-08-22 15:26:51 +1000
commitf4d95024f5d45c5c96da3e79ae4e2497f50ff2e8 (patch)
tree09c40e513b2cc241210f281d68206117c2bf81d1 /include/cpu.h
parent610d54e7c0d9d4e1650b38ac408dc14225b57493 (diff)
downloadskiboot-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/cpu.h')
-rw-r--r--include/cpu.h2
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.