From owner-svn-src-projects@FreeBSD.ORG Wed Jun 15 07:29:21 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A54F106564A; Wed, 15 Jun 2011 07:29:21 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7B47C8FC12; Wed, 15 Jun 2011 07:29:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5F7TLCU070987; Wed, 15 Jun 2011 07:29:21 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5F7TLY5070985; Wed, 15 Jun 2011 07:29:21 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106150729.p5F7TLY5070985@svn.freebsd.org> From: Attilio Rao Date: Wed, 15 Jun 2011 07:29:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223107 - projects/largeSMP/sys/ia64/ia64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2011 07:29:21 -0000 Author: attilio Date: Wed Jun 15 07:29:20 2011 New Revision: 223107 URL: http://svn.freebsd.org/changeset/base/223107 Log: Remove the usage of pc_cpumask and pc_other_cpus from ia64. Reviewed and tested by: marcel Modified: projects/largeSMP/sys/ia64/ia64/mp_machdep.c Modified: projects/largeSMP/sys/ia64/ia64/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/ia64/ia64/mp_machdep.c Wed Jun 15 07:20:22 2011 (r223106) +++ projects/largeSMP/sys/ia64/ia64/mp_machdep.c Wed Jun 15 07:29:20 2011 (r223107) @@ -139,18 +139,18 @@ ia64_ih_rndzvs(struct thread *td, u_int static u_int ia64_ih_stop(struct thread *td, u_int xiv, struct trapframe *tf) { - cpuset_t mybit; + u_int cpuid; PCPU_INC(md.stats.pcs_nstops); - mybit = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); savectx(PCPU_PTR(md.pcb)); - CPU_OR_ATOMIC(&stopped_cpus, &mybit); - while (!CPU_OVERLAP(&started_cpus, &mybit)) + CPU_SET_ATOMIC(cpuid, &stopped_cpus); + while (!CPU_ISSET(cpuid, &started_cpus)) cpu_spinwait(); - CPU_NAND_ATOMIC(&started_cpus, &mybit); - CPU_NAND_ATOMIC(&stopped_cpus, &mybit); + CPU_CLR_ATOMIC(cpuid, &started_cpus); + CPU_CLR_ATOMIC(cpuid, &stopped_cpus); return (0); } @@ -359,8 +359,6 @@ cpu_mp_start() STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { pc->pc_md.current_pmap = kernel_pmap; - pc->pc_other_cpus = all_cpus; - CPU_NAND(&pc->pc_other_cpus, &pc->pc_cpumask); /* The BSP is obviously running already. */ if (pc->pc_cpuid == 0) { pc->pc_md.awake = 1; @@ -464,7 +462,7 @@ ipi_selected(cpuset_t cpus, int ipi) struct pcpu *pc; STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { - if (CPU_OVERLAP(&cpus, &pc->pc_cpumask)) + if (CPU_ISSET(pc->pc_cpuid, &cpus)) ipi_send(pc, ipi); } }