From patchwork Tue Sep 15 13:55:35 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: 53662 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-wi0-f200.google.com (mail-wi0-f200.google.com [209.85.212.200]) by patches.linaro.org (Postfix) with ESMTPS id E6BC122DEA for ; Tue, 15 Sep 2015 14:03:49 +0000 (UTC) Received: by wicgb1 with SMTP id gb1sf8591403wic.3 for ; Tue, 15 Sep 2015 07:03:49 -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=tdseatFz4CE036TAt3pLc4fuhRkOX0aT2isiNYogpW4=; b=me4m9A8odOJ7EsTj4cuUprisGkFxI/NjthtZDDPDx3M6lezukQPe1F6BazABLakzCq xnbpJGksHoBaSnqlstDy5fZy1sSvakpugqkDYicU/maJdvh5QJ1Oa9i6I2Kvkqctt6Eh 3f69KWqyv6LZEYu7YwkQgGF9+7yha1U00ICUk7NI5lhQOzf2CFbyOgGqWzjtfdhupg9B MbypkSprJe6F8a5MsS5s840ffKlQkwa3/ImJRRHN/ZhqShE6gsit0AA5d9iut1lFY2x/ tm2kI02aHv/cncU7HTI+TX8Ugc549Xd9EFZpdRNWBocIYJxRUjaT91LGajdRu/5clWIM /+7g== X-Gm-Message-State: ALoCoQmx6LgrdAOJHuN53LNSmmpQXnt2g++nMa9KvZjjLCJUQTK1iCrW9D0iGgRhZhac5ARM6NRB X-Received: by 10.112.158.202 with SMTP id ww10mr4390259lbb.13.1442325829191; Tue, 15 Sep 2015 07:03:49 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.27.100 with SMTP id s4ls787930lag.83.gmail; Tue, 15 Sep 2015 07:03:48 -0700 (PDT) X-Received: by 10.152.198.137 with SMTP id jc9mr13104345lac.58.1442325828816; Tue, 15 Sep 2015 07:03:48 -0700 (PDT) Received: from mail-lb0-f181.google.com (mail-lb0-f181.google.com. [209.85.217.181]) by mx.google.com with ESMTPS id h7si4426143lam.9.2015.09.15.07.03.48 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 Sep 2015 07:03:48 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.181 as permitted sender) client-ip=209.85.217.181; Received: by lbcao8 with SMTP id ao8so85601664lbc.3 for ; Tue, 15 Sep 2015 07:03:48 -0700 (PDT) X-Received: by 10.112.17.34 with SMTP id l2mr10640478lbd.117.1442325827663; Tue, 15 Sep 2015 07:03:47 -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 w3csp1824598lbq; Tue, 15 Sep 2015 07:03:46 -0700 (PDT) X-Received: by 10.107.34.7 with SMTP id i7mr33230324ioi.76.1442325825405; Tue, 15 Sep 2015 07:03:45 -0700 (PDT) Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id c3si12285938igf.6.2015.09.15.07.03.43; Tue, 15 Sep 2015 07:03:45 -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 ED0E661B3C; Tue, 15 Sep 2015 14:03:42 +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 E144A61A29; Tue, 15 Sep 2015 13:57:39 +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 1A8EB61200; Tue, 15 Sep 2015 13:57:34 +0000 (UTC) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0140.outbound.protection.outlook.com [65.55.169.140]) by lists.linaro.org (Postfix) with ESMTPS id 684F362BC9 for ; Tue, 15 Sep 2015 13:56:15 +0000 (UTC) Received: from BLUPR0301CA0039.namprd03.prod.outlook.com (10.162.113.177) by BL2PR03MB481.namprd03.prod.outlook.com (10.141.92.140) with Microsoft SMTP Server (TLS) id 15.1.262.15; Tue, 15 Sep 2015 13:56:14 +0000 Received: from BL2FFO11FD047.protection.gbl (2a01:111:f400:7c09::114) by BLUPR0301CA0039.outlook.office365.com (2a01:111:e400:5259::49) with Microsoft SMTP Server (TLS) id 15.1.268.17 via Frontend Transport; Tue, 15 Sep 2015 13:56:13 +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 BL2FFO11FD047.mail.protection.outlook.com (10.173.161.209) with Microsoft SMTP Server (TLS) id 15.1.262.18 via Frontend Transport; Tue, 15 Sep 2015 13:56:13 +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 t8FDtiXZ031670; Tue, 15 Sep 2015 06:56:11 -0700 From: To: Date: Tue, 15 Sep 2015 21:55:35 +0800 Message-ID: <1442325342-13806-11-git-send-email-hongbo.zhang@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1442325342-13806-1-git-send-email-hongbo.zhang@freescale.com> References: <1442325342-13806-1-git-send-email-hongbo.zhang@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD047; 1:ZoAQmtEy3lHPss52TE0eUZf9tUpsmoWsKM76ihtexMvk48NnRD8ckWbg03yxKCW7u2hq86XGiMHL7ZyIDH8PVPOUWHzaYU752DZiAshYKw+G3/j+G2DFJXzgdGa7jqoDpzcWb+PEJJNjWrmkSrkx3I0FfEqph3bKdxipAZEomjlNHl6DyPm8CslZwaDZAHi0Mfxv0pfgxzFKqEihKkDgzrVFUWdWHkNMCoGYRE2CeyEfKZ6uugLYdC+mgbZ9DrnIDdfuEu+4+Rw6WiCiR5FWWP5cEARiSj3g+K0+HWZIDte6EjgRux3bhLG1m6s53yfcgo6gMs83xX2dw2RsjFaHf127m72yHyZmMEq8DYz1cSQmOrAUOh4XLm5nhCKq7Y9uyBEGrZQ81ylQtFrPvhQX8g== 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)(69596002)(575784001)(5007970100001)(5003940100001)(86362001)(36756003)(106466001)(2950100001)(76176999)(97736004)(50986999)(4001540100001)(50466002)(64706001)(47776003)(87936001)(86152002)(48376002)(46102003)(11100500001)(92566002)(189998001)(81156007)(19580405001)(104016003)(77156002)(6806004)(110136002)(68736005)(33646002)(5001830100001)(5001960100002)(77096005)(50226001)(5001860100001)(105606002)(2351001)(62966003)(229853001)(85426001)(19580395003)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:BL2PR03MB481; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BL2PR03MB481; 2:JI2585lfl7xfuOQMtFVUPsbEXXdEYBzaZ3n1QThvjJp7/8EV/0GqTbxOpx4S6adyWUgleAm1xIW5aYC5JEd1+mQw4eWXJ0ovHen2DWx7bSEDgCoX8DbcRM52fE7mLtzUei/Hlyl/MUfPE53RxAhlmJjwiVfwBAEAInxXRMGwALQ=; 3:M4B7e4oHh0Mh4+otuFLkW3oigHxSxJCgNKGrmN7hOKqOKIxZE+on7ReuR6yYMijgmtHQF6aLr5GaMkmRfh+nSMaBYz2VCZmVCinKzieLNqJOzMfSZxyjFW7l6lU3KU/Q+uGrqFUNqucr0Nh7ayst9S5QLXDQwUXaVeuIsddQgu2QP2M9Qm2cLFFwuhVsJJQlBYLOJAz4WHQFPDqpMCg4gM7guiARsj99pHM+oAA2lV4=; 25:Lvp6f6J4SuR6T1/4E2UufhBMJUcKVCEfimFP9OoNSDyC4vxlOIAe9WY5cNBoO/1ilzS7mzsLt2WW4wnITpD1qvOA/Y0CeKswTQLj5oMQVklHPy7i8z2gtoQXYP4pkaKOppyEbD32TnZefaQbUdmxIvd4fjeWsqfEdD2hIMu2Lyr3safeGf4mwYIGsJatIg8/E3yABZ2Fi/w3wKJJotNmNSgbxjrUYJESUeB/i0x0iXApucYbkdhw9/XLOwrt8phO X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB481; X-Microsoft-Exchange-Diagnostics: 1; BL2PR03MB481; 20:XRvgf75nxqwFwE19sJtKmGSGaVmRmir280vzZ4acCxvghN8EvApGTehTP0YjT9x6/Ly4Pcc0P91PRjL5J+QiHkwLgfZiSqdCChMSgB5pw+ojSHvM61OqwpqczhdNBZK7hhu2uoECvEn1f4mA7dceKVOsur5/cVIGMWKtSuBgZjmaFl5VkjFYPCBF7B3zA5T/+O3RzZ3carviANb6KC54hhn1hxoCuQqEa+VLMHGxSZsW5KeK+HvTSj/E39k+TqiEU4D8ZRs81LyHGt9hgb/fRSum967imQ6kqC/oOBY8+QTcsPja+L5Xhkh0OtnZcmM0bHNemHaqzP8rouVlKXWNZJFJFMPfDgtqshNQjBym6QU=; 4:RkewFyERACPWSYFHO32e5jBwpvdoENIPR0+6kU4vAldInlZtZZLBwnt2dY0EDvsKknAYuBhnboYGkArrn8vWHPknRrKnkDoOamCmMs1o6VuOO/yhW0bMQXsIuoUgvbMsoSc3Q+0dLFhN+MELsKK2U364d9LbEIqmAehZfq7LyvaGzlzIJGasuGts93M/tCoiEK2U+dV0dXWuGURwRNfdBdIxUDvyxBHv0JhtwHKCgAEy/KBWM9JOKum09kqPa9GZORWUqDAkyBvImQWtPu24Tkt4wyTVfhqbJbWgz7XS7Kf0pcJN7UxdXYjRCJ+CyZJwN9yTdIgQC20khtC5reyDxuTV/BwpPjmbxnV8e06UexQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(5005006)(520075)(8121501046)(520078)(3002001); SRVR:BL2PR03MB481; BCL:0; PCL:0; RULEID:; SRVR:BL2PR03MB481; X-Forefront-PRVS: 070092A9D3 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL2PR03MB481; 23:M69RqKMxKqvovkFm5O4lAqoJAa4a+C9Yr9NIR09qVd?= =?us-ascii?Q?QaxwB1/rhHFWaHPNLCz8R3WN2RLfEWNXE7YThLPth6GIkpBWb6LssZbSKhc1?= =?us-ascii?Q?PnVlDa2HavxGvezEz3g1p/nJoPdJ3GFj0Pmgd0Uxw9mv2MBk9D9TteUWOPvq?= =?us-ascii?Q?SqdqDtvqP4e/ide1YmOCc1xzuL9qYkFYqmyC3Jz9kYSHJhBbgubxAYe0jd7P?= =?us-ascii?Q?ZmAKd4NHth8yfUeggYWixLD9XYv921TJ5bRJYiz8p2unJZq1Ge2QSMae5U3Z?= =?us-ascii?Q?Mbrm7Fspbj4y6e9LFxcEFmeyC1tpmY8ToNSgP0k0prvDEA951rFgRtHe1u3U?= =?us-ascii?Q?ndQLCHrrpblbM9LuhgQGfpROUllVEZTLAiArKHeeImttLYRM0vu//7dOTvqq?= =?us-ascii?Q?i4TYRXDCLygVKlTFvVt+GpPndIviZStuKVJ75t+kDgqQRdKZ+XZ5UQ00gE62?= =?us-ascii?Q?GijwH7ZRxVx2vHpjBmrUvjF28TOy4dsqzJmtUzKqbxSZ3BJjMTcFLv9uyEFO?= =?us-ascii?Q?zsuX94ypAs7c+OPMYsDEqKrdrn50ivjSf9GnKVi6AnkmdUgOP+MYjt5sZ9cR?= =?us-ascii?Q?82xbSAnENnpPE/I7b4dP0+qNYuYCOD1Qs26rixYXxuLSREqxtlzfwocRZyvx?= =?us-ascii?Q?+KCi7yx1qFR5KQrdlnw3Z8uBmrHZSSQO5TtctKJz3xnneiOZgC4nwVB1oTje?= =?us-ascii?Q?t8Mj4GZxWq1BbzdnvmAuKb+OxJP1EN6sD5fp8sivzgBQuketZV0qNRslnQ8o?= =?us-ascii?Q?wfof1lfDRhlbWtLOflNN42ihzlL4MeUFQoUIJ9p3YUUfGXoYigRiSydDJ5dz?= =?us-ascii?Q?DXfjJfYDDEP25Daez0nbtZjM8ofimTq5VfhySSvQikLnV21KeeItBVhSU0UP?= =?us-ascii?Q?0AH8GB7Em4XJM27OcTpXc7mnHE+gloN40tYdu1TFhvlyRfT4ecgZv0Hw1eZg?= =?us-ascii?Q?GeEZaAd6mLqYwGDCftqjolT5bC7GSvwL9EWm6oHk5+dlFjBPsTw96q3oXskr?= =?us-ascii?Q?EBQ5+RdUUFqcISxR7iKJWZAg6a7wJ9A1Me/BpIFAuwoyiPSrxBw34xK3DZ7m?= =?us-ascii?Q?wK7lBqWCrk0BI9cKApZb8qNZvVQ4NH9uglrtYtQuFdJvpwLUbyzPtc+K+rhC?= =?us-ascii?Q?vJluBZnX1XcGMB7XLwgt/wbefLzbFu6bkRBg2cg3aPMyDgZp3dxYqrkB3RCi?= =?us-ascii?Q?ZF/mWIj9f5xvycwHmC4IrsWGGtBvpft98PpPXqtZrlt5MvV79fCrvFVXASTt?= =?us-ascii?Q?+r0IDYD5qSZ5je6xVQbKSLhEl9bkJ/NQ7viD2wNIdKh9+zhhMqEWmZSmyctg?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BL2PR03MB481; 5:6JCEyLEeyYYQYaV7iUcYnHBgDoMSAHp4mdzlIwLGFvVlFdMHNl3Dgne3FJWV3AuNzFg+0Ts3Bneua7/W1b3xgenVihnUtJJKiK1UTbrW6V0Lchw19TCWfpX+ctdG8A6ZeA3UBuyZNQZIrvDXgnApiQ==; 24:SunaH5dgpsbXzz7Os3fLma8M9RP7HtKe1NcBDqHI5q+VtGUuNPJO3Yjwj48CtQzAIPH/By7DsJnromIcucFR4xz6ZJpJL/grmjySq5bSQ84=; 20:pKci6aHqm0Gfd868f/sLXZeHfOOWFgN6g/cp/8tBH9vGbyQw2nUPxsU16b6UkMgeHX6ZcJHaH98h/QOUwAEm9Q== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2015 13:56:13.8457 (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: BL2PR03MB481 X-Topics: patch Cc: petri.savolainen@nokia.com, stuart.haslam@arm.com Subject: [lng-odp] [API NEXT PATCH v5 10/17] api: cpumask: add API odp_cpumask_all_available() 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.181 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 In some cases, odp_cpu_count() isn't enough to show all the available CPUs, so a new API odp_cpumask_all_available() is introduced, which returns all the worker and control CPUs. Signed-off-by: Hongbo Zhang --- include/odp/api/cpumask.h | 10 ++++++++++ platform/linux-generic/odp_cpumask_task.c | 11 +++++++++++ 2 files changed, 21 insertions(+) diff --git a/include/odp/api/cpumask.h b/include/odp/api/cpumask.h index 2ad7fea..5b458b5 100644 --- a/include/odp/api/cpumask.h +++ b/include/odp/api/cpumask.h @@ -218,6 +218,16 @@ int odp_cpumask_def_worker(odp_cpumask_t *mask, int num); int odp_cpumask_def_control(odp_cpumask_t *mask, int num); /** + * Report all the available CPUs + * + * All the available CPUs include both worker CPUs and control CPUs + * + * @param[out] mask CPU mask to hold all available CPUs + * @return cpu number of all available CPUs + */ +int odp_cpumask_all_available(odp_cpumask_t *mask); + +/** * @} */ diff --git a/platform/linux-generic/odp_cpumask_task.c b/platform/linux-generic/odp_cpumask_task.c index 665e82a..9de0d71 100644 --- a/platform/linux-generic/odp_cpumask_task.c +++ b/platform/linux-generic/odp_cpumask_task.c @@ -50,3 +50,14 @@ int odp_cpumask_def_control(odp_cpumask_t *mask, int num ODP_UNUSED) odp_cpumask_set(mask, 0); return 1; } + +int odp_cpumask_all_available(odp_cpumask_t *mask) +{ + odp_cpumask_t mask_work, mask_ctrl; + + odp_cpumask_def_worker(&mask_work, 0); + odp_cpumask_def_control(&mask_ctrl, 0); + odp_cpumask_or(mask, &mask_work, &mask_ctrl); + + return odp_cpumask_count(mask); +}