Date: Tue, 17 Nov 1998 18:53:40 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Terry Lambert <tlambert@primenet.com> Cc: Marius.Bendiksen@scancall.no, rnordier@nordier.com, freebsd-hackers@FreeBSD.ORG Subject: Re: FreeBSD on i386 memory model Message-ID: <199811180253.SAA00416@apollo.backplane.com> References: <199811180213.TAA21491@usr01.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
:
:> The only differences between a normal call gate and an
:> interrupt is that an interrupt disables interrupts on call
:> (cli equivalent), while a call gate does not, and a
:> call gate has extra garbage to handle argument copying
:> (which we don't use), while an interrupt does not.
:>
:> There are constructs that make call gates sound like a
:> walk in the park, though... a task gate, for example.
:> What a holy mess.
:>
:> Interrupt gates are definitely faster.
:
:But as SEF notes, a call gate gan go to any address in any ring,
:but an Interrupt can't, so using an interrupt makes for slower
:emulation.
:
: Terry Lambert
: terry@lambert.org
Slower emulation of what? Not only is the intel ring change
mechanism badly designed and, in my view, badly broken, leaving
only ring 0 and ring 3 truely useable, but I believe call
gates are also much more heavily microcoded then interrupt
gates.
It's both faster and more portable to put the sys call number
in a register, run through an interrupt gate, and have
the interrupt procedure dispatch the call then it is to
try to dispatch the call directly with a callgate. Furthermore,
FreeBSD and most other UNIXes have to do things before and
after the syscall which are best handled in one emminently
cacheable piece of code, making the call gate's functionality
worthless.
Most modern processors have a limited number of supervisor
entry points precisely because it is more efficient to fan-out
after the switch to super then it is to try to fan-out
using the switch to super.
-Matt
:---
:Any opinions in this posting are my own and not those of my present
:or previous employers.
:
:To Unsubscribe: send mail to majordomo@FreeBSD.org
:with "unsubscribe freebsd-hackers" in the body of the message
:
Matthew Dillon Engineering, HiWay Technologies, Inc. & BEST Internet
Communications & God knows what else.
<dillon@backplane.com> (Please include original email in any response)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811180253.SAA00416>
