From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60068.outbound.protection.outlook.com [40.107.6.68]) by sourceware.org (Postfix) with ESMTPS id A1A39383801C for ; Wed, 30 Jun 2021 08:46:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A1A39383801C Received: from AM5PR0601CA0031.eurprd06.prod.outlook.com (2603:10a6:203:68::17) by AM5PR0801MB1796.eurprd08.prod.outlook.com (2603:10a6:203:30::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.23; Wed, 30 Jun 2021 08:46:55 +0000 Received: from AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:68:cafe::95) by AM5PR0601CA0031.outlook.office365.com (2603:10a6:203:68::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.23 via Frontend Transport; Wed, 30 Jun 2021 08:46:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT015.mail.protection.outlook.com (10.152.16.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Wed, 30 Jun 2021 08:46:55 +0000 Received: ("Tessian outbound e0fcff857b11:v97"); Wed, 30 Jun 2021 08:46:54 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: aae6515fe52f9243 X-CR-MTA-TID: 64aa7808 Received: from 3719c8000eee.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 0D2E8CC8-30B0-40A7-8A94-FAC1C776C8C6.1; Wed, 30 Jun 2021 08:46:47 +0000 Received: from FRA01-PR2-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3719c8000eee.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 30 Jun 2021 08:46:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CtbK3SkS/t4toPPElMgIELHk0WdKI4iA1lcKNFvOXhmlKQEG8upJN8bb7pEM2+9FiUs2kfqXWghvi95DialL6mjGIsY5H9aC0IDJyXqmHcDkScjBxZGXS3hwX9S6C8GaA9OippCAnjWUAW+OfA79NnQeU3TL4BnQ3AlS1B7dLDvIHwRlvL3G9SCTsqQQxzx7arIXFth2s15v3KOd/VRlafs52DH+5wK/NH4PVkSqzXj8KbQmHR9Mx2iUuE5+iUgPiqCRh3vXPK8sY8FgaWwge4f1AnPmhVJ5zKY+KvuEbqq26XRrD+TU6UJHz1gygjtuPOLcn1OxlHyeuYU+C7+o8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2Ld1m2ezwKdiTYSUX9K/20XLT94vpF9GIlxDyZ/etvs=; b=l5DhDD+Tywsoj++72wOEz7+NTDj53FP4B+AM9YW7+u7dER5dLxpx3N6xYywTMXz8ZXfDgMdInWqz4rsbghtAJk2manjSBoS01wYfy+ZTnJCsuf6bjPEruNZGOY0dKKYROFkaqiEtCjp6d4sJIjoqgUQcLFPMHkaLCj7OwDcBLFCswM7uaLF3AG2mIrG4OnjFQ19DvkXMe2FbRIgld4jJxNi9WYZ+yJ8bjzjLMw604sbhkgSXJy57MDSVayZ36PoWdN3A/ROYduO0BIxp3JhZrUb02DmeJo6oFDFGSmzl7uCVom3mzPuIpbEDsJM+g1uNahtgH1WzO0yNeQcAIEioeg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) by PR2PR08MB4667.eurprd08.prod.outlook.com (2603:10a6:101:1a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.21; Wed, 30 Jun 2021 08:46:46 +0000 Received: from PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::b003:b9e9:b00a:4023]) by PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::b003:b9e9:b00a:4023%5]) with mapi id 15.20.4287.023; Wed, 30 Jun 2021 08:46:46 +0000 Date: Wed, 30 Jun 2021 09:46:44 +0100 From: Szabolcs Nagy To: Wilco Dijkstra Cc: 'GNU C Library' Subject: Re: [PATCH] AArch64: Add hp-timing.h Message-ID: <20210630084643.GE14854@arm.com> References: Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [217.140.106.55] X-ClientProxiedBy: LO2P265CA0353.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:d::29) To PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from arm.com (217.140.106.55) by LO2P265CA0353.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:d::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Wed, 30 Jun 2021 08:46:46 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 604175c1-bd17-4453-4392-08d93ba39d45 X-MS-TrafficTypeDiagnostic: PR2PR08MB4667:|AM5PR0801MB1796: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:8273;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Bl+bEVinotsZOPNY3VkO06V26fbCel2VULTy04qVzieZwvbaqt9Je6h6ZLr+QEzSHeBafnZjf/lBOx6FwKM/5jiRUMrUv0y1HcmuXcsLIEIWzqJiWA+e9pdi7O5t0df6oh2P3xtkyphka4U8DMASRQCqcnyAyh9GISVA0PitsmWhHgCp1inNcAswSoJs7CZk90GptCnzG0yASwYl7VQWQ0T+PfJIgOqlVSvtjpWrsVzEACfjSVnj2VB26PavgA4TlZ9UfD6J2ZGMcenKw4YNTfdsUejK79UmyFc35FClhgiLRx9wAUzurpYQOi6nCpdO0pIe1OxnEeTW91QfNKfpUkf4zi6jBN2RQY/HPCHlXbDAbMvLjmxjK1XG5iMCGe6XzG09oOFYs7at3sN6R5tZOzRWxKSx2a3zp8M8CoKc3sueizM7qYojUeVdI1Z5Mj+o9nIh+ix+XMg8WEmiceGay0WkKDDI7pX3KmzZkQpTtuyuTD/EzWhxXBjDg4CO+KTXIoAg6hf0vhlB5b811iivLWjd0ujOFkA99ecKW9CaS09YV4EANH/Y1Q6FmlesGxvhyhF5az4B3kIwm+ZIABrEbtag1pmCQfpdgbZST+e/SbfCvRKEvfy6zdNqYkeWnehRNvawWynygwTFt+gSZKr/r2tpX9gfXiBBPd67oFaY9Fsj3cQdhiIE03QRG/QtURS/ebLfvPKLJCSfSTwQDtXgMTohvyNR0h4oaEsm+uhwKTdIibPwyMUol8BhxYQgADoCV96aZiclXZlm12z2+PaU6tqFHooVXwEnXklj9Q/H7PTKfYPoOqefUeVBUz6Ln4SV1sv3eJ6u1w8vwp6eJiVcOA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR08MB6320.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(396003)(346002)(136003)(376002)(366004)(7696005)(52116002)(478600001)(86362001)(66476007)(66556008)(38350700002)(5660300002)(33656002)(6862004)(956004)(36756003)(1076003)(66946007)(2616005)(4326008)(6636002)(26005)(8936002)(186003)(8886007)(316002)(37006003)(55016002)(38100700002)(2906002)(8676002)(16526019)(2004002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cUlQcE5FQk8xS3B6NGlremQyL28yYlVMZjNVYUxzN3h3UXV4NU01cUpvWEJi?= =?utf-8?B?RWtURmJJalRRaWVUZnpGV2JYQlBUSWYvMGV0eFNCOXIxSjFJTmlXdGZpaHhX?= =?utf-8?B?OERqV3BQbmk0SlpZZ1dnUC9RbFhYOE5laVN0cmFNREpFVmN2WHRIaW9USnp4?= =?utf-8?B?TjZtNCtXSEVKbGhReGQvSXFxcUQ4b1NDaGV2Ni9zaDN2SzB4VXg4OUgwMWhy?= =?utf-8?B?WVRWVFBxT0RJdXBYZzFCU20wb25PanYwN0hHckN3Z2s4ZTVSbHFtOENnS1F5?= =?utf-8?B?NGt5Y0xxRUVqeExEL01WdlJXR2xvK1RRVzA3TzRZbklmVWZGK1VFdm1HaWNJ?= =?utf-8?B?ZUl0NDBMOVJqaUg2Z0E2eHd1UHhvcDA2b2NsMnpXN003MEFTNlpiYjhmL2tK?= =?utf-8?B?YjdWbWxSV1pxbzFuK2FnYmphYnRsL2s5dmJDYkZveDRrTU1vcGtqVkNLYjVY?= =?utf-8?B?Sk5oaTFFQUs3MCtUcmhNaXNTcjRqT0dORGxPQk5aVTk3SnRMMzNZTnFRdzZL?= =?utf-8?B?SHBjV2ppYVZXa0xVT0pWcmp1TFFIeEJmWW1VeXpHK2ZndU5oeDNUcXYrd2lV?= =?utf-8?B?OHZ4OFZLNzJNUjFnTUNGaWNrUzA5bXhuL0dmcWZGTDZncnFjZGZIa040MG4v?= =?utf-8?B?WndKS0ZMVUVnVG42cGwyeDR1Nzg4R1pNUHdXQ3JQQWZMQy8xUUdFMXNtb2Jx?= =?utf-8?B?aWpOZU8xc0hsaXFWY0UrNVlxZW5ZUGpHbjErbGQrN0syaEZhTy8xcEtab2F6?= =?utf-8?B?OFhoczJYeUJ3YzZya2NkaVBVVVo1d3BjY3Ava0VDU010RXAxeC8zWGI1Y2Rt?= =?utf-8?B?aFJKbUZwZFZwWGJKK0t0ZUtlamxJbHI5bTg1S1ZTYU12UEFxT3hrZDVOZXBi?= =?utf-8?B?RjYvWW1wNGNTYkFNb1RnMVlLTm1sOSs5NGM5bGRzUWJlZjAyQWszSFJERHB6?= =?utf-8?B?OUVTNzhZamkwdnRmZEZWMVFucFRqd3dTT1E3Uk4rRWFHMDdnMnAxZnhOa1ZN?= =?utf-8?B?ZUUwUjU2KythQ0VpR3UyTVI5SWQ4eUZha0tvdVQ1RGNnK0R4Qm1pbmdscktr?= =?utf-8?B?Q1Z2QkI3b0loVENBYzdDd01IbFB6T1d2eEN5a0Mwa21NU3ROQnpjTW9LeXRk?= =?utf-8?B?eWd6OWZnemhSaGw4aTNVOGNsMi9ldzZNaHpSejh0WUZMRFFOa2JDdlFNL2kz?= =?utf-8?B?NS9XQlJoWms1OHRESjNrbm15Tkt2dGZ1UkVlb2JUVHVBYzRaSDl6NmFWMk42?= =?utf-8?B?blNmMGF3RC9LZ21lSG9QTFduMXZoc1ZoU2d5VFkyMy93RDFuc0FsM20xdGRr?= =?utf-8?B?TnIzZHFsRFZhaVdsQ1lLZjlBd285VXhBOUZHVlBhY2tZUDJQWlBZVHk0Y2dZ?= =?utf-8?B?dGpmNlRCMGt4dnZZSlZzWkhQcmN0QXlRRTNDdVo5bWVTbUZJTkdwYko2N0M0?= =?utf-8?B?QTdLZitPL1JZNDRVK0ZWdzdHOVhOMThwT1I5WHc4d1Y4TkRqVEdwOHNHYi8y?= =?utf-8?B?NkI0OTRMaFEvZStSV3lZMVd2U2VuazNOR2QySUhwNUxldU1oZHIxcjMxcEJD?= =?utf-8?B?ZDhrbkJWMHdvNHRyNGhuWUxnMVV5NUxVb1dPZnJnWktEYngxK1hKMitNSnVD?= =?utf-8?B?VlJ2UG40dld0WmJYczNuZnFyVUJNKzFqWTh4UXhOQkNKbzE3czNSSnRQOWdZ?= =?utf-8?B?K2RyWXpGVkxrQk1yYW5RWUxvNmVjb3pJOTBqWGUvREZkbm1EekpoVjJ4NkRh?= =?utf-8?Q?eafCwPN/Jo/Fpi58f2v1PthqmLOo3Vct0hdiEaV?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4667 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: c8417aef-5470-4dec-3aac-08d93ba397ef X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ISXkkm8vJaYQmlpLFOjIw6X4EQSg+HfK92jzws1ySm4gz8khYvVag52SDKbYRJHewH0ktGKzZkgXKq5/hTIqH8aQSp9mHywdZg4WuXz8mFjXpAZVXV0SONnapHKUad6zm8C1Iw3P/dv1SL4X8cOz52fs6EXF5+jCMChQJ+bnoBmvl+M9FU3ZApc5v5wURqGGRMyPw4b/uUWkEMyVmVGWZLjgH/76x7Vpwd2mXhDJHW2kjMz04x7BYypnlh8ep8yhxj43ZMzTi/69/odv4DGoTaJuvsxSU37bKWynmeaSGE48f6WlLvksrH33eNsSa5WaSvkx0fXFiI5mvoVLvC+7LtXqDbeYSKuA4txlSzMeqiKs2+2Na6BJ/VSBuFGD2N7XG2fNbMOfiSSg4V7essTAn6rs2wyUvK7W49EA0DW1WPsWZUoelD3yRhC13n5ohdBWMrDI+Y6lrKeERCPg+VGmz5TGkJlxNu/HohOm5VuQQ4dPZ2KrosfIf/DHmYKuuRZz2Lp5Cpx1Qv9ey7Y7uU13Pt0GmRuEv/Nj9FYFrE1buwFrgCifXcpwoS+pONRPQqlF5di+DdJgAT69ockAie6xGKM7qB6vQ1DXqHRpNtP1nxzbWvq+VUPE+yMzKtStvomAVtpUxizQ5ShKxcf83Gl09MTc1I5zRkDLHLN2tytuj0RCnauCoEKWoSpf6ZTOtupDdCt0Xe12bpI7zQcdvqPQlA17rRdIOoaAmxJZLTS8AZp49l0u8JpnmVfYMbpqHpPQz6YVg7ZxKumH113t8cDBkTzmGW9GHjt14g6gqkcL2r3HxdHDAJKj2BjPRwxTxxFtr67yn5PUNV2ZCP2rNMM7Bg== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(39860400002)(136003)(376002)(346002)(36840700001)(46966006)(7696005)(6636002)(478600001)(956004)(33656002)(82310400003)(2906002)(26005)(36860700001)(82740400003)(2616005)(8886007)(47076005)(8676002)(336012)(5660300002)(186003)(16526019)(37006003)(81166007)(6862004)(1076003)(8936002)(55016002)(70586007)(86362001)(356005)(36756003)(4326008)(316002)(70206006)(2004002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2021 08:46:55.3282 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 604175c1-bd17-4453-4392-08d93ba39d45 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1796 X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_SHORT, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jun 2021 08:46:59 -0000 The 06/28/2021 11:11, Wilco Dijkstra wrote: > Add hp-timing.h using the cntcvt_el0 counter. Return timing in nanoseconds > so it is fully compatible with generic hp-timing. Don't set HP_TIMING_INLINE > in the dynamic linker since very old kernels may not handle cntcvt correctly. can you please add a comment here that this is only used in internal benchmarks and not in installed glibc binaries. with that it's ok to commit. Reviewed-by: Szabolcs Nagy > diff --git a/sysdeps/aarch64/hp-timing.h b/sysdeps/aarch64/hp-timing.h > new file mode 100644 > index 0000000000000000000000000000000000000000..f9822e725c227b3b57d508dc7d44cd7d2d04faf4 > --- /dev/null > +++ b/sysdeps/aarch64/hp-timing.h > @@ -0,0 +1,47 @@ > +/* High precision, low overhead timing functions. AArch64 version. > + Copyright (C) 2021 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + . */ > + > +#ifndef _HP_TIMING_H > +#define _HP_TIMING_H 1 > + > +#include > +#include > +#include > +#include > + > +/* Don't use inline timer in ld.so. */ > +#if IS_IN(rtld) > +# define HP_TIMING_INLINE (0) > +#else > +# define HP_TIMING_INLINE (1) > +#endif > + > +typedef uint64_t hp_timing_t; > + > +#define HP_TIMING_NOW(var) \ > + __asm__ __volatile__ ("isb; mrs %0, cntvct_el0" : "=r" (var)) > + > +/* Compute elapsed time in nanoseconds. */ > +#undef HP_TIMING_DIFF > +#define HP_TIMING_DIFF(Diff, Start, End) \ > +({ hp_timing_t freq; \ > + __asm__ __volatile__ ("mrs %0, cntfrq_el0" : "=r" (freq)); \ > + (Diff) = ((End) - (Start)) * (UINT64_C(1000000000) / freq); \ > +}) > + > +#endif /* hp-timing.h */