From owner-cvs-all@FreeBSD.ORG Sun Feb 1 17:17:59 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DF4DB16A4CE; Sun, 1 Feb 2004 17:17:59 -0800 (PST) Received: from franky.speednet.com.au (franky.speednet.com.au [203.57.65.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id 08C0D43D1F; Sun, 1 Feb 2004 17:17:58 -0800 (PST) (envelope-from andyf@speednet.com.au) Received: from hewey.af.speednet.com.au (udsl-3-062.QLD.dft.com.au [202.168.108.62])i121Htuh072390; Mon, 2 Feb 2004 12:17:56 +1100 (EST) (envelope-from andyf@speednet.com.au) Received: from hewey.af.speednet.com.au (hewey.af.speednet.com.au [172.22.2.17])i121Hscr047080; Mon, 2 Feb 2004 11:17:54 +1000 (EST) (envelope-from andyf@speednet.com.au) Date: Mon, 2 Feb 2004 11:17:54 +1000 (EST) From: Andy Farkas X-X-Sender: andyf@hewey.af.speednet.com.au To: John Baldwin In-Reply-To: <200401282044.i0SKi8Y6063747@repoman.freebsd.org> Message-ID: <20040202110437.N88162@hewey.af.speednet.com.au> References: <200401282044.i0SKi8Y6063747@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: src-committers@freebsd.org cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/i386/i386 apic_vector.s src/sys/i386/isa atpic_vector.s X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Feb 2004 01:18:00 -0000 On Wed, 28 Jan 2004, John Baldwin wrote: > Modified files: > sys/i386/i386 apic_vector.s > sys/i386/isa atpic_vector.s > Log: > Optimize the i386 interrupt entry code to not reload the segment registers > if they already contain the correct kernel selectors. What effect on performance does this change have? It seems to be a rather significant change to an important code path, or am I totally confused..? Also, you've changed: movl $KDSEL, %eax ; /* reload with kernel's data segment */ and, movl $KPSEL, %eax ; /* reload with per-CPU data segment */ to: mov $KDSEL,%ax ; /* load kernel ds, es and fs */ and, mov $KPSEL,%ax ; Is this part of the optimisations? Or, could you briefly explain this change? Thank you. -- :{ andyf@speednet.com.au Andy Farkas System Administrator Speednet Communications http://www.speednet.com.au/