From patchwork Tue Aug 11 07:33:59 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: 52292 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 F079622919 for ; Tue, 11 Aug 2015 08:00:37 +0000 (UTC) Received: by lbcli1 with SMTP id li1sf13090128lbc.2 for ; Tue, 11 Aug 2015 01:00:36 -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: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=NcczYfAoZmzsJCUpImWnI8uS3XiRVfDmweUhvwaR7U0=; b=moCbsr93ApnW8giOoCNeRhM1/T/Yc++3V0FyVplQ3cz5IdU1Bp701YI5aGracHeeyA 28XGis/iEpDW6KuvLtE/JAtrM/RuTVK6/AMGY4cdvOJcIWO97s92PaSeb0b3ECbuRIal Bmb/aAu+lMJ4to9UMmkVh637HTDrbgcosJ954h9O7pdAdiY+6T4hAkstjO7LDNvfbE5C JAFPQes7VHzzfhc2QpBr7f3THbd3u+kXr7mObXWPtgs8aYfV6YyUEBerpgDQWtDHB2E3 vtdpxLKm9JoEqZa0i/VbMQV8ucf9EkYmU2qaSTV2x09hiIiga8Ti3+KMQs7KqXpOvESt ax4w== X-Gm-Message-State: ALoCoQnpMrZw6E9pddah+vqiMh3kgdd5qEmn/cLWdhNvjUzC/cmg60DducCkEKr0us5VKlUS2VOn X-Received: by 10.180.83.226 with SMTP id t2mr4965263wiy.5.1439280036943; Tue, 11 Aug 2015 01:00:36 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.121.38 with SMTP id lh6ls33319lab.47.gmail; Tue, 11 Aug 2015 01:00:36 -0700 (PDT) X-Received: by 10.152.205.66 with SMTP id le2mr25614028lac.0.1439280036801; Tue, 11 Aug 2015 01:00:36 -0700 (PDT) Received: from mail-lb0-f174.google.com (mail-lb0-f174.google.com. [209.85.217.174]) by mx.google.com with ESMTPS id l15si759037lab.70.2015.08.11.01.00.36 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Aug 2015 01:00:36 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.174 as permitted sender) client-ip=209.85.217.174; Received: by lbcbn3 with SMTP id bn3so14003744lbc.2 for ; Tue, 11 Aug 2015 01:00:36 -0700 (PDT) X-Received: by 10.152.22.133 with SMTP id d5mr18487495laf.112.1439280036669; Tue, 11 Aug 2015 01:00:36 -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 l6csp2356368lba; Tue, 11 Aug 2015 01:00:35 -0700 (PDT) X-Received: by 10.107.13.201 with SMTP id 192mr26731186ion.70.1439280033563; Tue, 11 Aug 2015 01:00:33 -0700 (PDT) Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id 76si690579iop.211.2015.08.11.01.00.32; Tue, 11 Aug 2015 01:00:33 -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 94D4762075; Tue, 11 Aug 2015 08:00:32 +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 7E29462047; Tue, 11 Aug 2015 07:54:49 +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 F368D6205C; Tue, 11 Aug 2015 07:54:45 +0000 (UTC) Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0129.outbound.protection.outlook.com [207.46.100.129]) by lists.linaro.org (Postfix) with ESMTPS id B9F3A6205C for ; Tue, 11 Aug 2015 07:53:12 +0000 (UTC) Received: from BY2PR03CA061.namprd03.prod.outlook.com (10.141.249.34) by BY1PR0301MB1272.namprd03.prod.outlook.com (10.161.205.146) with Microsoft SMTP Server (TLS) id 15.1.225.19; Tue, 11 Aug 2015 07:53:11 +0000 Received: from BN1BFFO11FD035.protection.gbl (2a01:111:f400:7c10::1:166) by BY2PR03CA061.outlook.office365.com (2a01:111:e400:2c5d::34) with Microsoft SMTP Server (TLS) id 15.1.225.19 via Frontend Transport; Tue, 11 Aug 2015 07:53:11 +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 BN1BFFO11FD035.mail.protection.outlook.com (10.58.144.98) with Microsoft SMTP Server (TLS) id 15.1.243.9 via Frontend Transport; Tue, 11 Aug 2015 07:53:10 +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 t7B7qjKA024123; Tue, 11 Aug 2015 00:53:07 -0700 From: To: Date: Tue, 11 Aug 2015 15:33:59 +0800 Message-ID: <1439278439-11386-10-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; BN1BFFO11FD035; 1:KWMiob/wBIeEUg7Z3HHz2vpqoiiqEiF42n/yWcG2v6PC7mpfAlXugWIEEyx+nx9wJBJTK5c2pw3QTCGeNWr61GwvBXkbRscVGkz6D+d0/kmpKLTwDh8dkvS1stlYsIHqwBsPfwd8MFOSpa3Pxpg4ymcDZrRVAqDKalpVPU+vTZFvK8wCPGH+jgqJhB3DLVmeWtaphimnEqicY6/Fzh5i1vT89H3ip/ZAInllJuPBPuQIkhRYG1EeAbK0gu7nf16qgvBuko/NMLskB+LNppl7fSOeQH3EmvB2/SkLGqhyOP1c+NmPF6vQufm1+IGvC47GolfwBHQwP9uiYzKcWwTsISUIxezDf5vTQMmDBHEU7T7911F6nhaw95AOGrx78PK93y3SQKRzyN7exc6uevtZQw== X-Forefront-Antispam-Report: CIP:192.88.158.2; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(3050300001)(339900001)(199003)(189002)(92566002)(4001540100001)(19580395003)(50466002)(85426001)(77156002)(86152002)(105606002)(87936001)(106466001)(47776003)(48376002)(6806004)(50986999)(19580405001)(86362001)(76176999)(69596002)(97736004)(110136002)(5001860100001)(81156007)(46102003)(68736005)(5003940100001)(62966003)(189998001)(50226001)(64706001)(36756003)(2351001)(77096005)(33646002)(229853001)(104016003)(2950100001)(5001830100001)(5001960100002)(41533002)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR0301MB1272; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1272; 2:5eMhNXTKGZfc6SxZtl1TRnmFeQZgJX1rpARwMMd+mpk35pJ569ebzWEmVe+TlBNd3AkP96yypF5Q0C0YewSkz/Lb1H1OF+lNxjHy/QDUTNf5v+egbCxOApTwGDKKjaDg+TiHXrr4hXMpYuXjmkcCbko3KaYq3mDqiMZjjfBXl/w=; 3:v81Z4JQbgwfsECZRjTVSHQQaJKT2tARUVEj7UH22wQq0k900q4FCQyybaS+Yb1ZKvDayIaI4jaCGr6L6QxxG17JUAtNmmd2xLentze1JI3YDOC3JfkycZWsC2htTwNyaJ75eJy4oYKyEg5lQAx8ihBpajq2HRX661cb726ykZkA65f7Yo9hK6C7V3y6WDo7QAB3ICK58PjOq4HZstr/r7v66tmtYYparnnY8SEuPBgE=; 25:VLKnRsbguZH38QcRYJE+Tjfz/LVHsIkgrZ+VmoPRtZswT8bDjTMWM8I9PIHaqV5gJiVovAMntOaxiZiGCKDoJgCPkKaVspF6cNkdpS9ZJX3C0+1a9ylnIELVTyToqJ6zruEwXaEFfQZOCBP77EGTrWvjQ/8Y2ewV7PbYsOf2qUnGmpePweTcLwq7B/g9+0WIwsPswECBBaYCpFi6Q14NQ4t1Lh1ji9CroichUA3t3RPB67uIMtHf1B8HMmbqOOvF X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB1272; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1272; 20:zX8CcZfMI5nj1AxgdnQ9NECY5iL9/0Pe72qS/PkcGNz2heqgSpA2HrxfXDnOvUa1sPa7IgmW/mIuZJDj8CQiJ+8iDewZx57ngXkL1IUopnB6L+iK9DWUmP9yfXq6H5hvsoQyW1aBcCYTpeqgsK03CRDCD7QbY0PEMjI2EXc0yhAcFRdzFODyms4HE79X11PSQ3idZ0+8BUNPZXSB35edO/sU3TTP75iQa/Gp9WdMZ32AYTgfxS4w0nX8b4OgfF9Ph0mrWnBkEfM+rR0yTd1mKzyVka/JTWcEKa5QLXOUwKlpKO12vYZIJMDKYQtvkVjKQpJtZ+ol0+6RL5//TvrVFWhfHiNhslWmDIh2opGTsyc=; 4:XHLLoXPR/e2q12PSJKJ01YOBV/Ff5djNEQTr+W7q4FElsENUWWl/Zo1lHuKt9FGmVxRBrVdLETTIR86e9jnQLpZi+TkZ3/PSJaqchs3oa9R63EdHo7xiqI5y232Y14qoTD1ygEMhyEKeJ7IW1uCIKPQ2ts3Enc4cFjU+rhlpmLddpDeDoBoSlFBaPj7ZQDEoH08H2cSczcEQuq+Zy42XDnfnw1mMXfb29eJlGZog/mb6jvHPcAUCvSmhoi7wx96vpOePFd0yjbRIj6p0Aw9wk2jPT7zLwxEwoinkJJ3Q1Q4= 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:BY1PR0301MB1272; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0301MB1272; X-Forefront-PRVS: 066517B35B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0301MB1272; 23:gwfgps+efRTsnFbcAOvk5nnRMSefwCU7Ro+dz1U?= =?us-ascii?Q?hmB5IMxLm5ePWanjRyn9ICnplLIRhBfR3GjQbtzMgbG6w6VOe8jo/gII5AJt?= =?us-ascii?Q?13Igb+nFFAReB4QwGGWzMUlq/6Bf37NFwcIOfS/15Id+DqoYS1ilipG2m7Yh?= =?us-ascii?Q?nYycneqzXA+9TAqz6Ci5UVhFYHqcLAyJE1ytjkV3z0Oqs4HAyXL+ZFxa5Fr+?= =?us-ascii?Q?Be+wSKtKfAz6ECk2RyqgfZ0rLfq3o2l491mPMJ3fw4ouq7IeK3/QtmTppW6L?= =?us-ascii?Q?K7qsnBxcNVWctGOyV4b5ioPWFa7wQTZwH6tcC6AcA8AbDxT1R4I2Rm2JGX1b?= =?us-ascii?Q?rjUzktrP6WzyuhLJevYZjNHATvBFjrxbjk/UYR7XVcDW8htn4K2osuFDHY2O?= =?us-ascii?Q?GWwwuuvprMl5XIgeN+1RfMU8NmZDz/pa9GiAkeWzaXJDCKMn6BV1z7zzTrXj?= =?us-ascii?Q?cpIX7+SrzupmXPrBJzlLIO2XgofzlI5+lmmDuAfjLd6v1HJBszrQAowdBGqW?= =?us-ascii?Q?WIqiVQK/9yCEci+sGUiMQoCjQ4wQ+NjebaYuD46DNEu1hAw2BVdw8UIYQRaS?= =?us-ascii?Q?Eqr3OmOdWAUbcnziVPZsY63kCIN5cutXMECIgiFC6jPshRzajaQp2LIHfc2O?= =?us-ascii?Q?g2MZkpt43Hbc0gi4G7AoYsIRBmZBC9iYcu0i1vTJZ9bRGIitW0YneXCLWIRf?= =?us-ascii?Q?t7wk4dTqrSeEnZDTLsVXJBEkRmKY6LA/PMkne3zHeOGw6LDb93QWALMW5wQ+?= =?us-ascii?Q?JK5gydmJLLGUTqqLhdnXxrXkTKI88HlQ/2qiF5e2/TzqRmmHcR2xP1GkTjJd?= =?us-ascii?Q?93FHf+oSAXHCmr2K4hBZ1RsoCQyLixHAcWRpd0LE1w/W3BCpHE+wpdY4NaiI?= =?us-ascii?Q?Iso1fDyxOOuwDZixiXAczPpAepfKX1zP+ERch01Ae3VCQs8uImSM69vY1z6D?= =?us-ascii?Q?Y5d/T3mu2SfJgUUP5ZaQyMdaQSW3vcsjOcMOTuUBDijUW0TqEW63xHFP/u+f?= =?us-ascii?Q?L+ab6hLRRiXlfv6nEOf3xNjBkMbX/9+tvk8ATwtYbsI/jPHEbfmYXjqZrkTP?= =?us-ascii?Q?rUrGYma8DPboi04YzAihJ4joF9LlsFd4s9oFNNXCT8RFmjMQIEq0pZAuP5B8?= =?us-ascii?Q?dUYRSuKJdc7op/2/5hzWIEkOHcSdfXylI1Ks/15Bovpkfl2zVwCZvpltslHP?= =?us-ascii?Q?YUDaRmOTsyuoG6rrytfwiAmaIAvi4Y0tyKa3I?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1272; 5:xblW4If3nBsRuotkCdm7yNa42bkbzdG7Loq2w1cMKswH3/eHB4UnnqvZG1ClZ0q2cGdG5POTmCGDBoX0PSNBRy8vGbLDw7Q4uX3YR2wa04+70picKDXgGctGboQf8+GrXfL24KA79yCfVouBUk3ozw==; 24:VTb1fDb2HdQq+cjbUZAOGIyNVeWR69kro78Y7x5SK+wM+iZSrplta1L+HFyUSOYpljscF9ZR2imaFTRjdiTisYDM0MbZ+QQ4JksAdanSZ3s=; 20:2gBMGTW9Y/hBawAI7bsUFdKbKhzZuxWJafTXe7T8tlQ9ZQOQCshHKeojykwP7ggzhTQ6bNGLRF0DJBLzoxzhKQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2015 07:53:10.5220 (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: BY1PR0301MB1272 X-Topics: patch Cc: stuart.haslam@arm.com, petri.savolainen@nokia.com Subject: [lng-odp] [API-NEXT PATCH v4 09/10] linux-generic: cpumask: add API odp_cpumask_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.174 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_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.c | 11 +++++++++++ 2 files changed, 21 insertions(+) diff --git a/include/odp/api/cpumask.h b/include/odp/api/cpumask.h index 2ad7fea..eef6404 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_available(odp_cpumask_t *mask); + +/** * @} */ diff --git a/platform/linux-generic/odp_cpumask.c b/platform/linux-generic/odp_cpumask.c index c28153b..bb37cb8 100644 --- a/platform/linux-generic/odp_cpumask.c +++ b/platform/linux-generic/odp_cpumask.c @@ -243,3 +243,14 @@ int odp_cpumask_def_control(odp_cpumask_t *mask, int num ODP_UNUSED) odp_cpumask_set(mask, 0); return 1; } + +int odp_cpumask_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); +}