From owner-cvs-src@FreeBSD.ORG Fri Aug 1 17:49: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 A228437B401; Fri, 1 Aug 2003 17:49:37 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4C4DC43FBF; Fri, 1 Aug 2003 17:49:37 -0700 (PDT) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h720nb0U041567; Fri, 1 Aug 2003 17:49:37 -0700 (PDT) (envelope-from marcel@repoman.freebsd.org) Received: (from marcel@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h720nbW0041566; Fri, 1 Aug 2003 17:49:37 -0700 (PDT) Message-Id: <200308020049.h720nbW0041566@repoman.freebsd.org> From: Marcel Moolenaar Date: Fri, 1 Aug 2003 17:49: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/lib/libc/ia64/sys Makefile.inc getcontext.S swapcontext.S 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: Sat, 02 Aug 2003 00:49:38 -0000 marcel 2003/08/01 17:49:36 PDT FreeBSD src repository Modified files: lib/libc/ia64/sys Makefile.inc Added files: lib/libc/ia64/sys getcontext.S swapcontext.S Log: Override the default stubs for getcontext(2) and swapcontext(2) so that we can flush the register stack prior to entering the kernel. This avoids having dirty registers and saves us from having to manually write them to the backing store from within the kernel. In that respect, flushing the RSE is both functionally required as well as performance optimal. On average we had 18 dirty registers when getcontext(2) was called from libthr. Since libthr does not switch back to a context created by getcontext(2), not having dealt with the dirty registers was harmless. Revision Changes Path 1.7 +2 -2 src/lib/libc/ia64/sys/Makefile.inc 1.1 +39 -0 src/lib/libc/ia64/sys/getcontext.S (new) 1.1 +39 -0 src/lib/libc/ia64/sys/swapcontext.S (new)