From ded843efbdad1ed048fe42c50c8fb68d50bafa51 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Fri, 12 Jul 2024 00:12:06 +0200 Subject: kernel: don't reuse VfsReq allocations for a single process To use the same testing methodology as when I've introduced request slots: before: / $ iostress 1 1000000 0 > /dev/vtty run 0: 2585203 1000000 calls, 0 bytes. avg 2585203 after: / $ iostress 1 1000000 0 > /dev/vtty run 0: 2783171 1000000 calls, 0 bytes. avg 2783171 This is around a 7.7% slowdown - that I hope to fix with a better malloc. While this doesn't really make the code that much simpler, it doesn't feel like the right approach in the first place --- src/kernel/proc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/kernel/proc.c') diff --git a/src/kernel/proc.c b/src/kernel/proc.c index fcb51c6..9a9a84f 100644 --- a/src/kernel/proc.c +++ b/src/kernel/proc.c @@ -223,10 +223,8 @@ void proc_kill(Proc *p, int ret) { if (p->state == PS_WAITS4FS) { assert(p->reqslot); - p->reqslot->caller = NULL; /* transfer ownership */ + p->reqslot->caller = NULL; p->reqslot = NULL; - } else if (p->reqslot) { - kfree(p->reqslot); } if (p->state == PS_WAITS4PIPE) { -- cgit v1.2.3