get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/28059/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 28059,
    "url": "http://patches.dpdk.org/api/patches/28059/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1504004405-22532-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": "<1504004405-22532-1-git-send-email-pbhagavatula@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1504004405-22532-1-git-send-email-pbhagavatula@caviumnetworks.com",
    "date": "2017-08-29T11:00:05",
    "name": "[dpdk-dev,v3] service: add API for service count per lcore",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "f309ec6d3dba9c37d3098fad30b3d5bf86d1902f",
    "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/1504004405-22532-1-git-send-email-pbhagavatula@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/28059/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/28059/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 8F57C137C;\n\tTue, 29 Aug 2017 13:00:33 +0200 (CEST)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0072.outbound.protection.outlook.com [104.47.41.72])\n\tby dpdk.org (Postfix) with ESMTP id 50A7D11F5\n\tfor <dev@dpdk.org>; Tue, 29 Aug 2017 13:00:32 +0200 (CEST)",
            "from PBHAGAVATULA-LT.caveonetworks.com (111.93.218.67) by\n\tBN6PR07MB3458.namprd07.prod.outlook.com (10.161.153.21) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.1.1385.9; Tue, 29 Aug 2017 11:00:27 +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=2pY9P6My5rgvGMxDhh6sH2mAedmQgmklu7mZORrwT3w=;\n\tb=axKmDgVo5vLgCoeTCNtBCGlFh8yGtTbcjVGz88o+hpzfysRMujkK5tHfJk351Ky9DcsaeNOwE0rmXCfSSETt530J0OrUH+fRUbMVMVZBlEDmiUr26/WOlc19xG9LEutqHMZZw5LEwNA+CLW4pRGpxcPRHBx90BqERiurfqAPnrA=",
        "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 16:30:05 +0530",
        "Message-Id": "<1504004405-22532-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": "BMXPR01CA0012.INDPRD01.PROD.OUTLOOK.COM (10.174.214.150)\n\tTo BN6PR07MB3458.namprd07.prod.outlook.com (10.161.153.21)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "e2b772ec-624a-499f-7411-08d4eecd2932",
        "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:BN6PR07MB3458; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BN6PR07MB3458;\n\t3:qCW0e04qcg6ukTCU9F+ti3d89cMVJYR8SYS1ES3FnsamCjKJGG7TXXLu5h1SjU4FOv44uvJFJOpHB/JF8/3n48LKxKBhNi+BOJaqTrR6zxyBaxtNC70dPUxgb8vNGvGv3n8NfNfvVUhD4lHbwzDaQbMSA4Jjvz9nlWPSMqW+yBmC5p6uYl5zxU+SF7yERisuYOYIAU8Hg2BHfyKYWktKTDFiJfmtMNgbR/umYg+dSsL2imt0sYoTilMUACjSJGHR;\n\t25:IqO6sVi4lKG/7r7gBFH+nAvFZSsn5traulSPrWEEToz9pMQvnWIMp0LBGPfFWE9NgEVh4LPU7CaXJGavnxRxN6eNNXtwqTgoYqQemvICdug7BMfO5x1rv+USJ/wUoD+ji/98L2iIotz0Sxca4csYCJ37fY8OWpvF2wKfFjpj5irpodbW53qvrGzxkFNh88by/B1+LyXY/lSYw6Ia40bmRxDTrsCY+rCQmvfKyV9TEJykMMMdVOTmNvabxFvgxfxb7n/SuKExcEg25AoqPk880F6EyCA9HsDLDn4Fzw4LOocfu9YXtcDlV+Uun8hbcf2GtMxUpSJvAmYDvX4yCekW4w==;\n\t31:OAVzQa5S6o+5Zxi2bOqgQtBgpJDFHIMuU2s/+9gKvlHJo3gQbVH4NFy4FurCkcxiMyWAIA6svxbqV0OHk5Q2amUSJf2dZDVuvujTVQb4j4exN396JmeRW6jo7cqd/drQGH0aRvASX027Ovw4MYBs/00vyL4QnBr9mNUcLM3wYAYnItmsBr7ic6CoMRsvQnerqli7m5bVnVOiznMQOLH1OS68SxVkw9Hz868D54lv+hM=",
            "1; BN6PR07MB3458;\n\t20:l6QKud79Jgsia3w7nETjTflqKoD0u/TviqwU5yEpj5Jbmv4/tzf136IAWwTn46V+UVqZWqbMATUWhx6iVlaBThYG9qYqtq+ry96au2UFpbgZ3lEccwa7vbmn8uVh9cOErTx7srsiILybyxAsQU4jMbXcpVkpOrTPu1+ETLd5tjWjBDHMbdjFtajx96bceGm9ee+juExCMMXPZMaeIFoODbjHAGaAoHejyRNC49DenGTzcjQr0BLz+IMNcqeoyUFYJnnmSHn39WgenBRdAhWDb0RFASVkDN5W+iB0eJbeP+HrODqu2OIlJIzYOUEXg2b9Dpt1MLnom8s9wylu/nOqiRhELF4RQuY3fy43TdeaH7iGKuLjRsZQZ25hnSyQ7qqGlQtXN+plC8O4e0WBZrrniEURh5BdyKtEfbUln3S1abO/SichknlhQOZxT8GMNUxr4q6+KO0+Rrkm23zwF2D0bw8BFqt5GOqg0A9Gjd5TSm67aQDqn4NsAugQ/2cjL9DBEVSFQ2AW4PAtkJztXXAtWQcc3XZFcKMHPAnnkLfCIc8u4l1MGFuk+s+1DHghcixc3d5XHfRhbO+LIkhZAHNzuUVqGklwY/oZsgqFrYkdoU4=;\n\t4:hi7cpROKqPX1checRPkGsfUPjtxlovm48dc4CL8gGLxrbvd/vyR96cx7+J5sAM+Slb9jxaoOwslIWN9dfoQESkOBLgSWwEh9tzALPMiG3j993MkGTaBBqf3Xg0tDSw7kP2o2TXtbPbV96mbOU4mDDoinR2bRgI6cXxR0zQf5ButJesU9NaiQfyxG8AbA/wS9vYHpM9HtvBAVXc4vI+bTuxe7v6crhuFybIPeyYRz/1YJWvD78PQseoBhedqXgIIj",
            "=?us-ascii?Q?1; BN6PR07MB3458;\n\t23:9/iQ/a9UEYZ5sqP6TVcupD1RBAyJYUqejBmHitjIe?=\n\tiJmq0Eqr3eKeTQNo0CoT6LZDummXiWY45m+nnJnYB0Q2VSrfmZc6gRDkkofTlnwdPrRWkHxslMPJAKHeEqm0PNih/zVXfJQSb5vCo7LEm6ewBoTVGAGEnMmrVg8VFuhZfBpP5oTkIfpH0qIjR238x4FfdJD/Rw6D1IROiMepFvCmLnb8SiE/cbKPEQnWW7VXV0tHO54lQNPqsuPtXgqNDb8HTQzrCNEkN0GfgSm1L3alb7dgHc4OJqfnydS01pDMOcLhMyBttjEvx8MDNx9tHTR05yn5R3E7VLHM72nmEL2Chev2M7+rAvCHL48AsQr5BVeAJ83IlCLJKi2IbJooqt+AeABHHoH3xlruqZLYRq1mvIQODWths5QfyDzB1uzCak+DlIgF4W/tJ8iqWFonOwQgi8PyHNlOWiEE1XKVcP+rXNhya3dFETkteBp70AxnLnC4ticV0UU3lBTeMyvgoL6PNOEV6ScvPwos6NKyP1oLiRyVF/1waTZ/uSdMIUqtw6W0NDFw1SVWOykIc5dtfbwI0CjUTyS6b62PBZmA0TOgnnHuCc3f3ksS31E2W78jo1vxTjTSpigXJRw9c6e/oPIHunBF/Bam7n/UT6BM7eIG7GQoSHXeIrbMaDMDNwlDNagcBToF06jumFLyjXJdaBMj9gbTsM987NHDnsT9x0F9/eeajgClDRRcbtej0P7lK1pVcwi0AlgeIzxeoi6x1q+2zQuyhn5WT4bGNIEDdF1D1wGGs6Bl4p6Ah5iFzkensFnPg/YPlDhzNjpA91ddYZ3lRdAV0enxeFS11k+5j6RlaVphNHBhgrhhoDE2xdHObmppxTlwOoA3AiZvpDSNPMwk9x/IJwMwiOG+3WC4mfKc2DRlnGjNqZlPOzpU8JVTWCeOHw9kj/OsKnGxV8vLEVBOc2p0vqmUPwW9ZbfJ/P6Fcqbf6lSJx1tTHW3CKfCMwh/GieIGokw16iiWkgpRcAEeq1f4R9YJ9xCvXxy6F5+B97ysgnevOLkrp8VMyXixu4YnRFhWNBf6vrJgMRXHyupRUUxJiwkAtU6MaA9C+UeuRoXmNhxUcqKQGby9nU2SFoxogF4d9/ThlUaWHiU2MN2A+GCTtrU3v7eCpYiRf0jd7pO6YQlNg70O3OhywlA8orKBi+7lcvRwEYaYd6N0XSz",
            "1; BN6PR07MB3458;\n\t6:ffMfdVRj3s25QCRHO1g3SIx4oQzHlwfkXCWoty9fyU5VMclqKl9OmHGlsGzJf47VAO01VMNjo7G4//6frUQTzbhp0u4syEnU+APYrWE3gO64H1FVvD5V1RNlojUk6LoOdn1Gk/4pV1hS07j38QTE15Wicsk1foNO8cBKERiBNRawa/+6/eqvk3aPWsSHVI70ptSpPubY6CH5U8fXSRa9KnGWARE1/J+rIrxdgC4XFqHKL3QPmdcB6JfwgiVhM+S+Lo/jWqxW0yNmsWzuitvrqCEmetsQTJ+I07Wdst+aLDnQRaMpCAGpq39qaeuYDOMMDaQw+CNP3ZTs9R+u81X87A==;\n\t5:4+n5VZ8Do6LKqVqhXymSSyrbxotua/BeuI7y6Irgkofh6XXLrWN35FsjH4rlxmrlqelUMsplYLhxZ7O+ih2lE0tcLtoO3mgwmvg32CvyQRp1oD3rneIdnptEl4aKKllgO4UWKiA+aMVJ5bynyWlFcg==;\n\t24:BGjuRAidFYHSEtGqpLOYBTQBwIohgYNDqHLQ9DI3W1OZ5lUtjvJ34vejVflWx4mdi0RiYdKT9ARmHCIBYY5qgP08f8Z011VZWTjIQ1y5GZw=;\n\t7:Xx5/1MnBHpu4mGUdJvfohNyEz1lr37dOUAltB/ug0rgZQqcYzrcnklF2kvMWN9Tqq2ZiLbGcT6/0BOD4lbAvygRsfPItNXMq8YeFE+yl6/v3gyniROpY+jVuPFQzpkc0bQ8SnVJjidIip/uXZIegpBPo3CnG3SqCUxKXscSQNMSzEpB/lpupSiW8gF4s6+JCH6ybbfpn4oyOhMqakWBaB73z1rjjUYoi4Vr6kJKXsY8="
        ],
        "X-MS-TrafficTypeDiagnostic": "BN6PR07MB3458:",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Microsoft-Antispam-PRVS": "<BN6PR07MB3458980D372787A36C507817809F0@BN6PR07MB3458.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)(93006095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123560025)(20161123558100)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:BN6PR07MB3458; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BN6PR07MB3458; ",
        "X-Forefront-PRVS": "0414DF926F",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(7370300001)(4630300001)(6009001)(199003)(189002)(110136004)(50226002)(4326008)(2351001)(36756003)(2361001)(50466002)(2906002)(8676002)(97736004)(81156014)(107886003)(81166006)(5003940100001)(50986999)(189998001)(53936002)(25786009)(6512007)(5660300001)(7736002)(6666003)(6916009)(42882006)(101416001)(6506006)(305945005)(33646002)(47776003)(68736007)(66066001)(5009440100003)(3846002)(105586002)(106356001)(6116002)(48376002)(53416004)(7350300001)(6486002)(42186005)(72206003)(69596002)(478600001)(42262002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3458;\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 11:00:27.9211\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN6PR07MB3458",
        "Subject": "[dpdk-dev] [PATCH v3] 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---\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..9537ae5 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",
        "v3"
    ]
}