[dpdk-test-report] |WARNING| pw31233 [PATCH v2] ring: guarantee ordering of cons/prod loading when doing

checkpatch at dpdk.org checkpatch at dpdk.org
Tue Nov 7 09:35:54 CET 2017


Test-Label: checkpatch
Test-Status: WARNING
http://dpdk.org/patch/31233

_coding style issues_


WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#24: 
> If not, move, __rte_ring_do_dequeue() and __rte_ring_do_enqueue() instead of

ERROR:TRAILING_WHITESPACE: trailing whitespace
#145: FILE: lib/librte_ring/rte_ring_c11_mem.h:37:
+update_tail(struct rte_ring_headtail *ht, uint32_t old_val, uint32_t $

ERROR:CORRUPTED_PATCH: patch seems to be corrupt (line wrapped?)
#146: FILE: lib/librte_ring/rte_ring_c11_mem.h:37:
new_val,

WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
#150: FILE: lib/librte_ring/rte_ring_c11_mem.h:41:
+    /* Don't need wmb/rmb when we prefer to use load_acquire/
+     * store_release barrier */

WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#150: FILE: lib/librte_ring/rte_ring_c11_mem.h:41:
+     * store_release barrier */

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#152: FILE: lib/librte_ring/rte_ring_c11_mem.h:43:
+    if (enqueue)
+        rte_smp_wmb();

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#154: FILE: lib/librte_ring/rte_ring_c11_mem.h:45:
+    else
+        rte_smp_rmb();

WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
#159: FILE: lib/librte_ring/rte_ring_c11_mem.h:50:
+    /*
+     * If there are other enqueues/dequeues in progress that preceded us,

WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#161: FILE: lib/librte_ring/rte_ring_c11_mem.h:52:
+     */

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#162: FILE: lib/librte_ring/rte_ring_c11_mem.h:53:
+    if (!single)
+        while (unlikely(ht->tail != old_val))

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#163: FILE: lib/librte_ring/rte_ring_c11_mem.h:54:
+        while (unlikely(ht->tail != old_val))
+            rte_pause();

ERROR:TRAILING_WHITESPACE: trailing whitespace
#181: FILE: lib/librte_ring/rte_ring_c11_mem.h:72:
+ *   The number of elements we will want to enqueue, i.e. how far $

ERROR:TRAILING_WHITESPACE: trailing whitespace
#188: FILE: lib/librte_ring/rte_ring_c11_mem.h:78:
+ *   Returns head value as it was before the move, i.e. where enqueue $

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#208: FILE: lib/librte_ring/rte_ring_c11_mem.h:97:
+    do {
+        /* Reset n to the initial burst count */

WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
#222: FILE: lib/librte_ring/rte_ring_c11_mem.h:111:
+        /*
+         *  The subtraction is done between two unsigned 32bits value

WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#226: FILE: lib/librte_ring/rte_ring_c11_mem.h:115:
+         */

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#230: FILE: lib/librte_ring/rte_ring_c11_mem.h:119:
+        if (unlikely(n > *free_entries))
+            n = (behavior == RTE_RING_QUEUE_FIXED) ?

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#234: FILE: lib/librte_ring/rte_ring_c11_mem.h:123:
+        if (n == 0)
+            return 0;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#238: FILE: lib/librte_ring/rte_ring_c11_mem.h:127:
+        if (is_sp)
+            r->prod.head = *new_head, success = 1;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#240: FILE: lib/librte_ring/rte_ring_c11_mem.h:129:
+        else
[...]
+            success = arch_rte_atomic32_cmpset(&r->prod.head,

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#284: FILE: lib/librte_ring/rte_ring_c11_mem.h:173:
+    if (n == 0)
+        goto end;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#291: FILE: lib/librte_ring/rte_ring_c11_mem.h:180:
+    if (free_space != NULL)
+        *free_space = free_entries - n;

ERROR:TRAILING_WHITESPACE: trailing whitespace
#304: FILE: lib/librte_ring/rte_ring_c11_mem.h:193:
+ *   The number of elements we will want to enqueue, i.e. how far $

ERROR:TRAILING_WHITESPACE: trailing whitespace
#311: FILE: lib/librte_ring/rte_ring_c11_mem.h:199:
+ *   Returns head value as it was before the move, i.e. where dequeue $

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#331: FILE: lib/librte_ring/rte_ring_c11_mem.h:218:
+    do {
+        /* Restore n as it may change every loop */

WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
#345: FILE: lib/librte_ring/rte_ring_c11_mem.h:232:
+        /* The subtraction is done between two unsigned 32bits value
+         * (the result is always modulo 32 bits even if we have

WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#347: FILE: lib/librte_ring/rte_ring_c11_mem.h:234:
+         * and size(ring)-1. */

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#351: FILE: lib/librte_ring/rte_ring_c11_mem.h:238:
+        if (n > *entries)
+            n = (behavior == RTE_RING_QUEUE_FIXED) ? 0 : *entries;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#354: FILE: lib/librte_ring/rte_ring_c11_mem.h:241:
+        if (unlikely(n == 0))
+            return 0;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#358: FILE: lib/librte_ring/rte_ring_c11_mem.h:245:
+        if (is_sc)
+            r->cons.head = *new_head, success = 1;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#360: FILE: lib/librte_ring/rte_ring_c11_mem.h:247:
+        else
[...]
+            success = arch_rte_atomic32_cmpset(&r->cons.head,

ERROR:TRAILING_WHITESPACE: trailing whitespace
#389: FILE: lib/librte_ring/rte_ring_c11_mem.h:276:
+ *   returns the number of remaining ring entries after the dequeue has $

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#405: FILE: lib/librte_ring/rte_ring_c11_mem.h:291:
+    if (n == 0)
+        goto end;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#413: FILE: lib/librte_ring/rte_ring_c11_mem.h:299:
+    if (available != NULL)
+        *available = entries - n;

ERROR:TRAILING_WHITESPACE: trailing whitespace
#463: FILE: lib/librte_ring/rte_ring_generic.h:37:
+update_tail(struct rte_ring_headtail *ht, uint32_t old_val, uint32_t $

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#467: FILE: lib/librte_ring/rte_ring_generic.h:40:
+    if (enqueue)
+        rte_smp_wmb();

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#469: FILE: lib/librte_ring/rte_ring_generic.h:42:
+    else
+        rte_smp_rmb();

WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
#472: FILE: lib/librte_ring/rte_ring_generic.h:45:
+    /*
+     * If there are other enqueues/dequeues in progress that preceded us,

WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#474: FILE: lib/librte_ring/rte_ring_generic.h:47:
+     */

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#475: FILE: lib/librte_ring/rte_ring_generic.h:48:
+    if (!single)
+        while (unlikely(ht->tail != old_val))

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#476: FILE: lib/librte_ring/rte_ring_generic.h:49:
+        while (unlikely(ht->tail != old_val))
+            rte_pause();

ERROR:TRAILING_WHITESPACE: trailing whitespace
#490: FILE: lib/librte_ring/rte_ring_generic.h:63:
+ *   The number of elements we will want to enqueue, i.e. how far $

ERROR:TRAILING_WHITESPACE: trailing whitespace
#497: FILE: lib/librte_ring/rte_ring_generic.h:69:
+ *   Returns head value as it was before the move, i.e. where enqueue $

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#517: FILE: lib/librte_ring/rte_ring_generic.h:88:
+    do {
+        /* Reset n to the initial burst count */

WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
#524: FILE: lib/librte_ring/rte_ring_generic.h:95:
+        /*
+         *  The subtraction is done between two unsigned 32bits value

WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#528: FILE: lib/librte_ring/rte_ring_generic.h:99:
+         */

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#532: FILE: lib/librte_ring/rte_ring_generic.h:103:
+        if (unlikely(n > *free_entries))
+            n = (behavior == RTE_RING_QUEUE_FIXED) ?

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#536: FILE: lib/librte_ring/rte_ring_generic.h:107:
+        if (n == 0)
+            return 0;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#540: FILE: lib/librte_ring/rte_ring_generic.h:111:
+        if (is_sp)
+            r->prod.head = *new_head, success = 1;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#542: FILE: lib/librte_ring/rte_ring_generic.h:113:
+        else
+            success = rte_atomic32_cmpset(&r->prod.head,

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#579: FILE: lib/librte_ring/rte_ring_generic.h:150:
+    if (n == 0)
+        goto end;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#586: FILE: lib/librte_ring/rte_ring_generic.h:157:
+    if (free_space != NULL)
+        *free_space = free_entries - n;

ERROR:TRAILING_WHITESPACE: trailing whitespace
#599: FILE: lib/librte_ring/rte_ring_generic.h:170:
+ *   The number of elements we will want to enqueue, i.e. how far $

ERROR:TRAILING_WHITESPACE: trailing whitespace
#606: FILE: lib/librte_ring/rte_ring_generic.h:176:
+ *   Returns head value as it was before the move, i.e. where dequeue $

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#626: FILE: lib/librte_ring/rte_ring_generic.h:195:
+    do {
+        /* Restore n as it may change every loop */

WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
#633: FILE: lib/librte_ring/rte_ring_generic.h:202:
+        /* The subtraction is done between two unsigned 32bits value
+         * (the result is always modulo 32 bits even if we have

WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#635: FILE: lib/librte_ring/rte_ring_generic.h:204:
+         * and size(ring)-1. */

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#639: FILE: lib/librte_ring/rte_ring_generic.h:208:
+        if (n > *entries)
+            n = (behavior == RTE_RING_QUEUE_FIXED) ? 0 : *entries;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#642: FILE: lib/librte_ring/rte_ring_generic.h:211:
+        if (unlikely(n == 0))
+            return 0;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#646: FILE: lib/librte_ring/rte_ring_generic.h:215:
+        if (is_sc)
+            r->cons.head = *new_head, success = 1;

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#648: FILE: lib/librte_ring/rte_ring_generic.h:217:
+        else
+            success = rte_atomic32_cmpset(&r->cons.head, *old_head,

ERROR:TRAILING_WHITESPACE: trailing whitespace
#670: FILE: lib/librte_ring/rte_ring_generic.h:239:
+ *   returns the number of remaining ring entries after the dequeue has $

WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (0, 0)
#686: FILE: lib/librte_ring/rte_ring_generic.h:254:
+    if (n == 0)
+        goto end;

ERROR:MISSING_SIGN_OFF: Missing Signed-off-by: line(s)

total: 14 errors, 50 warnings, 579 lines checked


More information about the test-report mailing list