From owner-cvs-src@FreeBSD.ORG Tue Sep 30 01:11:37 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0F21516A4B3; Tue, 30 Sep 2003 01:11:37 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8A4E443FE1; Tue, 30 Sep 2003 01:11:36 -0700 (PDT) (envelope-from jeff@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h8U8BaXJ061808; Tue, 30 Sep 2003 01:11:36 -0700 (PDT) (envelope-from jeff@repoman.freebsd.org) Received: (from jeff@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h8U8BaAQ061807; Tue, 30 Sep 2003 01:11:36 -0700 (PDT) (envelope-from jeff) Message-Id: <200309300811.h8U8BaAQ061807@repoman.freebsd.org> From: Jeff Roberson Date: Tue, 30 Sep 2003 01:11:36 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern kern_synch.c src/sys/sys proc.h src/sys/i386/i386 genassym.c pmap.c swtch.s src/sys/i386/include pcb.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 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: Tue, 30 Sep 2003 08:11:37 -0000 jeff 2003/09/30 01:11:36 PDT FreeBSD src repository Modified files: sys/kern kern_synch.c sys/sys proc.h sys/i386/i386 genassym.c pmap.c swtch.s sys/i386/include pcb.h Log: - On my Pentium4-M laptop, invalpg takes ~1100 cycles if the page is found in the TLB and ~1600 if it is not. Therefore, it is more effecient to invalidate the TLB after operations that use CMAP rather than before. - So that the tlb is invalidated prior to switching off of a processor, we must change the switchin functions to switchout functions. - Remove td_switchout from the thread and move it to the x86 pcb. - Move the code that calls switchout into swtch.s. These changes make this optimization truely x86 specific. Revision Changes Path 1.143 +1 -1 src/sys/i386/i386/genassym.c 1.438 +33 -33 src/sys/i386/i386/pmap.c 1.143 +6 -1 src/sys/i386/i386/swtch.s 1.50 +2 -1 src/sys/i386/include/pcb.h 1.234 +0 -8 src/sys/kern/kern_synch.c 1.348 +0 -1 src/sys/sys/proc.h