diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-11-13 17:40:44 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-11-13 17:40:44 +0200 |
| commit | f0935d3d20c2624b7c4b70a8e8ad891e516a0641 (patch) | |
| tree | 53510a1075e019a32f86ce53d170f076a0924c35 | |
| parent | 0ad55464bb7c0f9d49fc50b397bbf92fd5928258 (diff) | |
| download | kmi-f0935d3d20c2624b7c4b70a8e8ad891e516a0641.tar.gz kmi-f0935d3d20c2624b7c4b70a8e8ad891e516a0641.zip | |
give symbolic name to rpc stack ratio
| -rw-r--r-- | common/tcb.c | 2 | ||||
| -rw-r--r-- | common/uapi/conf.c | 7 | ||||
| -rw-r--r-- | include/apos/conf.h | 6 |
3 files changed, 11 insertions, 4 deletions
diff --git a/common/tcb.c b/common/tcb.c index afc8442..08b48c9 100644 --- a/common/tcb.c +++ b/common/tcb.c @@ -480,5 +480,5 @@ bool enough_rpc_stack(struct tcb *t) vm_t top = RPC_STACK_BASE + __call_stack_size; vm_t rpc_stack = t->rpc_stack + BASE_PAGE_SIZE; - return top - rpc_stack >= __call_stack_size / 4; + return top - rpc_stack >= __call_stack_size / RPC_STACK_RATIO; } diff --git a/common/uapi/conf.c b/common/uapi/conf.c index 596cb5c..dcba6a3 100644 --- a/common/uapi/conf.c +++ b/common/uapi/conf.c @@ -11,6 +11,7 @@ #include <apos/power.h> #include <apos/sizes.h> #include <apos/uapi.h> +#include <apos/conf.h> /** \todo stack size should really be set on a per-thread basis, and are the * conf*-syscalls even necessary? */ @@ -83,8 +84,8 @@ SYSCALL_DEFINE2(conf_set)(sys_arg_t param, sys_arg_t val) break; case CONF_CALL_STACK: - size = align_up(val, 4 * BASE_PAGE_SIZE); - if (size < __rpc_stack_size * 4) + size = align_up(val, RPC_STACK_RATIO * BASE_PAGE_SIZE); + if (size < __rpc_stack_size * RPC_STACK_RATIO) return SYS_RET1(ERR_MISC); __call_stack_size = size; @@ -92,7 +93,7 @@ SYSCALL_DEFINE2(conf_set)(sys_arg_t param, sys_arg_t val) case CONF_RPC_STACK: size = align_up(val, BASE_PAGE_SIZE); - if (size > __call_stack_size / 4) + if (size > __call_stack_size / RPC_STACK_RATIO) return SYS_RET1(ERR_MISC); __rpc_stack_size = size; diff --git a/include/apos/conf.h b/include/apos/conf.h index 33fa8e5..ef6a641 100644 --- a/include/apos/conf.h +++ b/include/apos/conf.h @@ -43,4 +43,10 @@ extern size_t __call_stack_size; */ extern size_t __rpc_stack_size; +/** + * Convenience macro for requirement of ratio between \ref __rpc_stack_size and + * \ref __call_stack_size. + */ +#define RPC_STACK_RATIO 4 + #endif /* APOS_CONF_H */ |
