Received: by 2002:a25:f815:0:0:0:0:0 with SMTP id u21csp2484356ybd; Mon, 24 Jun 2019 07:14:10 -0700 (PDT) X-Google-Smtp-Source: APXvYqwDjrXb3ipSydoFkymaDKgsqyumk4atXn5DwQnixjJqD9twkeFOBTeKBovqZYvLZI8TGqjG X-Received: by 2002:a17:902:f089:: with SMTP id go9mr78917642plb.81.1561385650866; Mon, 24 Jun 2019 07:14:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561385650; cv=none; d=google.com; s=arc-20160816; b=CviIfekhD1myptIrMCy1BiVJ5zl42WdgiMxWVp0eDBDuL7shpBF2KBu1cvh6ppviZR LiDRGp8SVGALMRdejnvY0Vac9g5544hnuUZSInFMPkEwT5r9ypw0aBlwf1ggxpwby+d3 98JVFNdj2oS1cmlrs2jqov+vhBORtKiJh3PftqQRZYsrM8qgZ2DYNNPlo3QW9aVm8mU5 b57ZUI/BkaOa6kYpQMTbzAc+VtqR4liNxlLGbSNlfiu1eHIQp6sIYj+GqTEaNCpRVkPq qfJ8EITOxKg47YUShjvbECRcAwbzDVd3yJJBsvqNl1MbXT4HHyaZFpMQiRiBOhMTkO+U Z3yA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=NDa4ExqkMtZ4rTGn69CDCoQLJgW1+0e5o8e+B4odnH8=; b=L9RinFXlEME0YkhosaVvbd3MH+tRYnY6QJ5/r2UzoYgWS9OugOG/xCei3P4AIX2QRT ygYm8D+SbyRL4eTWKsO1vJd8tB0jO/vI0Ife/8okjBHA5qsiw9ivF5KPwdb96sqJZZiG JVmDFQHB9qZ4kLewc0sTnzmr8Ux04DEBbMKrw4NkLYWvt/ATHkwz8y48p+jn70H2JQG3 UHfQUwn2n5Aov9JzbFq6dQusWdmS8SKWSG0CIm9Mb+MAljIDdfFjOUkvj1p5VMwmbcPW TxPPNL2OmKx5MFJvMd8eD+pV6iHbZPRQFk1V7veMlyScQnjMeRb3Z9y+agNVs9mDSmtY ClEw== 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 c23si10931124pfr.8.2019.06.24.07.13.55; Mon, 24 Jun 2019 07:14:10 -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 S1730747AbfFXNVJ (ORCPT + 99 others); Mon, 24 Jun 2019 09:21:09 -0400 Received: from foss.arm.com ([217.140.110.172]:50218 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726263AbfFXNVJ (ORCPT ); Mon, 24 Jun 2019 09:21:09 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D9B08344; Mon, 24 Jun 2019 06:21:07 -0700 (PDT) Received: from [10.1.196.72] (e119884-lin.cambridge.arm.com [10.1.196.72]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B5F773F71E; Mon, 24 Jun 2019 06:21:04 -0700 (PDT) Subject: Re: [PATCH v7 00/25] Unify vDSOs across more architectures To: Thomas Gleixner 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 References: <20190621095252.32307-1-vincenzo.frascino@arm.com> From: Vincenzo Frascino Message-ID: Date: Mon, 24 Jun 2019 14:21:03 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Thomas, On 24/06/2019 01:34, Thomas Gleixner wrote: > 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 tested your changes and they seem OK (git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/vdso). ... > 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! > It has been a lot of fun and I learned many many things about the vDSOs and the kernel that I did not know before. Thanks to you for your patience and guidance. > 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 for this, it means a lot to me. > 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 > -- Regards, Vincenzo