From 6bf11e8c708f0e512ed733fc65a50770c5bc7b54 Mon Sep 17 00:00:00 2001 From: "stephane.eranian@hp.com" Date: Thu, 28 Jul 2005 05:18:00 -0700 Subject: [IA64] fix perfmon context load The PFM_LOAD_CONTEXT may fail silently and cause a session to remain reserved even though it should not. This can happen when the commands succeeds in reserving the session but fails when it actually tries to attach to the load_pid. In that case, the command has failed but will return 0. More importantly, the session will remain reserved. This patch fixes the problem. Signed-off-by: Signed-off-by: Tony Luck --- arch/ia64/kernel/perfmon.c | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/ia64/kernel') diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index b8ebb8e427e..f1201ac8a11 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c @@ -4312,6 +4312,7 @@ pfm_context_load(pfm_context_t *ctx, void *arg, int count, struct pt_regs *regs) DPRINT(("before cmpxchg() old_ctx=%p new_ctx=%p\n", thread->pfm_context, ctx)); + ret = -EBUSY; old = ia64_cmpxchg(acq, &thread->pfm_context, NULL, ctx, sizeof(pfm_context_t *)); if (old != NULL) { DPRINT(("load_pid [%d] already has a context\n", req->load_pid)); -- cgit v1.2.3 From 367ae3cd74bdc2ad32d71293427fec570b14ddcd Mon Sep 17 00:00:00 2001 From: John Hawkes Date: Tue, 16 Aug 2005 17:59:20 +1000 Subject: [PATCH] fix for ia64 sched-domains code Fix for ia64 sched domain building triggered by cpuset code. Acked-by: Nick Piggin Acked-by: Dinakar Guniguntala Signed-off-by: Linus Torvalds --- arch/ia64/kernel/domain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/ia64/kernel') diff --git a/arch/ia64/kernel/domain.c b/arch/ia64/kernel/domain.c index d65e87b6394..bbb8efe126b 100644 --- a/arch/ia64/kernel/domain.c +++ b/arch/ia64/kernel/domain.c @@ -341,7 +341,7 @@ next_sg: #endif /* Attach the domains */ - for_each_online_cpu(i) { + for_each_cpu_mask(i, *cpu_map) { struct sched_domain *sd; #ifdef CONFIG_SCHED_SMT sd = &per_cpu(cpu_domains, i); -- cgit v1.2.3 From 71841b8fe7dd8caffd07482cbed4a99874bfbb70 Mon Sep 17 00:00:00 2001 From: Keith Owens Date: Sat, 30 Jul 2005 17:52:00 -0700 Subject: [IA64] Initialize some spinlocks Some IA64 spinlocks are not being initialized, make it so. Signed-off-by: Keith Owens Signed-off-by: Tony Luck --- arch/ia64/kernel/salinfo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'arch/ia64/kernel') diff --git a/arch/ia64/kernel/salinfo.c b/arch/ia64/kernel/salinfo.c index d227fabecd0..6f0cc7a6634 100644 --- a/arch/ia64/kernel/salinfo.c +++ b/arch/ia64/kernel/salinfo.c @@ -143,7 +143,8 @@ struct salinfo_data { static struct salinfo_data salinfo_data[ARRAY_SIZE(salinfo_log_name)]; -static spinlock_t data_lock, data_saved_lock; +static DEFINE_SPINLOCK(data_lock); +static DEFINE_SPINLOCK(data_saved_lock); /** salinfo_platform_oemdata - optional callback to decode oemdata from an error * record. -- cgit v1.2.3