From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 11A2A45A7A for ; Tue, 1 Oct 2024 14:45:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 06F004027E; Tue, 1 Oct 2024 14:45:31 +0200 (CEST) Received: from dpdk.org (dpdk.org [92.243.24.197]) by mails.dpdk.org (Postfix) with ESMTP id B52EB4027C for ; Tue, 1 Oct 2024 14:45:29 +0200 (CEST) Received: by dpdk.org (Postfix, from userid 65534) id A82EC121D9E; Tue, 1 Oct 2024 14:45:29 +0200 (CEST) Subject: |WARNING| pw144852 [PATCH v3 15/18] net/cnxk: support Tx burst scalar for cn20k In-Reply-To: <20241001124053.3774325-16-ndabilpuram@marvell.com> References: <20241001124053.3774325-16-ndabilpuram@marvell.com> To: test-report@dpdk.org From: checkpatch@dpdk.org Cc: Nithin Dabilpuram Message-Id: <20241001124529.A82EC121D9E@dpdk.org> Date: Tue, 1 Oct 2024 14:45:29 +0200 (CEST) X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Test-Label: checkpatch Test-Status: WARNING http://dpdk.org/patch/144852 _coding style issues_ CHECK:MACRO_ARG_REUSE: Macro argument reuse 'txq' - possible side-effects? #259: FILE: drivers/net/cnxk/cn20k_tx.h:35: +#define NIX_XMIT_FC_OR_RETURN(txq, pkts) \ + do { \ + int64_t avail; \ + /* Cached value is low, Update the fc_cache_pkts */ \ + if (unlikely((txq)->fc_cache_pkts < (pkts))) { \ + avail = txq->nb_sqb_bufs_adj - *txq->fc_mem; \ + /* Multiply with sqe_per_sqb to express in pkts */ \ + (txq)->fc_cache_pkts = (avail << (txq)->sqes_per_sqb_log2) - avail; \ + /* Check it again for the room */ \ + if (unlikely((txq)->fc_cache_pkts < (pkts))) \ + return 0; \ + } \ + } while (0) CHECK:MACRO_ARG_REUSE: Macro argument reuse 'pkts' - possible side-effects? #259: FILE: drivers/net/cnxk/cn20k_tx.h:35: +#define NIX_XMIT_FC_OR_RETURN(txq, pkts) \ + do { \ + int64_t avail; \ + /* Cached value is low, Update the fc_cache_pkts */ \ + if (unlikely((txq)->fc_cache_pkts < (pkts))) { \ + avail = txq->nb_sqb_bufs_adj - *txq->fc_mem; \ + /* Multiply with sqe_per_sqb to express in pkts */ \ + (txq)->fc_cache_pkts = (avail << (txq)->sqes_per_sqb_log2) - avail; \ + /* Check it again for the room */ \ + if (unlikely((txq)->fc_cache_pkts < (pkts))) \ + return 0; \ + } \ + } while (0) WARNING:MACRO_WITH_FLOW_CONTROL: Macros with flow control statements should be avoided #259: FILE: drivers/net/cnxk/cn20k_tx.h:35: +#define NIX_XMIT_FC_OR_RETURN(txq, pkts) \ + do { \ + int64_t avail; \ + /* Cached value is low, Update the fc_cache_pkts */ \ + if (unlikely((txq)->fc_cache_pkts < (pkts))) { \ + avail = txq->nb_sqb_bufs_adj - *txq->fc_mem; \ + /* Multiply with sqe_per_sqb to express in pkts */ \ + (txq)->fc_cache_pkts = (avail << (txq)->sqes_per_sqb_log2) - avail; \ + /* Check it again for the room */ \ + if (unlikely((txq)->fc_cache_pkts < (pkts))) \ + return 0; \ + } \ + } while (0) CHECK:MACRO_ARG_REUSE: Macro argument reuse 'txq' - possible side-effects? #273: FILE: drivers/net/cnxk/cn20k_tx.h:49: +#define NIX_XMIT_FC_OR_RETURN_MTS(txq, pkts) \ + do { \ + int64_t *fc_cache = &(txq)->fc_cache_pkts; \ + uint8_t retry_count = 8; \ + int64_t val, newval; \ + retry: \ + /* Reduce the cached count */ \ + val = (int64_t)__atomic_fetch_sub(fc_cache, pkts, __ATOMIC_RELAXED); \ + val -= pkts; \ + /* Cached value is low, Update the fc_cache_pkts */ \ + if (unlikely(val < 0)) { \ + /* Multiply with sqe_per_sqb to express in pkts */ \ + newval = txq->nb_sqb_bufs_adj - \ + __atomic_load_n(txq->fc_mem, __ATOMIC_RELAXED); \ + newval = (newval << (txq)->sqes_per_sqb_log2) - newval; \ + newval -= pkts; \ + if (!__atomic_compare_exchange_n(fc_cache, &val, newval, false, \ + __ATOMIC_RELAXED, __ATOMIC_RELAXED)) { \ + if (retry_count) { \ + retry_count--; \ + goto retry; \ + } else \ + return 0; \ + } \ + /* Update and check it again for the room */ \ + if (unlikely(newval < 0)) \ + return 0; \ + } \ + } while (0) CHECK:MACRO_ARG_REUSE: Macro argument reuse 'pkts' - possible side-effects? #273: FILE: drivers/net/cnxk/cn20k_tx.h:49: +#define NIX_XMIT_FC_OR_RETURN_MTS(txq, pkts) \ + do { \ + int64_t *fc_cache = &(txq)->fc_cache_pkts; \ + uint8_t retry_count = 8; \ + int64_t val, newval; \ + retry: \ + /* Reduce the cached count */ \ + val = (int64_t)__atomic_fetch_sub(fc_cache, pkts, __ATOMIC_RELAXED); \ + val -= pkts; \ + /* Cached value is low, Update the fc_cache_pkts */ \ + if (unlikely(val < 0)) { \ + /* Multiply with sqe_per_sqb to express in pkts */ \ + newval = txq->nb_sqb_bufs_adj - \ + __atomic_load_n(txq->fc_mem, __ATOMIC_RELAXED); \ + newval = (newval << (txq)->sqes_per_sqb_log2) - newval; \ + newval -= pkts; \ + if (!__atomic_compare_exchange_n(fc_cache, &val, newval, false, \ + __ATOMIC_RELAXED, __ATOMIC_RELAXED)) { \ + if (retry_count) { \ + retry_count--; \ + goto retry; \ + } else \ + return 0; \ + } \ + /* Update and check it again for the room */ \ + if (unlikely(newval < 0)) \ + return 0; \ + } \ + } while (0) WARNING:MACRO_WITH_FLOW_CONTROL: Macros with flow control statements should be avoided #273: FILE: drivers/net/cnxk/cn20k_tx.h:49: +#define NIX_XMIT_FC_OR_RETURN_MTS(txq, pkts) \ + do { \ + int64_t *fc_cache = &(txq)->fc_cache_pkts; \ + uint8_t retry_count = 8; \ + int64_t val, newval; \ + retry: \ + /* Reduce the cached count */ \ + val = (int64_t)__atomic_fetch_sub(fc_cache, pkts, __ATOMIC_RELAXED); \ + val -= pkts; \ + /* Cached value is low, Update the fc_cache_pkts */ \ + if (unlikely(val < 0)) { \ + /* Multiply with sqe_per_sqb to express in pkts */ \ + newval = txq->nb_sqb_bufs_adj - \ + __atomic_load_n(txq->fc_mem, __ATOMIC_RELAXED); \ + newval = (newval << (txq)->sqes_per_sqb_log2) - newval; \ + newval -= pkts; \ + if (!__atomic_compare_exchange_n(fc_cache, &val, newval, false, \ + __ATOMIC_RELAXED, __ATOMIC_RELAXED)) { \ + if (retry_count) { \ + retry_count--; \ + goto retry; \ + } else \ + return 0; \ + } \ + /* Update and check it again for the room */ \ + if (unlikely(newval < 0)) \ + return 0; \ + } \ + } while (0) WARNING:INDENTED_LABEL: labels should not be indented #278: FILE: drivers/net/cnxk/cn20k_tx.h:54: + retry: \ CHECK:MACRO_ARG_REUSE: Macro argument reuse 'txq' - possible side-effects? #303: FILE: drivers/net/cnxk/cn20k_tx.h:79: +#define NIX_XMIT_FC_CHECK_RETURN(txq, pkts) \ + do { \ + if (unlikely((txq)->flag)) \ + NIX_XMIT_FC_OR_RETURN_MTS(txq, pkts); \ + else { \ + NIX_XMIT_FC_OR_RETURN(txq, pkts); \ + /* Reduce the cached count */ \ + txq->fc_cache_pkts -= pkts; \ + } \ + } while (0) CHECK:MACRO_ARG_REUSE: Macro argument reuse 'pkts' - possible side-effects? #303: FILE: drivers/net/cnxk/cn20k_tx.h:79: +#define NIX_XMIT_FC_CHECK_RETURN(txq, pkts) \ + do { \ + if (unlikely((txq)->flag)) \ + NIX_XMIT_FC_OR_RETURN_MTS(txq, pkts); \ + else { \ + NIX_XMIT_FC_OR_RETURN(txq, pkts); \ + /* Reduce the cached count */ \ + txq->fc_cache_pkts -= pkts; \ + } \ + } while (0) WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #377: FILE: drivers/net/cnxk/cn20k_tx.h:153: + " ldxr %[pkts], [%[addr]] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #378: FILE: drivers/net/cnxk/cn20k_tx.h:154: + " tbz %[pkts], 63, .Ldne%= " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #379: FILE: drivers/net/cnxk/cn20k_tx.h:155: + " sevl " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #380: FILE: drivers/net/cnxk/cn20k_tx.h:156: + ".Lrty%=: wfe " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #381: FILE: drivers/net/cnxk/cn20k_tx.h:157: + " ldxr %[pkts], [%[addr]] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #382: FILE: drivers/net/cnxk/cn20k_tx.h:158: + " tbnz %[pkts], 63, .Lrty%= " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #383: FILE: drivers/net/cnxk/cn20k_tx.h:159: + ".Ldne%=: " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #402: FILE: drivers/net/cnxk/cn20k_tx.h:178: + " ldxr %[val], [%[addr]] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #403: FILE: drivers/net/cnxk/cn20k_tx.h:179: + " sub %[val], %[adj], %[val] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #404: FILE: drivers/net/cnxk/cn20k_tx.h:180: + " lsl %[refill], %[val], %[shft] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #405: FILE: drivers/net/cnxk/cn20k_tx.h:181: + " sub %[refill], %[refill], %[val] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #406: FILE: drivers/net/cnxk/cn20k_tx.h:182: + " sub %[refill], %[refill], %[sub] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #407: FILE: drivers/net/cnxk/cn20k_tx.h:183: + " cmp %[refill], #0x0 " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #408: FILE: drivers/net/cnxk/cn20k_tx.h:184: + " b.ge .Ldne%= " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #409: FILE: drivers/net/cnxk/cn20k_tx.h:185: + " sevl " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #410: FILE: drivers/net/cnxk/cn20k_tx.h:186: + ".Lrty%=: wfe " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #411: FILE: drivers/net/cnxk/cn20k_tx.h:187: + " ldxr %[val], [%[addr]] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #412: FILE: drivers/net/cnxk/cn20k_tx.h:188: + " sub %[val], %[adj], %[val] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #413: FILE: drivers/net/cnxk/cn20k_tx.h:189: + " lsl %[refill], %[val], %[shft] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #414: FILE: drivers/net/cnxk/cn20k_tx.h:190: + " sub %[refill], %[refill], %[val] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #415: FILE: drivers/net/cnxk/cn20k_tx.h:191: + " sub %[refill], %[refill], %[sub] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #416: FILE: drivers/net/cnxk/cn20k_tx.h:192: + " cmp %[refill], #0x0 " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #417: FILE: drivers/net/cnxk/cn20k_tx.h:193: + " b.lt .Lrty%= " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #418: FILE: drivers/net/cnxk/cn20k_tx.h:194: + ".Ldne%=: " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #518: FILE: drivers/net/cnxk/cn20k_tx.h:294: + " ldxr %w[pkts], [%[addr]] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #519: FILE: drivers/net/cnxk/cn20k_tx.h:295: + " tbz %w[pkts], 31, .Ldne%= " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #520: FILE: drivers/net/cnxk/cn20k_tx.h:296: + " sevl " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #521: FILE: drivers/net/cnxk/cn20k_tx.h:297: + ".Lrty%=: wfe " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #522: FILE: drivers/net/cnxk/cn20k_tx.h:298: + " ldxr %w[pkts], [%[addr]] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #523: FILE: drivers/net/cnxk/cn20k_tx.h:299: + " tbnz %w[pkts], 31, .Lrty%= " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #524: FILE: drivers/net/cnxk/cn20k_tx.h:300: + ".Ldne%=: " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #542: FILE: drivers/net/cnxk/cn20k_tx.h:318: + " ldxr %[refill], [%[addr]] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #543: FILE: drivers/net/cnxk/cn20k_tx.h:319: + " sub %[refill], %[desc], %[refill] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #544: FILE: drivers/net/cnxk/cn20k_tx.h:320: + " sub %[refill], %[refill], %[pkts] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #545: FILE: drivers/net/cnxk/cn20k_tx.h:321: + " cmp %[refill], #0x0 " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #546: FILE: drivers/net/cnxk/cn20k_tx.h:322: + " b.ge .Ldne%= " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #547: FILE: drivers/net/cnxk/cn20k_tx.h:323: + " sevl " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #548: FILE: drivers/net/cnxk/cn20k_tx.h:324: + ".Lrty%=: wfe " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #549: FILE: drivers/net/cnxk/cn20k_tx.h:325: + " ldxr %[refill], [%[addr]] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #550: FILE: drivers/net/cnxk/cn20k_tx.h:326: + " sub %[refill], %[desc], %[refill] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #551: FILE: drivers/net/cnxk/cn20k_tx.h:327: + " sub %[refill], %[refill], %[pkts] " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #552: FILE: drivers/net/cnxk/cn20k_tx.h:328: + " cmp %[refill], #0x0 " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #553: FILE: drivers/net/cnxk/cn20k_tx.h:329: + " b.lt .Lrty%= " WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE: unnecessary whitespace before a quoted newline #554: FILE: drivers/net/cnxk/cn20k_tx.h:330: + ".Ldne%=: " total: 0 errors, 47 warnings, 6 checks, 1149 lines checked Warning in drivers/net/cnxk/cn20k_tx.h: Using __atomic_xxx/__ATOMIC_XXX built-ins, prefer rte_atomic_xxx/rte_memory_order_xxx