From patchwork Sat Mar 16 07:03:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Nikhilesh Bhagavatula X-Patchwork-Id: 51239 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 01A811BE0; Sat, 16 Mar 2019 08:03:41 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id C58B111A4 for ; Sat, 16 Mar 2019 08:03:39 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x2G705QX014645; Sat, 16 Mar 2019 00:03:38 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=RYbZDw3pMHAh+yFYNcUMP11AQZ7C3nFCFBa7aL3Vqco=; b=SGQcTZQKtaFl7SOx6N6p4MoJ1dI+NqKrVVQNzxvtNZNOHCDEbQXd6rtD1RBc8ANrRgCr D27jmdqDvehOsVIfoMKzF5jJkOM4sG58D2GpG8vp0sEhsPmpslOQW4HvTy+KuJTFtUNl lclP+LfTTSElEl+m0i/hSTq4tdz/0BNVN6yCcDCxy+3iAXBX0O+R+FwZc/kWvYvJxjF8 o4KNjsbtAkHItf36gj55ooJRZcz4/USUUj1xNNtqbDHbgeTLWG0VY8r+eTdHkMVI+3wm wCHYxgqmw68vQxHtnT8Lkm1bMTjP25vuN8AoNkPIsDxnTpYKXG/OvZcDNqnDBxDKZl44 6Q== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0a-0016f401.pphosted.com with ESMTP id 2r8kaa0y6b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sat, 16 Mar 2019 00:03:38 -0700 Received: from SC-EXCH04.marvell.com (10.93.176.84) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sat, 16 Mar 2019 00:03:37 -0700 Received: from NAM01-BN3-obe.outbound.protection.outlook.com (104.47.33.55) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Sat, 16 Mar 2019 00:03:37 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RYbZDw3pMHAh+yFYNcUMP11AQZ7C3nFCFBa7aL3Vqco=; b=sq4bagkmfDSSJsQUxKm55lGNaP+eKFiU00GftsTtcKeJV+zw6cvP2frKYFoDnHXvE09oJQeImTFXnyQVi/zjoSF0Mgc4gjt/2Hcd/NU5ZTlzc6Xzh/LbqivBbtsYgmA3TLYe6MCD0BOAGwlh1T/MMvgtj2QyPYIo69Jco4zcHNU= Received: from CY4PR1801MB1863.namprd18.prod.outlook.com (10.171.255.14) by CY4PR1801MB1815.namprd18.prod.outlook.com (10.165.88.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1686.19; Sat, 16 Mar 2019 07:03:32 +0000 Received: from CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::286d:5e93:974e:8bfa]) by CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::286d:5e93:974e:8bfa%2]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 07:03:32 +0000 From: Pavan Nikhilesh Bhagavatula To: Jerin Jacob Kollanukkaran , "stephen@networkplumber.org" , "thomas@monjalon.net" CC: "dev@dpdk.org" , Pavan Nikhilesh Bhagavatula Thread-Topic: [dpdk-dev] [PATCH v2 1/2] eal: add macro to align value to the nearest multiple Thread-Index: AQHU28ZdKrl1SaFjp0W1uP/EC2epDw== Date: Sat, 16 Mar 2019 07:03:31 +0000 Message-ID: <20190316070302.32432-1-pbhagavatula@marvell.com> References: <20181129083138.23029-1-pbhagavatula@caviumnetworks.com> In-Reply-To: <20181129083138.23029-1-pbhagavatula@caviumnetworks.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: MA1PR01CA0072.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00::12) To CY4PR1801MB1863.namprd18.prod.outlook.com (2603:10b6:910:7a::14) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.21.0 x-originating-ip: [122.167.180.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3a690654-85fc-416f-5d13-08d6a9dd7fa7 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:CY4PR1801MB1815; x-ms-traffictypediagnostic: CY4PR1801MB1815: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR1801MB1815; 23:hW4HJPRNTBeZRoGEm4gVkiPLnxcbvWdSLKGBn?= =?iso-8859-1?q?+/tZgUwhzCrrpPwq0RfIHl+Es?= =?iso-8859-1?q?URDgUdjd3g0/KUQBubFHL0TUJ8Eg7LT2bJVkUv3wMwTtOEVzDqn?= =?iso-8859-1?q?wLYyHLMnjd7/JrttBRHGPCxT1owoXKdmNKBgOroXyUu6SLvEWm3?= =?iso-8859-1?q?TU63lPy4gSr8wBSKnEAALcwqyFC68S7c41oLIXkFLgNFzasTbD4?= =?iso-8859-1?q?GqXid7KbMoBSE6ZL2eifhqwadyVV1MOnlqO7FD4TBp/6a2y9jJU?= =?iso-8859-1?q?FGdevJV2TZytBzPqEPDL7W86h1N5KiTIX48+VqzbhXaXjePP4JM?= =?iso-8859-1?q?9OaFF5Hcu6pf9flemM0B0J38pKUUvzn9QLul3TfpmgcSk6BVuUd?= =?iso-8859-1?q?mAF8OSqONFN/G5I+OAjCgV6cu90pVD4yOJY0w+lWciJNwbBRIjB?= =?iso-8859-1?q?RKinRT1UBPJCU8mkrpvAaVOAeOIiF7kXWjqHAmXX6zc9E+jQroG?= =?iso-8859-1?q?tiVpJIrUOWZ64WdEsUFJjOfM7ktXKpl+AAX+eF+Gu0K1loXyBhs?= =?iso-8859-1?q?/i1UMQCCfKPU7QU9DJeXfk13zk1Fnp82+v9HjcnxxNcfXfzCqbP?= =?iso-8859-1?q?Tlt8jaoemmNK1Wt1Yc9RF8v24AUP5tJ0UWhR0NVbHq4/6ownUl2?= =?iso-8859-1?q?C7s15n/ps4bOsJ8tn1dD6mbq/dlpeFy4uuQ1VsgJxFCecDvtK3+?= =?iso-8859-1?q?ZzXK38hdfGOcHh364ksZVwVvFxpMEbH3uFjEec9UTjwq6c9rG5n?= =?iso-8859-1?q?ZJUx44cnX9AhYinFr2z+VcsIxhO6ZuhzWgwPChvAUzzrU7Togm2?= =?iso-8859-1?q?KQGm24kdEncGLHkjugMEI4RdxJgfTm4tEWpkprzIUia7xcp2cww?= =?iso-8859-1?q?zV7ezNZyRsKFpCqYZitPxGuDjXfbOMKvYLBSFyIXU7ukM03swRJ?= =?iso-8859-1?q?iYXo6DasCBxr/gmR4NBsO5EZQ4F/QDJrYtGj4eS3hscaAlq6/h8?= =?iso-8859-1?q?xgrDPLpFTiOYynTRSlkn2h4FgSlBl+u7v5YigHQXMPhtAfv6QCb?= =?iso-8859-1?q?T1KlQhaLNVLNjX3UoVIlnDYWSKytRTV/XFq1uFzbGb0kIYmuSdQ?= =?iso-8859-1?q?MxJHMuJ8fa9tl2Pcc2P9H7y7x61S6HGIlcDNNPpLMy7sDE2Hz+m?= =?iso-8859-1?q?BKqIRSYGO/PihsQtVgrrkBvGI1JNUfvxm1Lp7vadU+9qYOmV38V?= =?iso-8859-1?q?CSfWFnQylvJmjrJyrneGsjauUQ4/qjNjeMPGh5/qYS7Vva+YE3V?= =?iso-8859-1?q?m+D1MQbkHUOcyjGp/3dRQzqPof0/2oGM5OtiqpUyZffPA1GWPc8?= =?iso-8859-1?q?DvpOc8YoT6c09qv8qNGaOO6gXV5Pa9mUFL3ASrJamPxaJ9uGhdh?= =?iso-8859-1?q?YYBKgO4szF3zDKO/HgvXPxfz2mEMHYssMsshcoWHFChYCA0uMIA?= =?iso-8859-1?q?iKD22kFVq07z04jeQdlcJAoqQz8WiBpn0/Wopgk4sO7k3mMudED?= =?iso-8859-1?q?IlnarRRAwAO39l6C+wGI?= x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(979002)(136003)(366004)(346002)(376002)(396003)(39860400002)(199004)(189003)(1076003)(81156014)(305945005)(6506007)(316002)(386003)(2501003)(8676002)(476003)(105586002)(106356001)(102836004)(99286004)(11346002)(7736002)(256004)(14444005)(6486002)(26005)(54906003)(71190400001)(478600001)(86362001)(97736004)(71200400001)(5660300002)(14454004)(2201001)(2616005)(6436002)(53936002)(52116002)(6512007)(8936002)(486006)(68736007)(446003)(36756003)(4326008)(107886003)(50226002)(3846002)(110136005)(76176011)(2906002)(6116002)(78486014)(186003)(66066001)(25786009)(81166006)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR1801MB1815; H:CY4PR1801MB1863.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: cYitiFvGYA4RrLHnqW7pMbVhTgWX3sNvxxXwFvbTXQfwn1HHI4fbqFiMw/WCf54Y1P42djLV+/9PGNt3jaGnUeR2HM9gQnc9+hKtm2whqDwU/dtb9rH62pGsr6IFjtr8Mzo7yD0zj06jHyEeqFQ2Mb2A2zeIRRk6t4RBfeYABmGD68XTkeDhfh7WvvVD5+hpUtAyC4GkhiNioz+g1B/loOsMsE6HY+ak3NK/R2tSLL4awOTZOVMJskpqlz99gqRlIaemewdj/4eMQQ6GXCvk8sjC+7lTZdB56JMlF7gew0Io4rXhJyLetP9HsF9Y/xU8jXe74+zyefFEOWIrLVZsaP+HcQk/Rxv+LWjMqQ26rDRr8fHo+6ug2I8Qro1p7kMdNr3LaV2NR+/QWDLDHoG0jvsA0ke95IjT99YLAhSJA/Y= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 3a690654-85fc-416f-5d13-08d6a9dd7fa7 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 07:03:32.5293 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1801MB1815 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-03-16_05:, , signatures=0 Subject: [dpdk-dev] [PATCH v2 1/2] eal: add macro to align value to the nearest multiple 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" From: Pavan Nikhilesh Add macro to align value to the nearest multiple of the given value, resultant value might be greater than or less than the first parameter whichever difference is the lowest. Update unit test to include the new macro. Signed-off-by: Pavan Nikhilesh --- v2 Changes: - Spilt patch and add unit test for the new macro. app/test/test_common.c | 4 ++++ lib/librte_eal/common/include/rte_common.h | 12 ++++++++++++ 2 files changed, 16 insertions(+) -- 2.21.0 diff --git a/app/test/test_common.c b/app/test/test_common.c index 94d367471..2b856f8ba 100644 --- a/app/test/test_common.c +++ b/app/test/test_common.c @@ -199,6 +199,10 @@ test_align(void) val = RTE_ALIGN_MUL_FLOOR(i, p); if (val % p != 0 || val > i) FAIL_ALIGN("RTE_ALIGN_MUL_FLOOR", i, p); + val = RTE_ALIGN_MUL_NEAR(i, p); + if (val % p != 0 || ((val != RTE_ALIGN_MUL_CEIL(i, p)) + & (val != RTE_ALIGN_MUL_FLOOR(i, p)))) + FAIL_ALIGN("RTE_ALIGN_MUL_NEAR", i, p); } } diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h index 7178ba1e9..bcf8afd39 100644 --- a/lib/librte_eal/common/include/rte_common.h +++ b/lib/librte_eal/common/include/rte_common.h @@ -248,6 +248,18 @@ static void __attribute__((destructor(RTE_PRIO(prio)), used)) func(void) #define RTE_ALIGN_MUL_FLOOR(v, mul) \ ((v / ((typeof(v))(mul))) * (typeof(v))(mul)) +/** + * Macro to align value to the nearest multiple of the given value. + * The resultant value might be greater than or less than the first parameter + * whichever difference is the lowest. + */ +#define RTE_ALIGN_MUL_NEAR(v, mul) \ + ({ \ + typeof(v) ceil = RTE_ALIGN_MUL_CEIL(v, mul); \ + typeof(v) floor = RTE_ALIGN_MUL_FLOOR(v, mul); \ + (ceil - v) > (v - floor) ? floor : ceil; \ + }) + /** * Checks if a pointer is aligned to a given power-of-two value * From patchwork Sat Mar 16 07:03:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Nikhilesh Bhagavatula X-Patchwork-Id: 51240 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0C4D91BE0; Sat, 16 Mar 2019 08:05:57 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 2A21F11A4 for ; Sat, 16 Mar 2019 08:05:55 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x2G701MJ014360; Sat, 16 Mar 2019 00:05:54 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=7xl5GVciG32mgCvJTaGSYXFNBWhPQMMg5pAcSHBfkzo=; b=mjfHiK/qPnxkiaxJt+tFrFvMX4oionAiZc7hS7g959BY5I2dYKY4ID3fiKjCicORZouh kXvrrWUj9mM4gpOkWF5+cjK86LrGzUZM2jDiP+o+nOgx2tIeF/dQCd8Wirf9wj1jbL0q JY+dfCkt3rf4h0y236EF4qEoGTIwQ4BKjT6leoG0A14up5wk8mKAvJGZNm+CI/RK15if pmlIeUJCmJBTJuKzbdh8udZs+P/FkE5xQKyd0Xo0ghUOmdxhlfdi3HYkuWYgOqxugrW0 jwnP+QSKcuET7phCMl+zOVtcdpM2rU5yJ2uN8AKnMzfMfRZhvDBNyOy6+jfjNepBPAUo uQ== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0a-0016f401.pphosted.com with ESMTP id 2r8kaa0y8h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sat, 16 Mar 2019 00:05:54 -0700 Received: from SC-EXCH04.marvell.com (10.93.176.84) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sat, 16 Mar 2019 00:03:38 -0700 Received: from NAM01-BN3-obe.outbound.protection.outlook.com (104.47.33.55) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Sat, 16 Mar 2019 00:03:37 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7xl5GVciG32mgCvJTaGSYXFNBWhPQMMg5pAcSHBfkzo=; b=ft7CJV+F0ztNJQpaa89tnH0S/LKJhbT8suFKmZygTLpg9ER9Z/3VGqMcsgYp4FN8BOpkcOtO5lGdDmFQm2xg5SQmtF6OXNoTqxE5iu7/IDgCJ+tC/KETBU7Y/GOPr+TLF5nSaV8/FZ7yRXYWQMF0XlWH1z4VdsZHV0pVp1r4yJM= Received: from CY4PR1801MB1863.namprd18.prod.outlook.com (10.171.255.14) by CY4PR1801MB1815.namprd18.prod.outlook.com (10.165.88.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1686.19; Sat, 16 Mar 2019 07:03:36 +0000 Received: from CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::286d:5e93:974e:8bfa]) by CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::286d:5e93:974e:8bfa%2]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 07:03:36 +0000 From: Pavan Nikhilesh Bhagavatula To: Jerin Jacob Kollanukkaran , "stephen@networkplumber.org" , "thomas@monjalon.net" CC: "dev@dpdk.org" , Pavan Nikhilesh Bhagavatula Thread-Topic: [dpdk-dev] [PATCH v2 2/2] eal: roundup tsc frequency when estimating it Thread-Index: AQHU28ZfRUfyFSEKwUiYLm/lxX2a+w== Date: Sat, 16 Mar 2019 07:03:36 +0000 Message-ID: <20190316070302.32432-2-pbhagavatula@marvell.com> References: <20181129083138.23029-1-pbhagavatula@caviumnetworks.com> <20190316070302.32432-1-pbhagavatula@marvell.com> In-Reply-To: <20190316070302.32432-1-pbhagavatula@marvell.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: MA1PR01CA0072.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00::12) To CY4PR1801MB1863.namprd18.prod.outlook.com (2603:10b6:910:7a::14) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.21.0 x-originating-ip: [122.167.180.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b6b1e01e-5a12-4efa-981c-08d6a9dd81ba x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:CY4PR1801MB1815; x-ms-traffictypediagnostic: CY4PR1801MB1815: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR1801MB1815; 23:jsWklhxcO2h14GKuqsnbP5f/Xm8xPIZtKAJIy?= =?iso-8859-1?q?q2vcBsE1Xf5gZd4WVzVrV3rBk?= =?iso-8859-1?q?+k+znX1MLzbePNGoIq89H+VPSBkSHcm3DCgwKrjWSc9N2OzlP7s?= =?iso-8859-1?q?8ScoLklWrV4ZddyLylqu1wPgBVNZV+9cOcSh+0yU7F9MmfTpM5C?= =?iso-8859-1?q?N5E6Axf5eLmw5M3n9nYrDKtAtRsgxb44sj58YOxe19QjB6LJuc9?= =?iso-8859-1?q?tqFrtv8mcgBE2ywCgb1Bfzi3PSB5SdWoif6B23vaGnyX0EpwL0u?= =?iso-8859-1?q?pSjXWUMuRn1qX6Q+jhy1n87A/R+TAu9xox34bwHpWToHpi5mt2Z?= =?iso-8859-1?q?r9mZmaf2Mf3L54AA4Aggm6uHhLYqujaAScUtj4dgmr+EF8OQ6tR?= =?iso-8859-1?q?utQxBMrMrPXMtjiA0w3n+/tpAjqlej5qj17Gv70OwBpUiWnijzH?= =?iso-8859-1?q?gtDQkMbUwYITflOrcoP3qL3bYnikhXBQBib9p3eNhurqGdzt7g3?= =?iso-8859-1?q?J5VYZQVEQHv2/Y7b+xTJYt6HmWtQCzHax6DJ6tDgO1+bzpofIsr?= =?iso-8859-1?q?BU0lNxFfMoGbrZQ7qVyJVaG0BkYa1JpNoYWPlhGy7q+VD+zwHak?= =?iso-8859-1?q?IF+hAR/pZBoDibtW30AqSkdDFEmltCEN4xTdKoetsNxqBJYyUxs?= =?iso-8859-1?q?qC6DhqICGaY7vDQ6LoK4GqutAh5At2DvB3T1E8ct3ep6UXUi+pd?= =?iso-8859-1?q?EOJRkhv4wbN09cEt7hQcB8XX1871MDGHrWDi7bh/VZdahLp0PCb?= =?iso-8859-1?q?vRpFSrA83UzdktsolB+Kdcx/jByFQVrsru46pnjTdh+gCHP1fZC?= =?iso-8859-1?q?C0gGcEgqlld2yQf6A7eOw8Ma2AXyZ79CDL/FFLc0LrQ8r4V/ijU?= =?iso-8859-1?q?X0LBPnxjThaN/AHeRHZos0psEnWgNO5L7ufTHNOeLCaxbJ+hh9n?= =?iso-8859-1?q?Uj77PUHecM4TCMuhH0V6ty3YOjWx8/tTz2yZYKMlkz3jLWIB9EH?= =?iso-8859-1?q?gqJL+B3sY/ITliDpvRdnIh3fJOH8otmKckAZM+L9nirtQA9iSsR?= =?iso-8859-1?q?7cSm8Z6YkhGT+/e8F4ye4ZJBFlE6qiEjeEsLGqx3tKH8XD/D+VQ?= =?iso-8859-1?q?k7zfUm1BcP85YjJQT4VTDQa/n4TEY9+M4kzcSRrB6jcpK8TVoKA?= =?iso-8859-1?q?E7tN4Acr8hBsV9sVuTqiaGXzTx62U9y+NkSsQX06UwxiaG1JWZK?= =?iso-8859-1?q?N4cZpnRH4yJjpu+twZZ7BGl0zZc8gYHO71CatieF1F+mTgJQkhT?= =?iso-8859-1?q?Jnf8BPD1XMj8bLhSFQFyDHVZR0XMmx3BZRVK121hxuj5y2/oeAp?= =?iso-8859-1?q?L91iKMlrGcV1gy9s+klwJSF0XnVpFjCbaZKVSdDKMF417FQGaSB?= =?iso-8859-1?q?wgNYQoYxkAbaaMoA=3D=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(366004)(346002)(376002)(396003)(39860400002)(199004)(189003)(1076003)(81156014)(305945005)(6506007)(316002)(386003)(2501003)(8676002)(476003)(105586002)(106356001)(102836004)(99286004)(11346002)(7736002)(256004)(6486002)(26005)(54906003)(71190400001)(478600001)(86362001)(97736004)(71200400001)(5660300002)(14454004)(2201001)(2616005)(6436002)(53936002)(52116002)(6512007)(8936002)(486006)(68736007)(446003)(36756003)(4326008)(107886003)(50226002)(3846002)(110136005)(76176011)(2906002)(6116002)(78486014)(186003)(66066001)(25786009)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR1801MB1815; H:CY4PR1801MB1863.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: zhKpSUfdHf//JczIwOFYoSxl7OlD8tG+7H+4kdHXSZ2iiM6/28wJJunpxotweK9D+HRDbdH5a+uTZf2DZANuSdVBqE3S7/2iCAqmn2JmNYQc3QfAB4P4QPByix8YK9vC+W+adgjBYEVdIDZMIhAkqvNgX9U87/GDO2Uifsjtl/rMJKDfhQclOM2pG+QVMniT/4VzgwjdEF7qh7KQ4RY+yUp1aTLKvjS8iC+Mtw4V3AAJY80eLCL9BKoUrj3YkIL/kPZmXDqbmAIGpoAcfcjEbax5uW0/1FBmIf/DZUj6ZKLWmJMlv8iZ+abuCTDTF0Eby5zSVf5LhX0YC5HeUzEj+w0VALbFAL2HkPvNgSLb/SRhzym5kMsZJTWlW4+qFG/z87D9IsdHvM9TfO/KywA9rex/O9jiiR9gPh/XBqFUfFg= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: b6b1e01e-5a12-4efa-981c-08d6a9dd81ba X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 07:03:36.0848 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1801MB1815 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-03-16_05:, , signatures=0 Subject: [dpdk-dev] [PATCH v2 2/2] eal: roundup tsc frequency when estimating it 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" From: Pavan Nikhilesh When estimating tsc frequency using sleep/gettime round it up to the nearest multiple of 10Mhz for more accuracy. Signed-off-by: Pavan Nikhilesh Reviewed-by: Keith Wiles --- Useful in case of ARM64 if we enable RTE_ARM_EAL_RDTSC_USE_PMU, get_tsc_freq_arch() will return 0 as there is no instruction to determine the clk of PMU and eal falls back to sleep(1). lib/librte_eal/common/eal_common_timer.c | 4 ++-- lib/librte_eal/linuxapp/eal/eal_timer.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) -- 2.21.0 diff --git a/lib/librte_eal/common/eal_common_timer.c b/lib/librte_eal/common/eal_common_timer.c index dcf26bfea..1358bbed0 100644 --- a/lib/librte_eal/common/eal_common_timer.c +++ b/lib/librte_eal/common/eal_common_timer.c @@ -69,7 +69,7 @@ estimate_tsc_freq(void) /* assume that the sleep(1) will sleep for 1 second */ uint64_t start = rte_rdtsc(); sleep(1); - return rte_rdtsc() - start; + return RTE_ALIGN_MUL_NEAR(rte_rdtsc() - start, 1E7); } void @@ -83,7 +83,7 @@ set_tsc_freq(void) if (!freq) freq = estimate_tsc_freq(); - RTE_LOG(DEBUG, EAL, "TSC frequency is ~%" PRIu64 " KHz\n", freq / 1000); + RTE_LOG(INFO, EAL, "TSC frequency is ~%" PRIu64 " Hz\n", freq); eal_tsc_resolution_hz = freq; } diff --git a/lib/librte_eal/linuxapp/eal/eal_timer.c b/lib/librte_eal/linuxapp/eal/eal_timer.c index bc8f05199..864d6ef29 100644 --- a/lib/librte_eal/linuxapp/eal/eal_timer.c +++ b/lib/librte_eal/linuxapp/eal/eal_timer.c @@ -248,7 +248,7 @@ get_tsc_freq(void) double secs = (double)ns/NS_PER_SEC; tsc_hz = (uint64_t)((end - start)/secs); - return tsc_hz; + return RTE_ALIGN_MUL_NEAR(tsc_hz, 1E7); } #endif return 0;