[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-3.1-testing] x86: Reduce assertion aggressiveness in send_IPI_mask().
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1208938710 -3600 # Node ID 25967d50bc9373d03965f8dfea8358dbd528b475 # Parent 776e39a33bc18422faca01df67b3a74852337710 x86: Reduce assertion aggressiveness in send_IPI_mask(). Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx> xen-unstable changeset: 17503:a5319f23db7c0985ac7ac84a998fedf435565062 xen-unstable date: Wed Apr 23 09:15:34 2008 +0100 --- xen/arch/x86/smp.c | 23 +++-------------------- 1 files changed, 3 insertions(+), 20 deletions(-) diff -r 776e39a33bc1 -r 25967d50bc93 xen/arch/x86/smp.c --- a/xen/arch/x86/smp.c Wed Apr 23 09:03:29 2008 +0100 +++ b/xen/arch/x86/smp.c Wed Apr 23 09:18:30 2008 +0100 @@ -76,23 +76,14 @@ static inline int __prepare_ICR2 (unsign return SET_APIC_DEST_FIELD(mask); } -static inline void check_IPI_mask(cpumask_t cpumask) -{ - /* - * Sanity, and necessary. An IPI with no target generates a send accept - * error with Pentium and P6 APICs. - */ - ASSERT(cpus_subset(cpumask, cpu_online_map)); - ASSERT(!cpus_empty(cpumask)); -} - void send_IPI_mask_flat(cpumask_t cpumask, int vector) { unsigned long mask = cpus_addr(cpumask)[0]; unsigned long cfg; unsigned long flags; - check_IPI_mask(cpumask); + /* An IPI with no target generates a send accept error from P5/P6 APICs. */ + WARN_ON(mask == 0); local_irq_save(flags); @@ -125,17 +116,9 @@ void send_IPI_mask_phys(cpumask_t mask, unsigned long cfg, flags; unsigned int query_cpu; - check_IPI_mask(mask); - - /* - * Hack. The clustered APIC addressing mode doesn't allow us to send - * to an arbitrary mask, so I do a unicasts to each CPU instead. This - * should be modified to do 1 message per cluster ID - mbligh - */ - local_irq_save(flags); - for_each_cpu_mask( query_cpu, mask ) + for_each_cpu_mask ( query_cpu, mask ) { /* * Wait for idle. _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |