From: Linus Torvalds Date: Fri, 14 Aug 2020 21:26:08 +0000 (-0700) Subject: Merge tag 'timers-urgent-2020-08-14' of git://git.kernel.org/pub/scm/linux/kernel... X-Git-Tag: microblaze-v5.10~26 X-Git-Url: http://git.monstr.eu/?p=linux-2.6-microblaze.git;a=commitdiff_plain;h=b923f1247b72fc100b87792fd2129d026bb10e66 Merge tag 'timers-urgent-2020-08-14' of git://git./linux/kernel/git/tip/tip 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() --- b923f1247b72fc100b87792fd2129d026bb10e66 diff --cc kernel/time/timekeeping.c index 406306b33452,35cd10f1143b..4c47f388a83f --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@@ -39,8 -39,6 +39,8 @@@ enum timekeeping_adv_mode TK_ADV_FREQ }; - static DEFINE_RAW_SPINLOCK(timekeeper_lock); ++DEFINE_RAW_SPINLOCK(timekeeper_lock); + /* * The most important data for readout fits into a single 64 byte * cache line.