From patchwork Thu Sep 17 13:10:09 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: hongbo.zhang@freescale.com X-Patchwork-Id: 53809 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-la0-f70.google.com (mail-la0-f70.google.com [209.85.215.70]) by patches.linaro.org (Postfix) with ESMTPS id 94E1D22E57 for ; Thu, 17 Sep 2015 13:33:56 +0000 (UTC) Received: by lagj9 with SMTP id j9sf7317307lag.0 for ; Thu, 17 Sep 2015 06:33:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:delivered-to:from:to:date :message-id:in-reply-to:references:mime-version:spamdiagnosticoutput :spamdiagnosticmetadata:cc:subject:precedence:list-id :list-unsubscribe:list-archive:list-post:list-help:list-subscribe :content-type:content-transfer-encoding:errors-to:sender :x-original-sender:x-original-authentication-results:mailing-list; bh=mM46xiWhC/7yqExJb0WSqQI9LB0DIEU0MlrgppznuoA=; b=b18/zlZ7ur2yLfOhFDFzt8mwK9KT9/a/o6fOnzx0nAUuFKQNAL0SA6VqgEJ/STX0hR 7RmJLP+HlQrm/Pnq6g83UKOJQJpjhLsuBNp0sFl73GSHujZ6fqlDjukXDebBFi0YWVD5 zZXS+J56VrclwrL/9aI+BUoawK8+xEfrX9lDgID1M3qEqr/lflVv150J20P1sytSNVJ0 7rr+uYG8Z1zFF6b1Dj0Bgwr9GpSIbiaeEyC/3UM+nTOIWddryL4t4L7dJAwSJYEakcGh 9aQ+LHFurmvPwXg2lf6ZwKu7VSw07AiEgqaytJzPdpMy8JsoxZQjXntq5xz56EhPMy7T iyJQ== X-Gm-Message-State: ALoCoQlUGfA9QtA6RtWw99jSOZXPAs4Y5V5XBtI2zRywTaOkHip+WitIa4BCB/KO3UqvzGfwsQId X-Received: by 10.152.9.36 with SMTP id w4mr4057656laa.7.1442496835540; Thu, 17 Sep 2015 06:33:55 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.2.129 with SMTP id 1ls75605lau.58.gmail; Thu, 17 Sep 2015 06:33:55 -0700 (PDT) X-Received: by 10.152.3.233 with SMTP id f9mr32516939laf.14.1442496835406; Thu, 17 Sep 2015 06:33:55 -0700 (PDT) Received: from mail-la0-f47.google.com (mail-la0-f47.google.com. [209.85.215.47]) by mx.google.com with ESMTPS id yg10si2158811lbb.122.2015.09.17.06.33.55 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 17 Sep 2015 06:33:55 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.47 as permitted sender) client-ip=209.85.215.47; Received: by lahg1 with SMTP id g1so11405898lah.1 for ; Thu, 17 Sep 2015 06:33:55 -0700 (PDT) X-Received: by 10.152.21.196 with SMTP id x4mr30993887lae.86.1442496835158; Thu, 17 Sep 2015 06:33:55 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.59.35 with SMTP id w3csp3074903lbq; Thu, 17 Sep 2015 06:33:54 -0700 (PDT) X-Received: by 10.140.101.119 with SMTP id t110mr52305757qge.71.1442496833699; Thu, 17 Sep 2015 06:33:53 -0700 (PDT) Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id i22si2589464qhc.99.2015.09.17.06.33.53; Thu, 17 Sep 2015 06:33:53 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Received: by lists.linaro.org (Postfix, from userid 109) id 33D5462D51; Thu, 17 Sep 2015 13:33:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id DD8F262D7F; Thu, 17 Sep 2015 13:26:16 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 6C03962D58; Thu, 17 Sep 2015 13:26:01 +0000 (UTC) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0117.outbound.protection.outlook.com [65.55.169.117]) by lists.linaro.org (Postfix) with ESMTPS id 0380162D5C for ; Thu, 17 Sep 2015 13:24:54 +0000 (UTC) Received: from CH1PR03CA004.namprd03.prod.outlook.com (10.255.156.149) by BY1PR0301MB1269.namprd03.prod.outlook.com (10.161.205.143) with Microsoft SMTP Server (TLS) id 15.1.268.17; Thu, 17 Sep 2015 13:24:53 +0000 Received: from BL2FFO11OLC012.protection.gbl (10.255.156.132) by CH1PR03CA004.outlook.office365.com (10.255.156.149) with Microsoft SMTP Server (TLS) id 15.1.274.16 via Frontend Transport; Thu, 17 Sep 2015 13:24:52 +0000 Received-SPF: Fail (protection.outlook.com: domain of freescale.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BL2FFO11OLC012.mail.protection.outlook.com (10.173.160.159) with Microsoft SMTP Server (TLS) id 15.1.274.4 via Frontend Transport; Thu, 17 Sep 2015 13:24:52 +0000 Received: from hongbo.ap.freescale.net (hongbo.ap.freescale.net [10.193.20.3]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id t8HDOGbp005200; Thu, 17 Sep 2015 06:24:49 -0700 From: To: Date: Thu, 17 Sep 2015 21:10:09 +0800 Message-ID: <1442495411-12362-13-git-send-email-hongbo.zhang@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1442495411-12362-1-git-send-email-hongbo.zhang@freescale.com> References: <1442495411-12362-1-git-send-email-hongbo.zhang@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC012; 1:k+TfAYeEgvz0IhNmKescjpCesKNh6jIoBT6VUR3R9gZZKHN7R0sOPupdpAn/oMn3JHSQ64+YfoUeThPjTavDCB+tVSLx7Ki2hKdX2ZjPe/JkzZi3M66LbQSoBfiNgYx+oFzc804swHj9YFNi35MqiXl5OwuregO640OeJsN9SmjS+aPVeLon2PhoBIAYOGIOqB0xpbQR9EzSpuKotrGn8u287oL4CptvYTh6ngbHCcTcDyFrHkNyy1R3JpOtV78Z5t4ac8XDQKXWGI/vQppdQGBsf5m0vyyRanr59bLA2v4PKHj1ZevrzeK5eGcdYyJJPf8vJv9uMUNmOBiDHyX0KB9BjZp0aH+/gvySK36mKHE2fpxcTQAvCIM2Q8HYpMtAQRjlGCEzneyt/yW+xJQzGQ== X-Forefront-Antispam-Report: CIP:192.88.158.2; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(87936001)(50986999)(50226001)(2351001)(85426001)(11100500001)(48376002)(86362001)(77096005)(50466002)(229853001)(4001540100001)(33646002)(97736004)(81156007)(68736005)(69596002)(46102003)(5001960100002)(62966003)(5007970100001)(104016003)(64706001)(5001860100001)(189998001)(5001920100001)(2950100001)(5001830100001)(6806004)(19580405001)(19580395003)(86152002)(36756003)(77156002)(76176999)(105606002)(106466001)(47776003)(92566002)(5003940100001)(110136002)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR0301MB1269; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1269; 2:9bwZM0kvJgOBNPXS7/VpJUb4++31HAUFkF04+fiYXlxqPlYoAJntb+Hyu7evbhMiX/h4ehfeBJtmROlsDar/UtJ/agT+TaywVKtntIXVft2RiU4JLesP0Gr5bNOCrq+Nvw5v0BQPHAIA+6y++r8AamkhqGnLViI81JSP42YJY70=; 3:VUpTNMEfTlyJYW9x0nhObveYcAl7AVkIf4MNiWnUZH8NVR29S7ziIpA3+qJxsmgn6dVnY3hKiaumDpo2ZCL7uf7+Hr8aGGbRoeVBPV06+tF0KTJIBW6m7AlI7/svScUYUyZkCbynJ6P5TLud2T6YG5a8Sc42YYEEyNudWqO2LSglAzJFYSBIWdkYgkEqR+NHTOKCo/2WXnHcJmsNhBVLWJlm8CXbEDNZkg9bA39eljU=; 25:RF/RATBTmM27lEaVEcCRqYJbx+Coa7WzanTyddSA2SxjnISjJZztINE4H1PAbQ9wkyS7x/sNg9ZU5qyL5uMyBlQytEbSo+3rILKCMoHovSgdiVFpKQlKrhLmgmQM3QCT2CH5SN3AbV4E+h1YFZGRJ2ocYKSvTwpp4wByev+6K379gP0bJA9zB/khg+WsjVgrUtdO0bdaZJf6o5463aePRVyYS4TFQJYgyobun+0yWAzdnBcaSi3phaKuzbs+OmFfgE7zSQt23dG0FUkK9Fj6dA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB1269; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1269; 20:zNkO5crPvN8qda/5/Gnnhbr5z7UMkJEaanw1whwcE97bbnR9j3yduqNhMAT2C6ev7k/wsr1BOlnlgQlIyQr87T1PDVzPzxYkEos5L44Oi9XIzh8fQAUIvqCyjitKxawYbxbLkVyjKFeku59c08N1HF3hodkhboeci5y6+SDcwHCXtEWxj3VdM2kwEbpbrMypFAeH3rBCoOzjot5GxAbNoR1A2fK1Jz8qX4TD+7+UvYs/iIayFvOJOIbVBpokR0qMrherf5HC+dtkig2OAZwH12+HKNczNiNTcaAcZYl/0Akv03oK8Lv/dTy6Hlq3o0O6Naw0XrZOIXftln4FSExpBZaDSGo7nY7+8ch7fyQ2Xfg=; 4:ED5i8busv+r+qYbJD01GR2KR2XfD7uXvlmNnckXmNQrXWkVz8+zx6EYIgyWyjB2hHLJjOZyqXCRkIq1DCCgyOqdeD+ls/navJb6Rtmd56HlAigzMSzYOOIWAXJIqhowXV9dQytvX4MKOQxzKYOfagjjP5Fq6JzVT9FGxKNFVn1VjxWWsDzRw2obH8O1OlNYMd0bYO7NtzcEVFaDSYUKpIP9mrFRXRrZwc6nD7jsCslK3J7Cy/xsBzDPK5ZGjitsV4TCGcsdOXn/kes66qhUfQ6subXYUy7OoFHx2xO1QLhsgyMh4KWaz1vEnOUeHSFN3iHbTWemtKCFDd7KQNaH0b30q6jXD912bEg3TatzC38Q= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(520078)(520075)(5005006)(8121501046)(3002001); SRVR:BY1PR0301MB1269; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0301MB1269; X-Forefront-PRVS: 07025866F6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0301MB1269; 23:TfJHJUiXCgSImXBMdRvnGxAVGb4mBmThGBOlgz9?= =?us-ascii?Q?xDcgdS9nNm/ACa5d1dzX8pHLuSe1f3dJgzrkyLsw9TKrcln+19q+TGMcPzX+?= =?us-ascii?Q?zrCxXgWvgvRKoECgLj/Rcc1NrAquaepYfhqkvtELFFGgQqISNJeU1c2PoxUy?= =?us-ascii?Q?D7I64BqUK3F0CDarm1m72UyXSEd+DH/RLqWKAjw0mMN7Sdz48VfxSbB9Z/8w?= =?us-ascii?Q?+S64FvTMXIbvYTz54o6jxZt4yFKY25QfKSHAbMH/zuRGLY4TqvFP0gGmIA/i?= =?us-ascii?Q?v3R6111jmMGWgay1J8rWkq5aWcZa98o8zzIK8ojqWrPLBvK8kEOVAvk66bRV?= =?us-ascii?Q?VrOPYqbthTqeHIyyY39N+u6QTBPAZIV98Ey73G4W1eneWnqe/dclXKXrkI8S?= =?us-ascii?Q?glP8WqINFk4atzhDhbs5q2q2V+0vBY89xzlEiX1VjpSod9GlaJfxjuvZJzI4?= =?us-ascii?Q?xrsdw58gzJJq/9ur3o71AsUahXVxd3TLSDgW1vZwqeLkKw9bWcCrrW/WtQTZ?= =?us-ascii?Q?E0MiCXzLt/tPnUpQ9HwcHG7WGOm/OiHhX73MYTRyuogGZrky//Ir0Ge9xmdz?= =?us-ascii?Q?b4cKCdtlph9G/H1vTnNZ4lMGE6uea5LXCEsPRe/aeaHNGATH7bXOjfcPHv84?= =?us-ascii?Q?vlO4uXNhm2/lOd4JtW0KULAUOb21smjUOcbbG/IhNjXYxhfW7t0/iUgrQDWn?= =?us-ascii?Q?iaCHLzg7Vikq6Nm0hns3/0Xb249S2wdqoGZ4ziA+v+uLkkEIvuuFY+ug+ZIk?= =?us-ascii?Q?QjsJe25kTq6VhtApQVclAii5wBpEKMQrLGPV0uO1rKrgyqIQj3dqIUEn/aBh?= =?us-ascii?Q?uGH5z59/jiuMJx9wsvmlgcc8P2JQqWiB2ZIEaCH9xioEv0RPKh1hXHps6vg5?= =?us-ascii?Q?zvBuH5eSgG+Il43I1zZdTNr7Qbry5CJOhSMNqw/hm4dlPir3w3i+iA1hgudy?= =?us-ascii?Q?GElDhqy1/guvWjFE819mew6BKvfTpaxhmmU5R8i0g7FFYIx9iSPtObC8+TF+?= =?us-ascii?Q?zIAlbzjyUtc2EV8PZ4uWk31gi6gsUo8SOELAR2REBxp70o1EPhz3pHpybhmn?= =?us-ascii?Q?SXfAt/SjN6nDUFdjQUURvW7ZXOlw7ZHEDoInOBzkW3LCN+RGoSVYV2SXiqFx?= =?us-ascii?Q?AxcJbxEVt3cl5/jkm5/V4KEzfK9fULjcmkHzfEA9NcXDW4j4tbwuM32TL+gZ?= =?us-ascii?Q?NzdsrJSFNi81TAKReyj+IgTYX2aZM4zhFPDq9+cj6MI2tpc4p0TVHf4ygjRR?= =?us-ascii?Q?y+AdQIqRoCTk1xrJAGD58sGZGMwFEDel5bBgU6shI1Ak77XHKCF6J6v5XSfz?= =?us-ascii?Q?+1b0m/yXYLIJfzsCPenjXX6k=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1269; 5:mQC0uwRIYp/CkPTEXuSUHTo2b9ZmUpUcm8iPjOYn2hzUMBuBStEuNn69weF/9fzqSLKvI9fj1GS+EK/UNeYfHDWnU2/sM+hUVD/j91GtOTGXcKl4EHEdx3KjVq4RyyZHC/HKulu1R0FjG+7wpvuL9Q==; 24:ingo6EucUSphtR7HU2O5Am4aAaAMcp5JuX5gVTb4gr8/oEiZIOPHJ/6viZWre1mpCfTU2SCgqe77oYcL+oQ6w09EpNj8BoyNfBi42vpvKPw=; 20:BI76kSrBaallMBXkeK+KByKiwMLESSTknPKpRsvpUeNbDIdFm4RLc4v1m4qQOIN/1SGgwGFdQzDaIQ0A+cY1mQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Sep 2015 13:24:52.1071 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0301MB1269 X-Topics: patch Cc: petri.savolainen@nokia.com, stuart.haslam@arm.com Subject: [lng-odp] [API NEXT PATCH v6 12/14] example: update CPU Hz calling functions X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: patch@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.47 as permitted sender) smtp.mailfrom=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 From: Hongbo Zhang The previous odp_sys_cpu_hz() is moved to cpu.h and then renamed to odp_cpu_hz(), but all the calling function of odp{_sys}_cpu_hz() want to show maximun CPU capacity in fact, so they should be updated to use the newly added odp_cpu_hz_max() instead of odp_cpu_hz(). This patch updates the example part of codes. Signed-off-by: Hongbo Zhang --- example/classifier/odp_classifier.c | 2 +- example/generator/odp_generator.c | 2 +- example/ipsec/odp_ipsec.c | 2 +- example/packet/odp_pktio.c | 2 +- example/timer/odp_timer_test.c | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/example/classifier/odp_classifier.c b/example/classifier/odp_classifier.c index 8f3c37f..85372a6 100644 --- a/example/classifier/odp_classifier.c +++ b/example/classifier/odp_classifier.c @@ -746,7 +746,7 @@ static void print_info(char *progname, appl_args_t *appl_args) "CPU count: %i\n" "\n", odp_version_api_str(), odp_cpu_model_str(), - odp_cpu_hz(), odp_sys_cache_line_size(), + odp_cpu_hz_max(), odp_sys_cache_line_size(), odp_cpu_count()); printf("Running ODP appl: \"%s\"\n" diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c index 9dd7f3e..e72fae9 100644 --- a/example/generator/odp_generator.c +++ b/example/generator/odp_generator.c @@ -1063,7 +1063,7 @@ static void print_info(char *progname, appl_args_t *appl_args) "Cache line size: %i\n" "CPU count: %i\n" "\n", - odp_version_api_str(), odp_cpu_model_str(), odp_cpu_hz(), + odp_version_api_str(), odp_cpu_model_str(), odp_cpu_hz_max(), odp_sys_cache_line_size(), odp_cpu_count()); printf("Running ODP appl: \"%s\"\n" diff --git a/example/ipsec/odp_ipsec.c b/example/ipsec/odp_ipsec.c index 5050d8e..5d2856d 100644 --- a/example/ipsec/odp_ipsec.c +++ b/example/ipsec/odp_ipsec.c @@ -1534,7 +1534,7 @@ static void print_info(char *progname, appl_args_t *appl_args) "Cache line size: %i\n" "CPU count: %i\n" "\n", - odp_version_api_str(), odp_cpu_model_str(), odp_cpu_hz(), + odp_version_api_str(), odp_cpu_model_str(), odp_cpu_hz_max(), odp_sys_cache_line_size(), odp_cpu_count()); printf("Running ODP appl: \"%s\"\n" diff --git a/example/packet/odp_pktio.c b/example/packet/odp_pktio.c index c48364b..555f461 100644 --- a/example/packet/odp_pktio.c +++ b/example/packet/odp_pktio.c @@ -650,7 +650,7 @@ static void print_info(char *progname, appl_args_t *appl_args) "Cache line size: %i\n" "CPU count: %i\n" "\n", - odp_version_api_str(), odp_cpu_model_str(), odp_cpu_hz(), + odp_version_api_str(), odp_cpu_model_str(), odp_cpu_hz_max(), odp_sys_cache_line_size(), odp_cpu_count()); printf("Running ODP appl: \"%s\"\n" diff --git a/example/timer/odp_timer_test.c b/example/timer/odp_timer_test.c index 67f8742..a8448b5 100644 --- a/example/timer/odp_timer_test.c +++ b/example/timer/odp_timer_test.c @@ -350,7 +350,7 @@ int main(int argc, char *argv[]) printf("---------------\n"); printf("ODP API version: %s\n", odp_version_api_str()); printf("CPU model: %s\n", odp_cpu_model_str()); - printf("CPU freq (hz): %"PRIu64"\n", odp_cpu_hz()); + printf("CPU freq (hz): %"PRIu64"\n", odp_cpu_hz_max()); printf("Cache line size: %i\n", odp_sys_cache_line_size()); printf("Max CPU count: %i\n", odp_cpu_count()); @@ -446,7 +446,7 @@ int main(int argc, char *argv[]) return -1; } - printf("CPU freq %"PRIu64" Hz\n", odp_cpu_hz()); + printf("CPU freq %"PRIu64" Hz\n", odp_cpu_hz_max()); printf("Cycles vs nanoseconds:\n"); ns = 0; cycles = odp_time_ns_to_cycles(ns);