From patchwork Tue Aug 11 07:33:51 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: 52285 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-wi0-f197.google.com (mail-wi0-f197.google.com [209.85.212.197]) by patches.linaro.org (Postfix) with ESMTPS id DAC3D22919 for ; Tue, 11 Aug 2015 07:53:43 +0000 (UTC) Received: by wicul11 with SMTP id ul11sf46800006wic.1 for ; Tue, 11 Aug 2015 00:53:43 -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=XYrkyLJGY8UoIupXQOkvBVkPZnoc1DenJ2opuRpENJ4=; b=mMY3jOwTL7kjHJjmbmF058JBC+3Rnschor4kiHJbudmci9aPwwuuprjAzKZfiyemEe iAStOdhmSmjobroI81+40YGEXTejE2iQ27Ycd47Rzb4CxulQuR4UN4i1q5bBis6s+q3G KHVgYSOJ1fu+mQxu3xJpqj6raqGBmPlZ2rSSjrhTvI+tDfmtOqsepaWVoXjS3CD703F1 X89fnwGNmxMdcNBpCLW/sE/NZTDXRwVOWxvnZq4FNP8Ou6GRe5G3ZgfmGmImQYQUho8/ szA8nI0dAtIFBlyfI0sqOAPIYoLfzcGaVPE183Zjc4g1Ighu0Qq9KslzewS00rnKvSZP bPZA== X-Gm-Message-State: ALoCoQkExABZNxkmYSaN0PIxuPjk4ClQB1ryjaLrCIoc1E/5IEtkP2DtKIIKervdy9sTMhgmRH8Z X-Received: by 10.152.6.103 with SMTP id z7mr7570965laz.8.1439279622718; Tue, 11 Aug 2015 00:53:42 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.36.1 with SMTP id m1ls479026laj.32.gmail; Tue, 11 Aug 2015 00:53:42 -0700 (PDT) X-Received: by 10.152.27.41 with SMTP id q9mr5967415lag.104.1439279622586; Tue, 11 Aug 2015 00:53:42 -0700 (PDT) Received: from mail-la0-f46.google.com (mail-la0-f46.google.com. [209.85.215.46]) by mx.google.com with ESMTPS id ue8si756760lac.10.2015.08.11.00.53.42 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Aug 2015 00:53:42 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.46 as permitted sender) client-ip=209.85.215.46; Received: by lahi9 with SMTP id i9so36015023lah.2 for ; Tue, 11 Aug 2015 00:53:42 -0700 (PDT) X-Received: by 10.152.22.133 with SMTP id d5mr18462994laf.112.1439279622476; Tue, 11 Aug 2015 00:53:42 -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.7.198 with SMTP id l6csp2353567lba; Tue, 11 Aug 2015 00:53:41 -0700 (PDT) X-Received: by 10.140.202.16 with SMTP id x16mr49420992qha.70.1439279620798; Tue, 11 Aug 2015 00:53:40 -0700 (PDT) Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id 138si1925016qhe.57.2015.08.11.00.53.40; Tue, 11 Aug 2015 00:53:40 -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 15CBC62066; Tue, 11 Aug 2015 07:53:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252.ec2.internal 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 ip-10-142-244-252.ec2.internal (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 4A41D62057; Tue, 11 Aug 2015 07:53:24 +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 908F562064; Tue, 11 Aug 2015 07:53:19 +0000 (UTC) Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0113.outbound.protection.outlook.com [207.46.100.113]) by lists.linaro.org (Postfix) with ESMTPS id 300A562054 for ; Tue, 11 Aug 2015 07:52:54 +0000 (UTC) Received: from BLUPR0301CA0038.namprd03.prod.outlook.com (10.162.113.176) by BN3PR0301MB1266.namprd03.prod.outlook.com (10.161.209.146) with Microsoft SMTP Server (TLS) id 15.1.225.19; Tue, 11 Aug 2015 07:52:52 +0000 Received: from BY2FFO11OLC006.protection.gbl (2a01:111:f400:7c0c::107) by BLUPR0301CA0038.outlook.office365.com (2a01:111:e400:5259::48) with Microsoft SMTP Server (TLS) id 15.1.225.19 via Frontend Transport; Tue, 11 Aug 2015 07:52: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 BY2FFO11OLC006.mail.protection.outlook.com (10.1.14.199) with Microsoft SMTP Server (TLS) id 15.1.243.9 via Frontend Transport; Tue, 11 Aug 2015 07:52:51 +0000 Received: from hongbo.ap.freescale.net (hongbo.ap.freescale.net [10.193.20.23]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id t7B7qjK2024123; Tue, 11 Aug 2015 00:52:49 -0700 From: To: Date: Tue, 11 Aug 2015 15:33:51 +0800 Message-ID: <1439278439-11386-2-git-send-email-hongbo.zhang@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1439278439-11386-1-git-send-email-hongbo.zhang@freescale.com> References: <1439278439-11386-1-git-send-email-hongbo.zhang@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11OLC006; 1:dCmNp6008hG8cu0MlyNatPmU3bEjVer1L++5llTjPwdDW5pUAUMuCqKQmrbDwwRReneK5PA3ehTLHDYh2hr8Gz6o0no09uyd9X5fkMSoPgM1UpHlFuT/tYew/SY+TNoPoKuziS5pH9M2ABTbJI34+YOG49SSNW9H7+UCmLFhRNZqpc18x01ftWJtTpLBDMso3l3Pi3nu3xqThIMMl0Ps40AW5RDclRK7xt/JePuh2LGIjOb5oOwKkbCrulDagCJPhyH+nAwqVw+tShuP3tLyg3qBLipJ3J2OXvbYljQ8ztKGBeCHgt0+/ZbmSwhH+fcwU4IgBunFJEzxEyfZIFtUgfDFXzrQYECs+Mp87bUySa5fyyYnik9L1EDNpgAF8fvxCxW2R53Zk8BYijKNrHdcJw== X-Forefront-Antispam-Report: CIP:192.88.158.2; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(339900001)(3050300001)(189002)(199003)(2351001)(19580405001)(2950100001)(106466001)(77096005)(50466002)(50986999)(5001960100002)(229853001)(36756003)(105606002)(86152002)(68736005)(48376002)(6806004)(97736004)(85426001)(110136002)(19580395003)(33646002)(81156007)(5001860100001)(76176999)(46102003)(86362001)(4001540100001)(5003940100001)(189998001)(104016003)(64706001)(87936001)(77156002)(5001920100001)(92566002)(47776003)(69596002)(50226001)(5001830100001)(62966003)(41533002)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0301MB1266; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB1266; 2:NH3gPftt874cRjLRvSUGw88riLcclBRGpBNX0Gqe2GWHh3eDAqnvghtB6pWI9XwPYe/bEeUdreSI0n9PASQ0jjLpnnfTOliL+hyyDIwwuqCJu2/s138RX9WjKrfHPUh+O9/Lsddc++ST2/jPeFZSH1wyHvRC+2P7tljQYntAf9Y=; 3:2nuuXt1PvpC3JmJs/e2Er0z9Ke5F5X3jwecCxz57NQVAM4RS1KJPcN5o02YuGQpfeQ3Cg5rmoiFhMyUv0UvKQo76RqOb4W6+t+MZm1gMmAcJ/VWmE9OeoaEhv7Wl1mS/w9V0bSDveoFfYd2KUlXZOzx57mzlY+xXBll8VSn3f56+GlSbUTj0mBmJvdQ/B5VVU7RwAavsWB8fAkjh/FmgFV4jM3N5wdgECWIfypFKiWw=; 25:FW+5RZvLJigGWsbKkOQaMX7YfspdxAwGxwwQUoFQVsw8ab1MJm0d2qBD4rMdGdHIQvGu1KQdTQg8/kAUr20nhE0ccJclxY6FlPfZp+0ZRvtHkj+iGtKRhLglyvyLVGyIoFNj9+hiwh193jZrwVHnd10fC3ICIXoGn+eDAh5l40fZU7RFGtkh848SbUivTx3cW55cTZRPt2uN1U4IeVKR1PzybRWYP70HdQ8AeQBbO/+evDyr5nfcpersKCy7y+dcJqzXnlJa1m45gruYeUQT1g== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0301MB1266; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB1266; 20:c21O0/u0NT5NgJWvUU+Rbe0FCf6g2uKgYKNRLuuB5uLIeBh5FGqTAf/4PNjW8s729jVaxdTUAG49maAI4pKlzjMtIbWjsuzNL153Xs3AqJOQTJXcH3PimnccNb7iBDd5BLqarHgN7YnkqXVATsDoLHm4YsxJ67E5I09v73gh31ltww0v4wwC86G1bU1MKb14FC6WSu5v+M+TmDZTptpNvy5T88welgVf9Mzb5XjnoYpf1eUXslLWQjlA+RsOELkxfb7813Ks/94SjeGxO8tsXmwz52ENHpyb2/tUWQeXf7NspQWIEs14XbOSQZ+yAGUBt5yYCwo0/sjVCZgbt8Qm3T8ZlclPSFlMqzbfBb3a76I=; 4:LFTV8W72DBoXjhwiUkxiz+tg6EhUyAjuLmTWCZBz0DoAfa4Qid6bhJ1GUJwxt/YO36TDp7xoOal1urvw/zkMODI6UBghFDAzXXSiHzLDPJ+WlwjXkFRKL5bWdiFQdNVPZM/UByoQRFb+5HGf4/Qtr62x93yPsOXLUPY0HOPAfpNRREMfDRhJtzsFFyRuCjeiELGc0424o3j+PJ1ZxP+eg30/KyjS9B7zqeIuKUI333xHejK6rbjW8Sel3o0hTMozHCiqSeJEBIfGjTLGW3EWtDnAdCao4HeOowcZQnG/bFM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(5005006)(3002001); SRVR:BN3PR0301MB1266; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0301MB1266; X-Forefront-PRVS: 066517B35B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0301MB1266; 23:5FFO0lNHnsrcd4FgFodY7z3CSytZKckNrUtB50f?= =?us-ascii?Q?mwvG1BEB+XDCn9fBvBaUyaoS7qjcs+n6503CFuaSA62f14QuMVhtC+VG8ER4?= =?us-ascii?Q?d4eJIXeY2XrImbvXoZxal16hH+hs9gQOCcxrAiV2MJUhyM2W6WwLDjfVWwx+?= =?us-ascii?Q?kQAHUoJi+FLv5lYn8xIuK7RUDi64UFJGYa8BOLrZWtLjLotN08QGwS8rg0B8?= =?us-ascii?Q?kgBNoW1+vvki4Gm7nK6m2oiyDulyb6XJqHuVxZv5WEnwTVW0UyVO4ETNCGPc?= =?us-ascii?Q?M7zhu86z9fo49ysxJOgrZ7ZR5mamfEczsjiAKAJ7wf0tiP3aW3eGSpmMrmoJ?= =?us-ascii?Q?uwlSYCvSfiqj9I3eDfLLfEx4Fs1ErX7GcVDTuu75lzldjERXx3fURPaqyuZz?= =?us-ascii?Q?wxaKQuupPFwbvZ7WE4lutkM3Df0v+cTjbNaZxVfoqvfQZMWPW37Mst9ssy3n?= =?us-ascii?Q?0ZFXQJWIzOBMc2BqWxR94E+/INL6DeIPHLvMmVTKRo7fy0JON246qnByqafL?= =?us-ascii?Q?B6kDeDK/MOcabC4cqF93ggKHTwRaMOs/H5odooPQ0xwCOVqD86RG9OJLbyX7?= =?us-ascii?Q?vLkfG9IrtUz+62bdOqjBVeY6BQyhbMxBAxRcosxrVFCP93kSA3jpNgxL8gAU?= =?us-ascii?Q?ecXyyBXCPUa4pR9A2jnjzFjZ00dne1B6FLF3BXEuClttwKBxnnJY8SisR4Yg?= =?us-ascii?Q?NoOdA8YYIV8d0nupvq68FVieyfT4GPWPZccL08aSffrrohbRGwdl2GsEYTrK?= =?us-ascii?Q?JREpQm1z6ge8wOuisLN6G39jkt7QxGmrgFcfF8mjYggQpfXr+j/EsRnuGwlO?= =?us-ascii?Q?Ckc0OG1WYyQZToHLC/sGoNyBOKMiH3PJdFUV9FSsfldmFZMPXUtUB1DfYhQN?= =?us-ascii?Q?t63mOsnLHNBcbFBZ0gzMMB83szfqGZpDAId3DF70hqt4j6xVe61uV2GlqMGO?= =?us-ascii?Q?ldMe+bWg2NWqhWuAgneVS1sNfL5b0Mn872ZcANKdh3HbleVCi08dOV+Ssjbd?= =?us-ascii?Q?POIloZhxqhpSvL/jPIgdcxjw3iouXiVEjEcHr9as0N6dHcCQYJLABBeuYISX?= =?us-ascii?Q?lkrH5VxOxyN81pSa12AmH1JfIxSoZNgLLzNpL4Bu3yuLiJh1FKo0c8hSHpcD?= =?us-ascii?Q?C1FbYjG3hSp50HH1B3AHHd5lqgU7EOdCLCS/zBjJXKyydiKlJyuxenZ9C9N1?= =?us-ascii?Q?eKPqRwEYZv+sI8UZhFcPWnmi56dbrscAXfVNjiuzAJ86HMD2u1pHytzt4NQ?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB1266; 5:UjJ7QnkwQ5ivAk14aa6gh/B7PlkGvWvwCwNDHfKwtT/CE2Why2E1ADGuE5l6qtw+ulwhgs4Cz76PuDowqb8QBuP0dKFryHsqA3WgGIGDHz/KlIielZZABZLDt3U8KkGAPRwiFizWp/CmgZQm5g3h4w==; 24:1QRrNSOopAo1nLIJKq1er0+X70XMNWICuS5KbzmXh4f4bHQhQNr4OcgC9xnbZGo+n6bSmZOHmKwekNzeN8Dz8fDItTV48T4jTZeoJc/BnyQ=; 20:0ulJYE8/nRDQdFBvlKP18hsAhBs6daBONcenelGXkw/xAyfD+TsH1Ft6LFaaP/PrPF8iqyBHBZ98zLDUpql14w== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2015 07:52:51.5342 (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: BN3PR0301MB1266 X-Topics: patch Cc: stuart.haslam@arm.com, petri.savolainen@nokia.com Subject: [lng-odp] [API-NEXT PATCH v4 01/10] linux-generic: sysinfo: make the model_str per-CPU data 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.46 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 For AMP system such as ARM big.LITTLE, cores are heterogeneous, and the model_str for each core may be different too, so this patch changes the model_str to data array model_str[] to contain data for each different core, while for the common SMP system, we can simply use the model_str[0] to contain data for all cores because they are all same, but if like, we can fill each item in the data array too. The new API to get each model_str for AMP system will be added later. Signed-off-by: Hongbo Zhang --- platform/linux-generic/include/odp_internal.h | 4 +++- platform/linux-generic/odp_system_info.c | 28 +++++++++++++-------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/platform/linux-generic/include/odp_internal.h b/platform/linux-generic/include/odp_internal.h index 6f0050f..eac642c 100644 --- a/platform/linux-generic/include/odp_internal.h +++ b/platform/linux-generic/include/odp_internal.h @@ -23,13 +23,15 @@ extern "C" { extern __thread int __odp_errno; +#define MAX_CPU_NUMBER 128 + typedef struct { uint64_t cpu_hz; uint64_t huge_page_size; uint64_t page_size; int cache_line_size; int cpu_count; - char model_str[128]; + char model_str[MAX_CPU_NUMBER][128]; } odp_system_info_t; struct odp_global_data_s { diff --git a/platform/linux-generic/odp_system_info.c b/platform/linux-generic/odp_system_info.c index 31df29e..cf6d5a7 100644 --- a/platform/linux-generic/odp_system_info.c +++ b/platform/linux-generic/odp_system_info.c @@ -139,10 +139,10 @@ static int cpuinfo_x86(FILE *file, odp_system_info_t *sysinfo) if (pos) { int len; pos = strchr(str, ':'); - strncpy(sysinfo->model_str, pos+2, - sizeof(sysinfo->model_str)); - len = strlen(sysinfo->model_str); - sysinfo->model_str[len - 1] = 0; + 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; model = 1; count--; } @@ -188,10 +188,10 @@ static int cpuinfo_octeon(FILE *file, odp_system_info_t *sysinfo) if (pos) { int len; pos = strchr(str, ':'); - strncpy(sysinfo->model_str, pos+2, - sizeof(sysinfo->model_str)); - len = strlen(sysinfo->model_str); - sysinfo->model_str[len - 1] = 0; + 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; model = 1; count--; } @@ -228,10 +228,10 @@ static int cpuinfo_powerpc(FILE *file, odp_system_info_t *sysinfo) if (pos) { int len; pos = strchr(str, ':'); - strncpy(sysinfo->model_str, pos+2, - sizeof(sysinfo->model_str)); - len = strlen(sysinfo->model_str); - sysinfo->model_str[len - 1] = 0; + 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; model = 1; count--; } @@ -333,7 +333,7 @@ static int systemcpu(odp_system_info_t *sysinfo) sysinfo->cpu_hz = 1400000000; sysinfo->cache_line_size = 64; - strncpy(sysinfo->model_str, "UNKNOWN", sizeof(sysinfo->model_str)); + strncpy(sysinfo->model_str[0], "UNKNOWN", sizeof(sysinfo->model_str)); return 0; } @@ -391,7 +391,7 @@ uint64_t odp_sys_page_size(void) const char *odp_sys_cpu_model_str(void) { - return odp_global_data.system_info.model_str; + return odp_global_data.system_info.model_str[0]; } int odp_sys_cache_line_size(void)