Messages in this thread Patch in this message | | | Date | Mon, 01 Aug 2005 13:20:21 -0700 | From | Ashok Raj <> | Subject | [patch 4/8] 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 <ashok.raj@intel.com> --------------------------------------------------------- arch/x86_64/kernel/genapic_cluster.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-)
Index: linux-2.6.13-rc4-mm1/arch/x86_64/kernel/genapic_cluster.c =================================================================== --- linux-2.6.13-rc4-mm1.orig/arch/x86_64/kernel/genapic_cluster.c +++ linux-2.6.13-rc4-mm1/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 linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |