On Sun, 10 Feb 2002, Bruce Evans wrote:
> On Sat, 9 Feb 2002, Julian Elischer wrote:
> > AST is not always called
> > and userret is always called, but unfortunatly sometimes multiple times
> userret() isn't always called either in my version :-). When I'm
> finished, it will never be called (but I might rename ast() to userret()
> since it is essenttially the unusual case for the original userret()).
Any chance you could break that bit of your patch out and make it an
independently committable bit? (and commit it) ?
I'd like to see SOMETHING always called because I need somewhere to plug
in the code that the KSE kernel needs to run on KSE processes at the user
> > if someone were to clean up AST/userret
> > it would be easier, but I am not sure I understand all the issues..
> > Particularly the interraction between ast() and userret() and the various
> > possible ASTs
> Logically, it belongs at the end of userret(),
Logically WHAT does?
> but I would prefer it
> to be immediately after all calls to userret() like it almost is now
> so that I don't have to change it. ast() is not special here, modulo
> optimizations -- it is just one caller of userret(). Think of it as
> just an optimization of one case of trap().
but AST is called (potentially) from all users of doreti()
which you say includes fast interrupts.
> I prefer explicit comparisions with NULL and 0 except for booleans.
Actually so do I though in this case I'm thinking of "if (x != NULL)"
as "if X is valid"
which comes out of my fingers as "if (x)" (validity is a boolean)
Sometimes I've thought about something like:
where ISVALID could be different on different architectures,
(e.g. ia64 actually has support for item validity)
but it's not worth it and doesn't gain anything except bloat.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message