[v2,5/6] usertools/dpdk-devbind.py: add support for ntb
Checks
Commit Message
In order to allow binding/unbinding of devices for use by the
ntb_rawdev, we need to update the devbind script to add a new class
of device, and add device ids for the specific HW instances. And
only support skx platform right now.
Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
---
usertools/dpdk-devbind.py | 9 +++++++++
1 file changed, 9 insertions(+)
Comments
On Thu, Jun 06, 2019 at 03:43:02PM +0800, Xiaoyun Li wrote:
> In order to allow binding/unbinding of devices for use by the
> ntb_rawdev, we need to update the devbind script to add a new class
> of device, and add device ids for the specific HW instances. And
> only support skx platform right now.
>
> Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
> ---
> usertools/dpdk-devbind.py | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
> index 9e79f0d28..3f7eafe28 100755
> --- a/usertools/dpdk-devbind.py
> +++ b/usertools/dpdk-devbind.py
> @@ -36,11 +36,15 @@
> octeontx2_npa = {'Class': '08', 'Vendor': '177d', 'Device': 'a0fb,a0fc',
> 'SVendor': None, 'SDevice': None}
>
> +intel_ntb_skx = {'Class': '06', 'Vendor': '8086', 'Device': '201c',
> + 'SVendor': None, 'SDevice': None}
> +
> network_devices = [network_class, cavium_pkx, avp_vnic, ifpga_class]
> crypto_devices = [encryption_class, intel_processor_class]
> eventdev_devices = [cavium_sso, cavium_tim, octeontx2_sso]
> mempool_devices = [cavium_fpa, octeontx2_npa]
> compress_devices = [cavium_zip]
> +communication_devices = [intel_ntb_skx]
>
Looking at this patch, and my own rawdev set for adding the ioat driver, I
wonder if it's really a good idea to add new categories for each rawdev
device type. Given we don't know how many device types there will be
overall, I wonder if it's better to just add a "misc" or "other" device
type section, where we put all raw devices.
/Bruce
Well. Seems a good idea. I don't think there will be too many communication devices or dma devices anyway.
So use misc_devices? I can align with you.
> -----Original Message-----
> From: Richardson, Bruce
> Sent: Thursday, June 6, 2019 16:23
> To: Li, Xiaoyun <xiaoyun.li@intel.com>
> Cc: Wu, Jingjing <jingjing.wu@intel.com>; Wiles, Keith <keith.wiles@intel.com>;
> Liang, Cunming <cunming.liang@intel.com>; Maslekar, Omkar
> <omkar.maslekar@intel.com>; dev@dpdk.org; thomas@monjalon.net
> Subject: Re: [dpdk-dev] [PATCH v2 5/6] usertools/dpdk-devbind.py: add support
> for ntb
>
> On Thu, Jun 06, 2019 at 03:43:02PM +0800, Xiaoyun Li wrote:
> > In order to allow binding/unbinding of devices for use by the
> > ntb_rawdev, we need to update the devbind script to add a new class of
> > device, and add device ids for the specific HW instances. And only
> > support skx platform right now.
> >
> > Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
> > ---
> > usertools/dpdk-devbind.py | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
> > index 9e79f0d28..3f7eafe28 100755
> > --- a/usertools/dpdk-devbind.py
> > +++ b/usertools/dpdk-devbind.py
> > @@ -36,11 +36,15 @@
> > octeontx2_npa = {'Class': '08', 'Vendor': '177d', 'Device': 'a0fb,a0fc',
> > 'SVendor': None, 'SDevice': None}
> >
> > +intel_ntb_skx = {'Class': '06', 'Vendor': '8086', 'Device': '201c',
> > + 'SVendor': None, 'SDevice': None}
> > +
> > network_devices = [network_class, cavium_pkx, avp_vnic, ifpga_class]
> > crypto_devices = [encryption_class, intel_processor_class]
> > eventdev_devices = [cavium_sso, cavium_tim, octeontx2_sso]
> > mempool_devices = [cavium_fpa, octeontx2_npa] compress_devices =
> > [cavium_zip]
> > +communication devices = [intel_ntb_skx]
> >
>
> Looking at this patch, and my own rawdev set for adding the ioat driver, I
> wonder if it's really a good idea to add new categories for each rawdev device
> type. Given we don't know how many device types there will be overall, I
> wonder if it's better to just add a "misc" or "other" device type section, where
> we put all raw devices.
>
> /Bruce
@@ -36,11 +36,15 @@
octeontx2_npa = {'Class': '08', 'Vendor': '177d', 'Device': 'a0fb,a0fc',
'SVendor': None, 'SDevice': None}
+intel_ntb_skx = {'Class': '06', 'Vendor': '8086', 'Device': '201c',
+ 'SVendor': None, 'SDevice': None}
+
network_devices = [network_class, cavium_pkx, avp_vnic, ifpga_class]
crypto_devices = [encryption_class, intel_processor_class]
eventdev_devices = [cavium_sso, cavium_tim, octeontx2_sso]
mempool_devices = [cavium_fpa, octeontx2_npa]
compress_devices = [cavium_zip]
+communication_devices = [intel_ntb_skx]
# global dict ethernet devices present. Dictionary indexed by PCI address.
# Each device within this is itself a dictionary of device properties
@@ -595,6 +599,9 @@ def show_status():
if status_dev == "compress" or status_dev == "all":
show_device_status(compress_devices , "Compress")
+ if status_dev == "communication" or status_dev == "all":
+ show_device_status(communication_devices , "Communication")
+
def parse_args():
'''Parses the command-line arguments given by the user and takes the
@@ -670,6 +677,7 @@ def do_arg_actions():
get_device_details(eventdev_devices)
get_device_details(mempool_devices)
get_device_details(compress_devices)
+ get_device_details(communication_devices)
show_status()
@@ -690,6 +698,7 @@ def main():
get_device_details(eventdev_devices)
get_device_details(mempool_devices)
get_device_details(compress_devices)
+ get_device_details(communication_devices)
do_arg_actions()
if __name__ == "__main__":