On Thu, Jan 23, 2025 at 03:16:40PM +0100, David Marchand wrote: > Hello Bruce, Thomas, > > On Mon, Jan 20, 2025 at 1:00 PM Bruce Richardson > <bruce.richard...@intel.com> wrote: > > > > Consolidate all Intel HW NIC drivers into a driver/net/intel This > > matches the layout used for drivers in the kernel, and potentially > > enabling easier sharing among drivers. > > > > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > > - This deserves a RN entry has it impacts how users select compiled drivers. > > > - Trying to select net/intel/* triggers a meson error: > > $ meson configure build -Denable_drivers=net/intel/* > $ ninja -C build > ... > Message: drivers/net/intel/i40e: Defining dependency "net_i40e" > > ../drivers/net/intel/iavf/meson.build:33:46: ERROR: Unknown variable > "static_rte_common_iavf". >
Thanks for catching that. I suspect in my testing with intel/* I also added common/iavf out of habit! Will fix in v6. > A full log can be found at > /home/dmarchan/git/pub/dpdk.org/dedup/build/meson-logs/meson-log.txt > FAILED: build.ninja > /usr/bin/meson --internal regenerate /home/dmarchan/git/pub/dpdk.org/dedup . > > > - I see some remaining references to the old path. One is to be fixed: > doc/guides/nics/ice.rst: These ICE_DBG_XXX are defined in > ``drivers/net/ice/base/ice_type.h``. > Ack, will fix. > > - Thomas, please have a look at this part. > > On the check-git-log.sh update, we will have many warnings with current > update. > > Wrong headline prefix: > net/intel/common: add pkt reassembly fn for intel drivers > net/intel/common: provide common Tx entry structures > net/intel/common: add Tx mbuf ring replenish fn > net/intel: align Tx queue struct field names > net/intel: add prefix for driver-specific structs > net/intel/common: merge ice and i40e Tx queue struct > net/iavf: use common Tx queue structure > net/ixgbe: use common Tx queue structure > net/intel/common: pack Tx queue structure > net/intel/common: add post-Tx buffer free function > net/intel/common: add Tx buffer free fn for AVX-512 > net/iavf: use common Tx free fn for AVX-512 > net/ice: move Tx queue mbuf cleanup fn to common > net/iavf: use common Tx queue mbuf cleanup fn > net/ice: use vector SW ring for all vector paths > net/intel/common: remove unneeded code > net/intel/common: create common mbuf initializer fn > net/intel/common: extract common Rx vector criteria > > Invalid patch(es) found - checked 25 patches > > I tried to tweak this a bit, with the following heuristic: > * if touching only net/intel/common, accept net/intel/common: > * if touching multiple drivers under net/intel, then accept net/intel: > as prefix, > * if touching some net/intel/$drv (and optionnally net/intel/common), > accept net/$drv, > > diff --git a/devtools/check-git-log.sh b/devtools/check-git-log.sh > index b2da013f6c..41c290f0ca 100755 > --- a/devtools/check-git-log.sh > +++ b/devtools/check-git-log.sh > @@ -79,11 +79,18 @@ bad=$(for commit in $commits ; do > [ -z "$(echo "$files" | grep -v '^\(drivers\|doc\|config\)/')" ] || > continue > drv=$(echo "$files" | grep '^drivers/' | cut -d "/" -f 2,3 | sort -u) > - # for drivers/net/intel/* use 2nd and 4th fields not 2nd and 3rd > if [ "$drv" = "net/intel" ] ; then > - drv=$(echo "$files" | grep '^drivers/' | cut -d "/" -f > 2,4 | sort -u) > + drvgrp="net/intel" > + drv=$(echo "$files" | grep '^drivers/' | grep -v > '^drivers/net/intel/common' | > + cut -d "/" -f 2,4 | sort -u) > + if [ $(echo "$drv" | wc -l) -eq 0 ] ; then > + drv='net/intel/common:' > + elif [ $(echo "$drv" | wc -l) -gt 1 ] ; then > + drv='net/intel:' > + fi > + else > + drvgrp=$(echo "$drv" | cut -d "/" -f 1 | uniq) > fi > - drvgrp=$(echo "$drv" | cut -d "/" -f 1 | uniq) > if [ $(echo "$drvgrp" | wc -l) -gt 1 ] ; then > echo "$headline" | grep -v '^drivers:' > elif [ $(echo "$drv" | wc -l) -gt 1 ] ; then > > Which then complains on patches in this series that touch many drivers > (but have net/intel/common: as prefix where I would suggest net/intel: > instead). > I tend to disagree with this suggestion. I think that a prefix can be valid so long as the prefix matches at least one component in the patch. For example, for the first patch in the set, I think net/intel/common is a better prefix than just "net/intel". I don't massively object to your suggestion, I just prefer patches identify the most relevant component, if possible, rather than generalities. > Wrong headline prefix: > net/intel/common: add pkt reassembly fn for intel drivers > net/intel/common: provide common Tx entry structures > net/intel/common: add Tx mbuf ring replenish fn > net/intel/common: merge ice and i40e Tx queue struct > net/intel/common: pack Tx queue structure > net/intel/common: add post-Tx buffer free function > net/intel/common: add Tx buffer free fn for AVX-512 > net/iavf: use common Tx free fn for AVX-512 > net/iavf: use common Tx queue mbuf cleanup fn > net/intel/common: remove unneeded code > net/intel/common: create common mbuf initializer fn > net/intel/common: extract common Rx vector criteria > > > > -- > David Marchand >