From owner-cvs-src@FreeBSD.ORG Mon Oct 17 23:10:32 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org 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 3B24B16A41F; Mon, 17 Oct 2005 23:10:32 +0000 (GMT) (envelope-from davidxu@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E993143D46; Mon, 17 Oct 2005 23:10:31 +0000 (GMT) (envelope-from davidxu@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j9HNAV6n013058; Mon, 17 Oct 2005 23:10:31 GMT (envelope-from davidxu@repoman.freebsd.org) Received: (from davidxu@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j9HNAVPL013057; Mon, 17 Oct 2005 23:10:31 GMT (envelope-from davidxu) Message-Id: <200510172310.j9HNAVPL013057@repoman.freebsd.org> From: David Xu Date: Mon, 17 Oct 2005 23:10:31 +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 cpu_switch.S 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, 17 Oct 2005 23:10:32 -0000 davidxu 2005-10-17 23:10:31 UTC FreeBSD src repository Modified files: sys/amd64/amd64 cpu_switch.S machdep.c Log: Micro optimization for context switch. Eliminate code for saving gs.base and fs.base. We always update pcb.pcb_gsbase and pcb.pcb_fsbase when user wants to set them, in context switch routine, we only need to write them into registers, we never have to read them out from registers when thread is switched away. Since rdmsr is a serialization instruction, micro benchmark shows it is worthy to do. Reviewed by: peter, jhb Revision Changes Path 1.154 +0 -15 src/sys/amd64/amd64/cpu_switch.S 1.642 +2 -0 src/sys/amd64/amd64/machdep.c