diff options
author | Arnd Bergmann <arnd@arndb.de> | 2007-07-20 15:39:45 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@klappe.arndb.de> | 2007-07-20 15:42:12 -0400 |
commit | 9d92af621f193c1c889ac8b6fd8c987ccd8aae1f (patch) | |
tree | 569ea7f80335c5833563999889c769edb7b2c6fc | |
parent | aa6d5b20254a21b69092dd839b70ee148303ef25 (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.c | 2 | ||||
-rw-r--r-- | include/asm-powerpc/spu.h | 3 |
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 | ||
598 | out_free_irqs: | 600 | out_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; |