Message ID | 20200326030346.32907-1-haiyue.wang@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6CB3FA058E; Thu, 26 Mar 2020 04:11:44 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 684B21C067; Thu, 26 Mar 2020 04:11:43 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 7E6441C05C for <dev@dpdk.org>; Thu, 26 Mar 2020 04:11:41 +0100 (CET) IronPort-SDR: 6my4zwG5b9ZLc8crm/o7uJ0uXHX2OP/0tqHIg3MmW00ggxNHIUO4O8KVQ2iM181jtPBNQlcLHh B06Aq1/LCRzg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2020 20:11:40 -0700 IronPort-SDR: lvc+JxZfqv3I8fF6EE5zPpJoy915n1MOSkdQj36P1HAiiijqBNKb+Fo8Ss9wQjubk0v5NXyGPN ZhqgRRksnd2Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,306,1580803200"; d="scan'208";a="247406835" Received: from npg-dpdk-haiyue-1.sh.intel.com ([10.67.119.213]) by orsmga003.jf.intel.com with ESMTP; 25 Mar 2020 20:11:38 -0700 From: Haiyue Wang <haiyue.wang@intel.com> To: dev@dpdk.org, xiaolong.ye@intel.com, qi.z.zhang@intel.com, qiming.yang@intel.com, beilei.xing@intel.com Cc: wei.zhao1@intel.com, Haiyue Wang <haiyue.wang@intel.com> Date: Thu, 26 Mar 2020 11:03:39 +0800 Message-Id: <20200326030346.32907-1-haiyue.wang@intel.com> X-Mailer: git-send-email 2.26.0 In-Reply-To: <20200309141437.11800-1-haiyue.wang@intel.com> References: <20200309141437.11800-1-haiyue.wang@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v4 0/7] add Intel DCF PMD support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
add Intel DCF PMD support
|
|
Message
Wang, Haiyue
March 26, 2020, 3:03 a.m. UTC
A DCF (Device Config Function) based approach is proposed where a device bound to the device's VF0 can act as a sole controlling entity to exercise advance functionality (such as switch, ACL) for rest of the VFs. The DCF works as a standalone PMD to support this function, which shares the ice PMD flow control core function and the iavf virtchnl mailbox core module. v4: Change the alarm handler to thread service, since it will need to do more work. v3: 1. Fixed the error log message format. 2. Fixed some memory allocation check. 3. Fixed some code style issue and commmit message description. v2: 1. update the iavf patchset link. 2. split more patches for making this work be more understandable 3. fix the log function usage, devargs checking from v1. Haiyue Wang (7): net/iavf: stop the PCI probe in DCF mode net/ice: add the DCF hardware initialization net/ice: acquire and disable the DCF capability net/ice: handle the AdminQ command by DCF net/ice: export the DDP definition symbols net/ice: handle the PF initialization by DCF net/ice: get the VF hardware index in DCF doc/guides/nics/ice.rst | 47 ++ doc/guides/nics/img/ice_dcf.png | Bin 0 -> 39168 bytes doc/guides/rel_notes/release_20_05.rst | 5 + drivers/common/Makefile | 1 + drivers/net/iavf/iavf_ethdev.c | 43 ++ drivers/net/ice/Makefile | 6 + drivers/net/ice/ice_dcf.c | 658 +++++++++++++++++++++++++ drivers/net/ice/ice_dcf.h | 63 +++ drivers/net/ice/ice_dcf_ethdev.c | 321 ++++++++++++ drivers/net/ice/ice_dcf_ethdev.h | 33 ++ drivers/net/ice/ice_dcf_parent.c | 351 +++++++++++++ drivers/net/ice/ice_ethdev.c | 9 +- drivers/net/ice/ice_ethdev.h | 8 + drivers/net/ice/meson.build | 8 +- mk/rte.app.mk | 1 + 15 files changed, 1544 insertions(+), 10 deletions(-) create mode 100644 doc/guides/nics/img/ice_dcf.png create mode 100644 drivers/net/ice/ice_dcf.c create mode 100644 drivers/net/ice/ice_dcf.h create mode 100644 drivers/net/ice/ice_dcf_ethdev.c create mode 100644 drivers/net/ice/ice_dcf_ethdev.h create mode 100644 drivers/net/ice/ice_dcf_parent.c
Comments
> -----Original Message----- > From: Wang, Haiyue <haiyue.wang@intel.com> > Sent: Thursday, March 26, 2020 11:04 AM > To: dev@dpdk.org; Ye, Xiaolong <xiaolong.ye@intel.com>; Zhang, Qi Z > <qi.z.zhang@intel.com>; Yang, Qiming <qiming.yang@intel.com>; Xing, Beilei > <beilei.xing@intel.com> > Cc: Zhao1, Wei <wei.zhao1@intel.com>; Wang, Haiyue > <haiyue.wang@intel.com> > Subject: [PATCH v4 0/7] add Intel DCF PMD support > > A DCF (Device Config Function) based approach is proposed where a device > bound to the device's VF0 can act as a sole controlling entity to exercise > advance functionality (such as switch, ACL) for rest of the VFs. > > The DCF works as a standalone PMD to support this function, which shares > the ice PMD flow control core function and the iavf virtchnl mailbox core > module. > > v4: > Change the alarm handler to thread service, since it will need to do more > work. > > v3: > 1. Fixed the error log message format. > 2. Fixed some memory allocation check. > 3. Fixed some code style issue and commmit message description. > > v2: > 1. update the iavf patchset link. > 2. split more patches for making this work be more understandable > 3. fix the log function usage, devargs checking from v1. > > Haiyue Wang (7): > net/iavf: stop the PCI probe in DCF mode > net/ice: add the DCF hardware initialization > net/ice: acquire and disable the DCF capability > net/ice: handle the AdminQ command by DCF > net/ice: export the DDP definition symbols > net/ice: handle the PF initialization by DCF > net/ice: get the VF hardware index in DCF > > doc/guides/nics/ice.rst | 47 ++ > doc/guides/nics/img/ice_dcf.png | Bin 0 -> 39168 bytes > doc/guides/rel_notes/release_20_05.rst | 5 + > drivers/common/Makefile | 1 + > drivers/net/iavf/iavf_ethdev.c | 43 ++ > drivers/net/ice/Makefile | 6 + > drivers/net/ice/ice_dcf.c | 658 > +++++++++++++++++++++++++ > drivers/net/ice/ice_dcf.h | 63 +++ > drivers/net/ice/ice_dcf_ethdev.c | 321 ++++++++++++ > drivers/net/ice/ice_dcf_ethdev.h | 33 ++ > drivers/net/ice/ice_dcf_parent.c | 351 +++++++++++++ > drivers/net/ice/ice_ethdev.c | 9 +- > drivers/net/ice/ice_ethdev.h | 8 + > drivers/net/ice/meson.build | 8 +- > mk/rte.app.mk | 1 + > 15 files changed, 1544 insertions(+), 10 deletions(-) create mode 100644 > doc/guides/nics/img/ice_dcf.png create mode 100644 > drivers/net/ice/ice_dcf.c create mode 100644 drivers/net/ice/ice_dcf.h > create mode 100644 drivers/net/ice/ice_dcf_ethdev.c create mode 100644 > drivers/net/ice/ice_dcf_ethdev.h create mode 100644 > drivers/net/ice/ice_dcf_parent.c > > -- > 2.26.0 Acked-by: Qi Zhang <qi.z.zhang@intel.com>
There is build error about this patchset, could you double check? OS: CENTOS77-64 Target: x86_64-native-linuxapp-gcc+shared LD librte_pmd_ice.so.20.0.2 CC sfc_ev.o ice_dcf_parent.o: In function `ice_dcf_handle_pf_event_msg': ice_dcf_parent.c:(.text+0x556): undefined reference to `pthread_create' collect2: error: ld returned 1 exit status make[6]: *** [librte_pmd_ice.so.20.0.2] Error 1 make[5]: *** [ice] Error 2 make[5]: *** Waiting for unfinished jobs.... CC sfc_port.o CC bnxt_rxtx_vec_sse.o CC sfc_rx.o CC nicvf_hw.o -- CC medford2_nic.o LD librte_pmd_octeontx2.so.20.0.2 INSTALL-LIB librte_pmd_octeontx2.so.20.0.2 LD librte_pmd_sfc_efx.so.20.0.2 INSTALL-LIB librte_pmd_sfc_efx.so.20.0.2 make[4]: *** [net] Error 2 make[3]: *** [drivers] Error 2 make[2]: *** [all] Error 2 make[1]: *** [pre_install] Error 2 make: *** [install] Error 2 http://mails.dpdk.org/archives/test-report/2020-March/122145.html On 03/26, Haiyue Wang wrote: >A DCF (Device Config Function) based approach is proposed where a device >bound to the device's VF0 can act as a sole controlling entity to exercise >advance functionality (such as switch, ACL) for rest of the VFs. > >The DCF works as a standalone PMD to support this function, which shares the >ice PMD flow control core function and the iavf virtchnl mailbox core module. > >v4: > Change the alarm handler to thread service, since it will need to do more > work. > >v3: > 1. Fixed the error log message format. > 2. Fixed some memory allocation check. > 3. Fixed some code style issue and commmit message description. > >v2: > 1. update the iavf patchset link. > 2. split more patches for making this work be more understandable > 3. fix the log function usage, devargs checking from v1. > >Haiyue Wang (7): > net/iavf: stop the PCI probe in DCF mode > net/ice: add the DCF hardware initialization > net/ice: acquire and disable the DCF capability > net/ice: handle the AdminQ command by DCF > net/ice: export the DDP definition symbols > net/ice: handle the PF initialization by DCF > net/ice: get the VF hardware index in DCF > > doc/guides/nics/ice.rst | 47 ++ > doc/guides/nics/img/ice_dcf.png | Bin 0 -> 39168 bytes > doc/guides/rel_notes/release_20_05.rst | 5 + > drivers/common/Makefile | 1 + > drivers/net/iavf/iavf_ethdev.c | 43 ++ > drivers/net/ice/Makefile | 6 + > drivers/net/ice/ice_dcf.c | 658 +++++++++++++++++++++++++ > drivers/net/ice/ice_dcf.h | 63 +++ > drivers/net/ice/ice_dcf_ethdev.c | 321 ++++++++++++ > drivers/net/ice/ice_dcf_ethdev.h | 33 ++ > drivers/net/ice/ice_dcf_parent.c | 351 +++++++++++++ > drivers/net/ice/ice_ethdev.c | 9 +- > drivers/net/ice/ice_ethdev.h | 8 + > drivers/net/ice/meson.build | 8 +- > mk/rte.app.mk | 1 + > 15 files changed, 1544 insertions(+), 10 deletions(-) > create mode 100644 doc/guides/nics/img/ice_dcf.png > create mode 100644 drivers/net/ice/ice_dcf.c > create mode 100644 drivers/net/ice/ice_dcf.h > create mode 100644 drivers/net/ice/ice_dcf_ethdev.c > create mode 100644 drivers/net/ice/ice_dcf_ethdev.h > create mode 100644 drivers/net/ice/ice_dcf_parent.c > >-- >2.26.0 >
Hi Xiaolong, Yes, found the root cause. Will fix it next version. BR, Haiyue > -----Original Message----- > From: Ye, Xiaolong <xiaolong.ye@intel.com> > Sent: Thursday, March 26, 2020 13:06 > To: Wang, Haiyue <haiyue.wang@intel.com> > Cc: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; Yang, Qiming <qiming.yang@intel.com>; Xing, > Beilei <beilei.xing@intel.com>; Zhao1, Wei <wei.zhao1@intel.com> > Subject: Re: [PATCH v4 0/7] add Intel DCF PMD support > > > There is build error about this patchset, could you double check? > > > OS: CENTOS77-64 > Target: x86_64-native-linuxapp-gcc+shared > LD librte_pmd_ice.so.20.0.2 > CC sfc_ev.o > ice_dcf_parent.o: In function `ice_dcf_handle_pf_event_msg': > ice_dcf_parent.c:(.text+0x556): undefined reference to `pthread_create' > collect2: error: ld returned 1 exit status > make[6]: *** [librte_pmd_ice.so.20.0.2] Error 1 > make[5]: *** [ice] Error 2 > make[5]: *** Waiting for unfinished jobs.... > CC sfc_port.o > CC bnxt_rxtx_vec_sse.o > CC sfc_rx.o > CC nicvf_hw.o > -- > CC medford2_nic.o > LD librte_pmd_octeontx2.so.20.0.2 > INSTALL-LIB librte_pmd_octeontx2.so.20.0.2 > LD librte_pmd_sfc_efx.so.20.0.2 > INSTALL-LIB librte_pmd_sfc_efx.so.20.0.2 > make[4]: *** [net] Error 2 > make[3]: *** [drivers] Error 2 > make[2]: *** [all] Error 2 > make[1]: *** [pre_install] Error 2 > make: *** [install] Error 2 > > http://mails.dpdk.org/archives/test-report/2020-March/122145.html > > On 03/26, Haiyue Wang wrote: > >A DCF (Device Config Function) based approach is proposed where a device > >bound to the device's VF0 can act as a sole controlling entity to exercise > >advance functionality (such as switch, ACL) for rest of the VFs. > > > >The DCF works as a standalone PMD to support this function, which shares the > >ice PMD flow control core function and the iavf virtchnl mailbox core module. > > > >v4: > > Change the alarm handler to thread service, since it will need to do more > > work. > > > >v3: > > 1. Fixed the error log message format. > > 2. Fixed some memory allocation check. > > 3. Fixed some code style issue and commmit message description. > > > >v2: > > 1. update the iavf patchset link. > > 2. split more patches for making this work be more understandable > > 3. fix the log function usage, devargs checking from v1. > > > >Haiyue Wang (7): > > net/iavf: stop the PCI probe in DCF mode > > net/ice: add the DCF hardware initialization > > net/ice: acquire and disable the DCF capability > > net/ice: handle the AdminQ command by DCF > > net/ice: export the DDP definition symbols > > net/ice: handle the PF initialization by DCF > > net/ice: get the VF hardware index in DCF > > > > doc/guides/nics/ice.rst | 47 ++ > > doc/guides/nics/img/ice_dcf.png | Bin 0 -> 39168 bytes > > doc/guides/rel_notes/release_20_05.rst | 5 + > > drivers/common/Makefile | 1 + > > drivers/net/iavf/iavf_ethdev.c | 43 ++ > > drivers/net/ice/Makefile | 6 + > > drivers/net/ice/ice_dcf.c | 658 +++++++++++++++++++++++++ > > drivers/net/ice/ice_dcf.h | 63 +++ > > drivers/net/ice/ice_dcf_ethdev.c | 321 ++++++++++++ > > drivers/net/ice/ice_dcf_ethdev.h | 33 ++ > > drivers/net/ice/ice_dcf_parent.c | 351 +++++++++++++ > > drivers/net/ice/ice_ethdev.c | 9 +- > > drivers/net/ice/ice_ethdev.h | 8 + > > drivers/net/ice/meson.build | 8 +- > > mk/rte.app.mk | 1 + > > 15 files changed, 1544 insertions(+), 10 deletions(-) > > create mode 100644 doc/guides/nics/img/ice_dcf.png > > create mode 100644 drivers/net/ice/ice_dcf.c > > create mode 100644 drivers/net/ice/ice_dcf.h > > create mode 100644 drivers/net/ice/ice_dcf_ethdev.c > > create mode 100644 drivers/net/ice/ice_dcf_ethdev.h > > create mode 100644 drivers/net/ice/ice_dcf_parent.c > > > >-- > >2.26.0 > >