From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B4EB8A04B8; Tue, 5 May 2020 18:42:22 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 843601D66D; Tue, 5 May 2020 18:42:22 +0200 (CEST) Received: from mail-ot1-f67.google.com (mail-ot1-f67.google.com [209.85.210.67]) by dpdk.org (Postfix) with ESMTP id 6E02C1D669 for ; Tue, 5 May 2020 18:42:21 +0200 (CEST) Received: by mail-ot1-f67.google.com with SMTP id g14so2181340otg.10 for ; Tue, 05 May 2020 09:42:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Q7ftrj2dQbhwtmrA82sbmLujC1u6/RSEI7PEbNxlPYQ=; b=MoKhjjcMUbnR5RgtjWFLOkOpPaXCbKlljTuFXcuLEx00DjdciQsVbtEJHjvjSgeD73 Yr1oVM1+dPfIM/U4NKWtZiu3UtDBqGazrs3tQ7a9etFx7qktQzQIVIdWX98JRDnIpaww KqT/mxa4AN9m5fD8Wd1olWkbg8kwO8PGvFjgQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Q7ftrj2dQbhwtmrA82sbmLujC1u6/RSEI7PEbNxlPYQ=; b=rRXc5Teu5r2inGjNkmL8RalksoQEwRhD2FOJr0AXjZ2Q+CzTnzZLGNNO7+NeagaJ4+ EJjrxrUfXt1cky8Phi7wlexiuJ2ErnaNT6cWAJN2gkqQM4pXyV5yppBxGSY9C3p7GV4x chreAQEP++uxV6b5nYuk6eqpRvRt2j3YZklaCdPu8mrlU3ESP4s7kBCcZi144xBCCEtG vX97QS9c8VnPNPFy6Y5GTOJRxkgv50cs2voO63J555s1bihGH0l4/3XzvDAlbln135gF M0Ucg9HvQftMbSQoA341GvMjU8tpXSybS+EWdytQMCN4wzziwmcxg+6Bww6CFk172G5Y eMuA== X-Gm-Message-State: AGi0PuYdE/XFfCMDZdcSJ1goT/5bbIvYZ293Dnjhve9bq2B8/0YhruI2 KUxdLs2RGEc9axrVk1RxBKn5vm8l81ojLKk8whIadQ== X-Google-Smtp-Source: APiQypJFPn2xE5Qjs2ss0duAA3hlngQFMCbMeHblX/Snl2OZbFrzVdJ3m3xAVzlQkgV7OO4S35o44VBlP1W1j4i882k= X-Received: by 2002:a9d:170e:: with SMTP id i14mr3023992ota.283.1588696940466; Tue, 05 May 2020 09:42:20 -0700 (PDT) MIME-Version: 1.0 References: <20200505040337.34463-1-ajit.khaparde@broadcom.com> In-Reply-To: From: Ajit Khaparde Date: Tue, 5 May 2020 09:42:04 -0700 Message-ID: To: Kevin Traynor Cc: dpdk-dev , Randy Schacher , Peter Spreadborough Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH] net/bnxt: fix build with gcc10 default fno-common X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, May 5, 2020 at 7:56 AM Kevin Traynor wrote: > On 05/05/2020 05:03, Ajit Khaparde wrote: > > From: Randy Schacher > > > > Remove the defensive compile-time checker macro. > > > > Thanks Ajit/Randy. This removes the error for bnxt on my Fedora 32 system. > > Was chatting to David and he suggest if 'static __rte_used' could be > added to the macro as an alternative. > > Checked and it [1] is working also. It seems like a cleaner fix for the > specific issue to me. If you have an additional reason to remove the > compile checks, it could be a separate patch or a comment added to the > commit message. > Kevin, Thanks for confirming that the patch solves the issue. I wanted to do away with the check anyway. Thanks for suggesting the change though. > [1] > --- a/drivers/net/bnxt/tf_core/hwrm_tf.h > +++ b/drivers/net/bnxt/tf_core/hwrm_tf.h > @@ -40,5 +40,5 @@ typedef enum tf_subtype { > > #define __BUILD_BUG_ON(condition, line) \ > - char p##line[(condition) ? 1 : -1] > + static __rte_unused char p##line[(condition) ? 1 : -1] > > > Bugzilla ID: 468 > > Fixes: 8430a8b841c8 ("net/bnxt: add initial TruFlow core session open") > > Signed-off-by: Randy Schacher > > Reviewed-by: Peter Spreadborough > > Reviewed-by: Ajit Khaparde > > --- > > drivers/net/bnxt/tf_core/hwrm_tf.h | 24 ------------------------ > > 1 file changed, 24 deletions(-) > > > > diff --git a/drivers/net/bnxt/tf_core/hwrm_tf.h > b/drivers/net/bnxt/tf_core/hwrm_tf.h > > index 6299d588a..341909573 100644 > > --- a/drivers/net/bnxt/tf_core/hwrm_tf.h > > +++ b/drivers/net/bnxt/tf_core/hwrm_tf.h > > @@ -38,11 +38,6 @@ typedef enum tf_subtype { > > /* u32_t tlv_resp_value[170]; */ > > #define TF_MAX_RESP_SIZE 680 > > > > -#define __BUILD_BUG_ON(condition, line) \ > > - char p##line[(condition) ? 1 : -1] > > -#define _BUILD_BUG_ON(condition, line) __BUILD_BUG_ON(condition, line) > > -#define BUILD_BUG_ON(condition) _BUILD_BUG_ON(condition, __LINE__) > > - > > /* Use this to allocate/free any kind of > > * indexes over HWRM and fill the parms pointer > > */ > > @@ -98,7 +93,6 @@ typedef struct tf_session_attach_input { > > /* Session Name */ > > char session_name[TF_SESSION_NAME_MAX]; > > } tf_session_attach_input_t, *ptf_session_attach_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_attach_input_t) <= TF_MAX_REQ_SIZE); > > > > /* Input params for session resource HW qcaps */ > > typedef struct tf_session_hw_resc_qcaps_input { > > @@ -111,7 +105,6 @@ typedef struct tf_session_hw_resc_qcaps_input { > > /* When set to 1, indicates the query apply to TX */ > > #define TF_SESSION_HW_RESC_QCAPS_INPUT_FLAGS_DIR_TX (0x1) > > } tf_session_hw_resc_qcaps_input_t, *ptf_session_hw_resc_qcaps_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_qcaps_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Output params for session resource HW qcaps */ > > typedef struct tf_session_hw_resc_qcaps_output { > > @@ -216,7 +209,6 @@ typedef struct tf_session_hw_resc_qcaps_output { > > /* Maximum non-guaranteed number of LAG table entries */ > > uint16_t lag_tbl_entries_max; > > } tf_session_hw_resc_qcaps_output_t, > *ptf_session_hw_resc_qcaps_output_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_qcaps_output_t) <= > TF_MAX_RESP_SIZE); > > > > /* Input params for session resource HW alloc */ > > typedef struct tf_session_hw_resc_alloc_input { > > @@ -275,7 +267,6 @@ typedef struct tf_session_hw_resc_alloc_input { > > /* Number of LAG table entries to be allocated */ > > uint16_t num_lag_tbl_entries; > > } tf_session_hw_resc_alloc_input_t, *ptf_session_hw_resc_alloc_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_alloc_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Output params for session resource HW alloc */ > > typedef struct tf_session_hw_resc_alloc_output { > > @@ -368,7 +359,6 @@ typedef struct tf_session_hw_resc_alloc_output { > > /* Number of LAG table entries allocated */ > > uint16_t lag_tbl_entries_stride; > > } tf_session_hw_resc_alloc_output_t, > *ptf_session_hw_resc_alloc_output_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_alloc_output_t) <= > TF_MAX_RESP_SIZE); > > > > /* Input params for session resource HW free */ > > typedef struct tf_session_hw_resc_free_input { > > @@ -471,7 +461,6 @@ typedef struct tf_session_hw_resc_free_input { > > /* Number of LAG table entries allocated */ > > uint16_t lag_tbl_entries_stride; > > } tf_session_hw_resc_free_input_t, *ptf_session_hw_resc_free_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_free_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Input params for session resource HW flush */ > > typedef struct tf_session_hw_resc_flush_input { > > @@ -574,7 +563,6 @@ typedef struct tf_session_hw_resc_flush_input { > > /* Number of LAG table entries allocated */ > > uint16_t lag_tbl_entries_stride; > > } tf_session_hw_resc_flush_input_t, *ptf_session_hw_resc_flush_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_flush_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Input params for session resource SRAM qcaps */ > > typedef struct tf_session_sram_resc_qcaps_input { > > @@ -587,7 +575,6 @@ typedef struct tf_session_sram_resc_qcaps_input { > > /* When set to 1, indicates the query apply to TX */ > > #define TF_SESSION_SRAM_RESC_QCAPS_INPUT_FLAGS_DIR_TX (0x1) > > } tf_session_sram_resc_qcaps_input_t, > *ptf_session_sram_resc_qcaps_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_qcaps_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Output params for session resource SRAM qcaps */ > > typedef struct tf_session_sram_resc_qcaps_output { > > @@ -654,7 +641,6 @@ typedef struct tf_session_sram_resc_qcaps_output { > > /* Maximum non-guaranteed number of NAT D_IPV4 */ > > uint16_t nat_d_ipv4_max; > > } tf_session_sram_resc_qcaps_output_t, > *ptf_session_sram_resc_qcaps_output_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_qcaps_output_t) <= > TF_MAX_RESP_SIZE); > > > > /* Input params for session resource SRAM alloc */ > > typedef struct tf_session_sram_resc_alloc_input { > > @@ -695,7 +681,6 @@ typedef struct tf_session_sram_resc_alloc_input { > > /* Number of NAT destination IPV4 addresses to be allocated */ > > uint16_t num_nat_d_ipv4; > > } tf_session_sram_resc_alloc_input_t, > *ptf_session_sram_resc_alloc_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_alloc_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Output params for session resource SRAM alloc */ > > typedef struct tf_session_sram_resc_alloc_output { > > @@ -757,7 +742,6 @@ typedef struct tf_session_sram_resc_alloc_output { > > /* Number of NAT destination IPV4 addresses allocated */ > > uint16_t nat_d_ipv4_stride; > > } tf_session_sram_resc_alloc_output_t, > *ptf_session_sram_resc_alloc_output_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_alloc_output_t) <= > TF_MAX_RESP_SIZE); > > > > /* Input params for session resource SRAM free */ > > typedef struct tf_session_sram_resc_free_input { > > @@ -825,7 +809,6 @@ typedef struct tf_session_sram_resc_free_input { > > /* Number of NAT destination IPV4 addresses allocated */ > > uint16_t nat_d_ipv4_stride; > > } tf_session_sram_resc_free_input_t, > *ptf_session_sram_resc_free_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_free_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Input params for session resource SRAM flush */ > > typedef struct tf_session_sram_resc_flush_input { > > @@ -893,7 +876,6 @@ typedef struct tf_session_sram_resc_flush_input { > > /* Number of NAT destination IPV4 addresses allocated */ > > uint16_t nat_d_ipv4_stride; > > } tf_session_sram_resc_flush_input_t, > *ptf_session_sram_resc_flush_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_flush_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Input params for table type set */ > > typedef struct tf_tbl_type_set_input { > > @@ -914,7 +896,6 @@ typedef struct tf_tbl_type_set_input { > > /* Index to set */ > > uint32_t index; > > } tf_tbl_type_set_input_t, *ptf_tbl_type_set_input_t; > > -BUILD_BUG_ON(sizeof(tf_tbl_type_set_input_t) <= TF_MAX_REQ_SIZE); > > > > /* Input params for table type get */ > > typedef struct tf_tbl_type_get_input { > > @@ -931,7 +912,6 @@ typedef struct tf_tbl_type_get_input { > > /* Index to get */ > > uint32_t index; > > } tf_tbl_type_get_input_t, *ptf_tbl_type_get_input_t; > > -BUILD_BUG_ON(sizeof(tf_tbl_type_get_input_t) <= TF_MAX_REQ_SIZE); > > > > /* Output params for table type get */ > > typedef struct tf_tbl_type_get_output { > > @@ -940,7 +920,6 @@ typedef struct tf_tbl_type_get_output { > > /* Data read */ > > uint8_t data[TF_BULK_RECV]; > > } tf_tbl_type_get_output_t, *ptf_tbl_type_get_output_t; > > -BUILD_BUG_ON(sizeof(tf_tbl_type_get_output_t) <= TF_MAX_RESP_SIZE); > > > > /* Input params for EM internal rule insert */ > > typedef struct tf_em_internal_insert_input { > > @@ -963,7 +942,6 @@ typedef struct tf_em_internal_insert_input { > > /* number of bits in em_key */ > > uint16_t em_key_bitlen; > > } tf_em_internal_insert_input_t, *ptf_em_internal_insert_input_t; > > -BUILD_BUG_ON(sizeof(tf_em_internal_insert_input_t) <= TF_MAX_REQ_SIZE); > > > > /* Output params for EM internal rule insert */ > > typedef struct tf_em_internal_insert_output { > > @@ -972,7 +950,6 @@ typedef struct tf_em_internal_insert_output { > > /* EM record offset 0~3 */ > > uint8_t rptr_entry; > > } tf_em_internal_insert_output_t, *ptf_em_internal_insert_output_t; > > -BUILD_BUG_ON(sizeof(tf_em_internal_insert_output_t) <= > TF_MAX_RESP_SIZE); > > > > /* Input params for EM INTERNAL rule delete */ > > typedef struct tf_em_internal_delete_input { > > @@ -991,6 +968,5 @@ typedef struct tf_em_internal_delete_input { > > /* number of bits in em_key */ > > uint16_t em_key_bitlen; > > } tf_em_internal_delete_input_t, *ptf_em_internal_delete_input_t; > > -BUILD_BUG_ON(sizeof(tf_em_internal_delete_input_t) <= TF_MAX_REQ_SIZE); > > > > #endif /* _HWRM_TF_H_ */ > > > >