Skip to content
Snippets Groups Projects
  1. Jan 08, 2021
  2. Jun 11, 2020
    • Vincent Chen's avatar
      riscv: use vDSO common flow to reduce the latency of the time-related functions · ad5d1122
      Vincent Chen authored
      
      Even if RISC-V has supported the vDSO feature, the latency of the functions
      for obtaining the system time is still expensive. It is because these
      functions still trigger a corresponding system call in the process, which
      slows down the response time. If we want to remove the system call to
      reduce the latency, the kernel should have the ability to output the system
      clock information to userspace. This patch introduces the vDSO common flow
      to enable the kernel to achieve the above feature and uses "rdtime"
      instruction to obtain the current time in the user space. Under this
      condition, the latency cost by the ecall from U-mode to S-mode can be
      eliminated. After applying this patch, the latency of gettimeofday()
      measured on the HiFive unleashed board can be reduced by %61.
      
      Signed-off-by: default avatarVincent Chen <vincent.chen@sifive.com>
      Reviewed-by: default avatarAtish Patra <atish.patra@wdc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      ad5d1122
  3. Oct 28, 2019
    • Paul Walmsley's avatar
      riscv: add missing header file includes · 5ed881bc
      Paul Walmsley authored
      
      sparse identifies several missing prototypes caused by missing
      preprocessor include directives:
      
      arch/riscv/kernel/cpufeature.c:16:6: warning: symbol 'has_fpu' was not declared. Should it be static?
      arch/riscv/kernel/process.c:26:6: warning: symbol 'arch_cpu_idle' was not declared. Should it be static?
      arch/riscv/kernel/reset.c:15:6: warning: symbol 'pm_power_off' was not declared. Should it be static?
      arch/riscv/kernel/syscall_table.c:15:6: warning: symbol 'sys_call_table' was not declared. Should it be static?
      arch/riscv/kernel/traps.c:149:13: warning: symbol 'trap_init' was not declared. Should it be static?
      arch/riscv/kernel/vdso.c:54:5: warning: symbol 'arch_setup_additional_pages' was not declared. Should it be static?
      arch/riscv/kernel/smp.c:64:6: warning: symbol 'arch_match_cpu_phys_id' was not declared. Should it be static?
      arch/riscv/kernel/module-sections.c:89:5: warning: symbol 'module_frob_arch_sections' was not declared. Should it be static?
      arch/riscv/mm/context.c:42:6: warning: symbol 'switch_mm' was not declared. Should it be static?
      
      Fix by including the appropriate header files in the appropriate
      source files.
      
      This patch should have no functional impact.
      
      Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      5ed881bc
  4. Sep 20, 2019
  5. Jun 05, 2019
  6. Dec 21, 2018
  7. Aug 13, 2018
  8. Sep 26, 2017
Loading