tree 0c01a7e7ee5f00cc309a04a51e4fc9a6d2e3ff33 parent 19aaabb5841439988fc357f90d5c59d28fa84658 author Ashok Raj <[EMAIL PROTECTED]> Wed, 07 Sep 2005 05:16:18 -0700 committer Linus Torvalds <[EMAIL PROTECTED]> Thu, 08 Sep 2005 06:57:16 -0700
[PATCH] x86_64: Fix cluster mode send_IPI_allbutself to use get_cpu()/put_cpu() Need to ensure we dont get prempted when we clear ourself from mask when using clustered mode genapic code. Signed-off-by: Ashok Raj <[EMAIL PROTECTED]> Acked-by: Andi Kleen <[EMAIL PROTECTED]> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]> arch/x86_64/kernel/genapic_cluster.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/x86_64/kernel/genapic_cluster.c b/arch/x86_64/kernel/genapic_cluster.c --- a/arch/x86_64/kernel/genapic_cluster.c +++ b/arch/x86_64/kernel/genapic_cluster.c @@ -72,10 +72,14 @@ static void cluster_send_IPI_mask(cpumas static void cluster_send_IPI_allbutself(int vector) { cpumask_t mask = cpu_online_map; - cpu_clear(smp_processor_id(), mask); + int me = get_cpu(); /* Ensure we are not preempted when we clear */ + + cpu_clear(me, mask); if (!cpus_empty(mask)) cluster_send_IPI_mask(mask, vector); + + put_cpu(); } static void cluster_send_IPI_all(int vector) - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html