* [dpdk-dev] [PATCH 2.3] tools/dpdk_nic_bind.py: Verbosely warn the user on bind
@ 2015-12-11 16:20 Aaron Conole
2016-01-26 20:14 ` Thomas Monjalon
0 siblings, 1 reply; 4+ messages in thread
From: Aaron Conole @ 2015-12-11 16:20 UTC (permalink / raw)
To: dev
DPDK ports are only detected during the EAL initialization. After that, any
new DPDK ports which are bound will not be visible to the application.
The dpdk_nic_bind.py can be a bit more helpful to let users know that DPDK
enabled applications will not find rebound ports until after they have been
restarted.
Signed-off-by: Aaron Conole <aconole@redhat.com>
---
tools/dpdk_nic_bind.py | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tools/dpdk_nic_bind.py b/tools/dpdk_nic_bind.py
index f02454e..ca39389 100755
--- a/tools/dpdk_nic_bind.py
+++ b/tools/dpdk_nic_bind.py
@@ -344,8 +344,10 @@ def bind_one(dev_id, driver, force):
dev["Driver_str"] = "" # clear driver string
# if we are binding to one of DPDK drivers, add PCI id's to that driver
+ bDpdkDriver = False
if driver in dpdk_drivers:
filename = "/sys/bus/pci/drivers/%s/new_id" % driver
+ bDpdkDriver = True
try:
f = open(filename, "w")
except:
@@ -371,12 +373,18 @@ def bind_one(dev_id, driver, force):
try:
f.write(dev_id)
f.close()
+ if bDpdkDriver:
+ print "Device rebound to dpdk driver."
+ print "Remember to restart any application that will use this port."
except:
# for some reason, closing dev_id after adding a new PCI ID to new_id
# results in IOError. however, if the device was successfully bound,
# we don't care for any errors and can safely ignore IOError
tmp = get_pci_device_details(dev_id)
if "Driver_str" in tmp and tmp["Driver_str"] == driver:
+ if bDpdkDriver:
+ print "Device rebound to dpdk driver."
+ print "Remember to restart any application that will use this port."
return
print "Error: bind failed for %s - Cannot bind to driver %s" % (dev_id, driver)
if saved_driver is not None: # restore any previous driver
--
2.6.1.133.gf5b6079
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH 2.3] tools/dpdk_nic_bind.py: Verbosely warn the user on bind
2015-12-11 16:20 [dpdk-dev] [PATCH 2.3] tools/dpdk_nic_bind.py: Verbosely warn the user on bind Aaron Conole
@ 2016-01-26 20:14 ` Thomas Monjalon
2016-01-26 20:21 ` David Marchand
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Monjalon @ 2016-01-26 20:14 UTC (permalink / raw)
To: Aaron Conole, david.marchand; +Cc: dev
2015-12-11 11:20, Aaron Conole:
> DPDK ports are only detected during the EAL initialization. After that, any
> new DPDK ports which are bound will not be visible to the application.
>
> The dpdk_nic_bind.py can be a bit more helpful to let users know that DPDK
> enabled applications will not find rebound ports until after they have been
> restarted.
I think it's better to improve hotplug and allow hot binding.
A work is in progress towards this direction.
David, can you confirm?
Is this patch still valuable in the meantime?
> --- a/tools/dpdk_nic_bind.py
> +++ b/tools/dpdk_nic_bind.py
> @@ -344,8 +344,10 @@ def bind_one(dev_id, driver, force):
> dev["Driver_str"] = "" # clear driver string
>
> # if we are binding to one of DPDK drivers, add PCI id's to that driver
> + bDpdkDriver = False
Please do not use camel case.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH 2.3] tools/dpdk_nic_bind.py: Verbosely warn the user on bind
2016-01-26 20:14 ` Thomas Monjalon
@ 2016-01-26 20:21 ` David Marchand
2016-03-01 8:38 ` Thomas Monjalon
0 siblings, 1 reply; 4+ messages in thread
From: David Marchand @ 2016-01-26 20:21 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev
On Tue, Jan 26, 2016 at 9:14 PM, Thomas Monjalon
<thomas.monjalon@6wind.com> wrote:
> 2015-12-11 11:20, Aaron Conole:
>> DPDK ports are only detected during the EAL initialization. After that, any
>> new DPDK ports which are bound will not be visible to the application.
>>
>> The dpdk_nic_bind.py can be a bit more helpful to let users know that DPDK
>> enabled applications will not find rebound ports until after they have been
>> restarted.
>
> I think it's better to improve hotplug and allow hot binding.
> A work is in progress towards this direction.
> David, can you confirm?
I intend to provide some rfc patches later this week, for next release.
--
David Marchand
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH 2.3] tools/dpdk_nic_bind.py: Verbosely warn the user on bind
2016-01-26 20:21 ` David Marchand
@ 2016-03-01 8:38 ` Thomas Monjalon
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2016-03-01 8:38 UTC (permalink / raw)
To: Aaron Conole; +Cc: dev
2016-01-26 21:21, David Marchand:
> On Tue, Jan 26, 2016 at 9:14 PM, Thomas Monjalon
> <thomas.monjalon@6wind.com> wrote:
> > 2015-12-11 11:20, Aaron Conole:
> >> DPDK ports are only detected during the EAL initialization. After that, any
> >> new DPDK ports which are bound will not be visible to the application.
> >>
> >> The dpdk_nic_bind.py can be a bit more helpful to let users know that DPDK
> >> enabled applications will not find rebound ports until after they have been
> >> restarted.
> >
> > I think it's better to improve hotplug and allow hot binding.
> > A work is in progress towards this direction.
> > David, can you confirm?
>
> I intend to provide some rfc patches later this week, for next release.
These "auto-hotplug" patches won't be ready for 16.04.
But it's possible to use a new bound device with rte_eth_dev_attach().
So this patch is rejected.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-03-01 8:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-11 16:20 [dpdk-dev] [PATCH 2.3] tools/dpdk_nic_bind.py: Verbosely warn the user on bind Aaron Conole
2016-01-26 20:14 ` Thomas Monjalon
2016-01-26 20:21 ` David Marchand
2016-03-01 8:38 ` Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).