• Linus Torvalds's avatar
    Merge tag 'timers-urgent-2020-08-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b923f124
    Linus Torvalds authored
    Pull timekeeping updates from Thomas Gleixner:
     "A set of timekeeping/VDSO updates:
    
       - Preparatory work to allow S390 to switch over to the generic VDSO
         implementation.
    
         S390 requires that the VDSO data pointer is handed in to the
         counter read function when time namespace support is enabled.
         Adding the pointer is a NOOP for all other architectures because
         the compiler is supposed to optimize that out when it is unused in
         the architecture specific inline. The change also solved a similar
         problem for MIPS which fortunately has time namespaces not yet
         enabled.
    
         S390 needs to update clock related VDSO data independent of the
         timekeeping updates. This was solved so far with yet another
         sequence counter in the S390 implementation. A better solution is
         to utilize the already existing VDSO sequence count for this. The
         core code now exposes helper functions which allow to serialize
         against the timekeeper code and against concurrent readers.
    
         S390 needs extra data for their clock readout function. The initial
         common VDSO data structure did not provide a way to add that. It
         now has an embedded architecture specific struct embedded which
         defaults to an empty struct.
    
         Doing this now avoids tree dependencies and conflicts post rc1 and
         allows all other architectures which work on generic VDSO support
         to work from a common upstream base.
    
       - A trivial comment fix"
    
    * tag 'timers-urgent-2020-08-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      time: Delete repeated words in comments
      lib/vdso: Allow to add architecture-specific vdso data
      timekeeping/vsyscall: Provide vdso_update_begin/end()
      vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter()
    b923f124
timekeeping.c 67.2 KB