Skip site navigation (1)Skip section navigation (2)
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>