From patchwork Thu Sep 17 13:10:03 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: 53805 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-lb0-f197.google.com (mail-lb0-f197.google.com [209.85.217.197]) by patches.linaro.org (Postfix) with ESMTPS id 38B4A22E57 for ; Thu, 17 Sep 2015 13:30:55 +0000 (UTC) Received: by lbbti1 with SMTP id ti1sf6312566lbb.3 for ; Thu, 17 Sep 2015 06:30:54 -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=z7NI7sL6bJNQ1gLnYJ+7812CdhkLVBwFEDauwParV3k=; b=O71xX8kiFDbc+xDLD+HMzi4kWLSbPXMHpHzpiT5pBmqX5zasgTEVEeqGFG9Q8gbOOZ PD0RZdXMKMQUD7K5qkjviQAZeRWrEBjORjWirpiC4PYC/CwdEIRxx2xK0OKSihZ/lgSp sOwxrHNreCHLt/7g86JqwywRBuxwBwv3b37yPjsuPfKqUIrM88gmtrs2wW9Hy5e/9/uo uxWXjy6pMpM1lEq9quI+U9oyW91SqBt1Jn/dEGb4mrZoIrY3Her/HXGVz1rn9xH0vTAW QquQ3XVVIBnYxn7uYN/Rnwpdc12UvIhsYUvkLlZq9sfP6mbVrCCHA+bwaBN+/AfbLlsS hx4Q== X-Gm-Message-State: ALoCoQkdMpGWfB0z/Xs3wf4dBhNrD7R/oUpBUotdC2S0BqIpwVJKXr0/uKbpPfyiBQAKvqtgz9yA X-Received: by 10.152.21.42 with SMTP id s10mr3659835lae.9.1442496654172; Thu, 17 Sep 2015 06:30:54 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.180.201 with SMTP id dq9ls103327lac.53.gmail; Thu, 17 Sep 2015 06:30:54 -0700 (PDT) X-Received: by 10.112.62.137 with SMTP id y9mr35743511lbr.63.1442496654036; Thu, 17 Sep 2015 06:30:54 -0700 (PDT) Received: from mail-lb0-f171.google.com (mail-lb0-f171.google.com. [209.85.217.171]) by mx.google.com with ESMTPS id jd11si2282071lac.133.2015.09.17.06.30.54 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 17 Sep 2015 06:30:54 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.171 as permitted sender) client-ip=209.85.217.171; Received: by lbpo4 with SMTP id o4so9274626lbp.2 for ; Thu, 17 Sep 2015 06:30:54 -0700 (PDT) X-Received: by 10.152.23.199 with SMTP id o7mr33917367laf.76.1442496653937; Thu, 17 Sep 2015 06:30:53 -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 w3csp3073236lbq; Thu, 17 Sep 2015 06:30:53 -0700 (PDT) X-Received: by 10.50.73.168 with SMTP id m8mr6141112igv.25.1442496652880; Thu, 17 Sep 2015 06:30:52 -0700 (PDT) Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id i124si2467844ioi.147.2015.09.17.06.30.52; Thu, 17 Sep 2015 06:30:52 -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 18C0962D67; Thu, 17 Sep 2015 13:30:52 +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 B408A62D58; Thu, 17 Sep 2015 13:26:02 +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 8FFD762D7C; Thu, 17 Sep 2015 13:25:58 +0000 (UTC) Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0145.outbound.protection.outlook.com [207.46.100.145]) by lists.linaro.org (Postfix) with ESMTPS id DD7B762D4F for ; Thu, 17 Sep 2015 13:24:38 +0000 (UTC) Received: from BY2PR03CA007.namprd03.prod.outlook.com (10.255.93.24) by BLUPR03MB486.namprd03.prod.outlook.com (10.141.79.17) with Microsoft SMTP Server (TLS) id 15.1.268.17; Thu, 17 Sep 2015 13:24:37 +0000 Received: from BY2FFO11FD033.protection.gbl (10.255.93.4) by BY2PR03CA007.outlook.office365.com (10.255.93.24) with Microsoft SMTP Server (TLS) id 15.1.274.16 via Frontend Transport; Thu, 17 Sep 2015 13:24:36 +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 BY2FFO11FD033.mail.protection.outlook.com (10.1.14.218) with Microsoft SMTP Server (TLS) id 15.1.274.4 via Frontend Transport; Thu, 17 Sep 2015 13:24:36 +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 t8HDOGbj005200; Thu, 17 Sep 2015 06:24:33 -0700 From: To: Date: Thu, 17 Sep 2015 21:10:03 +0800 Message-ID: <1442495411-12362-7-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; BY2FFO11FD033; 1:pEe2HAlaccSfx+h1IORmwffENGIbvsiYHNnxrzmbnLmz3KwH1o74jiCy5bxGHtl8GSMmzW4a6XNRRsdrmsdtnKpBmEBKIjNbyvetmhjHFqXSdpynay0GTr64Bkn79SXdsP9QcWXhHz2ZlpfOtoVWySH7omQs+SBNFlR9Y7Xfm9UO55hBMopElvZI34/+rdRPrTQATl1b3UqtLwkXrPFF+gmw59j2u9hSYiSD1g8hQI3r3i3KWHVDraUsOzN/FWo0e4ZXNK1tuOrr38dEW9nRUtXHoe1pOxYtmEWJ2HPnYrHc4CS3uSh1YchNverrMbe9RDBQGoSvbGA2OQ/FuHU7KdpiK9NYPd53zsvLBbIMZgJ9aJnbVZpuxd0AhdQSSnuOgSLsamX15hpdFRyD0sJapg== X-Forefront-Antispam-Report: CIP:192.88.158.2; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(11100500001)(19580395003)(19580405001)(6806004)(36756003)(86362001)(86152002)(5007970100001)(5001860100001)(97736004)(81156007)(4001540100001)(5001830100001)(92566002)(5003940100001)(5001960100002)(189998001)(110136002)(2950100001)(69596002)(62966003)(77156002)(105606002)(104016003)(106466001)(85426001)(33646002)(2351001)(229853001)(68736005)(77096005)(48376002)(47776003)(87936001)(50226001)(50466002)(64706001)(50986999)(76176999)(46102003)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR03MB486; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB486; 2:W2M0YVTpM4pcXv8nXHPqg26UrQltcg5r3CqeNxNgpKOKT0xHaOTaXcgzU5VxVHtESpKi3tA8Vm6FHBZ9YYAwOEXMPpbhBZo+Ov5sdv13MXvkj64BuV+AEoRIzXOURBUhXmdCJkcpbVa4Hu5g2RpLvkAlbKqVEGVt2TVZOa0w4PU=; 3:aGPM7+MQyxa4MEX17FjgJrXX4TYMAYf35sILDZ/cM0nmnSPEzqV8X0CROK93NBt0FEVErU4zOD9Z+wfcLeYvDJPz1Cu6ubWTSDGsWN7JeGpamwGgKVkRbz4W1zvxXBBoLqGHmO94OaM46JWSrUlGe/16r37YEOwcGcv+IT0k8+VyXIk973Bm1mTxbepn3VFHafVnMiWozMu1xyDKujmtq5i0BEbbihtIPPg8+wW0mTE=; 25:nPV0H0W8zFMo4I4jo/4eSHqRcf4CpxQGuFSXX3wpQ1jVuNxG9Ue/AWApxjL1iQeNHwlMlR8DbyG7gc4djI5vopiNBYJwIz7nDlccUnhzpMISiubPrc+qToTUtKrRtCW1qkBz5TSLn8wNxonaHG/KqYvgUNXddV/oP1TG5o1tgHfl1Kz7Zr6ScUyUdvn/7sqQydMXeMBP+UfOl/pcP9Yd+7yQGtH6r8+DFfLS7fdEHndSekGaPYPpWkn0Aqd8zDKb/3dWH7SrmvnCDIViTQ6Hdg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB486; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB486; 20:VS/+Wp3FP1nIP5k5Fop3Sa7RzgdDyPGaBDMADFtURN0aOv08zlcp+oAT/ITmM2M0lGlUeg/VIG5s8APGh0uW9sk1Pjepv7upzsx9UvbsyRTpdrbE0QSV2/l1OiepY3UcroXq82e+Ovmj/JcLpgCzoh+ubvIcGIMPYt6xCtdsNKxvA/SNdK7WYYIHFYHg0dZ9/9rAVS85W+y1a2En8O9VGZ/jCp6SyRvDGadGlVeeqA77iHWo2jvwUKg7KAgyHRaE5tW03rHkreAr7KcjVoH+38+oZJ4Xft+pEM/NZNtVtx4p2TOwWsVRamA5FtjFPWDp8isuRlJZK3E/MLGITuZbvmHELWdgDGyoeU0o0TFg6sc=; 4:bqD2KTd9xVZGF6Yw9WFycBdTMQAkh+bcl8qPnyO940SxabUZUDoD7eGOrn2nw1HVt958Dn8Y8Ql54s3iazY6UGHTjkKJjcIJXEhrEaH9hVuv7sMrZJ8tHJxcUpdevrc8uI1PtOkTMbi9lJUJ4lc3tl9cmYc5xsxuwVSuA9OcAOFdx3IZk9PeZ+fRciNr3CbUalRnHdEhPbeYr1gmQKHkhwmQlSsPNXbYzJEYU7X8W+iOTQD7Cujv1gwLJ8+/Q/2NuNTxOWHCsora1kgjwYLOm5xUjTweyTSj0eSRfZYzi4xteH6IuuweHHST6caQTO1DslWHXRhFmF3U4vxuI/wpPb/0Uf9jvhs86m2R4Sj9Of0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(5005006)(8121501046)(520075)(520078)(3002001); SRVR:BLUPR03MB486; BCL:0; PCL:0; RULEID:; SRVR:BLUPR03MB486; X-Forefront-PRVS: 07025866F6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB486; 23:6D9Md27oUdgjRB2q3L8cvZyxm+wOsc8MFL4y1KzwV4?= =?us-ascii?Q?j94W475QLsQ0DWXuc9mJwU5glesQmKp6T7TwDmxUlt5dMR8wl64MHzqQh/ul?= =?us-ascii?Q?ZFFO44tHAb4Ffe8KG4w+qgB4OKBII80eT5SeqQlud6XAG/J0sq7c0TVBxGok?= =?us-ascii?Q?LFlCmT6yvLZ46z2v1YXQ+KJZp/idSoYvl+CdXS0Gi8Wdg5jlrnxyPUzsmVO6?= =?us-ascii?Q?KHTmQYJoGvUeSUioUgIBFpR1NjWqoC2ggC1/hH3yJjE2ZIbx8oCP2CkZKv3h?= =?us-ascii?Q?5fZqWkKCiTO8FcW3l8CBcUT2PaxmXnNMl2St2rtevjLA7lKfjXbQrejeLthE?= =?us-ascii?Q?RBxxhRbTecN/KXWFwbw3/zlV1IdkbAVO7i8+x0Q7j3ciTSkd8vLCp7Sos4C9?= =?us-ascii?Q?zSkJ7K2hNh/8VUiGXV029CFh7cFZCcK3U6AsPSPlcs2v+m+um0C3R6btftaX?= =?us-ascii?Q?FXQfQpH7v7k7EZcCkNdIpLCRkPdh5mb+TmusF2x73WS1bKMcsW8PB6ro9JhW?= =?us-ascii?Q?wphYsTGA4aA49fEKd4Z2qCZSBTNO7mI1Hx+DtXJd+lOWSpSJR0huj0LQznsw?= =?us-ascii?Q?YACmagnYzn569VopR+gotbY0hT1AmsmeY/K4hmYIGbNO9L3eFe2LHipE2VST?= =?us-ascii?Q?7El7XI1m9Y98ziAL5/ee5I38dUA7PBUF+m3o3dMqwDwOFetKzJGbaAKvQZ0+?= =?us-ascii?Q?EVeX2yBDdLJWxBpNEcNrhyGBrhOLD+T+EgbtTBLqDW2wzQOGGJfx1gHIg0Vr?= =?us-ascii?Q?ASlx4AdLv6KZy8oxcBtP8miA117IJ1JX10MC+C3ilnRfGxdp5v8TtCzHXO7y?= =?us-ascii?Q?mH+t3BMN6DRpAZstAaKiKkGcRKV1q0JcgKV4HRBmZ3uqh4ZmekyqZtJZnUPy?= =?us-ascii?Q?NFCzIp/5Npu7rcLEul2n97a6kfEbD4UZ/4F8JuFHPMMHmTt5XKBBLxOSPVUL?= =?us-ascii?Q?CDrxYOqNLrtAKnFOFiMUHQ2aS5UE8/ZCu+vjdXLw45zlJ0vJPzuJ5gL0tXSM?= =?us-ascii?Q?vuUnnWlS1bAZSy8vC937oq7VSyG7ML/oqdGZYRVy2K1cZiXaC8oE+8mebu7y?= =?us-ascii?Q?pCWN/GJo/wo726shae7IqmiD9RysGv2ap3rkpvxvy7uHo5U5wdxPmLc6kDQy?= =?us-ascii?Q?t/DLkzLd6v6wmlL+RlRJFCajDH0LGNjOo0DsFddlyFQcZtSBLFpFKjXoesjI?= =?us-ascii?Q?3cHimoAzRBaq5BuLyUNy498e2MJfoso2YMhxXsnZNJxDiZTC68TW7Q0+9YGC?= =?us-ascii?Q?GUDvWc3I22O5PxZUDT1FRwIStfw5JTrtJiaGDx?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB486; 5:JnK/yC4nY8/iirBZk8GwNsHQd+8h0BdFCaFK9/vemKqgDrCmzkJBXyzfc2mWDH/R9rliM45xbSXaYm5rVA7trpHiambTolXcq5DWfqbaFOTBILchtzztl4RXK5MmxU61ANSVz67jgW21n89VdtJN1w==; 24:7e6vTCOLSkCNdpwv36YrVumxLJgZPPD3QmIOJZi6zKoaJ1je64MnWdBFgSLZ6WiEKDi3bAhi3WhHdRUV3om4eaQI+RyRquPi+DqUx/9VW7I=; 20:HN1typYVNReFXU3lLJqWOKjCgtaf21QOrUqERTXq5HZCKofAfuPgaRbaZsCygn4oJAS+2etI/7ayDs3Z+o0hQQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Sep 2015 13:24:36.0114 (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: BLUPR03MB486 X-Topics: patch Cc: petri.savolainen@nokia.com, stuart.haslam@arm.com Subject: [lng-odp] [API NEXT PATCH v6 06/14] api: cpu: add new API to get CPU max frequency 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.217.171 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 This patch adds a new API odp_cpu_hz_max() to get the max frequency of the CPU on which the progeress is running. The previous odp_cpu_hz() should return the current frequency and will be adapted later. Signed-off-by: Hongbo Zhang --- include/odp/api/cpu.h | 9 +++++++++ platform/linux-generic/odp_system_info.c | 25 +++++++++++-------------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/include/odp/api/cpu.h b/include/odp/api/cpu.h index 55f5d23..93d3e7f 100644 --- a/include/odp/api/cpu.h +++ b/include/odp/api/cpu.h @@ -73,6 +73,15 @@ const char *odp_cpu_model_str_id(int id); uint64_t odp_cpu_hz(void); /** + * Maximum CPU frequency in Hz + * + * Returns maximum frequency of this CPU + * + * @return CPU frequency in Hz + */ +uint64_t odp_cpu_hz_max(void); + +/** * @} */ diff --git a/platform/linux-generic/odp_system_info.c b/platform/linux-generic/odp_system_info.c index ea1f337..43bfcc0 100644 --- a/platform/linux-generic/odp_system_info.c +++ b/platform/linux-generic/odp_system_info.c @@ -121,35 +121,27 @@ static int cpuinfo_x86(FILE *file, odp_system_info_t *sysinfo) { char str[1024]; char *pos; - double mhz = 0.0; + double ghz = 0.0; int model = 0; - int count = 2; + int count = 1; while (fgets(str, sizeof(str), file) != NULL && count > 0) { - if (!mhz) { - pos = strstr(str, "cpu MHz"); - if (pos) { - sscanf(pos, "cpu MHz : %lf", &mhz); - count--; - } - } - if (!model) { pos = strstr(str, "model name"); if (pos) { - int len; pos = strchr(str, ':'); strncpy(sysinfo->model_str[0], pos + 2, sizeof(sysinfo->model_str[0])); - len = strlen(sysinfo->model_str[0]); - sysinfo->model_str[0][len - 1] = 0; + pos = strchr(sysinfo->model_str[0], '@'); + *(pos - 1) = '\0'; + sscanf(pos, "@ %lfGHz", &ghz); model = 1; count--; } } } - sysinfo->cpu_hz[0] = (uint64_t)(mhz * 1000000.0); + sysinfo->cpu_hz[0] = (uint64_t)(ghz * 1000000000.0); return 0; } @@ -379,6 +371,11 @@ uint64_t odp_cpu_hz(void) return odp_global_data.system_info.cpu_hz[0]; } +uint64_t odp_cpu_hz_max(void) +{ + return odp_global_data.system_info.cpu_hz[0]; +} + uint64_t odp_sys_huge_page_size(void) { return odp_global_data.system_info.huge_page_size;