aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2007-07-20 15:39:45 -0400
committerArnd Bergmann <arnd@klappe.arndb.de>2007-07-20 15:42:12 -0400
commit9d92af621f193c1c889ac8b6fd8c987ccd8aae1f (patch)
tree569ea7f80335c5833563999889c769edb7b2c6fc
parentaa6d5b20254a21b69092dd839b70ee148303ef25 (diff)
[CELL] cell: add vicinity information on spus
This patch adds affinity data to each spu instance. A doubly linked list is created, meant to connect the spus in the physical order they are placed in the BE. SPUs near to memory should be marked as having memory affinity. Adjustments of the fields acording to FW properties is done in separate patches, one for CPBW, one for Malta (patch for Malta under testing). Signed-off-by: Andre Detsch <adetsch@br.ibm.com> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
-rw-r--r--arch/powerpc/platforms/cell/spu_base.c2
-rw-r--r--include/asm-powerpc/spu.h3
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c
index dd632e5feff3..0fc2e12a3c85 100644
--- a/arch/powerpc/platforms/cell/spu_base.c
+++ b/arch/powerpc/platforms/cell/spu_base.c
@@ -593,6 +593,8 @@ static int __init create_spu(void *data)
593 ktime_get_ts(&ts); 593 ktime_get_ts(&ts);
594 spu->stats.tstamp = timespec_to_ns(&ts); 594 spu->stats.tstamp = timespec_to_ns(&ts);
595 595
596 INIT_LIST_HEAD(&spu->aff_list);
597
596 goto out; 598 goto out;
597 599
598out_free_irqs: 600out_free_irqs:
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h
index 2f2fe9f1c097..18e558bef98e 100644
--- a/include/asm-powerpc/spu.h
+++ b/include/asm-powerpc/spu.h
@@ -166,6 +166,9 @@ struct spu {
166 166
167 struct sys_device sysdev; 167 struct sys_device sysdev;
168 168
169 int has_mem_affinity;
170 struct list_head aff_list;
171
169 struct { 172 struct {
170 /* protected by interrupt reentrancy */ 173 /* protected by interrupt reentrancy */
171 enum spu_utilization_state util_state; 174 enum spu_utilization_state util_state;