[dpdk-dev] [PATCH 00/11] kill global pci device id list
Hello David Yes, long time ago, the same device IDs need to be filled in 3 or 4 places. Then it would be better to have a centralized one, to avoid missing any. And yes, it would be good to maintain device IDs per PMD. As basically we don't expose any base driver header files, and sometimes those device IDs need to be defined into different meanings, I'd prefer to have each PMD has its own centralized device ID list header file, like you did for ixgbe. Thanks a lot! Regards, Helin > -Original Message- > From: David Marchand [mailto:david.marchand at 6wind.com] > Sent: Saturday, January 16, 2016 11:03 PM > To: Zhang, Helin > Cc: dev at dpdk.org; Thomas Monjalon > Subject: Re: [dpdk-dev] [PATCH 00/11] kill global pci device id list > > Hello Helin, > > On Sun, Jan 10, 2016 at 4:53 PM, Zhang, Helin > wrote: > > Thanks for your huge contribution! > > May you help to describe more details of why you made these huge > changes? > > As far as I can see, the only reason why we have a centralised header > maintained in eal with all pci device ids is the need to identify pci devices > that > require a special treatment before starting a dpdk application (here, bind > those pci devices to igb_uio / vfio). > > This patchset splits this header into small pieces maintained by the drivers > themselves, then tries to come up with a way to retrieve those pci device ids > from the final dpdk application and from the drivers compiled as shared > libraries. > > With this, supported pci device ids are maintained by the drivers themselves > rather than eal, pci devices ids requiring uio/vfio binding are still > available. > > > Regards, > -- > David Marchand
[dpdk-dev] [PATCH 00/11] kill global pci device id list
Hello Helin, On Sun, Jan 10, 2016 at 4:53 PM, Zhang, Helin wrote: > Thanks for your huge contribution! > May you help to describe more details of why you made these huge changes? As far as I can see, the only reason why we have a centralised header maintained in eal with all pci device ids is the need to identify pci devices that require a special treatment before starting a dpdk application (here, bind those pci devices to igb_uio / vfio). This patchset splits this header into small pieces maintained by the drivers themselves, then tries to come up with a way to retrieve those pci device ids from the final dpdk application and from the drivers compiled as shared libraries. With this, supported pci device ids are maintained by the drivers themselves rather than eal, pci devices ids requiring uio/vfio binding are still available. Regards, -- David Marchand
[dpdk-dev] [PATCH 00/11] kill global pci device id list
Hello David Thanks for your huge contribution! May you help to describe more details of why you made these huge changes? What benefit we can have with your changes. I guess there must have, while you did not tell that here. Regards, Helin > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of David Marchand > Sent: Sunday, January 10, 2016 8:51 PM > To: dev at dpdk.org > Cc: thomas.monjalon at dpdk.org > Subject: [dpdk-dev] [PATCH 00/11] kill global pci device id list > > This patchset moves all pci device ids from eal to the pmds that need them > (patches 1 to 8). > Global pci device id list is then removed (patches 9, 10). > > In last patch, all those device ids are put in a dedicated section for > retrieval by > external tools. > > -- > David Marchand > > David Marchand (11): > e1000: move pci device ids to driver > ixgbe: move pci device ids to driver > i40e: move pci device ids to driver > fm10k: move pci device ids to driver > virtio: move pci device ids to driver > vmxnet3: move pci device ids to driver > enic: move pci device ids to driver > bnx2x: move pci device ids to driver > doc: refresh headers list > pci: no need for global device ids list > pci: place all uio pci device ids in a dedicated section > > app/test-pmd/Makefile | 2 + > app/test-pmd/cmdline.c | 2 +- > app/test/Makefile | 4 + > app/test/test_pci.c | 5 +- > doc/api/doxy-api-index.md | 1 - > doc/guides/prog_guide/dev_kit_build_system.rst | 56 +- > drivers/crypto/qat/rte_qat_cryptodev.c | 2 +- > drivers/net/bnx2x/bnx2x.c | 3 +- > drivers/net/bnx2x/bnx2x_ethdev.c| 29 +- > drivers/net/cxgbe/cxgbe_ethdev.c| 2 +- > drivers/net/e1000/em_ethdev.c | 4 +- > drivers/net/e1000/em_pci_dev_ids.h | 200 +++ > drivers/net/e1000/igb_ethdev.c | 8 +- > drivers/net/e1000/igb_pci_dev_ids.h | 164 ++ > drivers/net/enic/enic_ethdev.c | 14 +- > drivers/net/fm10k/fm10k_ethdev.c| 10 +- > drivers/net/i40e/i40e_ethdev.c | 20 +- > drivers/net/i40e/i40e_ethdev_vf.c | 8 +- > drivers/net/ixgbe/ixgbe_ethdev.c| 8 +- > drivers/net/ixgbe/ixgbe_pci_dev_ids.h | 185 +++ > drivers/net/nfp/nfp_net.c | 2 +- > drivers/net/virtio/virtio_ethdev.c | 7 +- > drivers/net/vmxnet3/vmxnet3_ethdev.c| 9 +- > lib/librte_eal/common/Makefile | 2 +- > lib/librte_eal/common/include/rte_pci.h | 2 + > lib/librte_eal/common/include/rte_pci_dev_ids.h | 667 > > lib/librte_eal/linuxapp/kni/Makefile| 2 + > lib/librte_eal/linuxapp/kni/kni_misc.c | 8 +- > 28 files changed, 678 insertions(+), 748 deletions(-) create mode 100644 > drivers/net/e1000/em_pci_dev_ids.h > create mode 100644 drivers/net/e1000/igb_pci_dev_ids.h > create mode 100644 drivers/net/ixgbe/ixgbe_pci_dev_ids.h > delete mode 100644 lib/librte_eal/common/include/rte_pci_dev_ids.h > > -- > 1.9.1
[dpdk-dev] [PATCH 00/11] kill global pci device id list
Really ... Last mail for today ... On Sun, Jan 10, 2016 at 2:26 PM, David Marchand wrote: > > > On Sun, Jan 10, 2016 at 2:24 PM, Thomas Monjalon < > thomas.monjalon at 6wind.com> wrote: > >> 2016-01-10 13:58, David Marchand: >> > Hello Thomas, >> > >> > Sorry, don't know how I ended up with this, I wrote an incorrect mail >> > address for you (I should not send patches after sunday meal ;-)). >> >> No worries :) >> I was not expecting a patch so quickly after introducing you in this >> thread. >> Glad to see that you take time for - at least - your sunday meal :) >> > > The patches were ready for a long time, just sent them today as it is rainy outside. -- David Marchand
[dpdk-dev] [PATCH 00/11] kill global pci device id list
On Sun, Jan 10, 2016 at 2:24 PM, Thomas Monjalon wrote: > 2016-01-10 13:58, David Marchand: > > Hello Thomas, > > > > Sorry, don't know how I ended up with this, I wrote an incorrect mail > > address for you (I should not send patches after sunday meal ;-)). > > No worries :) > I was not expecting a patch so quickly after introducing you in this > thread. > Glad to see that you take time for - at least - your sunday meal :) >
[dpdk-dev] [PATCH 00/11] kill global pci device id list
2016-01-10 13:58, David Marchand: > Hello Thomas, > > Sorry, don't know how I ended up with this, I wrote an incorrect mail > address for you (I should not send patches after sunday meal ;-)). No worries :) I was not expecting a patch so quickly after introducing you in this thread. Glad to see that you take time for - at least - your sunday meal :)
[dpdk-dev] [PATCH 00/11] kill global pci device id list
Hello Thomas, Sorry, don't know how I ended up with this, I wrote an incorrect mail address for you (I should not send patches after sunday meal ;-)). -- David Marchand
[dpdk-dev] [PATCH 00/11] kill global pci device id list
This patchset moves all pci device ids from eal to the pmds that need them (patches 1 to 8). Global pci device id list is then removed (patches 9, 10). In last patch, all those device ids are put in a dedicated section for retrieval by external tools. -- David Marchand David Marchand (11): e1000: move pci device ids to driver ixgbe: move pci device ids to driver i40e: move pci device ids to driver fm10k: move pci device ids to driver virtio: move pci device ids to driver vmxnet3: move pci device ids to driver enic: move pci device ids to driver bnx2x: move pci device ids to driver doc: refresh headers list pci: no need for global device ids list pci: place all uio pci device ids in a dedicated section app/test-pmd/Makefile | 2 + app/test-pmd/cmdline.c | 2 +- app/test/Makefile | 4 + app/test/test_pci.c | 5 +- doc/api/doxy-api-index.md | 1 - doc/guides/prog_guide/dev_kit_build_system.rst | 56 +- drivers/crypto/qat/rte_qat_cryptodev.c | 2 +- drivers/net/bnx2x/bnx2x.c | 3 +- drivers/net/bnx2x/bnx2x_ethdev.c| 29 +- drivers/net/cxgbe/cxgbe_ethdev.c| 2 +- drivers/net/e1000/em_ethdev.c | 4 +- drivers/net/e1000/em_pci_dev_ids.h | 200 +++ drivers/net/e1000/igb_ethdev.c | 8 +- drivers/net/e1000/igb_pci_dev_ids.h | 164 ++ drivers/net/enic/enic_ethdev.c | 14 +- drivers/net/fm10k/fm10k_ethdev.c| 10 +- drivers/net/i40e/i40e_ethdev.c | 20 +- drivers/net/i40e/i40e_ethdev_vf.c | 8 +- drivers/net/ixgbe/ixgbe_ethdev.c| 8 +- drivers/net/ixgbe/ixgbe_pci_dev_ids.h | 185 +++ drivers/net/nfp/nfp_net.c | 2 +- drivers/net/virtio/virtio_ethdev.c | 7 +- drivers/net/vmxnet3/vmxnet3_ethdev.c| 9 +- lib/librte_eal/common/Makefile | 2 +- lib/librte_eal/common/include/rte_pci.h | 2 + lib/librte_eal/common/include/rte_pci_dev_ids.h | 667 lib/librte_eal/linuxapp/kni/Makefile| 2 + lib/librte_eal/linuxapp/kni/kni_misc.c | 8 +- 28 files changed, 678 insertions(+), 748 deletions(-) create mode 100644 drivers/net/e1000/em_pci_dev_ids.h create mode 100644 drivers/net/e1000/igb_pci_dev_ids.h create mode 100644 drivers/net/ixgbe/ixgbe_pci_dev_ids.h delete mode 100644 lib/librte_eal/common/include/rte_pci_dev_ids.h -- 1.9.1