From: Thomas Gleixner <tglx@linutronix.de> To: Vincenzo Frascino <vincenzo.frascino@arm.com> Cc: linux-arch@vger.kernel.org, LAK <linux-arm-kernel@lists.infradead.org>, LKML <linux-kernel@vger.kernel.org>, linux-mips@vger.kernel.org, linux-kselftest@vger.kernel.org, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will.deacon@arm.com>, Arnd Bergmann <arnd@arndb.de>, Russell King <linux@armlinux.org.uk>, Ralf Baechle <ralf@linux-mips.org>, Paul Burton <paul.burton@mips.com>, Daniel Lezcano <daniel.lezcano@linaro.org>, Mark Salyzyn <salyzyn@android.com>, Peter Collingbourne <pcc@google.com>, Shuah Khan <shuah@kernel.org>, Dmitry Safonov <0x7f454c46@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Huw Davies <huw@codeweavers.com>, Shijith Thotton <sthotton@marvell.com>, Andre Przywara <andre.przywara@arm.com>, Dmitry Safonov <dima@arista.com>, Andrei Vagin <avagin@openvz.org>, Linus Torvalds <torvalds@linux-foundation.org>, Andy Lutomirski <luto@kernel.org>, Michael Kelley <mikelley@microsoft.com>, Sasha Levin <sashal@kernel.org> Subject: Re: [PATCH v7 00/25] Unify vDSOs across more architectures Date: Mon, 24 Jun 2019 02:34:24 +0200 (CEST) Message-ID: <alpine.DEB.2.21.1906240142000.32342@nanos.tec.linutronix.de> (raw) In-Reply-To: <20190621095252.32307-1-vincenzo.frascino@arm.com> Vincenzo, On Fri, 21 Jun 2019, Vincenzo Frascino wrote: > vDSO (virtual dynamic shared object) is a mechanism that the Linux > kernel provides as an alternative to system calls to reduce where > possible the costs in terms of cycles. > This is possible because certain syscalls like gettimeofday() do > not write any data and return one or more values that are stored > in the kernel, which makes relatively safe calling them directly > as a library function. > > Even if the mechanism is pretty much standard, every architecture > in the last few years ended up implementing their own vDSO library > in the architectural code. .... > This implementation contains the portings to the common library for: arm64, > compat mode for arm64, arm, mips, x86_64, x32, compat mode for x86_64 and > i386. I picked up the core implementation and the ARM64 and x86 conversion. I did some refinements in several places, coding style, naming conventions, comments and changelogs including subject prefixes. Please double check! I did not merge the ARM and MIPS parts as they lack any form of acknowlegment from their maintainers. Please talk to those folks. If they ack/review the changes then I can pick them up and they go into 5.3 or they have to go in a later cycle. Nevertheless it was well worth the trouble to have those conversions done to confirm that the new common library fits a bunch of different architectures. As you can see from the commit dates, this has soaked for some time in a WIP branch and I did extensive regression testing. So far so good. Thanks a lot for going through several iterations. It's a very much appreciated effort! Especially with the upcoming time namespaces this will avoid a lot of duplicated and pointlessly different horrors all over the architecture space. Any architecture which wants to gain that support needs to convert to the generic VDSO first. As you have become the dude who knows almost everything about VDSO including all the nasty pitfalls, I propose the patch below. Thanks, tglx 8<------------ Subject: MAINTAINERS: Add entry for the generic VDSO library From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 24 Jun 2019 02:03:50 +0200 Asign the following folks in alphabetic order: - Andy for being the VDSO wizard of x86 and in general. He's also the performance monitor of choice and the code in the generic library is heavily influenced by his previous x86 VDSO work. - Thomas for being the dude who has to deal with any form of time(r) nonsense anyway - Vincenzo for being the poor sod who went through all the different architecture implementations in order to unify them. A lot of knowledge gained from VDSO implementation details to the intricacies of taming the build system. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- MAINTAINERS | 12 ++++++++++++ 1 file changed, 12 insertions(+) --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6665,6 +6665,18 @@ L: kvm@vger.kernel.org S: Supported F: drivers/uio/uio_pci_generic.c +GENERIC VDSO LIBRARY: +M: Andy Lutomirksy <luto@kernel.org> +M: Thomas Gleixner <tglx@linutronix.de> +M: Vincenzo Frascino <vincenzo.frascino@arm.com> +L: linux-kernel@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/vdso +S: Maintained +F: lib/vdso +F: kernel/time/vsyscall.c +F: include/vdso +F: include/asm-generic/vdso/vsyscall.h + GENWQE (IBM Generic Workqueue Card) M: Frank Haverkamp <haver@linux.ibm.com> S: Supported
next prev parent reply index Thread overview: 108+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-06-21 9:52 Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 01/25] kernel: Standardize vdso_datapage Vincenzo Frascino 2019-06-24 13:56 ` Catalin Marinas 2019-06-21 9:52 ` [PATCH v7 02/25] kernel: Define gettimeofday vdso common code Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 03/25] kernel: Unify update_vsyscall implementation Vincenzo Frascino 2019-06-21 10:49 ` Huw Davies 2019-06-21 9:52 ` [PATCH v7 04/25] arm64: Substitute gettimeofday with C implementation Vincenzo Frascino 2019-06-24 13:36 ` Will Deacon 2019-06-24 13:59 ` Vincenzo Frascino 2019-06-25 16:18 ` [PATCH 1/3] lib/vdso: Delay mask application in do_hres() Vincenzo Frascino 2019-06-25 16:18 ` [PATCH 2/3] arm64: Fix __arch_get_hw_counter() implementation Vincenzo Frascino 2019-06-25 16:18 ` [PATCH 3/3] arm64: compat: " Vincenzo Frascino 2019-06-25 17:02 ` [PATCH 1/3] lib/vdso: Delay mask application in do_hres() Thomas Gleixner 2019-06-25 18:27 ` Thomas Gleixner 2019-06-25 20:15 ` Andy Lutomirski 2019-06-25 22:24 ` Thomas Gleixner 2019-06-26 6:38 ` Thomas Gleixner 2019-06-26 9:25 ` Vincenzo Frascino 2019-06-26 10:02 ` lib/vdso: Make delta calculation work correctly Thomas Gleixner 2019-06-26 11:08 ` Vincenzo Frascino 2019-06-24 13:58 ` [PATCH v7 04/25] arm64: Substitute gettimeofday with C implementation Catalin Marinas 2019-06-25 15:33 ` Dave Martin 2019-06-26 13:27 ` Vincenzo Frascino 2019-06-26 16:14 ` Dave Martin 2019-06-26 19:01 ` Vincenzo Frascino 2019-06-27 10:01 ` Dave Martin 2019-06-27 10:57 ` Vincenzo Frascino 2019-06-27 11:27 ` Dave Martin 2019-06-27 11:59 ` Vincenzo Frascino 2019-06-27 14:38 ` Dave Martin 2019-06-27 15:34 ` Vincenzo Frascino 2019-06-25 17:43 ` [PATCH] arm64: vdso: Fix compilation with clang < 8 Vincenzo Frascino 2019-06-26 11:36 ` [PATCH v2] arm64: vdso: Fix compilation with clang older then 8 Vincenzo Frascino [not found] ` <CGME20190628130921eucas1p239935b0771032c331911eacc1a69dd2e@eucas1p2.samsung.com> 2019-06-28 13:09 ` [PATCH v7 04/25] arm64: Substitute gettimeofday with C implementation Marek Szyprowski 2019-06-28 14:32 ` Vincenzo Frascino 2019-06-28 16:50 ` Sylwester Nawrocki 2019-06-29 6:58 ` Vincenzo Frascino 2019-07-08 12:57 ` Sylwester Nawrocki 2019-07-08 13:09 ` Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 05/25] arm64: Build vDSO with -ffixed-x18 Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 06/25] arm64: compat: Add missing syscall numbers Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 07/25] arm64: compat: Expose signal related structures Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 08/25] arm64: compat: Generate asm offsets for signals Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 09/25] lib: vdso: Add compat support Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 10/25] arm64: compat: Add vDSO Vincenzo Frascino 2019-06-24 14:00 ` Catalin Marinas 2019-07-10 4:02 ` John Stultz 2019-07-10 6:12 ` Thomas Gleixner 2019-07-10 9:48 ` Vincenzo Frascino 2019-07-10 8:27 ` Will Deacon 2019-07-10 8:58 ` Thomas Gleixner 2019-07-10 9:12 ` Will Deacon 2019-07-10 9:47 ` Vincenzo Frascino 2019-07-10 13:41 ` Vincenzo Frascino 2019-07-10 13:04 ` [PATCH] arm64: vdso: Fix ABI regression in compat vdso Vincenzo Frascino 2019-07-10 13:25 ` Will Deacon 2019-07-10 13:42 ` Vincenzo Frascino 2019-07-10 14:01 ` [PATCH v2] " Vincenzo Frascino 2019-07-10 15:44 ` John Stultz 2019-07-10 15:53 ` Vincenzo Frascino 2019-07-11 9:45 ` Will Deacon 2019-07-11 10:34 ` Thomas Gleixner 2019-07-11 11:32 ` Will Deacon 2019-06-21 9:52 ` [PATCH v7 11/25] arm64: Refactor vDSO code Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 12/25] arm64: compat: vDSO setup for compat layer Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 13/25] arm64: elf: vDSO code page discovery Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 14/25] arm64: compat: Get sigreturn trampolines from vDSO Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 15/25] arm64: Add vDSO compat support Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 16/25] arm: Add support for generic vDSO Vincenzo Frascino 2019-12-04 13:51 ` [PATCH v7 16/25] arm: Add support for generic vDSO (causing crash) Guenter Roeck 2019-12-04 13:58 ` Vincenzo Frascino 2019-12-04 16:16 ` Guenter Roeck 2019-12-04 17:15 ` Vincenzo Frascino 2019-12-04 19:39 ` Guenter Roeck 2019-12-05 9:42 ` Philippe Mathieu-Daudé 2019-12-05 10:00 ` Vincenzo Frascino 2019-12-05 11:02 ` Arnd Bergmann 2019-12-05 14:56 ` Philippe Mathieu-Daudé 2019-06-21 9:52 ` [PATCH v7 17/25] arm: Add clock_getres entry point Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 18/25] arm: Add clock_gettime64 " Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 19/25] mips: Add support for generic vDSO Vincenzo Frascino 2019-07-26 5:15 ` Paul Burton 2019-07-26 16:29 ` [PATCH 0/2] mips: vdso: Fix Makefile Vincenzo Frascino 2019-07-26 16:29 ` [PATCH 1/2] mips: vdso: Fix source path Vincenzo Frascino 2019-07-26 16:29 ` [PATCH 2/2] mips: vdso: Fix flip/flop vdso building bug Vincenzo Frascino 2019-07-28 22:20 ` [PATCH 0/2] mips: vdso: Fix Makefile Paul Burton 2019-06-21 9:52 ` [PATCH v7 20/25] mips: Add clock_getres entry point Vincenzo Frascino 2019-07-26 5:15 ` Paul Burton 2019-06-21 9:52 ` [PATCH v7 21/25] mips: Add clock_gettime64 " Vincenzo Frascino 2019-07-26 5:15 ` Paul Burton 2019-06-21 9:52 ` [PATCH v7 22/25] x86: Add support for generic vDSO Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 23/25] x86: Add clock_getres entry point Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 24/25] x86: Add clock_gettime64 " Vincenzo Frascino 2019-06-21 9:52 ` [PATCH v7 25/25] kselftest: Extend vDSO selftest Vincenzo Frascino 2019-06-24 0:34 ` Thomas Gleixner [this message] 2019-06-24 1:15 ` [PATCH v7 00/25] Unify vDSOs across more architectures Andy Lutomirski 2019-06-24 7:42 ` Thomas Gleixner 2019-06-24 13:21 ` Vincenzo Frascino 2019-06-24 14:18 ` Thomas Gleixner 2019-06-24 14:23 ` Russell King - ARM Linux admin 2019-06-24 14:49 ` Catalin Marinas 2019-06-24 16:20 ` Vincenzo Frascino 2019-10-25 11:42 ` Geert Uytterhoeven 2019-06-24 18:41 ` Paul Burton 2019-06-24 23:16 ` Vincenzo Frascino 2019-06-25 17:11 ` Paul Burton 2019-06-25 17:17 ` Vincenzo Frascino 2019-06-24 12:50 ` Andre Przywara
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=alpine.DEB.2.21.1906240142000.32342@nanos.tec.linutronix.de \ --to=tglx@linutronix.de \ --cc=0x7f454c46@gmail.com \ --cc=andre.przywara@arm.com \ --cc=arnd@arndb.de \ --cc=avagin@openvz.org \ --cc=catalin.marinas@arm.com \ --cc=daniel.lezcano@linaro.org \ --cc=dima@arista.com \ --cc=huw@codeweavers.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-kselftest@vger.kernel.org \ --cc=linux-mips@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=linux@rasmusvillemoes.dk \ --cc=luto@kernel.org \ --cc=mikelley@microsoft.com \ --cc=paul.burton@mips.com \ --cc=pcc@google.com \ --cc=ralf@linux-mips.org \ --cc=salyzyn@android.com \ --cc=sashal@kernel.org \ --cc=shuah@kernel.org \ --cc=sthotton@marvell.com \ --cc=torvalds@linux-foundation.org \ --cc=vincenzo.frascino@arm.com \ --cc=will.deacon@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-MIPS Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-mips/0 linux-mips/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-mips linux-mips/ https://lore.kernel.org/linux-mips \ linux-mips@vger.kernel.org public-inbox-index linux-mips Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-mips AGPL code for this site: git clone https://public-inbox.org/public-inbox.git