get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 12686,
    "url": "http://patchwork.dpdk.org/api/patches/12686/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1462976770-6780-2-git-send-email-thomas.monjalon@6wind.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<1462976770-6780-2-git-send-email-thomas.monjalon@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1462976770-6780-2-git-send-email-thomas.monjalon@6wind.com",
    "date": "2016-05-11T14:26:07",
    "name": "[dpdk-dev,v2,1/4] app/test: shorten execution time",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "d951bdc064f9bb62c34ee7b46129b155256380eb",
    "submitter": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/people/1/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas.monjalon@6wind.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1462976770-6780-2-git-send-email-thomas.monjalon@6wind.com/mbox/",
    "series": [],
    "comments": "http://patchwork.dpdk.org/api/patches/12686/comments/",
    "check": "pending",
    "checks": "http://patchwork.dpdk.org/api/patches/12686/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 201425AB1;\n\tWed, 11 May 2016 16:26:19 +0200 (CEST)",
            "from mail-wm0-f45.google.com (mail-wm0-f45.google.com\n\t[74.125.82.45]) by dpdk.org (Postfix) with ESMTP id 643CF5934\n\tfor <dev@dpdk.org>; Wed, 11 May 2016 16:26:16 +0200 (CEST)",
            "by mail-wm0-f45.google.com with SMTP id n129so222163549wmn.1\n\tfor <dev@dpdk.org>; Wed, 11 May 2016 07:26:16 -0700 (PDT)",
            "from XPS13.localdomain (184.203.134.77.rev.sfr.net.\n\t[77.134.203.184]) by smtp.gmail.com with ESMTPSA id\n\to4sm8368474wjx.45.2016.05.11.07.26.15\n\tfor <dev@dpdk.org> (version=TLSv1/SSLv3 cipher=OTHER);\n\tWed, 11 May 2016 07:26:15 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=6wind-com.20150623.gappssmtp.com; s=20150623;\n\th=from:to:subject:date:message-id:in-reply-to:references;\n\tbh=mCRULvqI4+fYmOE1D4zju83CLeq4wUsbfbnpAcsd+IM=;\n\tb=GF3MfuzkS0KlVyY3ZvmpzWZ8KmyfzdRgKO02WKBh/00k40UHd4UeQYjmU7RSPyEC3u\n\tRm4DhiYh6t+eBl54Te4aDZO5tJcj4xSIvcdyePRQjB5gPX8BNJx3ji/PTc5cjKaOGJD3\n\taSGDsLiVSV48unwWWVQ+vnrqQgIXWF5Xnhct9bTMwIdWDWIUGkIuJjwsxPZ8ApMuong7\n\tSAk5x8tzaQN7PdkddG6dmdhlTXKJHEa5WwJ77KzEDWuTbcoJ4xsDXnr3abWHcObUBivj\n\tv1SxIcLQx9U2yEYv21xD/uwJVlO8BFwP6D87KMAaMO/fH+7tycR1zxeWyboQE9Jij/5Z\n\tbtnA==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:from:to:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=mCRULvqI4+fYmOE1D4zju83CLeq4wUsbfbnpAcsd+IM=;\n\tb=F0Xw6bwJSmwK9OfCTR8j2/JXos25z6NTKVz0VLn4jSoIC9OvYKpMURhn4Zgdkfzri2\n\ttk1XFn0EZuP+EGTL2Eo5qXoOJ2dSa24oRw7CoDqL6LEqWBdpI5NkFF0AhrQFACd+DGK9\n\tsaA2qNLhLF9syc84obLt0eF52Z4wymMDfOs8wbvK6LeyHzIev3MQYHqwaMCRbzauw5sh\n\tqIkl0r1Xut4Q31W/smWw6yrZ3Q2aCxC8Rh2WaS5M4inoQsCXVoHGN+6kuaRBwXwMJYle\n\trV0XRG98IHtdmabUfiw8qgmnI2sIVJa0/MW8AMPQ90y28u9NyJv8FlI2jX8+IN0P3dBO\n\t+xog==",
        "X-Gm-Message-State": "AOPr4FUbH96z+GpGajgQkZx/xKFl6fc8OeA1z0oEHJ3Wv/BYby2K93DgEWklreYS/1Q++A8A",
        "X-Received": "by 10.194.203.105 with SMTP id kp9mr4210325wjc.70.1462976776079; \n\tWed, 11 May 2016 07:26:16 -0700 (PDT)",
        "From": "Thomas Monjalon <thomas.monjalon@6wind.com>",
        "To": "dev@dpdk.org",
        "Date": "Wed, 11 May 2016 16:26:07 +0200",
        "Message-Id": "<1462976770-6780-2-git-send-email-thomas.monjalon@6wind.com>",
        "X-Mailer": "git-send-email 2.7.0",
        "In-Reply-To": "<1462976770-6780-1-git-send-email-thomas.monjalon@6wind.com>",
        "References": "<1462383137-24045-1-git-send-email-thomas.monjalon@6wind.com>\n\t<1462976770-6780-1-git-send-email-thomas.monjalon@6wind.com>",
        "Subject": "[dpdk-dev] [PATCH v2 1/4] app/test: shorten execution time",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <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": "The autotests are too long to be run often.\nThis patch reduces the needed time of some tests in fast_test.\n\nSigned-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>\n---\n app/test/autotest_test_funcs.py | 14 ++++++------\n app/test/test_alarm.c           | 48 ++++++++++++++++++++---------------------\n app/test/test_hash.c            |  8 +++----\n app/test/test_interrupts.c      |  4 ++--\n app/test/test_lpm6.c            | 35 +++++++++++++-----------------\n app/test/test_mbuf.c            |  2 +-\n app/test/test_mempool.c         |  6 +++---\n app/test/test_per_lcore.c       |  4 ++--\n app/test/test_ring.c            |  6 +++---\n app/test/test_spinlock.c        |  6 +++---\n app/test/test_timer.c           | 20 ++++++++---------\n 11 files changed, 74 insertions(+), 79 deletions(-)",
    "diff": "diff --git a/app/test/autotest_test_funcs.py b/app/test/autotest_test_funcs.py\nindex f04909d..5222f6e 100644\n--- a/app/test/autotest_test_funcs.py\n+++ b/app/test/autotest_test_funcs.py\n@@ -83,7 +83,7 @@ def spinlock_autotest(child, test_name):\n \t\t\t\"Test Failed\",\n \t\t\t\"Hello from core ([0-9]*) !\",\n \t\t\t\"Hello from within recursive locks from ([0-9]*) !\",\n-\t\tpexpect.TIMEOUT], timeout = 20)\n+\t\tpexpect.TIMEOUT], timeout = 5)\n \t\t# ok\n \t\tif index == 0:\n \t\t\tbreak\n@@ -177,9 +177,9 @@ def timer_autotest(child, test_name):\n \ti = 0\n \tchild.sendline(test_name)\n \n-\tindex = child.expect([\"Start timer stress tests \\(20 seconds\\)\",\n+\tindex = child.expect([\"Start timer stress tests\",\n \t\t\"Test Failed\",\n-\t\tpexpect.TIMEOUT], timeout = 10)\n+\t\tpexpect.TIMEOUT], timeout = 5)\n \n \tif index == 1:\n \t\treturn -1, \"Fail\"\n@@ -188,16 +188,16 @@ def timer_autotest(child, test_name):\n \n \tindex = child.expect([\"Start timer stress tests 2\",\n \t\t\"Test Failed\",\n-\t\tpexpect.TIMEOUT], timeout = 40)\n+\t\tpexpect.TIMEOUT], timeout = 5)\n \n \tif index == 1:\n \t\treturn -1, \"Fail\"\n \telif index == 2:\n \t\treturn -1, \"Fail [Timeout]\"\n \n-\tindex = child.expect([\"Start timer basic tests \\(20 seconds\\)\",\n+\tindex = child.expect([\"Start timer basic tests\",\n \t\t\"Test Failed\",\n-\t\tpexpect.TIMEOUT], timeout = 20)\n+\t\tpexpect.TIMEOUT], timeout = 5)\n \n \tif index == 1:\n \t\treturn -1, \"Fail\"\n@@ -277,7 +277,7 @@ def timer_autotest(child, test_name):\n def ring_autotest(child, test_name):\n \tchild.sendline(test_name)\n \tindex = child.expect([\"Test OK\", \"Test Failed\",\n-\t\tpexpect.TIMEOUT], timeout = 15)\n+\t\tpexpect.TIMEOUT], timeout = 2)\n \tif index == 1:\n \t\treturn -1, \"Fail\"\n \telif index == 2:\ndiff --git a/app/test/test_alarm.c b/app/test/test_alarm.c\nindex 5d6f4a2..d83591c 100644\n--- a/app/test/test_alarm.c\n+++ b/app/test/test_alarm.c\n@@ -45,8 +45,8 @@\n \n #define US_PER_MS 1000\n \n-#define RTE_TEST_ALARM_TIMEOUT 3000 /* ms */\n-#define RTE_TEST_CHECK_PERIOD  1000 /* ms */\n+#define RTE_TEST_ALARM_TIMEOUT 10 /* ms */\n+#define RTE_TEST_CHECK_PERIOD   3 /* ms */\n \n static volatile int flag;\n \n@@ -100,17 +100,17 @@ test_multi_alarms(void)\n \n \tprintf(\"Expect 6 callbacks in order...\\n\");\n \t/* add two alarms in order */\n-\trte_eal_alarm_set(1000 * US_PER_MS, test_multi_cb, (void *)1);\n-\trte_eal_alarm_set(2000 * US_PER_MS, test_multi_cb, (void *)2);\n+\trte_eal_alarm_set(10 * US_PER_MS, test_multi_cb, (void *)1);\n+\trte_eal_alarm_set(20 * US_PER_MS, test_multi_cb, (void *)2);\n \n \t/* now add in reverse order */\n-\trte_eal_alarm_set(6000 * US_PER_MS, test_multi_cb, (void *)6);\n-\trte_eal_alarm_set(5000 * US_PER_MS, test_multi_cb, (void *)5);\n-\trte_eal_alarm_set(4000 * US_PER_MS, test_multi_cb, (void *)4);\n-\trte_eal_alarm_set(3000 * US_PER_MS, test_multi_cb, (void *)3);\n+\trte_eal_alarm_set(60 * US_PER_MS, test_multi_cb, (void *)6);\n+\trte_eal_alarm_set(50 * US_PER_MS, test_multi_cb, (void *)5);\n+\trte_eal_alarm_set(40 * US_PER_MS, test_multi_cb, (void *)4);\n+\trte_eal_alarm_set(30 * US_PER_MS, test_multi_cb, (void *)3);\n \n \t/* wait for expiry */\n-\trte_delay_ms(6500);\n+\trte_delay_ms(65);\n \tif (cb_count.cnt != 6) {\n \t\tprintf(\"Missing callbacks\\n\");\n \t\t/* remove any callbacks that might remain */\n@@ -121,12 +121,12 @@ test_multi_alarms(void)\n \tcb_count.cnt = 0;\n \tprintf(\"Expect only callbacks with args 1 and 3...\\n\");\n \t/* Add 3 flags, then delete one */\n-\trte_eal_alarm_set(3000 * US_PER_MS, test_multi_cb, (void *)3);\n-\trte_eal_alarm_set(2000 * US_PER_MS, test_multi_cb, (void *)2);\n-\trte_eal_alarm_set(1000 * US_PER_MS, test_multi_cb, (void *)1);\n+\trte_eal_alarm_set(30 * US_PER_MS, test_multi_cb, (void *)3);\n+\trte_eal_alarm_set(20 * US_PER_MS, test_multi_cb, (void *)2);\n+\trte_eal_alarm_set(10 * US_PER_MS, test_multi_cb, (void *)1);\n \trm_count = rte_eal_alarm_cancel(test_multi_cb, (void *)2);\n \n-\trte_delay_ms(3500);\n+\trte_delay_ms(35);\n \tif (cb_count.cnt != 2 || rm_count != 1) {\n \t\tprintf(\"Error: invalid flags count or alarm removal failure\"\n \t\t\t\t\" -  flags value = %d, expected = %d\\n\",\n@@ -138,9 +138,9 @@ test_multi_alarms(void)\n \n \tprintf(\"Testing adding and then removing multiple alarms\\n\");\n \t/* finally test that no callbacks are called if we delete them all*/\n-\trte_eal_alarm_set(1000 * US_PER_MS, test_multi_cb, (void *)1);\n-\trte_eal_alarm_set(1000 * US_PER_MS, test_multi_cb, (void *)2);\n-\trte_eal_alarm_set(1000 * US_PER_MS, test_multi_cb, (void *)3);\n+\trte_eal_alarm_set(10 * US_PER_MS, test_multi_cb, (void *)1);\n+\trte_eal_alarm_set(10 * US_PER_MS, test_multi_cb, (void *)2);\n+\trte_eal_alarm_set(10 * US_PER_MS, test_multi_cb, (void *)3);\n \trm_count = rte_eal_alarm_cancel(test_alarm_callback, (void *)-1);\n \tif (rm_count != 0) {\n \t\tprintf(\"Error removing non-existant alarm succeeded\\n\");\n@@ -157,19 +157,19 @@ test_multi_alarms(void)\n \t * Also test that we can cancel head-of-line callbacks ok.*/\n \tflag = 0;\n \trecursive_error = 0;\n-\trte_eal_alarm_set(1000 * US_PER_MS, test_remove_in_callback, (void *)1);\n-\trte_eal_alarm_set(2000 * US_PER_MS, test_remove_in_callback, (void *)2);\n+\trte_eal_alarm_set(10 * US_PER_MS, test_remove_in_callback, (void *)1);\n+\trte_eal_alarm_set(20 * US_PER_MS, test_remove_in_callback, (void *)2);\n \trm_count = rte_eal_alarm_cancel(test_remove_in_callback, (void *)1);\n \tif (rm_count != 1) {\n \t\tprintf(\"Error cancelling head-of-list callback\\n\");\n \t\treturn -1;\n \t}\n-\trte_delay_ms(1500);\n+\trte_delay_ms(15);\n \tif (flag != 0) {\n \t\tprintf(\"Error, cancelling head-of-list leads to premature callback\\n\");\n \t\treturn -1;\n \t}\n-\trte_delay_ms(1000);\n+\trte_delay_ms(10);\n \tif (flag != 2) {\n \t\tprintf(\"Error - expected callback not called\\n\");\n \t\trte_eal_alarm_cancel(test_remove_in_callback, (void *)-1);\n@@ -181,10 +181,10 @@ test_multi_alarms(void)\n \t/* Check if it can cancel all for the same callback */\n \tprintf(\"Testing canceling all for the same callback\\n\");\n \tflag_2 = 0;\n-\trte_eal_alarm_set(1000 * US_PER_MS, test_remove_in_callback, (void *)1);\n-\trte_eal_alarm_set(2000 * US_PER_MS, test_remove_in_callback_2, (void *)2);\n-\trte_eal_alarm_set(3000 * US_PER_MS, test_remove_in_callback_2, (void *)3);\n-\trte_eal_alarm_set(4000 * US_PER_MS, test_remove_in_callback, (void *)4);\n+\trte_eal_alarm_set(10 * US_PER_MS, test_remove_in_callback, (void *)1);\n+\trte_eal_alarm_set(20 * US_PER_MS, test_remove_in_callback_2, (void *)2);\n+\trte_eal_alarm_set(30 * US_PER_MS, test_remove_in_callback_2, (void *)3);\n+\trte_eal_alarm_set(40 * US_PER_MS, test_remove_in_callback, (void *)4);\n \trm_count = rte_eal_alarm_cancel(test_remove_in_callback_2, (void *)-1);\n \tif (rm_count != 2) {\n \t\tprintf(\"Error, cannot cancel all for the same callback\\n\");\ndiff --git a/app/test/test_hash.c b/app/test/test_hash.c\nindex 61fc0a0..7e41725 100644\n--- a/app/test/test_hash.c\n+++ b/app/test/test_hash.c\n@@ -176,7 +176,7 @@ static struct rte_hash_parameters ut_params = {\n \t.socket_id = 0,\n };\n \n-#define CRC32_ITERATIONS (1U << 20)\n+#define CRC32_ITERATIONS (1U << 10)\n #define CRC32_DWORDS (1U << 6)\n /*\n  * Test if all CRC32 implementations yield the same hash value\n@@ -1081,7 +1081,7 @@ test_hash_creation_with_good_parameters(void)\n \treturn 0;\n }\n \n-#define ITERATIONS 50\n+#define ITERATIONS 3\n /*\n  * Test to see the average table utilization (entries added/max entries)\n  * before hitting a random entry that cannot be added\n@@ -1098,7 +1098,7 @@ static int test_average_table_utilization(void)\n \t       \"\\n  before adding elements begins to fail\\n\");\n \tprintf(\"Measuring performance, please wait\");\n \tfflush(stdout);\n-\tut_params.entries = 1 << 20;\n+\tut_params.entries = 1 << 16;\n \tut_params.name = \"test_average_utilization\";\n \tut_params.hash_func = rte_jhash;\n \thandle = rte_hash_create(&ut_params);\n@@ -1138,7 +1138,7 @@ static int test_average_table_utilization(void)\n \treturn 0;\n }\n \n-#define NUM_ENTRIES 1024\n+#define NUM_ENTRIES 256\n static int test_hash_iteration(void)\n {\n \tstruct rte_hash *handle;\ndiff --git a/app/test/test_interrupts.c b/app/test/test_interrupts.c\nindex 6e3dec3..df6d261 100644\n--- a/app/test/test_interrupts.c\n+++ b/app/test/test_interrupts.c\n@@ -41,7 +41,7 @@\n \n #include \"test.h\"\n \n-#define TEST_INTERRUPT_CHECK_INTERVAL 1000 /* ms */\n+#define TEST_INTERRUPT_CHECK_INTERVAL 100 /* ms */\n \n /* predefined interrupt handle types */\n enum test_interrupt_handle_type {\n@@ -372,7 +372,7 @@ test_interrupt_full_path_check(enum test_interrupt_handle_type intr_type)\n \tif (test_interrupt_trigger_interrupt() < 0)\n \t\treturn -1;\n \n-\t/* check flag in 3 seconds */\n+\t/* check flag */\n \tfor (count = 0; flag == 0 && count < 3; count++)\n \t\trte_delay_ms(TEST_INTERRUPT_CHECK_INTERVAL);\n \ndiff --git a/app/test/test_lpm6.c b/app/test/test_lpm6.c\nindex 9163cd7..9545982 100644\n--- a/app/test/test_lpm6.c\n+++ b/app/test/test_lpm6.c\n@@ -220,7 +220,7 @@ test1(void)\n }\n \n /*\n- * Create lpm table then delete lpm table 100 times\n+ * Create lpm table then delete lpm table 20 times\n  * Use a slightly different rules size each time\n  */\n int32_t\n@@ -234,7 +234,7 @@ test2(void)\n \tconfig.flags = 0;\n \n \t/* rte_lpm6_free: Free NULL */\n-\tfor (i = 0; i < 100; i++) {\n+\tfor (i = 0; i < 20; i++) {\n \t\tconfig.max_rules = MAX_RULES - i;\n \t\tlpm = rte_lpm6_create(__func__, SOCKET_ID_ANY, &config);\n \t\tTEST_LPM_ASSERT(lpm != NULL);\n@@ -693,7 +693,7 @@ test13(void)\n }\n \n /*\n- * Add 2^16 routes with different first 16 bits and depth 25.\n+ * Add 2^12 routes with different first 12 bits and depth 25.\n  * Add one more route with the same depth and check that results in a failure.\n  * After that delete the last rule and create the one that was attempted to be\n  * created. This checks tbl8 exhaustion.\n@@ -706,10 +706,10 @@ test14(void)\n \tuint8_t ip[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};\n \tuint8_t depth = 25, next_hop_add = 100;\n \tint32_t status = 0;\n-\tint i, j;\n+\tint i;\n \n \tconfig.max_rules = MAX_RULES;\n-\tconfig.number_tbl8s = NUMBER_TBL8S;\n+\tconfig.number_tbl8s = 256;\n \tconfig.flags = 0;\n \n \tlpm = rte_lpm6_create(__func__, SOCKET_ID_ANY, &config);\n@@ -717,28 +717,22 @@ test14(void)\n \n \tfor (i = 0; i < 256; i++) {\n \t\tip[0] = (uint8_t)i;\n-\t\tfor (j = 0; j < 256; j++) {\n-\t\t\tip[1] = (uint8_t)j;\n-\t\t\tstatus = rte_lpm6_add(lpm, ip, depth, next_hop_add);\n-\t\t\tTEST_LPM_ASSERT(status == 0);\n-\t\t}\n+\t\tstatus = rte_lpm6_add(lpm, ip, depth, next_hop_add);\n+\t\tTEST_LPM_ASSERT(status == 0);\n \t}\n \n \tip[0] = 255;\n-\tip[1] = 255;\n-\tip[2] = 1;\n+\tip[1] = 1;\n \tstatus = rte_lpm6_add(lpm, ip, depth, next_hop_add);\n \tTEST_LPM_ASSERT(status == -ENOSPC);\n \n \tip[0] = 255;\n-\tip[1] = 255;\n-\tip[2] = 0;\n+\tip[1] = 0;\n \tstatus = rte_lpm6_delete(lpm, ip, depth);\n \tTEST_LPM_ASSERT(status == 0);\n \n \tip[0] = 255;\n-\tip[1] = 255;\n-\tip[2] = 1;\n+\tip[1] = 1;\n \tstatus = rte_lpm6_add(lpm, ip, depth, next_hop_add);\n \tTEST_LPM_ASSERT(status == 0);\n \n@@ -847,7 +841,7 @@ test17(void)\n \tTEST_LPM_ASSERT(lpm != NULL);\n \n \t/* Loop with rte_lpm6_add. */\n-\tfor (depth = 1; depth <= 128; depth++) {\n+\tfor (depth = 1; depth <= 16; depth++) {\n \t\t/* Let the next_hop_add value = depth. Just for change. */\n \t\tnext_hop_add = depth;\n \n@@ -864,7 +858,7 @@ test17(void)\n \t}\n \n \t/* Loop with rte_lpm6_delete. */\n-\tfor (depth = 128; depth >= 1; depth--) {\n+\tfor (depth = 16; depth >= 1; depth--) {\n \t\tnext_hop_add = (uint8_t) (depth - 1);\n \n \t\tstatus = rte_lpm6_delete(lpm, ip2, depth);\n@@ -1493,7 +1487,7 @@ test22(void)\n \n /*\n  * Add an extended rule (i.e. depth greater than 24, lookup (hit), delete,\n- * lookup (miss) in a for loop of 1000 times. This will check tbl8 extension\n+ * lookup (miss) in a for loop of 30 times. This will check tbl8 extension\n  * and contraction.\n  */\n int32_t\n@@ -1517,7 +1511,7 @@ test23(void)\n \tdepth = 128;\n \tnext_hop_add = 100;\n \n-\tfor (i = 0; i < 1000; i++) {\n+\tfor (i = 0; i < 30; i++) {\n \t\tstatus = rte_lpm6_add(lpm, ip, depth, next_hop_add);\n \t\tTEST_LPM_ASSERT(status == 0);\n \n@@ -1760,6 +1754,7 @@ test_lpm6(void)\n \tint status = -1, global_status = 0;\n \n \tfor (i = 0; i < NUM_LPM6_TESTS; i++) {\n+\t\tprintf(\"# test %02d\\n\", i);\n \t\tstatus = tests6[i]();\n \n \t\tif (status < 0) {\ndiff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c\nindex 98ff93a..59f9979 100644\n--- a/app/test/test_mbuf.c\n+++ b/app/test/test_mbuf.c\n@@ -748,7 +748,7 @@ test_refcnt_iter(unsigned lcore, unsigned iter)\n \t\t\t    __func__, lcore, iter, tref);\n \t\t\treturn;\n \t\t}\n-\t\trte_delay_ms(1000);\n+\t\trte_delay_ms(100);\n \t}\n \n \trte_panic(\"(lcore=%u, iter=%u): after %us only \"\ndiff --git a/app/test/test_mempool.c b/app/test/test_mempool.c\nindex f0f823b..893d5d0 100644\n--- a/app/test/test_mempool.c\n+++ b/app/test/test_mempool.c\n@@ -74,7 +74,7 @@\n #define N 65536\n #define TIME_S 5\n #define MEMPOOL_ELT_SIZE 2048\n-#define MAX_KEEP 128\n+#define MAX_KEEP 16\n #define MEMPOOL_SIZE ((rte_lcore_count()*(MAX_KEEP+RTE_MEMPOOL_CACHE_MAX_SIZE))-1)\n \n static struct rte_mempool *mp;\n@@ -222,7 +222,7 @@ static int test_mempool_single_producer(void)\n \tunsigned int i;\n \tvoid *obj = NULL;\n \tuint64_t start_cycles, end_cycles;\n-\tuint64_t duration = rte_get_timer_hz() * 8;\n+\tuint64_t duration = rte_get_timer_hz() / 4;\n \n \tstart_cycles = rte_get_timer_cycles();\n \twhile (1) {\n@@ -262,7 +262,7 @@ static int test_mempool_single_consumer(void)\n \tunsigned int i;\n \tvoid * obj;\n \tuint64_t start_cycles, end_cycles;\n-\tuint64_t duration = rte_get_timer_hz() * 5;\n+\tuint64_t duration = rte_get_timer_hz() / 8;\n \n \tstart_cycles = rte_get_timer_cycles();\n \twhile (1) {\ndiff --git a/app/test/test_per_lcore.c b/app/test/test_per_lcore.c\nindex b16449a..f452cdb 100644\n--- a/app/test/test_per_lcore.c\n+++ b/app/test/test_per_lcore.c\n@@ -92,8 +92,8 @@ display_vars(__attribute__((unused)) void *arg)\n static int\n test_per_lcore_delay(__attribute__((unused)) void *arg)\n {\n-\trte_delay_ms(5000);\n-\tprintf(\"wait 5000ms on lcore %u\\n\", rte_lcore_id());\n+\trte_delay_ms(100);\n+\tprintf(\"wait 100ms on lcore %u\\n\", rte_lcore_id());\n \n \treturn 0;\n }\ndiff --git a/app/test/test_ring.c b/app/test/test_ring.c\nindex 0d7523e..4f8dc8f 100644\n--- a/app/test/test_ring.c\n+++ b/app/test/test_ring.c\n@@ -130,7 +130,7 @@ check_live_watermark_change(__attribute__((unused)) void *dummy)\n \n \t/* init the object table */\n \tmemset(obj_table, 0, sizeof(obj_table));\n-\tend_time = rte_get_timer_cycles() + (hz * 2);\n+\tend_time = rte_get_timer_cycles() + (hz / 4);\n \n \t/* check that bulk and watermark are 4 and 32 (respectively) */\n \twhile (diff >= 0) {\n@@ -194,9 +194,9 @@ test_live_watermark_change(void)\n \t * watermark and quota */\n \trte_eal_remote_launch(check_live_watermark_change, NULL, lcore_id2);\n \n-\trte_delay_ms(1000);\n+\trte_delay_ms(100);\n \trte_ring_set_water_mark(r, 32);\n-\trte_delay_ms(1000);\n+\trte_delay_ms(100);\n \n \tif (rte_eal_wait_lcore(lcore_id2) < 0)\n \t\treturn -1;\ndiff --git a/app/test/test_spinlock.c b/app/test/test_spinlock.c\nindex 16ced7f..180d6de 100644\n--- a/app/test/test_spinlock.c\n+++ b/app/test/test_spinlock.c\n@@ -129,7 +129,7 @@ test_spinlock_recursive_per_core(__attribute__((unused)) void *arg)\n static rte_spinlock_t lk = RTE_SPINLOCK_INITIALIZER;\n static uint64_t lock_count[RTE_MAX_LCORE] = {0};\n \n-#define TIME_S 5\n+#define TIME_MS 100\n \n static int\n load_loop_fn(void *func_param)\n@@ -145,7 +145,7 @@ load_loop_fn(void *func_param)\n \t\twhile (rte_atomic32_read(&synchro) == 0);\n \n \tbegin = rte_get_timer_cycles();\n-\twhile (time_diff / hz < TIME_S) {\n+\twhile (time_diff < hz * TIME_MS / 1000) {\n \t\tif (use_lock)\n \t\t\trte_spinlock_lock(&lk);\n \t\tlcount++;\n@@ -258,7 +258,7 @@ test_spinlock(void)\n \n \tRTE_LCORE_FOREACH_SLAVE(i) {\n \t\trte_spinlock_unlock(&sl_tab[i]);\n-\t\trte_delay_ms(100);\n+\t\trte_delay_ms(10);\n \t}\n \n \trte_eal_mp_wait_lcore();\ndiff --git a/app/test/test_timer.c b/app/test/test_timer.c\nindex 944e2ad..bc07925 100644\n--- a/app/test/test_timer.c\n+++ b/app/test/test_timer.c\n@@ -137,7 +137,7 @@\n #include <rte_random.h>\n #include <rte_malloc.h>\n \n-#define TEST_DURATION_S 20 /* in seconds */\n+#define TEST_DURATION_S 1 /* in seconds */\n #define NB_TIMER 4\n \n #define RTE_LOGTYPE_TESTTIMER RTE_LOGTYPE_USER3\n@@ -305,7 +305,7 @@ timer_stress2_main_loop(__attribute__((unused)) void *arg)\n {\n \tstatic struct rte_timer *timers;\n \tint i, ret;\n-\tuint64_t delay = rte_get_timer_hz() / 4;\n+\tuint64_t delay = rte_get_timer_hz() / 20;\n \tunsigned lcore_id = rte_lcore_id();\n \tunsigned master = rte_get_master_lcore();\n \tint32_t my_collisions = 0;\n@@ -346,7 +346,7 @@ timer_stress2_main_loop(__attribute__((unused)) void *arg)\n \t\trte_atomic32_add(&collisions, my_collisions);\n \n \t/* wait long enough for timers to expire */\n-\trte_delay_ms(500);\n+\trte_delay_ms(100);\n \n \t/* all cores rendezvous */\n \tif (lcore_id == master) {\n@@ -396,7 +396,7 @@ timer_stress2_main_loop(__attribute__((unused)) void *arg)\n \t}\n \n \t/* wait long enough for timers to expire */\n-\trte_delay_ms(500);\n+\trte_delay_ms(100);\n \n \t/* now check that we get the right number of callbacks */\n \tif (lcore_id == master) {\n@@ -495,13 +495,13 @@ timer_basic_main_loop(__attribute__((unused)) void *arg)\n \n \t/* launch all timers on core 0 */\n \tif (lcore_id == rte_get_master_lcore()) {\n-\t\tmytimer_reset(&mytiminfo[0], hz, SINGLE, lcore_id,\n+\t\tmytimer_reset(&mytiminfo[0], hz/4, SINGLE, lcore_id,\n \t\t\t      timer_basic_cb);\n-\t\tmytimer_reset(&mytiminfo[1], hz*2, SINGLE, lcore_id,\n+\t\tmytimer_reset(&mytiminfo[1], hz/2, SINGLE, lcore_id,\n \t\t\t      timer_basic_cb);\n-\t\tmytimer_reset(&mytiminfo[2], hz, PERIODICAL, lcore_id,\n+\t\tmytimer_reset(&mytiminfo[2], hz/4, PERIODICAL, lcore_id,\n \t\t\t      timer_basic_cb);\n-\t\tmytimer_reset(&mytiminfo[3], hz, PERIODICAL,\n+\t\tmytimer_reset(&mytiminfo[3], hz/4, PERIODICAL,\n \t\t\t      rte_get_next_lcore(lcore_id, 0, 1),\n \t\t\t      timer_basic_cb);\n \t}\n@@ -591,7 +591,7 @@ test_timer(void)\n \tend_time = cur_time + (hz * TEST_DURATION_S);\n \n \t/* start other cores */\n-\tprintf(\"Start timer stress tests (%d seconds)\\n\", TEST_DURATION_S);\n+\tprintf(\"Start timer stress tests\\n\");\n \trte_eal_mp_remote_launch(timer_stress_main_loop, NULL, CALL_MASTER);\n \trte_eal_mp_wait_lcore();\n \n@@ -612,7 +612,7 @@ test_timer(void)\n \tend_time = cur_time + (hz * TEST_DURATION_S);\n \n \t/* start other cores */\n-\tprintf(\"\\nStart timer basic tests (%d seconds)\\n\", TEST_DURATION_S);\n+\tprintf(\"\\nStart timer basic tests\\n\");\n \trte_eal_mp_remote_launch(timer_basic_main_loop, NULL, CALL_MASTER);\n \trte_eal_mp_wait_lcore();\n \n",
    "prefixes": [
        "dpdk-dev",
        "v2",
        "1/4"
    ]
}