[v2] RISC-V: Fix timeval conversion in _gettimeofday()

Message ID 20231129035714.469943-1-visitorckw@gmail.com
State New
Headers
Series [v2] RISC-V: Fix timeval conversion in _gettimeofday() |

Commit Message

Kuan-Wei Chiu Nov. 29, 2023, 3:57 a.m. UTC
  Replace multiplication with division for microseconds calculation from
nanoseconds in _gettimeofday function.

Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
---
v1 -> v2:
   - Add missing Signed-off-by tag.

 libgloss/riscv/sys_gettimeofday.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Kito Cheng Nov. 29, 2023, 6:41 a.m. UTC | #1
LGTM, thanks for the fix, I am suppressing that we mis-scale that for
such a long time!

On Wed, Nov 29, 2023 at 11:57 AM Kuan-Wei Chiu <visitorckw@gmail.com> wrote:
>
> Replace multiplication with division for microseconds calculation from
> nanoseconds in _gettimeofday function.
>
> Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
> ---
> v1 -> v2:
>    - Add missing Signed-off-by tag.
>
>  libgloss/riscv/sys_gettimeofday.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libgloss/riscv/sys_gettimeofday.c b/libgloss/riscv/sys_gettimeofday.c
> index 81bea8e55..5379a8963 100644
> --- a/libgloss/riscv/sys_gettimeofday.c
> +++ b/libgloss/riscv/sys_gettimeofday.c
> @@ -23,7 +23,7 @@ _gettimeofday(struct timeval *tp, void *tzp)
>    int rv;
>    rv = syscall_errno (SYS_clock_gettime64, 2, 0, (long)&ts64, 0, 0, 0, 0);
>    tp->tv_sec = ts64.tv_sec;
> -  tp->tv_usec = ts64.tv_nsec * 1000;
> +  tp->tv_usec = ts64.tv_nsec / 1000;
>    return rv;
>  #else
>    return syscall_errno (SYS_gettimeofday, 1, tp, 0, 0, 0, 0, 0);
> --
> 2.25.1
>
  
Corinna Vinschen Nov. 29, 2023, 9:15 a.m. UTC | #2
On Nov 29 11:57, Kuan-Wei Chiu wrote:
> Replace multiplication with division for microseconds calculation from
> nanoseconds in _gettimeofday function.
> 
> Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
> ---
> v1 -> v2:
>    - Add missing Signed-off-by tag.
> 
>  libgloss/riscv/sys_gettimeofday.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libgloss/riscv/sys_gettimeofday.c b/libgloss/riscv/sys_gettimeofday.c
> index 81bea8e55..5379a8963 100644
> --- a/libgloss/riscv/sys_gettimeofday.c
> +++ b/libgloss/riscv/sys_gettimeofday.c
> @@ -23,7 +23,7 @@ _gettimeofday(struct timeval *tp, void *tzp)
>    int rv;
>    rv = syscall_errno (SYS_clock_gettime64, 2, 0, (long)&ts64, 0, 0, 0, 0);
>    tp->tv_sec = ts64.tv_sec;
> -  tp->tv_usec = ts64.tv_nsec * 1000;
> +  tp->tv_usec = ts64.tv_nsec / 1000;
>    return rv;
>  #else
>    return syscall_errno (SYS_gettimeofday, 1, tp, 0, 0, 0, 0, 0);
> -- 
> 2.25.1

Pushed.


Thanks,
Corinna
  

Patch

diff --git a/libgloss/riscv/sys_gettimeofday.c b/libgloss/riscv/sys_gettimeofday.c
index 81bea8e55..5379a8963 100644
--- a/libgloss/riscv/sys_gettimeofday.c
+++ b/libgloss/riscv/sys_gettimeofday.c
@@ -23,7 +23,7 @@  _gettimeofday(struct timeval *tp, void *tzp)
   int rv;
   rv = syscall_errno (SYS_clock_gettime64, 2, 0, (long)&ts64, 0, 0, 0, 0);
   tp->tv_sec = ts64.tv_sec;
-  tp->tv_usec = ts64.tv_nsec * 1000;
+  tp->tv_usec = ts64.tv_nsec / 1000;
   return rv;
 #else
   return syscall_errno (SYS_gettimeofday, 1, tp, 0, 0, 0, 0, 0);