[dpdk-dev] [PATCH v13 09/10] app/testpmd: fix unused function warnings
Jie Zhou
jizh at linux.microsoft.com
Wed Jun 23 23:26:32 CEST 2021
On Mon, Jun 21, 2021 at 02:30:53AM +0300, Dmitry Kozlyuk wrote:
> 2021-05-05 12:12 (UTC-0700), Jie Zhou:
> > Function print_fdir_mask and print_fdir_flex_payload is only called
> > when either i40e or ixgbe presents. Add #if defined to remove
> > "unused function" compilation warning.
> >
> > Signed-off-by: Jie Zhou <jizh at microsoft.com>
> > Signed-off-by: Jie Zhou <jizh at linux.microsoft.com>
> > Acked-by: Tal Shnaiderman <talshn at nvidia.com>
> > ---
> > app/test-pmd/config.c | 82 +++++++++++++++++++++----------------------
> > 1 file changed, 41 insertions(+), 41 deletions(-)
>
> Code inside #ifdef isn't compile-checked, it's better to avoid.
> The only case we can't is when i40e or ixgbe API is called directly.
> I'd rather remove #ifdef whenever possible and mark maybe-unused entities,
> like this:
>
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index 3723317ab4..97a577fec0 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -4488,8 +4488,6 @@ flowtype_to_str(uint16_t flow_type)
> return NULL;
> }
>
> -#if defined(RTE_NET_I40E) || defined(RTE_NET_IXGBE)
> -
> static inline void
> print_fdir_mask(struct rte_eth_fdir_masks *mask)
> {
> @@ -4590,6 +4588,9 @@ get_fdir_info(portid_t port_id, struct rte_eth_fdir_info *fdir_info,
> {
> int ret = -ENOTSUP;
>
> + RTE_SET_USED(fdir_info);
> + RTE_SET_USED(fdir_stat);
> +
> #ifdef RTE_NET_I40E
> if (ret == -ENOTSUP) {
> ret = rte_pmd_i40e_get_fdir_info(port_id, fdir_info);
> @@ -4686,8 +4687,6 @@ fdir_get_infos(portid_t port_id)
> fdir_stats_border, fdir_stats_border);
> }
>
> -#endif /* RTE_NET_I40E || RTE_NET_IXGBE */
> -
> void
> fdir_set_flex_mask(portid_t port_id, struct rte_eth_fdir_flex_mask *cfg)
> {
> diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
> index d61a055bdd..a40ee902e8 100644
> --- a/app/test-pmd/testpmd.h
> +++ b/app/test-pmd/testpmd.h
> @@ -917,9 +917,7 @@ int all_ports_stopped(void);
> int port_is_stopped(portid_t port_id);
> int port_is_started(portid_t port_id);
> void pmd_test_exit(void);
> -#if defined(RTE_NET_I40E) || defined(RTE_NET_IXGBE)
> void fdir_get_infos(portid_t port_id);
> -#endif
> void fdir_set_flex_mask(portid_t port_id,
> struct rte_eth_fdir_flex_mask *cfg);
> void fdir_set_flex_payload(portid_t port_id,
Hi Dmitry, I agree that should avoid the #ifdef as much as possible. But in this case, I am not quite sure if I followed your comment correctly. Someone originally introduced these i40e and ixgbe related fdir functions (print_fdir_mask, print_fdir_flex_payload, print_fdir_flex_mask, print_fdir_flow_type, get_fdir_info, fdir_get_infos) into testpmd with adding the #if defined(RTE_NET_I40E) || defined(RTE_NET_IXGBE) for 4 out of 6 functions and left 2 of them outside the #ifdef which caused compilation "unused function" warning. What I did here is just move the starting point of #ifdef to also include those 2 missed functions (print_fdir_mask and print_fdir_flex_payload). IMO the original author would be in better place to reducing the unneccary #ifdef in a proper way.
More information about the dev
mailing list