You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AFAIK since the XV6's processes are managed by the global array struct proc proc[NPROC] in the kernel, that end_op, e.t.c., may sleep and thus change the CPU on which this call is carried out should not invalidate the struct proc*.
In fact the chapter 7.4 of the XV6 book rev.3 mentions that the pointer returned by myproc is safe to use even if some interrupt causes the process to be moved to other CPU, and the XV6 exec implementation on x86 does only call myproc once.
Are there any soundness concerns for the second call to myproc here?
Best Regards
The text was updated successfully, but these errors were encountered:
Here in
kernel/exec.c
we calledmyproc
, which we've already donejust now at this line
.AFAIK since the XV6's processes are managed by the global array
struct proc proc[NPROC]
in the kernel, thatend_op
, e.t.c., may sleep and thus change the CPU on which this call is carried out should not invalidate thestruct proc*
.In fact the chapter 7.4 of the XV6 book rev.3 mentions that the pointer returned by
myproc
is safe to use even if some interrupt causes the process to be moved to other CPU, and the XV6exec
implementation on x86 does only callmyproc
once.Are there any soundness concerns for the second call to
myproc
here?Best Regards
The text was updated successfully, but these errors were encountered: