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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903051823.KAA49114>