From 91f79ce9fab7c9920b6f331ca074d58c17755fc9 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 17 Aug 2022 17:38:46 +0000 Subject: kernel: allocate notes in heap de-bloat the proc structure by allocating notes with on the heap instead of embedding them in the proc structure. This saves around 640 bytes per process. --- sys/src/9/port/sysproc.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'sys/src/9/port/sysproc.c') diff --git a/sys/src/9/port/sysproc.c b/sys/src/9/port/sysproc.c index cd1e641cb..16bcf90a1 100644 --- a/sys/src/9/port/sysproc.c +++ b/sys/src/9/port/sysproc.c @@ -105,12 +105,12 @@ sysrfork(va_list list) p->dot = up->dot; incref(p->dot); - memmove(p->note, up->note, sizeof(p->note)); - p->nnote = up->nnote; - p->notify = up->notify; + p->nnote = 0; + p->notify = up->notify; p->notified = 0; p->notepending = 0; - p->lastnote = up->lastnote; + p->lastnote = nil; + if((flag & RFNOTEG) == 0) p->noteid = up->noteid; @@ -599,7 +599,9 @@ sysexec(va_list list) up->nargs = n; up->setargs = 0; - up->nnote = 0; + freenotes(up); + free(up->lastnote); + up->lastnote = nil; up->notify = nil; up->notified = 0; up->privatemem = 0; -- cgit v1.2.3