On Wed, Nov 23, 2016 at 09:11:54AM -0500, Neil Horman wrote:
> > Could we define some of the potential subtrees now and look to introduce
> > them in the this release cycle? EAL and the Core libs, as suggested by
> > Thomas, seem like 2 obvious ones.
> >
> Sure, I'd suggest the following:
I would pull the git history to see which components are in
active status in last release (or even, in last few release).
And try to make a sub-tree if corresponding component is hot.
# the 2nd volume shows how many patches prefixed with a related component
[yliu at yliu-dev ~/dpdk]$ git log --oneline v16.07..v16.11 | awk '{print $2}'
| \
sort | uniq -c | sort -nr | head -30 | nl
1 52 doc:
2 40 net/ixgbe/base:
3 38 app/test:
4 37 kni:
5 27 vhost:
6 27 net/virtio:
7 27 net/mlx5:
8 26 app/testpmd:
9 25 net/i40e:
10 23 net/pcap:
11 22 net/bnxt:
12 20 net/enic:
13 18 net/qede:
14 17 net/thunderx:
15 16 net/qede/base:
16 16 eal:
17 15 net/ixgbe:
18 14 net:
19 14 crypto/qat:
20 13 scripts:
21 13 net/bnx2x:
22 12 net/i40e/base:
23 12 examples/ipsec-secgw:
24 11 mbuf:
25 11 hash:
26 10 lib:
27 10 examples/ip_pipeline:
28 10 ethdev:
29 9 pci:
30 7 net/vmxnet3:
...
46 3 pdump:
47 3 net/virtio_user:
48 3 net/ring:
49 3 net/nfp:
50 3 net/mlx:
51 3 net/ena:
52 3 net/e1000:
53 3 net/bonding:
...
56 2 sched:
57 2 port:
...
65 1 timer:
66 1 remove
67 1 pmdinfogen:
68 1 net/igb:
69 1 net/enic/base:
70 1 meter:
...
84 1 cfgfile:
85 1 app/procinfo:
86 1 app/proc_info:
87 1 acl:
Something obvious is that:
- "doc" deserves a sub-tree, and John is a perfect committer for that
if he's willing to.
- generally, I'd agree with Neil that most (if not all) pmds may need
a sub-tree. While, some others may not, for example, net/ring, net/pcap.
For those non-active pmds, I think it's okay to let the generic
pmd committer to cover them.
- it's not that wise to me to list all the components we have so far
and make a sub-tree for each of them.
For example, some components like librte_{port, pdump, cfgfile, acl,
and etc} just have few (or even, just one) commits in last release.
It makes no sense to me to introduce a tree for each of them.
Another thought is we could also create sub-trees based on category
but not on components like Neil suggested, especially that EAL looks
way too big to be maintained in one tree. Instead, it could be something
like:
- a tree for BSD
- a tree for ARM (and some other trees for other platforms)
- a tree for mem related (mempool, mbuf, hugepage, etc)
- a tree for BUS
- ...
Last but not the least, I think it's general good to have more and
more trees in the end. But I don't think it's a good idea to go
radically and create all those trees once (say in one release).
Something I would like to suggest is one or two (or a bit more) at
a release. For example, if I remember them well, we have next-net
tree at 16.04, and next-virtio (including vhost) at 16.07, and a
recent one, next-crypto at 16.11.
--yliu
> * net-pmds:
> - all network pmds located under drivers/net
> - librte_net
> - libtre_ether
> - librte_ip_frag
> - librte_pdump
> - librte_port
> * crypto-pmds:
> - all crypto pmds located under drivers/crypto
> - librte_cryptodev
> * eal:
> - librte_eal
> * core:
> - librte_cfgfile
> - librte_cmdline
> - librte_compat
> - librte_kvargs
> - librte_kni
> - librte_compat
> * misc:
> - librte_acl
> - librte_distributor
> - librte_hash
> - librte_jobstats
> - librte_lpm
> - librte_meter
> - librte_pipeline
> - librte_power
> - librte_reorder
> - librte_ring
> - librte_sched
> - librte_table
> - librte_timer
> - librte_vhost
>
> Thats just a rough stab mind, but perhaps it would get the ball rolling. I'd
> be
> willing to take maintainership of one of these subtrees if there is consensus
> around my doing so.