From 9d92af621f193c1c889ac8b6fd8c987ccd8aae1f Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Fri, 20 Jul 2007 21:39:45 +0200 Subject: [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 Signed-off-by: Arnd Bergmann --- arch/powerpc/platforms/cell/spu_base.c | 2 ++ include/asm-powerpc/spu.h | 3 +++ 2 files changed, 5 insertions(+) diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c index dd632e5feff..0fc2e12a3c8 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) ktime_get_ts(&ts); spu->stats.tstamp = timespec_to_ns(&ts); + INIT_LIST_HEAD(&spu->aff_list); + goto out; out_free_irqs: diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h index 2f2fe9f1c09..18e558bef98 100644 --- a/include/asm-powerpc/spu.h +++ b/include/asm-powerpc/spu.h @@ -166,6 +166,9 @@ struct spu { struct sys_device sysdev; + int has_mem_affinity; + struct list_head aff_list; + struct { /* protected by interrupt reentrancy */ enum spu_utilization_state util_state; -- cgit v1.2.3