diff options
author | Jake Moilanen <moilanen@austin.ibm.com> | 2007-06-07 17:27:11 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-06-14 08:29:58 -0400 |
commit | d8c391a5593aca5bea002bcaaec16c7bbd6ec853 (patch) | |
tree | 4180d3edff8377f16ff0ad95f97189f2943fa3a5 /include/asm-powerpc | |
parent | 2f97cd3912428f5044fa7715293a69349fc455fa (diff) |
[POWERPC] Donate idle CPU cycles on dedicated partitions
A Power6 can give up CPU cycles on a dedicated CPU (as opposed to a
shared CPU) to other shared processors if the administrator asks for it
(via the HMC).
This enables that to work properly on P6.
This just involves setting a bit in the CAS structure as well as the
VPA. To donate cycles, a CPU has to have all SMT threads idle and
have the donate bit set in the VPA. Then call H_CEDE.
The reason why shared processors just aren't used is because dedicated
CPUs are guaranteed an actual processor, yet the system is still able to
increase the capacity of the shared CPU pool.
Also rename the VPA's cpuctls_task_attrs field to a more accurate name.
Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r-- | include/asm-powerpc/lppaca.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-powerpc/lppaca.h b/include/asm-powerpc/lppaca.h index 821ea0c512b4..567ed92cd91f 100644 --- a/include/asm-powerpc/lppaca.h +++ b/include/asm-powerpc/lppaca.h | |||
@@ -98,7 +98,7 @@ struct lppaca { | |||
98 | u64 saved_gpr5; // Saved GPR5 x30-x37 | 98 | u64 saved_gpr5; // Saved GPR5 x30-x37 |
99 | 99 | ||
100 | u8 reserved4; // Reserved x38-x38 | 100 | u8 reserved4; // Reserved x38-x38 |
101 | u8 cpuctls_task_attrs; // Task attributes for cpuctls x39-x39 | 101 | u8 donate_dedicated_cpu; // Donate dedicated CPU cycles x39-x39 |
102 | u8 fpregs_in_use; // FP regs in use x3A-x3A | 102 | u8 fpregs_in_use; // FP regs in use x3A-x3A |
103 | u8 pmcregs_in_use; // PMC regs in use x3B-x3B | 103 | u8 pmcregs_in_use; // PMC regs in use x3B-x3B |
104 | volatile u32 saved_decr; // Saved Decr Value x3C-x3F | 104 | volatile u32 saved_decr; // Saved Decr Value x3C-x3F |