Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/28060/?format=api
http://patches.dpdk.org/api/patches/28060/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/1504009971-11282-1-git-send-email-pbhagavatula@caviumnetworks.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<1504009971-11282-1-git-send-email-pbhagavatula@caviumnetworks.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1504009971-11282-1-git-send-email-pbhagavatula@caviumnetworks.com", "date": "2017-08-29T12:32:51", "name": "[dpdk-dev,v4] service: add API for service count per lcore", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "eed4917e07c7351131589a686858f07bf4cd10a9", "submitter": { "id": 768, "url": "http://patches.dpdk.org/api/people/768/?format=api", "name": "Pavan Nikhilesh", "email": "pbhagavatula@caviumnetworks.com" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dpdk/patch/1504009971-11282-1-git-send-email-pbhagavatula@caviumnetworks.com/mbox/", "series": [], "comments": "http://patches.dpdk.org/api/patches/28060/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/28060/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 3EFCE137C;\n\tTue, 29 Aug 2017 14:33:22 +0200 (CEST)", "from NAM01-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam01on0088.outbound.protection.outlook.com [104.47.32.88])\n\tby dpdk.org (Postfix) with ESMTP id 1A22B11F5\n\tfor <dev@dpdk.org>; Tue, 29 Aug 2017 14:33:20 +0200 (CEST)", "from PBHAGAVATULA-LT.caveonetworks.com (111.93.218.67) by\n\tCY4PR07MB3462.namprd07.prod.outlook.com (10.171.252.143) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id\n\t15.20.13.10; Tue, 29 Aug 2017 12:33:16 +0000" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=yYlVkUF2wTos93pA9xA+uZddu0ow7cse2qpSt2Ry16E=;\n\tb=jSzC+uOvnHI9uz7aDoXtODMLXrJ0wvh1vXjIfqsxCmwbAOdEpkkEFmp8ueNTZkrxkhtJyC65shABl/RxrkWliuiHwJgTHXvAe9WJujM6s0jxMwTa3+FCLVCPm5jTRjYK/UbjjCUTce2c5SpaiKe0Yflg8hb2+6Cq0SDVYPNT5VA=", "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Pavan.Bhagavatula@cavium.com; ", "From": "Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>", "To": "harry.van.haaren@intel.com", "Cc": "dev@dpdk.org,\n\tPavan Nikhilesh <pbhagavatula@caviumnetworks.com>", "Date": "Tue, 29 Aug 2017 18:02:51 +0530", "Message-Id": "<1504009971-11282-1-git-send-email-pbhagavatula@caviumnetworks.com>", "X-Mailer": "git-send-email 2.7.4", "MIME-Version": "1.0", "Content-Type": "text/plain", "X-Originating-IP": "[111.93.218.67]", "X-ClientProxiedBy": "BM1PR01CA0080.INDPRD01.PROD.OUTLOOK.COM (10.174.208.148)\n\tTo\n\tCY4PR07MB3462.namprd07.prod.outlook.com (10.171.252.143)", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "8b6b4a22-b928-4546-b796-08d4eeda2012", "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:CY4PR07MB3462; ", "X-Microsoft-Exchange-Diagnostics": [ "1; CY4PR07MB3462;\n\t3:JztEKwMz9IfupYU4qDch3hsntrXWRiaJnHsNTpQlBifjRSP1J716AMukaYDCcZlWkM8l1jmlVGNwhjHdiOP9yfuXeGp/P78UCyG/2FSBjMSX6P+fIYkcgkyCTvna5VlIFlyhi4RdXHXw6yp+Oswc4vzhqg90i78MU2yzkPn430DqMKk116hG6bKcclRpXmnmpLkbiPIgfjrGdrdfwsgo0OFFneOP7LGNVmnSpA31dRT39/1pmEsQJr/AbOQk8W0r;\n\t25:/MZr1OCBdhw/8m1JPagXU2+L1k82Fi+ChjepUvjs2aIL4rEvhpjdsxsM23i30Ftc0OtpKmBSZ7OoJt9ilU5Q4PWj10lMMLZbc98LL3DX7ofUik8x1ex8jY6FBu+JWZoU/I03k2XSQoT4Vfp3Kvupb62VrKjTA8H2nBcL2ibUvoXHz95fkRxI6z793NL/dTRxvphTWxBlNDSOU1b3khKAWf+gRcWBggZRe3oH8LluH7zsuv3EC20XfUkz6s3KeII9yRwNEmEys27qdCufjozL9TDDuM5Tb2JHmlZLEL5jzev5gQWIiNt9RheVExsiWiPchMlYQtmZ5YTLnMX7KSAs6w==;\n\t31:e6gBfKSiKu4pdS4+n2kux6UgMzwJjIyViccXMUemvF6FVhjbjI4smbxRrnzi0MegUzzSNyPwDmEKheYOkC/1Qq8nQ9q2X63+voiKhaoEOMUwVdleYPE6R2pCaHeoEN6Yqo4Sa0HsE4dYkzLW9x1mkBdc8fQSYkEvKfeFuAZr/tFfs3iX83lIp0b0Xa+VRQYmkwtlWoVpQeK59cALfg9UIbHloFN+ATeE4GnCL2dnChg=", "1; CY4PR07MB3462;\n\t20:CG5DR3qy7YQswS0SV/gQDvE36uUDVN1Xjg/xeBfSOxLZNCvAdqRM/fobCgAm033LzieqTnt0sK/ayU4y6PsGaxLa38uBgzSrtb7w5HcJ7E9srRqZsMLNRxjmZyKAoeKnL2eqILIeL/XICL/IcTBX037FqskA+kb8FnT9Io5F/A2t+D4PSSN987RaN9j6EH6HIRaGq3tRVIw63sVEbwxu6fb1IXEUalQ1UBNpY9ENHdVBzAFtQiFUpCk5Fwq6hFYH4mYyk6Onyg258ainzlGuVecMbpphoFStD2L7Q5NpiA+9muQYP5e6ni5NK5HJoK3aI/P4NaHsuwWZPKthZX5PpzcWCJRdwg9UtqiZ784z4NGJcqjFYZjRSFIr0lUOEwBHwHuSH9gCNjZkVV221uk6ncD6wSV85hhV+k7k7bbX0GqlTsZ8zjFqwMGfg7ZjcDOHbvlO5dQspL7ej9UBhxnebi+d+sq/647dNfhr3ONj6lkQHlHuak6ymTMxmbNe3dC1NVuAgQpqTYugGEqCblSolkFdJRAvaFTPrbT6vdHIEhxb2KLAFij6Hc6InymZ0UqHiAG6y4pcBgfWcrOWLS9c/wNsS3p7uL/jRayvQODwhzw=;\n\t4:TkkNcBXSs3LYkOM2U6XtUIpCdxa7F43w4R5zib/AXx9LWLjub+BEv4tRMw4C7QROoc9zw0vYgUwCb5LpQNCvoeRzdyS5w2TUhY0h9i8HoJnfyjuRttkNd53nkb18/TpzHXjeOc2k2c68DGYkDH1m19KN7gxSZ+QBMZpRiu+6OhIf6lOXxRLIF4UFydTHcOi5RErLWqrgRT/pcPmlGeo+Ztl/CAfvHvV2OxwcisJQXVyfb8Yk0UFrj1dyJo2L4amX", "=?us-ascii?Q?1; CY4PR07MB3462;\n\t23:LBMs0qqDQ8Ofh9LV8Xg/9uda2LlArJadNP7djX0zd?=\n\tkXyW/oCtL+pwWF5WqLshmJ3kORFFZsLw8ImScT2bvHVr2/lBXDml84C2ix9ooNCfwi78BeUUVAJmstoUNVnrJR5TKKaCdlKBTZqPn7hGT1TR/31WM+Uy5KX3TNBNb9XwhqFagpkkNcMDb7KsxnnBsdlwkaTP+xE2ZoX3eeUrruCkY3Wjh2VJtZXwFSry6R+4799Nt2zyI32JLaCgX6pyA13iMHWj7MSFrd5m1TpXMKF7QIMI7pKuUo56V7EtE1F9+EHgL6G3L1V36Fd7lQv0DZfsH8NCvOqy1fqtAIGKj3hg8t7rZE6ToLIeFZcUg7+P4zGt4Thv7nGtILAB/h8I2VawGlXX6T+9MYv/ztAznYQVoOkmgw5uGrKCE+wKpknyM8xoCyil38bbhEuayzTMKqozUBpaS1G/+9bn6SBG1fYmqJipXWG9lcqXqRWPr3uzZvQCWtboq3Z0pC4gPyq0NhItC9NqfAkb5lQRTi3oPyB6oFrjVycAHSexEbr5Gcx1EVez0mK9De1pTrcc1ghg8nQDvDEcoIRY/KEMVGM3FIOzlsDZDA2SMsNsqzFvceT9LAhM6abXQf8jEUvVRNMn7sdfzAdW0h3wCdW2cSMCLeqv1cGS2Gl2hsvyJG6Shuo276QOSOHufeQxKKhuB+NiMwvaFnUE0vrc0S95f8GBo5jfbCuiyTl7AQ3dseXM+DhSJoZ/H84eQ8za/sSU+6yei1RABBosgucUzM1Y8wI3x0dLHSfwB0Co4//rl9cL96pl64KR4dvQTmja3fHh7rChyj+qRbOrfRkxXxjS054m7ZtD955LD7DtgdRBdGP76NrgXpLDk85KjmWqA0rDFh2s6YBrJDHSExpwVzhcaciW3kOGHxvPy/XSjIAhFHsgmJgvjAGNrKn6qmLqMzD14CSNF+eDSGAkwkriBmQXQyuBfYJjIDnfB3RrQwK7db7Si0Wml8pkDcMLDY1EJCxsshlA2eTsdRW5IFx9n1qa2J75MUzkKyl/df4zZsBjJ4rh1eyp8kKy0yiPM1hRyMtvab/g1PD80j/0Le2GcfKo8YRfJZEPXeVFCv6XlSXWFg+R3rI959woc2WitZblQIZ/iNhnSnxGDuttlxqaFTUKaCjvmuX0Jqhv2GKRqwoD81xiy3YH9ynxv++0Gh8oatcpSozbsvr", "1; CY4PR07MB3462;\n\t6:AkH+G77XXoqOpt2Y0fVHTj1jlJHZvdFwi2O5+7uCRBxTFEmSj8YUMBwDH5/2rZgRZNx/AIadyaSCanBzM2E85m7XeBgHzIgKKGQWXYqE9J2xzwmjBwHgoUGNf/0+Ie3i3OimLzGZK8a2y1LX0hyDqOeM/WwvfK+aeGoqjGrlKioxhZ0IKhrHgoSGdwsyhYDHCU3plYSdAfml85VGwqQbTB1/7zmBmZM7HHQGr3vrbniiU0y+SXVCucnPC96QbRk+oBdbjrqdiz8UCF/D/iA2QgjxE1Sq1dM5eqZIhunByqp5IkaWGxdEdveQD+auykHw5vU3IJWZ4ErLI7uXnAg/oQ==;\n\t5:hLyX6yy8GgBS/iA8G9kWMib2RQev01XuZ/4Tbiv6PKOzxh6VRE4JFuu6QNBFM8o2K5NCAmrnbjsLaT0Z0KjnptBC+91BLP/GTyjeiIbm0PAd6gw979Udvgmxgo5Q6w0R9e/NprsrwqwmvifaGlQBtg==;\n\t24:fYAgaxu3gvopPm5iwl/SJJbq6pzB6FbHG0YEpnB3DubyLeRmwQBqjmk4iEX0YUHGr+747GJ8guVA5XjMQUnIb53hNZIIPIci6sS/6/vbp2Y=;\n\t7:0cjih3RejtSJG5dv1cLpmskDR0pgPYLJIVTt0XWyWB2pa85Y+yVPDRgXxAhCZWfPRg2gqhwwWKs1HuC0dlJHfUCJ2/t8DJ1vPj9zpc9hr6k7H6NbTZXNgLcF920cu9VTgGvMIZ9Vz+B6aGOWnBDlqWw9MrNraXuVUWCs1uFi12Dwuo3bFhoMdWHOr0yqkFnpz746TNGkgqEOeVleZV13KFLkNwLzRgemW84wDSOQqdo=" ], "X-MS-TrafficTypeDiagnostic": "CY4PR07MB3462:", "X-Exchange-Antispam-Report-Test": "UriScan:;", "X-Microsoft-Antispam-PRVS": "<CY4PR07MB3462CB9B682E07A296B25E32809F0@CY4PR07MB3462.namprd07.prod.outlook.com>", "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(3002001)(93006095)(10201501046)(6041248)(20161123562025)(20161123564025)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:CY4PR07MB3462; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:CY4PR07MB3462; ", "X-Forefront-PRVS": "0414DF926F", "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(7370300001)(6009001)(199003)(189002)(107886003)(110136004)(36756003)(6512007)(53936002)(50986999)(5009440100003)(305945005)(4326008)(7736002)(81166006)(81156014)(8676002)(101416001)(50226002)(97736004)(7350300001)(189998001)(106356001)(105586002)(42186005)(6486002)(6506006)(53416004)(42882006)(6916009)(33646002)(2351001)(6666003)(2361001)(69596002)(25786009)(47776003)(5660300001)(66066001)(50466002)(68736007)(48376002)(478600001)(5003940100001)(3846002)(6116002)(2906002)(72206003)(42262002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3462;\n\tH:PBHAGAVATULA-LT.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords;\n\tA:1; MX:1; LANG:en; ", "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)", "SpamDiagnosticOutput": "1:99", "SpamDiagnosticMetadata": "NSPM", "X-OriginatorOrg": "caviumnetworks.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "29 Aug 2017 12:33:16.0242\n\t(UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CY4PR07MB3462", "Subject": "[dpdk-dev] [PATCH v4] service: add API for service count per lcore", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://dpdk.org/ml/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "This new API returns the number of services that are running on a specific\nservice core. It allows an application to decide which service core to run\na new service on.\n\nSigned-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>\n---\nv4 changes:\n - fix doxygen errors\n\nv3 changes:\n - fix compilation issues with .map files\n\nv2 changes:\n - reword the commit title according to the check-git-log.sh\n - modify return types\n - add function to .map file\n\n lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 +\n lib/librte_eal/common/include/rte_service.h | 13 +++++++++++++\n lib/librte_eal/common/rte_service.c | 13 +++++++++++++\n lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 +\n 4 files changed, 28 insertions(+)\n\n--\n2.7.4", "diff": "diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map\nindex aac6fd7..79e7d31 100644\n--- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map\n+++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map\n@@ -222,6 +222,7 @@ EXPERIMENTAL {\n \trte_service_is_running;\n \trte_service_lcore_add;\n \trte_service_lcore_count;\n+\trte_service_lcore_count_services;\n \trte_service_lcore_del;\n \trte_service_lcore_list;\n \trte_service_lcore_reset_all;\ndiff --git a/lib/librte_eal/common/include/rte_service.h b/lib/librte_eal/common/include/rte_service.h\nindex 7c6f738..5ea81c4 100644\n--- a/lib/librte_eal/common/include/rte_service.h\n+++ b/lib/librte_eal/common/include/rte_service.h\n@@ -374,6 +374,19 @@ int32_t rte_service_lcore_list(uint32_t array[], uint32_t n);\n * @warning\n * @b EXPERIMENTAL: this API may change without prior notice\n *\n+ * Get the numer of services running on the supplied lcore.\n+ *\n+ * @param lcore Id of the service core.\n+ * @retval >=0 Number of services registered to this core.\n+ * @retval -EINVAL Invalid lcore provided\n+ * @retval -ENOTSUP The provided lcore is not a service core.\n+ */\n+int32_t rte_service_lcore_count_services(uint32_t lcore);\n+\n+/**\n+ * @warning\n+ * @b EXPERIMENTAL: this API may change without prior notice\n+ *\n * Dumps any information available about the service. If service is NULL,\n * dumps info for all services.\n */\ndiff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c\nindex 7efb76d..616bad3 100644\n--- a/lib/librte_eal/common/rte_service.c\n+++ b/lib/librte_eal/common/rte_service.c\n@@ -397,6 +397,19 @@ rte_service_lcore_list(uint32_t array[], uint32_t n)\n }\n\n int32_t\n+rte_service_lcore_count_services(uint32_t lcore)\n+{\n+\tif (lcore >= RTE_MAX_LCORE)\n+\t\treturn -EINVAL;\n+\n+\tstruct core_state *cs = &lcore_states[lcore];\n+\tif (!cs->is_service_core)\n+\t\treturn -ENOTSUP;\n+\n+\treturn __builtin_popcountll(cs->service_mask);\n+}\n+\n+int32_t\n rte_service_start_with_defaults(void)\n {\n \t/* create a default mapping from cores to services, then start the\ndiff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map\nindex 3a8f154..468c706 100644\n--- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map\n+++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map\n@@ -227,6 +227,7 @@ EXPERIMENTAL {\n \trte_service_is_running;\n \trte_service_lcore_add;\n \trte_service_lcore_count;\n+\trte_service_lcore_count_services;\n \trte_service_lcore_del;\n \trte_service_lcore_list;\n \trte_service_lcore_reset_all;\n", "prefixes": [ "dpdk-dev", "v4" ] }{ "id": 28060, "url": "