aboutsummaryrefslogtreecommitdiff
path: root/src/uapi/ipc.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-11-02 18:58:13 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2024-11-02 18:58:13 +0200
commit5890df7bf838a5a912465a1bba02e5d8cf34e33c (patch)
tree48c17acfc5ed2b44bff817b00123288098273ecc /src/uapi/ipc.c
parent5531e2eaaa2fd1dd282dba2fb5bc10e09dfec5e0 (diff)
downloadkmi-5890df7bf838a5a912465a1bba02e5d8cf34e33c.tar.gz
kmi-5890df7bf838a5a912465a1bba02e5d8cf34e33c.zip
allow skipping some cache flushes in proc
Diffstat (limited to 'src/uapi/ipc.c')
-rw-r--r--src/uapi/ipc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/uapi/ipc.c b/src/uapi/ipc.c
index 3f94e63..e323478 100644
--- a/src/uapi/ipc.c
+++ b/src/uapi/ipc.c
@@ -61,7 +61,7 @@ static __inline void enter_rpc(struct tcb *t, struct tcb *r, struct sys_ret a,
/* try to get rid of args as fast as possible to free up registers for
* later use */
- set_ret(t, 6, a);
+ set_ret_fast(t, a);
if (!is_set(flags, IPC_TAIL)) {
ctx->rpc_stack = t->rpc_stack;
@@ -79,7 +79,7 @@ static __inline void enter_rpc(struct tcb *t, struct tcb *r, struct sys_ret a,
}
- set_stack(t, rpc_stack - BASE_PAGE_SIZE);
+ set_stack_fast(t, rpc_stack - BASE_PAGE_SIZE);
clone_uvmem(r->proc.vmem, t->rpc.vmem);
flush_tlb_full();
@@ -203,7 +203,7 @@ static void leave_rpc(struct tcb *t, struct sys_ret a)
/* again, get rid of args as fast as possible */
if (!ctx->notify)
- set_ret(t, 6, a);
+ set_ret_fast(t, a);
struct tcb *r = get_tcb(ctx->pid);
while (!r || !is_proc(r) || zombie(r)) {