Date: Fri, 5 Mar 1999 18:16:18 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: hasty@rah.star-gate.com (Amancio Hasty) Cc: tlambert@primenet.com, dyson@iquest.net, dick@tar.com, jplevyak@inktomi.com, hackers@FreeBSD.ORG Subject: Re: lockf and kernel threads Message-ID: <199903051816.LAA10950@usr06.primenet.com> In-Reply-To: <199903051757.JAA81871@rah.star-gate.com> from "Amancio Hasty" at Mar 5, 99 09:57:43 am
next in thread | previous in thread | raw e-mail | index | archive | help
> > 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 you intend to implement threads, since, the wait is the top of the call conversion scheduler pyramid. Terry Lambert terry@lambert.org --- 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903051816.LAA10950>