diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-11-21 14:02:17 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-11-21 14:02:17 +0200 |
| commit | 62d395d206171fdaf3fa62c495633990198db6c4 (patch) | |
| tree | bed68b4a0fd5ff5897f78418fd3527eb05c72ec9 /common/uapi/timers.c | |
| parent | d312c853a8c9e6e2fd457fa5f840e65a9a738e7d (diff) | |
| download | kmi-62d395d206171fdaf3fa62c495633990198db6c4.tar.gz kmi-62d395d206171fdaf3fa62c495633990198db6c4.zip | |
possible optimisations
Diffstat (limited to 'common/uapi/timers.c')
| -rw-r--r-- | common/uapi/timers.c | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/common/uapi/timers.c b/common/uapi/timers.c index 80cef1d..b7c0ddd 100644 --- a/common/uapi/timers.c +++ b/common/uapi/timers.c @@ -38,13 +38,15 @@ static ticks_t scaled_ticks(sys_arg_t ticks, sys_arg_t mult) * @return \ref OK and timebase in second argument if 64bit, otherwise high 32 * bits of timebase in second argument and low 32 bits in third argument. */ -SYSCALL_DEFINE0(timebase)() +SYSCALL_DEFINE0(timebase)(struct tcb *t) { - ticks_t t = secs_to_ticks(1); + UNUSED(t); + + ticks_t tm = secs_to_ticks(1); #if defined(_LP64) - return SYS_RET2(OK, t); + return SYS_RET2(OK, tm); #else - return SYS_RET3(OK, t >> 32, t); + return SYS_RET3(OK, tm >> 32, tm); #endif } @@ -58,13 +60,15 @@ SYSCALL_DEFINE0(timebase)() * @return \ref OK and the current ticks when on 64bit systems, otherwise high * 32 bits of ticks in second argument and low 32 bits in third. */ -SYSCALL_DEFINE0(ticks)() +SYSCALL_DEFINE0(ticks)(struct tcb *t) { - ticks_t t = current_ticks(); + UNUSED(t); + + ticks_t tm = current_ticks(); #if defined(_LP64) - return SYS_RET2(OK, t); + return SYS_RET2(OK, tm); #else - return SYS_RET3(OK, t >> 32, t); + return SYS_RET3(OK, tm >> 32, tm); #endif } @@ -79,11 +83,9 @@ SYSCALL_DEFINE0(ticks)() * @param mult Multiply \c ticks by this value. * @return \ref OK and \c cid of created timer. */ -SYSCALL_DEFINE2(req_rel_timer)(sys_arg_t ticks, sys_arg_t mult) +SYSCALL_DEFINE2(req_rel_timer)(struct tcb *t, sys_arg_t ticks, sys_arg_t mult) { - return SYS_RET2(OK, - new_rel_timer(cur_tcb()->tid, - scaled_ticks(ticks, mult))); + return SYS_RET2(OK, new_rel_timer(t->tid, scaled_ticks(ticks, mult))); } /** @@ -94,11 +96,9 @@ SYSCALL_DEFINE2(req_rel_timer)(sys_arg_t ticks, sys_arg_t mult) * @return \ref OK and \c cid of created timer. * \see req_rel_timer(). */ -SYSCALL_DEFINE2(req_abs_timer)(sys_arg_t ticks, sys_arg_t mult) +SYSCALL_DEFINE2(req_abs_timer)(struct tcb *t, sys_arg_t ticks, sys_arg_t mult) { - return SYS_RET2(OK, - new_abs_timer(cur_tcb()->tid, - scaled_ticks(ticks, mult))); + return SYS_RET2(OK, new_abs_timer(t->tid, scaled_ticks(ticks, mult))); } /** @@ -108,8 +108,10 @@ SYSCALL_DEFINE2(req_abs_timer)(sys_arg_t ticks, sys_arg_t mult) * @return \ref ERR_NF and \c 0if no timer could be found with \c cid, \ref OK * and 0 otherwise. */ -SYSCALL_DEFINE1(free_timer)(sys_arg_t cid) +SYSCALL_DEFINE1(free_timer)(struct tcb *t, sys_arg_t cid) { + UNUSED(t); + struct timer *timer = find_timer(cid); if (!timer) return SYS_RET1(ERR_NF); |
