On Sat, Oct 31, 2020 at 11:25 PM McDaniel, Timothy <timothy.mcdan...@intel.com> wrote: > > I still see a build error with clang for unused stuff. > > > > There is no point in sending a new series unless the clang build is > > fixed once and for all. > > > Where do I find the clang output? I followed the links in the 0-day email, > and from patchwork clicking on the patches with the red failure indicator, > but none of those seemed to lead me to any clang error output. My build > server does not have clang, which presents a problem > for me. I've tried to use gcc -Wunused and it failed to catch anything. Is > there a way for me to submit a clang job to a dpdk server.
I did not think that installing clang was such a hurdle... You could check this with per patch compilation in Travis but that would be a waste of cpu/time. I guess the reason why gcc does not complain is because those symbols are marked with inline. """ -Wunused-function Warn whenever a static function is declared but not defined or a non-inline static function is unused. This warning is enabled by -Wall. """ Please remove "inline" in all .c unless you have numbers showing it has a beneficial impact. Looking with the whole patchset applied: $ git grep -w inline 'drivers/event/dlb/**.c' drivers/event/dlb/dlb.c:static inline uint16_t drivers/event/dlb/dlb.c:static inline uint16_t drivers/event/dlb/dlb.c:static inline uint16_t drivers/event/dlb/dlb.c:static inline uint16_t drivers/event/dlb/dlb.c:static inline int drivers/event/dlb/dlb.c:static inline void drivers/event/dlb/dlb.c:static inline int drivers/event/dlb/dlb.c:static inline int drivers/event/dlb/dlb.c:static inline int drivers/event/dlb/dlb.c:static inline void drivers/event/dlb/dlb.c:static inline void drivers/event/dlb/dlb.c:static inline void drivers/event/dlb/dlb.c:static inline int drivers/event/dlb/dlb.c:static inline uint16_t drivers/event/dlb/dlb.c:static inline uint16_t drivers/event/dlb/dlb.c:static inline uint16_t drivers/event/dlb/dlb.c:static inline uint16_t drivers/event/dlb/dlb.c:static inline uint16_t drivers/event/dlb/dlb.c:static inline void drivers/event/dlb/dlb.c:static inline int drivers/event/dlb/dlb.c:static inline int drivers/event/dlb/dlb.c:static inline int drivers/event/dlb/dlb.c:static inline int16_t drivers/event/dlb/dlb.c:static inline int16_t drivers/event/dlb/dlb_selftest.c:static inline int drivers/event/dlb/dlb_selftest.c:static inline int drivers/event/dlb/dlb_selftest.c:static inline int drivers/event/dlb/dlb_selftest.c:static inline int drivers/event/dlb/dlb_selftest.c:static inline int drivers/event/dlb/dlb_selftest.c:static inline int drivers/event/dlb/pf/base/dlb_resource.c:static inline void dlb_flush_csr(struct dlb_hw *hw) Stopping at 84be92444bb9 ("event/dlb: add dequeue and its burst variants"), then removing those inline tokens, the problem is reproduced even with gcc: FAILED: drivers/a715181@@tmp_rte_event_dlb@sta/event_dlb_dlb.c.o ccache gcc -Idrivers/a715181@@tmp_rte_event_dlb@sta -Idrivers -I../../dpdk/drivers -Idrivers/event/dlb -I../../dpdk/drivers/event/dlb -Ilib/librte_eventdev -I../../dpdk/lib/librte_eventdev -I. -I../../dpdk/ -Iconfig -I../../dpdk/config -Ilib/librte_eal/include -I../../dpdk/lib/librte_eal/include -Ilib/librte_eal/linux/include -I../../dpdk/lib/librte_eal/linux/include -Ilib/librte_eal/x86/include -I../../dpdk/lib/librte_eal/x86/include -Ilib/librte_eal/common -I../../dpdk/lib/librte_eal/common -Ilib/librte_eal -I../../dpdk/lib/librte_eal -Ilib/librte_kvargs -I../../dpdk/lib/librte_kvargs -Ilib/librte_telemetry/../librte_metrics -I../../dpdk/lib/librte_telemetry/../librte_metrics -Ilib/librte_telemetry -I../../dpdk/lib/librte_telemetry -Ilib/librte_ring -I../../dpdk/lib/librte_ring -Ilib/librte_ethdev -I../../dpdk/lib/librte_ethdev -Ilib/librte_net -I../../dpdk/lib/librte_net -Ilib/librte_mbuf -I../../dpdk/lib/librte_mbuf -Ilib/librte_mempool -I../../dpdk/lib/librte_mempool -Ilib/librte_meter -I../../dpdk/lib/librte_meter -Ilib/librte_hash -I../../dpdk/lib/librte_hash -Ilib/librte_rcu -I../../dpdk/lib/librte_rcu -Ilib/librte_timer -I../../dpdk/lib/librte_timer -Ilib/librte_cryptodev -I../../dpdk/lib/librte_cryptodev -Ilib/librte_pci -I../../dpdk/lib/librte_pci -Idrivers/bus/pci -I../../dpdk/drivers/bus/pci -I../../dpdk/drivers/bus/pci/linux -I/home/dmarchan/intel-ipsec-mb/install/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O2 -g -include rte_config.h -Wextra -Wcast-qual -Wdeprecated -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -MD -MQ 'drivers/a715181@@tmp_rte_event_dlb@sta/event_dlb_dlb.c.o' -MF 'drivers/a715181@@tmp_rte_event_dlb@sta/event_dlb_dlb.c.o.d' -o 'drivers/a715181@@tmp_rte_event_dlb@sta/event_dlb_dlb.c.o' -c ../../dpdk/drivers/event/dlb/dlb.c ../../dpdk/drivers/event/dlb/dlb.c:2784:1: error: ‘dlb_event_enqueue_forward_burst_delayed’ defined but not used [-Werror=unused-function] 2784 | dlb_event_enqueue_forward_burst_delayed(void *event_port, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../dpdk/drivers/event/dlb/dlb.c:2768:1: error: ‘dlb_event_enqueue_new_burst_delayed’ defined but not used [-Werror=unused-function] 2768 | dlb_event_enqueue_new_burst_delayed(void *event_port, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../dpdk/drivers/event/dlb/dlb.c:2753:1: error: ‘dlb_event_enqueue_delayed’ defined but not used [-Werror=unused-function] 2753 | dlb_event_enqueue_delayed(void *event_port, | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../../dpdk/drivers/event/dlb/dlb.c:2738:1: error: ‘dlb_event_enqueue_burst_delayed’ defined but not used [-Werror=unused-function] 2738 | dlb_event_enqueue_burst_delayed(void *event_port, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors ninja: build stopped: subcommand failed. -- David Marchand