From patchwork Sun Aug 13 07:03:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 27529 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 8B8617CBB; Sun, 13 Aug 2017 09:04:50 +0200 (CEST) Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0088.outbound.protection.outlook.com [104.47.34.88]) by dpdk.org (Postfix) with ESMTP id B097E7CBB for ; Sun, 13 Aug 2017 09:04:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=6Tp3OGnPpHsxizOmLAqh5Gq4XlZxnMXn5+YqhEAHWBk=; b=Ih2ttldUJiYd2BI63oOaxdAHE1Cwi+QylQeSK3U9YCtZd/xPFI5TsZx7cjcAtxEx3Z5R/6S+S9PSnbUhsEa3d1hxvInmqAgFXVBSpr7dTbwL6JZZOwiEHHoHyJzUBgzh12r5uW40SICnw7vG4Q/BceHNWO6XdgXJys618rp+T6Y= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin.domain.name (106.200.247.99) by SN2PR07MB2528.namprd07.prod.outlook.com (2603:10b6:804:7::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1341.21; Sun, 13 Aug 2017 07:04:42 +0000 From: Jerin Jacob To: dev@dpdk.org Cc: thomas@monjalon.net, bruce.richardson@intel.com, konstantin.ananyev@intel.com, viktorin@rehivetech.com, jianbo.liu@linaro.org, chaozhu@linux.vnet.ibm.com, Jerin Jacob Date: Sun, 13 Aug 2017 12:33:49 +0530 Message-Id: <20170813070350.13700-5-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.14.0 In-Reply-To: <20170813070350.13700-1-jerin.jacob@caviumnetworks.com> References: <20170813070350.13700-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [106.200.247.99] X-ClientProxiedBy: MA1PR01CA0097.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:1::13) To SN2PR07MB2528.namprd07.prod.outlook.com (2603:10b6:804:7::6) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 503fd8c9-e135-4dc8-b599-08d4e219943f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:SN2PR07MB2528; X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2528; 3:c0WVatQfODLf1EZOlipCyfjW3xVe5h+6encAPd4fR7M0jVfw4g+RWhQnZrtuyZFUk7HZC0n6RKHXEW220ORFilXPatR3MWPltYeVbGOHMkqlfSQJ4bBKJ3kHqsA01kw7Vul+lCymm1pLj5xcD5MMrJcb4sB37dpqft/NRlDc8zV8bwvaD0aFydeBHgaoCKQiAyce2x5jUT8vw23pfiVJ3lIxb59r0jqDCFTWUUbhtO9vevKvrz3EeFdpYSSl3dcm; 25:FkRwj2Eh33NzO7wg5Z/WZ2XasD7QiRO0t7WB8tDgDv9plovMZIUy3kVGuMJmyiTAaQ743ktqA2eDKhAvr6DcEvjIXQCqWofZcxu1QywVYjqQKg+dVqI1gsCVRjI8RtxCGoWq46hXX5hmQtFnsxI3gW5QzNhHCWwszPlafHPUnGWYiRFX5F7D9bFHSGw7YgNXiJMBq5knhNyVHdzDEvT65Eu1XMu4vkByzaG/NNllrRE0E5ruO06z4waKuJMPwlKtMWYEfsbPaiuxxcNKsH0KS9dcZ+Jo2QHZBir1+/mRjgzSkNKx6E2s/fLgUol/6cpsVKXPzJ9YP4SJqIjPoOU1FQ==; 31:z0uZQclBbXQgp3nqhNnRZ7KlDku25+nPAZ3OHNnCA3EYFXZehKs0eUfFwLjeZ+OOtTr1XOWK92lGwlOdlgSNAIJhQ6CGwMXjS2ECiHdU52yhn/ws+sy6XAGJMqn4t6DMk7TkwmA0W/z0n81grlpeInfS7HK/HeDGFXaqoCyplIyFdXWWf0pdEDVnV1HJ3VTl6STePjCmvAmk7Pk4CS3T+0K4gaVUa9lpJ+MTZ4vxBAM= X-MS-TrafficTypeDiagnostic: SN2PR07MB2528: X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2528; 20:NtX01UKsSTVFFfA5TC9wcvsPoqBDzXio9UllYoMhCQ96GoFJJTuh2cUObxI7kIsdYveOU1mSsgHnmz1D9TfVnysCSpcInUk2w2xzmvv5ZhpDm2VC1G763ydphLjedg0DxjMnYY07dWfKlOnmSxX2YeZQnjMr+pFYbD6i8GSCONFQXAlh452n4UNtJd9VVMewzHAClg+bV/KREzjRtpHC3B4FSGArF7Xp08BS/6MASj230rtbYMIj/7Q2N6nhqfkPX1XFR3OpJBAiEzFdtEyHYKhXoY4IhXgPejS84l4XJ9VT7fhc1vwCdupzvgbpmlF1s3ZcI/WdMlftKfF0ahpV9r3B2URkIIA9WW+PX3eFQEiIdtK0gnNCYYAtwfFxplWpQDtK+xauh/+m800DMd/OpwaoLiNmUvEm/dYSKqTGCiOTbedrZGFzbkK/o+HtV5ENG8x5nUxgPa1ABhWh7IzQrccKuGCaQeq0jAqJeeHLHndfaGhXgOnL1foX4PM5Ix4T2O6WHjWrMnp0YFQVwKGQa8MEdQ1VptVShBfFB+WmBnUjTGhnGbqQBTl6USFzbCX2zLM/GLCHRRL8fkVKVBPplxcr4vsCp2x36FGXxhn7jsU=; 4:7MtIsSNlWIoxTVJDmIXys2/NYgG3JAGldaZSntEzIAx9XZpw9nKw/Gc6OOHpcJwz2lTNO9bQXzQbkCpdcxBffY79vjIqbvpUWSYUS9Gyh/VWZis3CBgYQro6YlX8ZMr44nIDx3/NrlTc6O4uGX68M3xhS4M49brnBsCRVKqbB/LoNelcQUmQkfEN4MX9IdEUTIrL8NxuqYQCAM1KNFiKVkxAlv4fAA4EVqooGHdznwyqPg2cyVqsmsesJIpEhHhm X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(6041248)(20161123555025)(20161123564025)(20161123562025)(20161123560025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN2PR07MB2528; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN2PR07MB2528; X-Forefront-PRVS: 03982FDC1D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(189002)(199003)(48376002)(2950100002)(3846002)(42882006)(6916009)(2351001)(2361001)(110136004)(69596002)(107886003)(6116002)(47776003)(81156014)(66066001)(5660300001)(36756003)(7350300001)(5003940100001)(97736004)(5009440100003)(68736007)(305945005)(81166006)(7736002)(8676002)(478600001)(42186005)(72206003)(6486002)(50226002)(6506006)(106356001)(53416004)(25786009)(4326008)(2906002)(50986999)(76176999)(101416001)(189998001)(50466002)(1076002)(6512007)(53936002)(105586002)(33646002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR07MB2528; H:jerin.domain.name; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN2PR07MB2528; 23:Zi+iG8lB3FJDAFPQ0CNTH95hspNCwQCVvkUJU0XdC?= rfC/jP64QKDUby+af6/TQlrqZ8IczWwCuACHOQgh+vfb6KgL95R/pmMEqxMzDj0kvBzNnZMdmIka+E3P13QSVt9WOhZexVNLuCFpjkRhBGjKacj1CqAhk8RUhcbYD1fWhJMPLfUftK5UxwzidVA+LHfb6Fc/x3sxRC11cuBOnX8aBNjGDCu1Q4dqtfHnFgdOa1tl6bDHxQ9p1T7YQ+u1SudKwoYNihfLP3ncK3Ht9WrckEej0b0O62QgtUKFMa7up8YmAVG+cp6qc7UZJnCLVUIWUThSaTJlo6ZoYQZyu4Ew5sr2UMyUnBfHrNIFcGUaJR/FV6pjLl9gbOJjdC+XMGTXOukY4X6cdTE8tr62IbSKRswlAbNJMedEYL1huzAY8buHyKNAqyipatZoqR+YR2dwYrXWGxZneIc96CF9OvnU70Us22/UaxtZNvPgLovBeyNbJsIgn8lUFdPX11l3XZm5IVhXztkc/OkNKmenPsfCc2PWcxRcZad5zodq7sJf8+zy1dFxuMYUrtcwjM5fo7qsmSPn6qauU+lUVjDbUWYYf60ov+H5rpRu2GFJsOZuhYy90+76i7DfoaFiPIJzYC49lnqmaRUgPQ9pvPHZsaJjxG2wTylX9iNEXF4dtjSvyw2gwdJUSrFxZfjkr0sz0cagq+Ttq1tcyGwsv6yuKWHWvRcFahqrwS8Qcg/TTLkePn5NPcTx7zphrtQAJEc7JoyIkLAHLwbRTdAu1JrldfHHtYsVd6dmbNCjSr4X8dOvsLHU14rdrlmWjLGAYfKTQ2bzxdeUGLcKaZkq0EgZRD2C37uaeMKwTe74amKfNdVtDJsf7bayV/zmdRVozy+4eOE+8ndENDa6Qk6JMvF6sKL6OVqVkl+SK102qo7wlEm3WmBhV2m9AapeAXw43kz2EJcQJmw9hPcYCsiYCFcgtjx2Cpzy4nvzRd/dGdX9CRIKK9RQF8fNX80v84njmPm84r6NDIeQvRMHdLZ1ZnTTFus4cC6Y8Fp6OUjX3KDTEIxaTQc3JYKR9L5C+Uea8jkxzhFg0gGV5vQgNCMgQyQnmpH7B/NqBLBh+0CwXdBjq7vrehNO18i9JiVPjY+ks2LGtrgvYw4URrtHm9XWP97kb6M6hYxHwVCbH/DTOXa2sw1XxioTOKAbbFFS3ObMpgONkKDxg/7Zxg3riV2DENyyqonYQ== X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2528; 6:dGMIeil6M2fwFYEGaeJab4feC8gxbpgqy7S30c6MxSZld2UTX1Vsw3UirGebrasaBq4yLX/Ah515tJPFEB4qkvVBwis62T/4YnOQ0gFQpysGpg8/+w34/8zJMh2S7y7QYDCny1jp6jkjqU1njFxaRry6IlyolPqta6tEpUNZTloZHS2zsK5U8gbKTTPO/8HDvKyPa9fEWzo0ju9l7ybWdx4RBd9PyvqPMonSXMMwALPFbl+R1/feT1KDSc2vs36eL7btC+4oBjNJCXvrahcBgK51ShPLCMSeSZUCg83h0sPs78eYrpFIAvy/wqmC+XrpImJvIRIijLqVf0Lt6vrCwQ==; 5:sSOi96qVUisXmmOCHRwBPvpQaItb59ebCgFlEk9TR3cZD+qpmvGqCBSn9HhP4ECXCiE6bW1mAEXba4/7YOfNnoEHnjOgVK+lHDmHfTLZWLBYDTkfJUM7kIDxD3b61xYkMFbMToZ/SOTHm8EsGrqjrA==; 24:60erRlUApEWsUyWO0hRRgMki8mRpqbcUWCpMsOBgT0EIcCIlGFIftCZzFa+4RljKe9kmUJ+xk4vXSv+/vx02kEhw1cpeyetZP0pOCy7ygnU=; 7:8FCKxCJO1ZyXBlON7KPhaxEjjTD3sk3KuQRyHQUNwluez2mM7bcfbKcgxEMtt7AzQRYuvJirwWsPLCY05ftFBLBLrYhfk2BTOVwvkSDGH7XK4DS2Tf78fZniwcJkbSKNmCA3pw0E16n1l+ijRAPy571rg+wDo77491uis3tX9DXscfjd07iMOUKvGX2+KUoOLeWdarRPaiEVAZ9XD6CuQ2bUEezozJyCG46nyQA/RMA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2017 07:04:42.6439 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR07MB2528 Subject: [dpdk-dev] [PATCH 4/5] eal/armv8: define architecture specific rdtsc hz X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Use cntvct_el0 system register to get the system counter frequency. If the system is configured with RTE_ARM_EAL_RDTSC_USE_PMU then return 0(let the common code calibrate the tsc frequency). CC: Jianbo Liu Signed-off-by: Jerin Jacob Acked-by: Jianbo Liu --- .../common/include/arch/arm/rte_cycles_64.h | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lib/librte_eal/common/include/arch/arm/rte_cycles_64.h b/lib/librte_eal/common/include/arch/arm/rte_cycles_64.h index 154576910..5b95cb67d 100644 --- a/lib/librte_eal/common/include/arch/arm/rte_cycles_64.h +++ b/lib/librte_eal/common/include/arch/arm/rte_cycles_64.h @@ -58,6 +58,23 @@ rte_rdtsc(void) asm volatile("mrs %0, cntvct_el0" : "=r" (tsc)); return tsc; } + +/** + * Get the number of rdtsc cycles in one second if the architecture supports. + * + * @return + * The number of rdtsc cycles in one second. Return zero if the architecture + * support is not available. + */ +static inline uint64_t +rte_rdtsc_arch_hz(void) +{ + uint64_t freq; + + asm volatile("mrs %0, cntfrq_el0" : "=r" (freq)); + return freq; +} + #else /** * This is an alternative method to enable rte_rdtsc() with high resolution @@ -85,6 +102,19 @@ rte_rdtsc(void) asm volatile("mrs %0, pmccntr_el0" : "=r"(tsc)); return tsc; } + +/** + * Get the number of rdtsc cycles in one second if the architecture supports. + * + * @return + * The number of rdtsc cycles in one second. Return zero if the architecture + * support is not available. + */ +static inline uint64_t +rte_rdtsc_arch_hz(void) +{ + return 0; +} #endif static inline uint64_t