Received: by 2002:a25:f815:0:0:0:0:0 with SMTP id u21csp1917890ybd; Sun, 23 Jun 2019 20:03:54 -0700 (PDT) X-Google-Smtp-Source: APXvYqx95B8Ls0YxgQVMl8skXRsTLKgKZo8IAiIU9sUyyaI7k1qicb/2BVPfs/Iih6mYsBl7e/Gk X-Received: by 2002:a17:90a:bc42:: with SMTP id t2mr22013250pjv.121.1561345434128; Sun, 23 Jun 2019 20:03:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561345434; cv=none; d=google.com; s=arc-20160816; b=QxrKPgRjtrw2QCL+mQZ2gVGKNWI668YYYj9n6hp+xwP6D7HMHHvwlzfGz0yX0EJD5v m4Q/hPZBjbr0oRMu7dB65g2yfRXpqEs2Mu3quAqT1udXzE3niYV0KPE3wnJotS1SwtgF Mv9ZG/JZJ0kNA+fVVzmFa5XzSDMbrsOiVCsvtdC0UFnISKaHEMA7lQ8S/EYbY1JSDZE5 oWs0MjAgFZkAxZG0ESdCw2gifxMdzxZFUNc/fW8ZAIuoXcm106ij3fl5oM0gqiI81C8J 92b5T/R2wN/HxZTkS14YM4wPLT2eCy6YtUvD0elmvX0Loi3cml7N6nP/6U3p7J5PqOCg 8izg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=NQ2iVb4qFYsCHwsl7eLVzO7o8t/fSBLz8XM8JRh39Jk=; b=Z24o83ScxI1k48b4aAk2TlyS5nzft0PwoY09TMGeSXiG8UQqZEKbzUXL2jPj8fZPIh rt2uOaOtcQJCaSSX1n7poaokR/tUv6SMAPcXZOQe6YfZI/STVk6d3y7z4CQeLr94JFK5 AQsfFTbzZVHFtQm50eIGrwcyh3odKZ6TqIlmPQC5Ou5Dw9GKfZMxVyuO1k/jeIpJ81PZ mV7fGq0TTQ+fH/zea7x8Mo1kXqBcI549vWINpxUjbT6n8eQ8aTW52zBsbPb4Tw3lfg4y b2ITUODeAvyGM4M6wN0eaidAZgVLtGkEhUoQntApYH52iTmsJuQ4/BmQRRiavlHbXYHg OLag== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g20si9660507pfh.95.2019.06.23.20.03.36; Sun, 23 Jun 2019 20:03:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726385AbfFXDBk (ORCPT + 99 others); Sun, 23 Jun 2019 23:01:40 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:34568 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727280AbfFXDBi (ORCPT ); Sun, 23 Jun 2019 23:01:38 -0400 Received: from p5b06daab.dip0.t-ipconnect.de ([91.6.218.171] helo=nanos) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1hfCwE-0000Q9-46; Mon, 24 Jun 2019 02:34:26 +0200 Date: Mon, 24 Jun 2019 02:34:24 +0200 (CEST) From: Thomas Gleixner To: Vincenzo Frascino cc: linux-arch@vger.kernel.org, LAK , LKML , linux-mips@vger.kernel.org, linux-kselftest@vger.kernel.org, Catalin Marinas , Will Deacon , Arnd Bergmann , Russell King , Ralf Baechle , Paul Burton , Daniel Lezcano , Mark Salyzyn , Peter Collingbourne , Shuah Khan , Dmitry Safonov <0x7f454c46@gmail.com>, Rasmus Villemoes , Huw Davies , Shijith Thotton , Andre Przywara , Dmitry Safonov , Andrei Vagin , Linus Torvalds , Andy Lutomirski , Michael Kelley , Sasha Levin Subject: Re: [PATCH v7 00/25] Unify vDSOs across more architectures In-Reply-To: <20190621095252.32307-1-vincenzo.frascino@arm.com> Message-ID: References: <20190621095252.32307-1-vincenzo.frascino@arm.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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 --- 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 +M: Thomas Gleixner +M: Vincenzo Frascino +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 S: Supported