aboutsummaryrefslogtreecommitdiff
path: root/common/dmem.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-10-09 16:13:47 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2023-10-09 16:15:06 +0300
commit363d0ec55f1d7e0d44f14cb1d63fdca4bc72efde (patch)
tree122617be8859396dfd067e0da2cca4d8f670c277 /common/dmem.c
parent9c9d589ea310f1290e4d6d2019fc8b51d9a86e42 (diff)
downloadkmi-363d0ec55f1d7e0d44f14cb1d63fdca4bc72efde.tar.gz
kmi-363d0ec55f1d7e0d44f14cb1d63fdca4bc72efde.zip
experimenting with removing lists threads per proc
+ Gives a very slight improvement to RPC speeds, but mostly cleans up code a little bit.
Diffstat (limited to 'common/dmem.c')
-rw-r--r--common/dmem.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/common/dmem.c b/common/dmem.c
index b903cbe..bbabe09 100644
--- a/common/dmem.c
+++ b/common/dmem.c
@@ -106,14 +106,15 @@ vm_t alloc_devmem(struct tcb *t, pm_t dev_start, size_t bytes, vmflags_t flags)
region = alloc_region(&post_ram, bytes, 0, flags);
if (!region)
- return 0;
+ return NULL;
stat_t status = OK;
const vm_t w = map_fill_region(t->proc.vmem, &dev_alloc_wrapper,
dev_start, region,
bytes, flags, &status);
- if (is_rpc(t) && status == INFO_SEFF)
- clone_rpc_maps(t);
+
+ if (status)
+ return NULL;
return w;
}
@@ -142,8 +143,6 @@ stat_t free_devmem(struct tcb *t, vm_t dev_start)
stat_t status = OK;
map_fill_region(t->proc.vmem, &dev_free_wrapper, dev_paddr, dev_start,
region_size, 0, &status);
- if (is_rpc(t) && status == INFO_SEFF)
- clone_rpc_maps(t);
if (dev_paddr < __pre_top)
free_region(&pre_ram, dev_paddr);
@@ -151,5 +150,5 @@ stat_t free_devmem(struct tcb *t, vm_t dev_start)
if (dev_paddr > __post_base)
free_region(&post_ram, dev_paddr);
- return OK;
+ return status;
}