From owner-cvs-src@FreeBSD.ORG Sat May 5 21:13:16 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 D496216A406; Sat, 5 May 2007 21:13:16 +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 C677413C469; Sat, 5 May 2007 21:13:16 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l45LDGaS001606; Sat, 5 May 2007 21:13:16 GMT (envelope-from alc@repoman.freebsd.org) Received: (from alc@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l45LDGuQ001605; Sat, 5 May 2007 21:13:16 GMT (envelope-from alc) Message-Id: <200705052113.l45LDGuQ001605@repoman.freebsd.org> From: Alan Cox Date: Sat, 5 May 2007 21:13:16 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_6 Cc: Subject: cvs commit: src/sys/amd64/amd64 mp_machdep.c pmap.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: Sat, 05 May 2007 21:13:16 -0000 alc 2007-05-05 21:13:16 UTC FreeBSD src repository Modified files: (Branch: RELENG_6) sys/amd64/amd64 mp_machdep.c pmap.c Log: MFC 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. Revision Changes Path 1.260.2.11 +8 -2 src/sys/amd64/amd64/mp_machdep.c 1.516.2.15 +8 -64 src/sys/amd64/amd64/pmap.c