diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-11-01 12:08:38 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-11-01 12:48:04 +0200 |
| commit | a126211922d817cd1c4636c26d4a9a8b1b5f381f (patch) | |
| tree | e930b224af3cc5f572f289488b7a87b03d6bf96e /src/uapi/ipc.c | |
| parent | 83ec75327c1ec35f25b6aee24f616a41858be539 (diff) | |
| download | kmi-a126211922d817cd1c4636c26d4a9a8b1b5f381f.tar.gz kmi-a126211922d817cd1c4636c26d4a9a8b1b5f381f.zip | |
copy rpc stacks directly
+ Speeds up fork a little bit
Diffstat (limited to 'src/uapi/ipc.c')
| -rw-r--r-- | src/uapi/ipc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/uapi/ipc.c b/src/uapi/ipc.c index 644abc2..cebea68 100644 --- a/src/uapi/ipc.c +++ b/src/uapi/ipc.c @@ -48,7 +48,7 @@ enum ipc_flags { static inline void finalize_rpc(struct tcb *t, struct tcb *r, vm_t s) { clone_uvmem(r->proc.vmem, t->rpc.vmem); - flush_tlb_all(); + flush_tlb_full(); set_return(t, r->callback); reference_thread(r); @@ -247,7 +247,7 @@ static void leave_rpc(struct tcb *t, struct sys_ret a) * no-op */ t->rpc_stack = ctx->rpc_stack; destroy_rpc(t); - flush_tlb_all(); + flush_tlb_full(); t->pid = ctx->pid; t->eid = ctx->eid; |
