Date: Fri, 5 Mar 1999 10:23:39 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Terry Lambert <tlambert@primenet.com> Cc: hasty@rah.star-gate.com (Amancio Hasty), tlambert@primenet.com, dyson@iquest.net, dick@tar.com, jplevyak@inktomi.com, hackers@FreeBSD.ORG Subject: Re: lockf and kernel threads Message-ID: <199903051823.KAA49114@apollo.backplane.com> References: <199903051816.LAA10950@usr06.primenet.com>
index | next in thread | previous in thread | raw e-mail
Two things.
First, ASTs were a VAXen thing and must be 'simulated' on every other
architecture, including intel.
Second, Intel's ring architecture is 100% *broken*. The only useful
rings are ring 0 and ring 3. That's it. The intermediate rings are no
better then a glorified user mode because most privilaged instructions
cannot be run in them.
Matthew Dillon
<dillon@backplane.com>
:> > Actually, AST's run in a mode between supervisor and user. The x86
:> > handles this (the infrequently used "ring 1" and "ring 2", but other
:> > processor architectures do not.
:> > or previous employers.
:>
:> Thats a kernel implementation issue and not necessarily a platform specific
:> feature assuming
:> that the platform can do multitasking .
:
:It was my understanding that it had to run in the user's process on
:potentially N alternate stacks, simultaneously, if an AST fires
:while an AST is filiring.
:
:Basically, ring 2 is used to supply th stack and the program counter.
:
:I think you could queue it, but you would lose your interleave.
:
:I think that completion functions are less useful than select type
:functions. For VMS, this would be SYS$WAITEFLOR, which waits for
:an event flag to be set by an AST callback into event-flag-setting
:code.
:
:You have to use a "wait for completion" interface of some kind if
:...
: Terry Lambert
: terry@lambert.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903051823.KAA49114>
