Date: Mon, 2 Feb 2004 11:17:54 +1000 (EST) From: Andy Farkas <andyf@speednet.com.au> To: John Baldwin <jhb@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 Message-ID: <20040202110437.N88162@hewey.af.speednet.com.au> In-Reply-To: <200401282044.i0SKi8Y6063747@repoman.freebsd.org> References: <200401282044.i0SKi8Y6063747@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040202110437.N88162>
