Subject: Re: removing double mapping of kstack.
To: Allen Briggs <briggs@puma.bevd.blacksburg.va.us>
From: Chris G Demetriou <Chris_G_Demetriou@LAGAVULIN.PDL.CS.CMU.EDU>
List: port-m68k
Date: 05/08/1995 10:06:50
> You lose a couple of things by skipping the return to syscall,
> but presumably the fresh new process won't have received a signal,
> nor will it want rescheduling.

This is assumed...

> This leaves a possible call to
> sc_debug, another to addupc_task for profiling, and one more
> to ktrsysret.

Note that it's not strictly necessary to jump to rei directly...  one
could continue elsewhere, and handle the above problems.

I consider the alpha implementation ... "a bit flawed" for a couple of
reasons, but i needed to kill the double-mapping ASAP for other
reasons...


You'll note that there really isn't any need to call addupc_task
for the child.  any tick accumulated before it's running will be
charged to the parent, and any ticks while it's running will be
handled correctly (i think 8-).

That leaves the 'sc_debug' return return (which i consider skippable)
and the ktrsysret, which isn't so skippable and which is slightly
harder to do.

one could easily-enough do the ktrsysret() in cpu_fork, but that's a
bit ... cheezy, and slightly incorrect.


later,

chris