get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 28460,
    "url": "https://patches.dpdk.org/api/patches/28460/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1504795187-11087-2-git-send-email-pbhagavatula@caviumnetworks.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<1504795187-11087-2-git-send-email-pbhagavatula@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1504795187-11087-2-git-send-email-pbhagavatula@caviumnetworks.com",
    "date": "2017-09-07T14:39:47",
    "name": "[dpdk-dev,2/2] test: add test for bitmap operations",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "16398986c6236617e899892300076d281a15c9ed",
    "submitter": {
        "id": 768,
        "url": "https://patches.dpdk.org/api/people/768/?format=api",
        "name": "Pavan Nikhilesh",
        "email": "pbhagavatula@caviumnetworks.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1504795187-11087-2-git-send-email-pbhagavatula@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/28460/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/28460/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 30933199BC;\n\tThu,  7 Sep 2017 16:40:28 +0200 (CEST)",
            "from NAM02-BL2-obe.outbound.protection.outlook.com\n\t(mail-bl2nam02on0076.outbound.protection.outlook.com [104.47.38.76])\n\tby dpdk.org (Postfix) with ESMTP id 79EE5199A9\n\tfor <dev@dpdk.org>; Thu,  7 Sep 2017 16:40:24 +0200 (CEST)",
            "from PBHAGAVATULA-LT.caveonetworks.com (111.93.218.67) by\n\tCY4PR07MB3461.namprd07.prod.outlook.com (10.171.252.142) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.35.12; Thu, 7 Sep 2017 14:40:22 +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=99loh1iexunJ0NWNF78J4/4yFbkRgXghHxz6ZPUFio8=;\n\tb=Mbm+KkxgtEjQ+G1IUTW/hXbzCIpneqcywqitGqptUBW5nG2EtUMXqoTtuwB6YA1NYAqgTiFTjq3Y8ArjKMnY0eYSVqNuSsAjZJJj/6HPka7JbO3A6JJ00tyhXkxgYoXH4PKeBKsdoFewek5W9yPaMq0SLxXAhHj7JnCxMwwcH7A=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Pavan.Bhagavatula@cavium.com; ",
        "From": "Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>",
        "To": "cristian.dumitrescu@intel.com,\n\tstephen@networkplumber.org",
        "Cc": "dev@dpdk.org,\n\tPavan Nikhilesh <pbhagavatula@caviumnetworks.com>",
        "Date": "Thu,  7 Sep 2017 20:09:47 +0530",
        "Message-Id": "<1504795187-11087-2-git-send-email-pbhagavatula@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1504795187-11087-1-git-send-email-pbhagavatula@caviumnetworks.com>",
        "References": "<1504795187-11087-1-git-send-email-pbhagavatula@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[111.93.218.67]",
        "X-ClientProxiedBy": "PN1PR01CA0105.INDPRD01.PROD.OUTLOOK.COM (10.174.144.21) To\n\tCY4PR07MB3461.namprd07.prod.outlook.com (10.171.252.142)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "c0dc45c9-b422-4128-c02e-08d4f5fe5f82",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:CY4PR07MB3461; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; CY4PR07MB3461;\n\t3:4v6TKAzt5MXIeofyUVdfNZ6zvqRXKOSgxN1kNvEBbx+6P4Gz5nqeNs0lTFaPhHSOPA6J+6NfcqTAsRsmadXxeE/Bu+yX213Q2dYzSEZcjFwC72Nw5+5CLtIsu+ZrpfnmyopcY5VnJ8CQJOaraaM5sGtbckwoG6DAKpGXnE/8bQB4V8dpzwqyi64ZnlVVUgkVo6JpBIvgmpOsCp6tTh8RfwSu08YHvmM+Ldw2lT03TPHO0YG7pAYOELuOY9Iimho3;\n\t25:mmJ8re//yZyaaY1GMEGasmYAiWv/Z1iBOJ+ITuxdQRP7zUlSH2HiaM5XLxl22WZInq1NL0F2g7k+ejp+WFlnx57lholm0WsvQNCwg6C6f/NE8R8D5SEIHi1G/TWW4sNP7YXNGXjdOcT9ZFPVEr0VTMyGx4fLA/uXRL5hgu4Z1o1Vg04NL85VLfwLltWvSEGgYOjuTWOE/ncmqWbNYKumaSwLSz+ACmaZuUAYAsxcsfGooFlDe83OUnWL0c2oV2uWXfDHUbtCJPpipBi/v5u4DphvsXH3nkIlM/ZxGJmlSovSTi7LIsXJLYDQ7ag7wRCQV33dKXxf8Xb0jJY96IFAPA==;\n\t31:kKYF0KVSkBvS5gr4U1N/Athgl23/uj7AJhHqoqwChE4Z3NuTIe1soLTqhIFCYEscpincUeoAaLtMmaz2lsybyMamewm/dr/Ii47pscsknNIXPRQvXtYyttGeLQvArjyaK5zTfECHKoYL7ePCtapjyUUrrwJ6xlfNKP1JJs81NJqsBZSWZy6+TxHhHypkdzor0mvImqzeJSVnKEkuBhiicnB1Jms1He1WlNOb9lthcDE=",
            "1; CY4PR07MB3461;\n\t20:NYksb4SdLthb+urLREWl5NhoWy4Vvm0WEJgP5dq5SCnRZUuc3rSRlpMchfQBMxAmwaM60mWq7ARvoSaxsAZBfmbeEOZrljVe7BgwRN5WNrSn1leMafev+lHJvJIAmDgNehhdE43xCzT20F0qJzBEBHq0mpqO681jWnbiHbQqQqi+McOOskj8Yv2hlO1MI72IayCAM45HqKlfu8xlfeuQ76VYyNoOP5wWfiTRt4CUJIgodk4eUqZ8/qrquAGHPqGztPTFZ4lterQsWSdFOBnVvmz6+GPoJzgg7P1JHio0r5gQnw+YpUuSeziJDV7F5Vrw+MIGBCvjRIeqd7RWM0j/YN4aAkj27jZ4yYRsYnzS2lP+qHPT20Me/UAssWPim/Y6BytUqapgJZfPcMMZkoMYb41IYxTv/JUtxNLkgOIhqLjEPtmI7ZypuF0/JFhEqXPewvcmv0iDzAGZ3b3+joyhrGDlbxkvSb/ak3UPrvf3PhG7KWsFqssmRyAYX//vXuxAiLNAdSMDaoXBWpv6QYg2rzmhPL0YiW7i2+syatRDGs5/eRQFQOU+JCqHj2eYkbxwzMvvYl19FwplZt6nztG2RQhoCaIsSBGobCyEtLXlPko=;\n\t4:0oO6D4arj1A/9tG4FlE/OmobmGKdQdNW9lALfD+JYullzDP5w9SWN7xfYa6k8ZANMulh1zmMMBj7LyA4Qa5TZESQNdV83GLtoDRY6jLi7XsdYAHt6o0KUL1aX+q76mxHNwHFr1gDOFQK5DjcKZi0TPpXg6l9GE7fhVoJNovg+2IMCpoPH8Ei0dOeZZAeKAqord4me9DZ9PqYs708ebF3xQuJAar2LCSCXueltT5GaMycseoOUuZx3yY9z6jU+hWS",
            "=?us-ascii?Q?1; CY4PR07MB3461;\n\t23:wy+CK7FPs3FmZYNzEEi1k030lkdEXPikmTpKYvVUU?=\n\t5Tgq6nK3k56U+cE99zUnFdIbdD2olbdx9fQTt9lxrV44PzU8O6lqfMQPkMr2nC5O4fZh7HnsWSJLjU+h0uZOJLCyYvFqwwR28dtJwEbAvZRsiIMBqzkx09iFfpwQS0Jk4HX7rW5w/lxoq0t0ErRQiy3sOeaagJ0qeCYHTdp9FxSzniSwliKy4ngkHW6hOoizHqAPci4PqdBe8e0Q9RZ5OKlJhjyOwK/hE1lTC+JWzr3MBpL2dSakLTPSK86nnRTd2T7J2tpE7nOWy0UzCPvRBknKgIFAXrFdwrYseSSBPaRa2eaxvvLMYiF4g650KzsT7NQcSSI40DP5p/a8Tq+7AQ4EZJShTj/JRGDZ4f/751ZGpfNiYUDxMA3FBHXqFusHKwlW1oDGrkwLas2IP58Q2qu6LAl7Gxwj98/GQG6XAGyUCJRNJP6Yc+kfHhUg0PE4u6KzavRIJVcidMh8gQZKDmAY21Xj2cDlO1V5dGYtMZ15TOJ5plDxAWRwh2shOesn/45QJcYiFS60uNMQrtq7pf4itgG+Um24g5M8q+QZnyp+r2DA+oOcRLj4EEhB4ORwNpMjkA8zecIfS2GTRdC3zrtwQvS+TW8Z4K9WcuTjmNdx8XhehI6+zxyn9TlDopO6JqK5zy0oZ7tRwJAl94rrkfVGIcfu7QVdtw6YUJ9zbsI+kQygtBUPEKBoHKoK0jgbD3Pbs37fF4r0xZ72CNYcztKzLyW5sPLSVcfte+qpNzwP/M7M1D8c3S5zViO6gFfOyYU8+PlJZ1W+0D7s///Nd6dKoKycePaTFDwvD4UJ7b0Jd6KnbMIjpf3qaWudWiK2m0ghlFBI7/591Gt8tQ8/XF4XWkKD7jVtxDH7/df7D/EjBrjvBFRkfsdAMgUXMUCoxSjXjQV2qU97jcjv2iFaB6pZ4l0skK0uWfa+5YVf05EH1QdsWYdYkGkKnqIHJf3wTe11X2gkOzEs+NmPJgdLhO3SWi8mbcB3DcqAhIYAZj6/nhMeeECXJH9e13cfjjlkj2Nvm0BbzU2UlvXJ1vURpL19ynmhOOOcUYSrA1HuRVcNjJ0626AFNZLZ09i88n/o4KpCFcZQEB3ZqstJ5dBG8SucJAM9mKjS7Ss9GzLH96aqQ==",
            "1; CY4PR07MB3461;\n\t6:R4cP9z2k8kcSrK13Xk23zpzMh6+1wm9mHvxAQI1nKVO4xksUBMlKkk0zEcXpT6zOqYVTxAU6Ppl1CC5v5v9NQclqTD8MfPK02YmbeuazRN7KAjkBODAJToL0fjS8PnVaEApa/dMD1GY+io4XfZNnUYMf4I/AaXQH4sLEKSEN/HOa3l8tP2EpMCWWOcn7rbRXON2jwNCQPz0ptfoWon5M6hzhwC0Tiq/CG+2G4Rjok8BR5PFBGW2b2YmdPcQuetDEWCgNO861M6iG4Cf/BnKC0Bk3dNoxCU7gH9NwvBQFZbo0bhd6HM7XOnteM1COGYe2dhd52m8he4+yWP1YUO4eNg==;\n\t5:GrJumPVXA1NFueNELHbELoHWRe6f1VoKfnxj66IMzBhe6fHWY69tDgbKrwoy3UlU+UeSOdwezpxiH3zYhOzPa7ZAtYexEkHnKF+ugMNYaYJ/C9PgB0dwp5uf6K2F/KES0n0CO7UlvBLaloPbMwNKUg==;\n\t24:uB0IghLYlxO/Jrq1YQsrZhBzVP25Fxe/lEUxXOAHi4l7yGBXQ3dlGQ0FqqSOjkSC8RQzreloz4UHTLhcaNLgMUA4fbV9yqhi3VOXTj5IQSg=;\n\t7:eIfMB/A37lUIQpuWp1uf8G5mJthp+3KrUB0KgCxJDnplKdMsAuG0rcFqkwrWsKdwf6ye5G6J8sTcVwwPUVPHBeY04CBCLUWFFPDjK9ei2yOsUXV+WLIIcyiQSRw+rdCaSfwRSrxHtwNFn2B2rq1khvtqeRfw8jTKk37GjHNInjFAb7kgm+EWKksNqM5e+ZbXxwe0c5rAGXN9Lrx5pPjhYdKdY85exhzrKZFGw5jCj8w="
        ],
        "X-MS-TrafficTypeDiagnostic": "CY4PR07MB3461:",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Microsoft-Antispam-PRVS": "<CY4PR07MB3461035E2F2FB41BBB7E156880940@CY4PR07MB3461.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(100000703101)(100105400095)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123564025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:CY4PR07MB3461; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:CY4PR07MB3461; ",
        "X-Forefront-PRVS": "04238CD941",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(6009001)(189002)(199003)(72206003)(97736004)(25786009)(6512007)(478600001)(107886003)(110136004)(5009440100003)(6506006)(50466002)(4326008)(69596002)(48376002)(3846002)(2906002)(6116002)(50226002)(8676002)(81156014)(81166006)(42186005)(53416004)(50986999)(6666003)(76176999)(5003940100001)(36756003)(6486002)(105586002)(33646002)(5660300001)(305945005)(106356001)(189998001)(66066001)(42882006)(68736007)(47776003)(101416001)(7736002)(53936002)(575784001)(8936002)(2950100002)(42262002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3461;\n\tH:PBHAGAVATULA-LT.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords;\n\tMX:1; A: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": "07 Sep 2017 14:40:22.2266\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CY4PR07MB3461",
        "Subject": "[dpdk-dev]  [PATCH 2/2] test: add test for bitmap operations",
        "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 patch adds a test for verifying the bitmap operations.\n\nSigned-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>\n---\n test/test/Makefile      |   1 +\n test/test/test_bitmap.c | 192 ++++++++++++++++++++++++++++++++++++++++++++++++\n 2 files changed, 193 insertions(+)\n create mode 100644 test/test/test_bitmap.c",
    "diff": "diff --git a/test/test/Makefile b/test/test/Makefile\nindex 42d9a49..2fda8d9 100644\n--- a/test/test/Makefile\n+++ b/test/test/Makefile\n@@ -94,6 +94,7 @@ SRCS-y += test_cycles.c\n SRCS-y += test_spinlock.c\n SRCS-y += test_memory.c\n SRCS-y += test_memzone.c\n+SRCS-y += test_bitmap.c\n \n SRCS-y += test_ring.c\n SRCS-y += test_ring_perf.c\ndiff --git a/test/test/test_bitmap.c b/test/test/test_bitmap.c\nnew file mode 100644\nindex 0000000..5c9eee9\n--- /dev/null\n+++ b/test/test/test_bitmap.c\n@@ -0,0 +1,192 @@\n+/*\n+ *   BSD LICENSE\n+ *\n+ *   Copyright (C) Cavium, Inc. 2017.\n+ *\n+ *   Redistribution and use in source and binary forms, with or without\n+ *   modification, are permitted provided that the following conditions\n+ *   are met:\n+ *\n+ *     * Redistributions of source code must retain the above copyright\n+ *       notice, this list of conditions and the following disclaimer.\n+ *     * Redistributions in binary form must reproduce the above copyright\n+ *       notice, this list of conditions and the following disclaimer in\n+ *       the documentation and/or other materials provided with the\n+ *       distribution.\n+ *     * Neither the name of Cavium, Inc nor the names of its\n+ *       contributors may be used to endorse or promote products derived\n+ *       from this software without specific prior written permission.\n+ *\n+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ *   \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+#include <stdio.h>\n+#include <inttypes.h>\n+\n+#include <rte_common.h>\n+#include <rte_bitmap.h>\n+#include <rte_malloc.h>\n+\n+#include \"test.h\"\n+\n+#define MAX_BITS 1000\n+\n+static int\n+test_bitmap_scan_operations(struct rte_bitmap *bmp)\n+{\n+\tuint32_t pos = 0;\n+\tuint64_t slab1_magic = 0xBADC0FFEEBADF00D;\n+\tuint64_t slab2_magic = 0xFEEDDEADDEADF00D;\n+\tuint64_t out_slab = 0;\n+\n+\trte_bitmap_reset(bmp);\n+\n+\trte_bitmap_set_slab(bmp, pos, slab1_magic);\n+\trte_bitmap_set_slab(bmp, pos + RTE_BITMAP_SLAB_BIT_SIZE, slab2_magic);\n+\n+\tif (!rte_bitmap_scan(bmp, &pos, &out_slab)) {\n+\t\tprintf(\"Failed to get slab from bitmap.\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\tif (slab1_magic != out_slab) {\n+\t\tprintf(\"Scan operation sanity failed.\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\tif (!rte_bitmap_scan(bmp, &pos, &out_slab)) {\n+\t\tprintf(\"Failed to get slab from bitmap.\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\tif (slab2_magic != out_slab) {\n+\t\tprintf(\"Scan operation sanity failed.\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\t/* Wrap around */\n+\tif (!rte_bitmap_scan(bmp, &pos, &out_slab)) {\n+\t\tprintf(\"Failed to get slab from bitmap.\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\tif (slab1_magic != out_slab) {\n+\t\tprintf(\"Scan operation wrap around failed.\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\t/* Scan reset check. */\n+\t__rte_bitmap_scan_init(bmp);\n+\n+\tif (!rte_bitmap_scan(bmp, &pos, &out_slab)) {\n+\t\tprintf(\"Failed to get slab from bitmap.\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\tif (slab1_magic != out_slab) {\n+\t\tprintf(\"Scan reset operation failed.\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\treturn TEST_SUCCESS;\n+}\n+\n+static int\n+test_bitmap_slab_set_get(struct rte_bitmap *bmp)\n+{\n+\tuint32_t pos = 0;\n+\tuint64_t slab_magic = 0xBADC0FFEEBADF00D;\n+\tuint64_t out_slab = 0;\n+\n+\trte_bitmap_reset(bmp);\n+\trte_bitmap_set_slab(bmp, pos, slab_magic);\n+\n+\tif (!rte_bitmap_scan(bmp, &pos, &out_slab)) {\n+\t\tprintf(\"Failed to get slab from bitmap.\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\n+\tif (slab_magic != out_slab) {\n+\t\tprintf(\"Invalid slab in bitmap.\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\n+\treturn TEST_SUCCESS;\n+}\n+\n+static int\n+test_bitmap_set_get_clear(struct rte_bitmap *bmp)\n+{\n+\tint i;\n+\n+\trte_bitmap_reset(bmp);\n+\tfor (i = 0; i < MAX_BITS; i++)\n+\t\trte_bitmap_set(bmp, i);\n+\n+\tfor (i = 0; i < MAX_BITS; i++) {\n+\t\tif (!rte_bitmap_get(bmp, i)) {\n+\t\t\tprintf(\"Failed to get set bit.\\n\");\n+\t\t\treturn TEST_FAILED;\n+\t\t}\n+\t}\n+\n+\tfor (i = 0; i < MAX_BITS; i++)\n+\t\trte_bitmap_clear(bmp, i);\n+\n+\tfor (i = 0; i < MAX_BITS; i++) {\n+\t\tif (rte_bitmap_get(bmp, i)) {\n+\t\t\tprintf(\"Failed to clear set bit.\\n\");\n+\t\t\treturn TEST_FAILED;\n+\t\t}\n+\t}\n+\n+\treturn TEST_SUCCESS;\n+}\n+\n+static int\n+test_bitmap(void)\n+{\n+\tvoid *mem;\n+\tuint32_t bmp_size;\n+\tstruct rte_bitmap *bmp;\n+\n+\tbmp_size =\n+\t\trte_bitmap_get_memory_footprint(MAX_BITS);\n+\n+\tmem = rte_zmalloc(\"test_bmap\", bmp_size, RTE_CACHE_LINE_SIZE);\n+\tif (mem == NULL) {\n+\t\tprintf(\"Failed to allocate memory for bitmap\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\tbmp = rte_bitmap_init(MAX_BITS, mem, bmp_size);\n+\tif (bmp == NULL) {\n+\t\tprintf(\"Failed to init bitmap\\n\");\n+\t\treturn TEST_FAILED;\n+\t}\n+\n+\tif (test_bitmap_set_get_clear(bmp) < 0)\n+\t\treturn TEST_FAILED;\n+\n+\tif (test_bitmap_slab_set_get(bmp) < 0)\n+\t\treturn TEST_FAILED;\n+\n+\tif (test_bitmap_scan_operations(bmp) < 0)\n+\t\treturn TEST_FAILED;\n+\n+\treturn TEST_SUCCESS;\n+}\n+\n+REGISTER_TEST_COMMAND(bitmap_test, test_bitmap);\n",
    "prefixes": [
        "dpdk-dev",
        "2/2"
    ]
}