Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp586076ybk; Sat, 9 May 2020 11:51:36 -0700 (PDT) X-Google-Smtp-Source: APiQypKcN90hLsIlY7wvkjKXXmeBEp9dqMG8INigciNJwVp17/iwiX8UQrZhaYh7sGynrWzWQztT X-Received: by 2002:a17:906:4003:: with SMTP id v3mr6981224ejj.144.1589050295998; Sat, 09 May 2020 11:51:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589050295; cv=none; d=google.com; s=arc-20160816; b=0pEESPQiD5BwQ18n1lKitTJjBgbtVA6BfQZcv0Bdg/SCOF4GtTCQx9xT91I+IVpQKo 2tC8kxqcnz75oJF5FKR53qLkxB4exhdpG46nx3sLLrr868Ki7AK66/i5t9hRi6lalt9H zUJgSDvXXcpwOqftvI+3WbECe/5CVtD4xB0+cm53i1yKn9aAXbpPG5+CcxDzru85GtXT 37pKxX6pNMu0VPtT8V/VzFJHT7nyRmljV8+OEfuwfhRDXsIfHVW6KyRqB6KwkcS5KoDR O6K593jfFs0mpC8v7IxsQCgeTuW2V0qzWNisp/vmg4A72uwB1wj9KIJF1bpsOOLoy172 E6iQ== 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:references:cc:to:from:subject; bh=0ZTPiuQ7wiX23KngRSdCccwfTzlzXgZLiqPxR4KZUkg=; b=X6nCWvGBBv0048e/gK7LdxPmo4ms4wO/LF67OjYwBhzBbErH4cDDkQAKw0CbpkP1Gy /VRilWBSRpzzmiS+Qpz0bgYb5iEvZn5OjKMg6Xc4IEX9hgZL4Gn/bC27lzX798U0lpIh f2TIoFG3wsN16NhHhPhxnX4o7xxMRYTy4ZWMlZlH0O+YhxQtIWTzY7tUUJfySyRYaZ4s kDTttoJULhX9G/1HKdzHfxM4ZB7baNaJ1YUotNTlpn016l90WgKlDzA0QSRvxmB1NG23 FRwJPez/Yso0Rl0gSlXOz4aQpH/JY6BH1SA1Ancj/4+Tytrywo7vi/HH15CDm1Qvu4q6 6zBw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id lc17si3180734ejb.413.2020.05.09.11.51.13; Sat, 09 May 2020 11:51:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728210AbgEISsv (ORCPT + 99 others); Sat, 9 May 2020 14:48:51 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:36435 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728162AbgEISsv (ORCPT ); Sat, 9 May 2020 14:48:51 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 49KGSG1DQfz9v0bb; Sat, 9 May 2020 20:48:46 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id PslmPuTS_Qi2; Sat, 9 May 2020 20:48:45 +0200 (CEST) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 49KGSF5mGvz9v0bX; Sat, 9 May 2020 20:48:45 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 3B4E88B775; Sat, 9 May 2020 20:48:48 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id vZm-xPGAfqgM; Sat, 9 May 2020 20:48:48 +0200 (CEST) Received: from [192.168.4.90] (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 06C8C8B75F; Sat, 9 May 2020 20:48:46 +0200 (CEST) Subject: Re: [PATCH v8 8/8] powerpc/vdso: Provide __kernel_clock_gettime64() on vdso32 From: Christophe Leroy To: Arnd Bergmann Cc: Nathan Lynch , linux-arch , "linux-kernel@vger.kernel.org" , Paul Mackerras , Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino , linuxppc-dev References: Message-ID: <35e09925-b475-237c-57f2-3f10cf5ad9b2@csgroup.eu> Date: Sat, 9 May 2020 20:48:42 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 09/05/2020 à 17:54, Christophe Leroy a écrit : > > > Le 28/04/2020 à 18:05, Arnd Bergmann a écrit : >> On Tue, Apr 28, 2020 at 3:16 PM Christophe Leroy >> wrote: >>> >>> Provides __kernel_clock_gettime64() on vdso32. This is the >>> 64 bits version of __kernel_clock_gettime() which is >>> y2038 compliant. >>> >>> Signed-off-by: Christophe Leroy >> >> Looks good to me >> >> Reviewed-by: Arnd Bergmann >> >> There was a bug on ARM for the corresponding function, so far it is >> unclear >> if this was a problem related to particular hardware, the 32-bit >> kernel code, >> or the common implementation of clock_gettime64 in the vdso library, >> see https://github.com/richfelker/musl-cross-make/issues/96 >> >> Just to be sure that powerpc is not affected by the same issue, can you >> confirm that repeatedly calling clock_gettime64 on powerpc32, alternating >> between vdso and syscall, results in monotically increasing times? >> > > I think that's one of the things vdsotest checks, so yes that's ok I think. > Here is the full result with vdsotest: gettimeofday: syscall: 3715 nsec/call gettimeofday: libc: 794 nsec/call gettimeofday: vdso: 947 nsec/call getcpu: syscall: 1614 nsec/call getcpu: libc: 484 nsec/call getcpu: vdso: 184 nsec/call clock-gettime64-realtime-coarse: syscall: 3152 nsec/call clock-gettime64-realtime-coarse: libc: not tested clock-gettime64-realtime-coarse: vdso: 653 nsec/call clock-getres-realtime-coarse: syscall: 2963 nsec/call clock-getres-realtime-coarse: libc: 745 nsec/call clock-getres-realtime-coarse: vdso: 553 nsec/call clock-gettime-realtime-coarse: syscall: 5120 nsec/call clock-gettime-realtime-coarse: libc: 731 nsec/call clock-gettime-realtime-coarse: vdso: 577 nsec/call clock-gettime64-realtime: syscall: 3719 nsec/call clock-gettime64-realtime: libc: not tested clock-gettime64-realtime: vdso: 976 nsec/call clock-getres-realtime: syscall: 2496 nsec/call clock-getres-realtime: libc: 745 nsec/call clock-getres-realtime: vdso: 546 nsec/call clock-gettime-realtime: syscall: 4800 nsec/call clock-gettime-realtime: libc: 1080 nsec/call clock-gettime-realtime: vdso: 1798 nsec/call clock-gettime64-boottime: syscall: 4132 nsec/call clock-gettime64-boottime: libc: not tested clock-gettime64-boottime: vdso: 975 nsec/call clock-getres-boottime: syscall: 2497 nsec/call clock-getres-boottime: libc: 730 nsec/call clock-getres-boottime: vdso: 546 nsec/call clock-gettime-boottime: syscall: 3728 nsec/call clock-gettime-boottime: libc: 1079 nsec/call clock-gettime-boottime: vdso: 941 nsec/call clock-gettime64-tai: syscall: 4148 nsec/call clock-gettime64-tai: libc: not tested clock-gettime64-tai: vdso: 955 nsec/call clock-getres-tai: syscall: 2494 nsec/call clock-getres-tai: libc: 730 nsec/call clock-getres-tai: vdso: 545 nsec/call clock-gettime-tai: syscall: 3729 nsec/call clock-gettime-tai: libc: 1079 nsec/call clock-gettime-tai: vdso: 927 nsec/call clock-gettime64-monotonic-raw: syscall: 3677 nsec/call clock-gettime64-monotonic-raw: libc: not tested clock-gettime64-monotonic-raw: vdso: 1032 nsec/call clock-getres-monotonic-raw: syscall: 2494 nsec/call clock-getres-monotonic-raw: libc: 745 nsec/call clock-getres-monotonic-raw: vdso: 545 nsec/call clock-gettime-monotonic-raw: syscall: 3276 nsec/call clock-gettime-monotonic-raw: libc: 1140 nsec/call clock-gettime-monotonic-raw: vdso: 1002 nsec/call clock-gettime64-monotonic-coarse: syscall: 4099 nsec/call clock-gettime64-monotonic-coarse: libc: not tested clock-gettime64-monotonic-coarse: vdso: 653 nsec/call clock-getres-monotonic-coarse: syscall: 2962 nsec/call clock-getres-monotonic-coarse: libc: 745 nsec/call clock-getres-monotonic-coarse: vdso: 545 nsec/call clock-gettime-monotonic-coarse: syscall: 4297 nsec/call clock-gettime-monotonic-coarse: libc: 730 nsec/call clock-gettime-monotonic-coarse: vdso: 592 nsec/call clock-gettime64-monotonic: syscall: 3863 nsec/call clock-gettime64-monotonic: libc: not tested clock-gettime64-monotonic: vdso: 975 nsec/call clock-getres-monotonic: syscall: 2494 nsec/call clock-getres-monotonic: libc: 745 nsec/call clock-getres-monotonic: vdso: 545 nsec/call clock-gettime-monotonic: syscall: 3465 nsec/call clock-gettime-monotonic: libc: 1079 nsec/call clock-gettime-monotonic: vdso: 927 nsec/call Christophe