From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: Re: [PATCH v6 00/19] Unify vDSOs across more architectures Date: Thu, 20 Jun 2019 17:27:46 +0100 Message-ID: <20190620172746.7f92cb14@donnerap.cambridge.arm.com> References: <20190530141531.43462-1-vincenzo.frascino@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20190530141531.43462-1-vincenzo.frascino@arm.com> Sender: linux-kernel-owner@vger.kernel.org To: Vincenzo Frascino Cc: linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-kselftest@vger.kernel.org, Shuah Khan , Arnd Bergmann , Huw Davies , Catalin Marinas , Daniel Lezcano , Will Deacon , Russell King , Ralf Baechle , Mark Salyzyn , Paul Burton , Dmitry Safonov <0x7f454c46@gmail.com>, Rasmus Villemoes , Thomas Gleixner , Peter Collingbourne List-Id: linux-arch.vger.kernel.org On Thu, 30 May 2019 15:15:12 +0100 Vincenzo Frascino wrote: Hi, > 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. > [ ... ] > The porting has been benchmarked and the performance results are > provided as part of this cover letter. I can't reveal the absolute numbers here, but vdsotest-bench gives me quite some performance gain on my board here ("time needed on v6" divided by "time needed on 5.2-rc1", so smaller percentages are better): clock-gettime-monotonic: 23 % clock-gettime-monotonic-raw: 30 % clock-gettime-tai: 5 % clock-getres-tai: 5 % clock-gettime-boottime: 5 % clock-getres-boottime: 5 % clock-gettime-realtime: 25 % gettimeofday: 26 % The other numbers stayed the same or differed by just 1 ns, which seems to be within the margin of error, as repeated runs on the same kernel suggest. The 5% numbers are of course those were we went from a syscall-only to the newly added arm64 VDSO implementation, but even the other calls improved by a factor of 3 or more. Sounds like a strong indicator that this is a good thing to have. Not sure if "running some benchmark a couple of times on a single machine" qualifies for this, but I guess it means: Tested-by: Andre Przywara Cheers, Andre. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com ([217.140.110.172]:47646 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726675AbfFTQ15 (ORCPT ); Thu, 20 Jun 2019 12:27:57 -0400 Date: Thu, 20 Jun 2019 17:27:46 +0100 From: Andre Przywara Subject: Re: [PATCH v6 00/19] Unify vDSOs across more architectures Message-ID: <20190620172746.7f92cb14@donnerap.cambridge.arm.com> In-Reply-To: <20190530141531.43462-1-vincenzo.frascino@arm.com> References: <20190530141531.43462-1-vincenzo.frascino@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Vincenzo Frascino Cc: linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-kselftest@vger.kernel.org, Shuah Khan , Arnd Bergmann , Huw Davies , Catalin Marinas , Daniel Lezcano , Will Deacon , Russell King , Ralf Baechle , Mark Salyzyn , Paul Burton , Dmitry Safonov <0x7f454c46@gmail.com>, Rasmus Villemoes , Thomas Gleixner , Peter Collingbourne Message-ID: <20190620162746.j70VIB0J8lHow66s1orFAAymjVlsGR17w1Cj2DCIfnM@z> On Thu, 30 May 2019 15:15:12 +0100 Vincenzo Frascino wrote: Hi, > 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. > [ ... ] > The porting has been benchmarked and the performance results are > provided as part of this cover letter. I can't reveal the absolute numbers here, but vdsotest-bench gives me quite some performance gain on my board here ("time needed on v6" divided by "time needed on 5.2-rc1", so smaller percentages are better): clock-gettime-monotonic: 23 % clock-gettime-monotonic-raw: 30 % clock-gettime-tai: 5 % clock-getres-tai: 5 % clock-gettime-boottime: 5 % clock-getres-boottime: 5 % clock-gettime-realtime: 25 % gettimeofday: 26 % The other numbers stayed the same or differed by just 1 ns, which seems to be within the margin of error, as repeated runs on the same kernel suggest. The 5% numbers are of course those were we went from a syscall-only to the newly added arm64 VDSO implementation, but even the other calls improved by a factor of 3 or more. Sounds like a strong indicator that this is a good thing to have. Not sure if "running some benchmark a couple of times on a single machine" qualifies for this, but I guess it means: Tested-by: Andre Przywara Cheers, Andre.