Skip to content
  1. 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
  2. Jun 10, 2020
  3. Jun 06, 2020
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · 084623e4
      Linus Torvalds authored
      Pull module updates from Jessica Yu:
      
       - Harden CONFIG_STRICT_MODULE_RWX by rejecting any module that has
         SHF_WRITE|SHF_EXECINSTR sections
      
       - Remove and clean up nested #ifdefs, as it makes code hard to read
      
      * tag 'modules-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: Harden STRICT_MODULE_RWX
        module: break nested ARCH_HAS_STRICT_MODULE_RWX and STRICT_MODULE_RWX #ifdefs
      084623e4
    • Linus Torvalds's avatar
      Merge tag 'x86-mm-2020-06-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4dd60a3
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "Misc changes:
      
         - Unexport various PAT primitives
      
         - Unexport per-CPU tlbstate and uninline TLB helpers"
      
      * tag 'x86-mm-2020-06-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        x86/tlb/uv: Add a forward declaration for struct flush_tlb_info
        x86/cpu: Export native_write_cr4() only when CONFIG_LKTDM=m
        x86/tlb: Restrict access to tlbstate
        xen/privcmd: Remove unneeded asm/tlb.h include
        x86/tlb: Move PCID helpers where they are used
        x86/tlb: Uninline nmi_uaccess_okay()
        x86/tlb: Move cr4_set_bits_and_update_boot() to the usage site
        x86/tlb: Move paravirt_tlb_remove_table() to the usage site
        x86/tlb: Move __flush_tlb_all() out of line
        x86/tlb: Move flush_tlb_others() out of line
        x86/tlb: Move __flush_tlb_one_kernel() out of line
        x86/tlb: Move __flush_tlb_one_user() out of line
        x86/tlb: Move __flush_tlb_global() out of line
        x86/tlb: Move __flush_tlb() out of line
        x86/alternatives: Move temporary_mm helpers into C
        x86/cr4: Sanitize CR4.PCE update
        x86/cpu: Uninline CR4 accessors
        x86/tlb: Uninline __get_current_cr3_fast()
        x86/mm: Use pgprotval_t in protval_4k_2_large() and protval_large_2_4k()
        x86/mm: Unexport __cachemode2pte_tbl
        ...
      f4dd60a3
  4. Jun 05, 2020