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>