Date: Mon, 8 Jul 2002 23:40:46 -0700 (PDT) From: Julian Elischer <julian@elischer.org> To: FreeBSD current users <current@FreeBSD.ORG> Subject: userret() , ast() and the end of syscalls Message-ID: <Pine.BSF.4.21.0207082328510.32617-100000@InterJet.elischer.org>
next in thread | raw e-mail | index | archive | help
A question to those who know.. why is userret() called both at the end of trap() or syscall() and also almost immediatly again (often) at the end of ast(). It seems that really there is no one place that one can put code that will be called ONCE and ONLY ONCE as a thread progresses to userland. There is no one place where you can say "after this point we are in userland" right up until that iret instruction. There is always the danger that FTER ny insruction that decides that we are now definitly going to user space, there could occur an interrupt that causes a reschedule so that some OTHER thread goes to user land. Is it possible to clear interrupts and have the iret instruction itself re-enable them? (that would give a few instructions 'atomically' with the iret which may be all I need). is this possible in other architectures? To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0207082328510.32617-100000>