From owner-cvs-src@FreeBSD.ORG Mon Mar 5 21:40:12 2007 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B807E16A50C; Mon, 5 Mar 2007 21:40:12 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2DE5B13C467; Mon, 5 Mar 2007 21:40:11 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l25LeB0j056017; Mon, 5 Mar 2007 21:40:11 GMT (envelope-from alc@repoman.freebsd.org) Received: (from alc@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l25LeBYa056016; Mon, 5 Mar 2007 21:40:11 GMT (envelope-from alc) Message-Id: <200703052140.l25LeBYa056016@repoman.freebsd.org> From: Alan Cox Date: Mon, 5 Mar 2007 21:40:11 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/amd64/amd64 mp_machdep.c pmap.c src/sys/i386/i386 mp_machdep.c pmap.c vm_machdep.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2007 21:40:12 -0000 alc 2007-03-05 21:40:11 UTC FreeBSD src repository Modified files: sys/amd64/amd64 mp_machdep.c pmap.c sys/i386/i386 mp_machdep.c pmap.c vm_machdep.c Log: Acquiring smp_ipi_mtx on every call to pmap_invalidate_*() is wasteful. For example, during a buildworld more than half of the calls do not generate an IPI because the only TLB entry invalidated is on the calling processor. This revision pushes down the acquisition and release of smp_ipi_mtx into smp_tlb_shootdown() and smp_targeted_tlb_shootdown() and instead uses sched_pin() and sched_unpin() in pmap_invalidate_*() so that thread migration doesn't lead to a missed TLB invalidation. Reviewed by: jhb MFC after: 3 weeks Revision Changes Path 1.282 +8 -2 src/sys/amd64/amd64/mp_machdep.c 1.580 +8 -64 src/sys/amd64/amd64/pmap.c 1.275 +9 -2 src/sys/i386/i386/mp_machdep.c 1.582 +8 -64 src/sys/i386/i386/pmap.c 1.276 +0 -2 src/sys/i386/i386/vm_machdep.c