Re: [PATCH net-next 5/6] ionic: use mc sync for multicast filters

2020-11-05 Thread Shannon Nelson
On 11/4/20 5:18 PM, Saeed Mahameed wrote: On Wed, 2020-11-04 at 14:33 -0800, Shannon Nelson wrote: We should be using the multicast sync routines for the multicast filters. Fixes: 1800eee16676 ("net: ionic: Replace in_interrupt() usage.") Signed-off-by: Shannon Nelson --- d

Re: [PATCH net-next 3/6] ionic: add lif quiesce

2020-11-05 Thread Shannon Nelson
On 11/4/20 4:50 PM, Saeed Mahameed wrote: On Wed, 2020-11-04 at 14:33 -0800, Shannon Nelson wrote: After the queues are stopped, expressly quiesce the lif. This assures that even if the queues were in an odd state, the firmware will close up everything cleanly. Signed-off-by: Shannon Nelson

Re: [PATCH net-next 4/6] ionic: batch rx buffer refilling

2020-11-05 Thread Shannon Nelson
On 11/4/20 5:08 PM, Saeed Mahameed wrote: On Wed, 2020-11-04 at 14:33 -0800, Shannon Nelson wrote: We don't need to refill the rx descriptors on every napi if only a few were handled. Waiting until we can batch up a few together will save us a few Rx cycles. Signed-off-by: Shannon N

[PATCH net-next 3/6] ionic: add lif quiesce

2020-11-04 Thread Shannon Nelson
After the queues are stopped, expressly quiesce the lif. This assures that even if the queues were in an odd state, the firmware will close up everything cleanly. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_lif.c | 24 +++ 1 file changed, 24

[PATCH net-next 4/6] ionic: batch rx buffer refilling

2020-11-04 Thread Shannon Nelson
We don't need to refill the rx descriptors on every napi if only a few were handled. Waiting until we can batch up a few together will save us a few Rx cycles. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_dev.h| 4 +++- .../net/ethernet/pensando/

[PATCH net-next 6/6] ionic: useful names for booleans

2020-11-04 Thread Shannon Nelson
With a few more uses of true and false in function calls, we need to give them some useful names so we can tell from the calling point what we're doing. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_lif.c | 16 drivers/net/ethernet/pensando/

[PATCH net-next 0/6] ionic updates

2020-11-04 Thread Shannon Nelson
These updates are a bit of code cleaning and a minor bit of performance tweaking. Shannon Nelson (6): ionic: start queues before announcing link up ionic: check for link after netdev registration ionic: add lif quiesce ionic: batch rx buffer refilling ionic: use mc sync for multicast

[PATCH net-next 2/6] ionic: check for link after netdev registration

2020-11-04 Thread Shannon Nelson
Request a link check as soon as the netdev is registered rather than waiting for the watchdog to go off in order to get the interface operational a little more quickly. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_lif.c | 2 ++ 1 file changed, 2 insertions

[PATCH net-next 1/6] ionic: start queues before announcing link up

2020-11-04 Thread Shannon Nelson
Change the order of operations in the link_up handling to be sure that the queues are up and ready before we announce that the link is up. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_lif.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff

[PATCH net-next 5/6] ionic: use mc sync for multicast filters

2020-11-04 Thread Shannon Nelson
We should be using the multicast sync routines for the multicast filters. Fixes: 1800eee16676 ("net: ionic: Replace in_interrupt() usage.") Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_lif.c | 10 +- 1 file changed, 9 insertions(+), 1 deletio

[PATCH net] ionic: check port ptr before use

2020-11-04 Thread Shannon Nelson
Check for corner case of port_init failure before using the port_info pointer. Fixes: 4d03e00a2140 ("ionic: Add initial ethtool support") Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_ethtool.c | 5 + 1 file changed, 5 insertions(+) diff --git a/d

[PATCH net 1/3] ionic: clean up sparse complaints

2020-10-22 Thread Shannon Nelson
The sparse complaints around the static_asserts were obscuring more useful complaints. So, don't check the static_asserts, and fix the remaining sparse complaints. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_dev.c | 4 +-- .../net/ethernet/pensando/

[PATCH net 0/3] ionic: memory usage fixes

2020-10-22 Thread Shannon Nelson
This patchset addresses some memory leaks and incorrect io reads. Shannon Nelson (3): ionic: clean up sparse complaints ionic: no rx flush in deinit ionic: fix mem leak in rx_empty .../net/ethernet/pensando/ionic/ionic_dev.c | 4 +- .../net/ethernet/pensando/ionic/ionic_dev.h | 2

[PATCH net 2/3] ionic: no rx flush in deinit

2020-10-22 Thread Shannon Nelson
Kmemleak pointed out to us that ionic_rx_flush() is sending skbs into napi_gro_XXX with a disabled napi context, and these end up getting lost and leaked. We can safely remove the flush. Fixes: 0f3154e6bcb3 ("ionic: Add Tx and Rx handling") Signed-off-by: Shannon Nelson --- d

[PATCH net 3/3] ionic: fix mem leak in rx_empty

2020-10-22 Thread Shannon Nelson
The sentinel descriptor entry was getting missed in the traverse of the ring from head to tail, so change to a loop of 0 to the end. Fixes: f1d2e894f1b7 ("ionic: use index not pointer for queue tracking") Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_tx

Re: [PATCH] ixgbe: fail to create xfrm offload of IPsec tunnel mode SA

2020-10-14 Thread Shannon Nelson
expectations. Fixes: 63a67fe229ea ("ixgbe: add ipsec offload add and remove SA") Signed-off-by: Antony Antony Acked-by: Shannon Nelson --- drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c | 5 + drivers/net/ethernet/intel/ixgbevf/ipsec.c | 5 + 2 files changed, 10 insertion

[PATCH net-next 8/8] ionic: add new bad firmware error code

2020-10-01 Thread Shannon Nelson
If the new firmware image downladed for update is corrupted or is a bad format, the download process will report a status code specifically for that. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_if.h | 1 + drivers/net/ethernet/pensando/ionic/ionic_main.c | 2

[PATCH net-next 3/8] ionic: clear linkcheck bit on alloc fail

2020-10-01 Thread Shannon Nelson
Clear our link check requested flag on an allocation error. We end up dropping this link check request, but that should be fine as our watchdog will come back a few seconds later and request it again. Reported-by: Sebastian Andrzej Siewior Signed-off-by: Shannon Nelson --- drivers/net/ethernet

[PATCH net-next 7/8] ionic: use lif ident for filter count

2020-10-01 Thread Shannon Nelson
Use the lif's ident information for the uc and mc filter counts rather than the ionic's version, to be sure we're getting the info that is specific to this lif. While we're thinking about it, add some missing error checking where we get the lif's identity information

[PATCH net-next 2/8] ionic: drain the work queue

2020-10-01 Thread Shannon Nelson
Check through our work list for additional items. This normally will only have one item, but occasionally may have another job waiting. There really is no need reschedule ourself here. Reported-by: Sebastian Andrzej Siewior Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic

[PATCH net-next 6/8] ionic: refill lif identity after fw_up

2020-10-01 Thread Shannon Nelson
an error message when the data is refreshed after the fw upgrade. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_bus_pci.c | 10 ++ drivers/net/ethernet/pensando/ionic/ionic_lif.c | 10 +- drivers/net/ethernet/pensando/ionic/ionic_main.c | 16 +++-

[PATCH net-next 1/8] ionic: contiguous memory for notifyq

2020-10-01 Thread Shannon Nelson
queue allocations easier to manage - the notifyq is much smaller and doesn't need to be split. This patch simply adds an if/else and slightly different code for the notifyq descriptor allocation. Fixes: ea5a8b09dc3a ("ionic: reduce contiguous memory allocation requirement") Signed-

[PATCH net-next 0/8] ionic error recovery

2020-10-01 Thread Shannon Nelson
This set of patches comes mostly from error recovery path testing, as well as a couple of upstream review comments. Shannon Nelson (8): ionic: contiguous memory for notifyq ionic: drain the work queue ionic: clear linkcheck bit on alloc fail ionic: check qcq ptr in ionic_qcq_disable

[PATCH net-next 5/8] ionic: disable all queue napi contexts on timeout

2020-10-01 Thread Shannon Nelson
call ionic_qcq_disable() and to give it an argument to know when to not do the adminq request. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_lif.c | 47 +-- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/drivers/net/ethernet/pensando/

[PATCH net-next 4/8] ionic: check qcq ptr in ionic_qcq_disable

2020-10-01 Thread Shannon Nelson
There are a couple of error recovery paths that can come through ionic_qcq_disable() without having set up the qcq, so we need to make sure we have a valid qcq pointer before using it. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_lif.c | 31 --- 1

Re: [iproute2-next v2 1/1] devlink: display elapsed time during flash update

2020-09-30 Thread Shannon Nelson
splay with "timeout reached". Signed-off-by: Jacob Keller Works for me - thanks! Tested-by: Shannon Nelson --- Changes since v1 * update last status time only when the message changes, allowing an elapsed time to represent the full operation of downloading or programming the i

Re: [iproute2-next v1] devlink: display elapsed time during flash update

2020-09-30 Thread Shannon Nelson
On 9/30/20 2:43 PM, Jacob Keller wrote: On 9/30/2020 2:36 PM, Jakub Kicinski wrote: On Wed, 30 Sep 2020 14:20:43 -0700 Jacob Keller wrote: Thanks, Jake.  In general this seems to work pretty well.  One thing, tho'... Our fw download is slow (I won't go into the reasons here) so we're clicking

[PATCH v2 net-next 0/2] ionic watchdog training

2020-09-30 Thread Shannon Nelson
Our link watchdog displayed a couple of unfriendly behaviors in some recent stress testing. These patches change the startup and stop timing in order to be sure that expected structures are ready to be used by the watchdog. Shannon Nelson (2): ionic: stop watchdog timer earlier on remove

[PATCH v2 net-next 2/2] ionic: prevent early watchdog check

2020-09-30 Thread Shannon Nelson
In one corner case scenario, the driver device lif setup can get delayed such that the ionic_watchdog_cb() timer goes off before the ionic->lif is set, thus causing a NULL pointer panic. We catch the problem by checking for a NULL lif just a little earlier in the callback. Signed-off-by: Shan

[PATCH v2 net-next 1/2] ionic: stop watchdog timer earlier on remove

2020-09-30 Thread Shannon Nelson
We need to be better at making sure we don't have a link check watchdog go off while we're shutting things down, so let's stop the timer as soon as we start the remove. Meanwhile, since that was the only thing in ionic_dev_teardown(), simplify and remove that function. Signed-

Re: [PATCH net-next 2/2] ionic: prevent early watchdog check

2020-09-29 Thread Shannon Nelson
On 9/29/20 5:15 PM, Jakub Kicinski wrote: On Tue, 29 Sep 2020 15:19:56 -0700 Shannon Nelson wrote: In one corner case scenario, the driver device lif setup can get delayed such that the ionic_watchdog_cb() timer goes off before the ionic->lif is set, thus causing a NULL pointer panic. We ca

Re: [patch V2 11/36] net: ionic: Replace in_interrupt() usage.

2020-09-29 Thread Shannon Nelson
some constants like #define can_sleep true so the code can be a little more readable. Yes, I know we have this problem already in the call to ionic_lif_addr(), which I'm annoyed with but haven't addressed yet. So, if you want to deal with this now, fine, otherwise I'll take car

Re: [iproute2-next v1] devlink: display elapsed time during flash update

2020-09-29 Thread Shannon Nelson
On 9/29/20 2:56 PM, Jacob Keller wrote: For some devices, updating the flash can take significant time during operations where no status can meaningfully be reported. This can be somewhat confusing to a user who sees devlink appear to hang on the terminal waiting for the device to update. Recent

[PATCH net-next 0/2] ionic watchdog training

2020-09-29 Thread Shannon Nelson
Our link watchdog displayed a couple of unfriendly behaviors in some recent stress testing. These patches change the startup and stop timing in order to be sure that expected structures are ready to be used by the watchdog. Shannon Nelson (2): ionic: stop watchdog timer earlier on remove

[PATCH net-next 2/2] ionic: prevent early watchdog check

2020-09-29 Thread Shannon Nelson
In one corner case scenario, the driver device lif setup can get delayed such that the ionic_watchdog_cb() timer goes off before the ionic->lif is set, thus causing a NULL pointer panic. We catch the problem by checking for a NULL lif just a little earlier in the callback. Signed-off-by: Shan

[PATCH net-next 1/2] ionic: stop watchdog timer earlier on remove

2020-09-29 Thread Shannon Nelson
We need to be better at making sure we don't have a link check watchdog go off while we're shutting things down, so let's stop the timer as soon as we start the remove. Meanwhile, since that was the only thing in ionic_dev_teardown(), simplify and remove that function. Signed-

Re: [RFC iproute2-next] devlink: display elapsed time during flash update

2020-09-29 Thread Shannon Nelson
On 9/29/20 10:56 AM, Jacob Keller wrote: On 9/29/2020 10:18 AM, Jakub Kicinski wrote: On Mon, 28 Sep 2020 16:49:45 -0700 Jacob Keller wrote: For some devices, updating the flash can take significant time during operations where no status can meaningfully be reported. This can be somewhat confus

Re: [patch 11/35] net: ionic: Replace in_interrupt() usage.

2020-09-28 Thread Shannon Nelson
On 9/28/20 10:24 AM, Shannon Nelson wrote: On 9/27/20 12:48 PM, Thomas Gleixner wrote: From: Sebastian Andrzej Siewior The in_interrupt() usage in this driver tries to figure out which context may sleep and which context may not sleep. in_interrupt() is not really suitable as it misses both

Re: [patch 12/35] net: ionic: Remove WARN_ON(in_interrupt()).

2020-09-28 Thread Shannon Nelson
of checks (always enabled or debug option dependent) which cover all invalid conditions already, there is no point in having inconsistent warnings in those drivers. Just remove them. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Thomas Gleixner Cc: Shannon Nelson Cc: Pensando Drivers

Re: [patch 11/35] net: ionic: Replace in_interrupt() usage.

2020-09-28 Thread Shannon Nelson
ain fully preemptible task context Add 'can_sleep' arguments to the affected functions and let the callers provide the context instead of letting the functions deduce it. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Thomas Gleixner Cc: Shannon Nelson Cc: Pensando Drivers

Re: [net-next v7 0/5] devlink flash update overwrite mask

2020-09-18 Thread Shannon Nelson
: Jakub Kicinski Cc: Jonathan Corbet Cc: Michael Chan Cc: Bin Luo Cc: Saeed Mahameed Cc: Leon Romanovsky Cc: Ido Schimmel Cc: Danielle Ratson Cc: Shannon Nelson Thanks Jake.  For ionic: Acked-by: Shannon Nelson

[PATCH v5 net-next 5/5] ionic: add devlink firmware update

2020-09-17 Thread Shannon Nelson
requests, which are then followed up with status request commands. These status request commands will be answered with an EAGAIN return value and will try again until the request has completed or reached the timeout specified. Signed-off-by: Shannon Nelson Acked-by: Jakub Kicinski --- drivers/net

[PATCH v5 net-next 0/5] ionic: add devlink dev flash support

2020-09-17 Thread Shannon Nelson
v3: Changed long dev_cmd timeout on status check calls to a loop around calls with a normal timeout, which allows for more intermediate log messaging when in a long wait, and for letting other threads run dev_cmds if waiting. v2: Changed "Activate" to "Select" in st

[PATCH v5 net-next 2/5] devlink: collect flash notify params into a struct

2020-09-17 Thread Shannon Nelson
The dev flash status notify function parameter lists are getting rather long, so add a struct to be filled and passed rather than continuously changing the function signatures. Signed-off-by: Shannon Nelson Reviewed-by: Jacob Keller --- include/net/devlink.h | 19 +++ net/core

[PATCH v5 net-next 4/5] ionic: update the fw update api

2020-09-17 Thread Shannon Nelson
Add the rest of the firmware api bits needed to support the driver running a firmware update. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_if.h| 33 ++- .../net/ethernet/pensando/ionic/ionic_main.c | 4 +++ 2 files changed, 29 insertions(+), 8

[PATCH v5 net-next 1/5] devlink: add timeout information to status_notify

2020-09-17 Thread Shannon Nelson
] status_msg ( timeout reached : Am Bs ) - if new status notify messages are received, remove the timeout and start over Signed-off-by: Shannon Nelson Reviewed-by: Jakub Kicinski Reviewed-by: Jacob Keller --- include/net/devlink.h| 4 include/uapi/linux/devlink.h | 3 +++ net/core

[PATCH v5 net-next 3/5] netdevsim: devlink flash timeout message

2020-09-17 Thread Shannon Nelson
Add a simple devlink flash timeout message to exercise the message mechanism. Signed-off-by: Shannon Nelson --- drivers/net/netdevsim/dev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/netdevsim/dev.c b/drivers/net/netdevsim/dev.c index 32f339fedb21..e41f85c75699 100644

Re: [PATCH v4 net-next 5/5] ionic: add devlink firmware update

2020-09-17 Thread Shannon Nelson
On 9/17/20 12:52 PM, Jakub Kicinski wrote: On Wed, 16 Sep 2020 20:02:04 -0700 Shannon Nelson wrote: Add support for firmware update through the devlink interface. This update copies the firmware object into the device, asks the current firmware to install it, then asks the firmware to select

Re: [PATCH v4 net-next 1/5] devlink: add timeout information to status_notify

2020-09-17 Thread Shannon Nelson
On 9/17/20 12:50 PM, Jacob Keller wrote: On 9/16/2020 8:02 PM, Shannon Nelson wrote: Add a timeout element to the DEVLINK_CMD_FLASH_UPDATE_STATUS netlink message for use by a userland utility to show that a particular firmware flash activity may take a long but bounded time to finish. Also add

Re: [PATCH v4 net-next 3/5] netdevsim: devlink flash timeout message

2020-09-17 Thread Shannon Nelson
On 9/17/20 12:50 PM, Jakub Kicinski wrote: On Wed, 16 Sep 2020 20:02:02 -0700 Shannon Nelson wrote: Add a simple devlink flash timeout message to exercise the message mechanism. Signed-off-by: Shannon Nelson --- drivers/net/netdevsim/dev.c | 2 ++ 1 file changed, 2 insertions(+) diff

Re: [PATCH v4 net-next 2/5] devlink: collect flash notify params into a struct

2020-09-17 Thread Shannon Nelson
On 9/17/20 12:47 PM, Jakub Kicinski wrote: On Wed, 16 Sep 2020 20:02:01 -0700 Shannon Nelson wrote: The dev flash status notify function parameter lists are getting rather long, so add a struct to be filled and passed rather than continuously changing the function signatures. Signed-off-by

Re: [PATCH v4 net-next 1/5] devlink: add timeout information to status_notify

2020-09-17 Thread Shannon Nelson
On 9/17/20 12:46 PM, Jakub Kicinski wrote: On Wed, 16 Sep 2020 20:02:00 -0700 Shannon Nelson wrote: Add a timeout element to the DEVLINK_CMD_FLASH_UPDATE_STATUS netlink message for use by a userland utility to show that a particular firmware flash activity may take a long but bounded time to

[PATCH v2 net-next] ionic: add DIMLIB to Kconfig

2020-09-17 Thread Shannon Nelson
a834592bf5 ("ionic: dynamic interrupt moderation") Reported-by: kernel test robot Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/pensando/Kconfig b/drivers/net/ethernet/pensando/Kconfig index 76

Re: [PATCH net-next] ionic: add DIMLIB to Kconfig

2020-09-17 Thread Shannon Nelson
On 9/17/20 1:02 PM, Jakub Kicinski wrote: On Thu, 17 Sep 2020 12:08:45 -0700 Shannon Nelson wrote: On 9/17/20 12:02 PM, Jakub Kicinski wrote: On Thu, 17 Sep 2020 11:42:43 -0700 Shannon Nelson wrote: ld.lld: error: undefined symbol: net_dim_get_rx_moderation >>> referenced by io

Re: [PATCH net-next] ionic: add DIMLIB to Kconfig

2020-09-17 Thread Shannon Nelson
On 9/17/20 12:02 PM, Jakub Kicinski wrote: On Thu, 17 Sep 2020 11:42:43 -0700 Shannon Nelson wrote: ld.lld: error: undefined symbol: net_dim_get_rx_moderation >>> referenced by ionic_lif.c:52 (drivers/net/ethernet/pensando/ionic/ionic_lif.c:52) >>> net/ether

[PATCH net-next] ionic: add DIMLIB to Kconfig

2020-09-17 Thread Shannon Nelson
ation") Reported-by: kernel test robot Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/pensando/Kconfig b/drivers/net/ethernet/pensando/Kconfig index 76f8cc502bf9..5f8b0bb3af6e 100644 --- a/driver

[PATCH v4 net-next 3/5] netdevsim: devlink flash timeout message

2020-09-16 Thread Shannon Nelson
Add a simple devlink flash timeout message to exercise the message mechanism. Signed-off-by: Shannon Nelson --- drivers/net/netdevsim/dev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/netdevsim/dev.c b/drivers/net/netdevsim/dev.c index 32f339fedb21..4123550e3f6e 100644

[PATCH v4 net-next 2/5] devlink: collect flash notify params into a struct

2020-09-16 Thread Shannon Nelson
The dev flash status notify function parameter lists are getting rather long, so add a struct to be filled and passed rather than continuously changing the function signatures. Signed-off-by: Shannon Nelson --- include/net/devlink.h | 21 net/core/devlink.c| 80

[PATCH v4 net-next 4/5] ionic: update the fw update api

2020-09-16 Thread Shannon Nelson
Add the rest of the firmware api bits needed to support the driver running a firmware update. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_if.h| 33 ++- .../net/ethernet/pensando/ionic/ionic_main.c | 4 +++ 2 files changed, 29 insertions(+), 8

[PATCH v4 net-next 5/5] ionic: add devlink firmware update

2020-09-16 Thread Shannon Nelson
requests, which are then followed up with status request commands. These status request commands will be answered with an EAGAIN return value and will try again until the request has completed or reached the timeout specified. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic

[PATCH v4 net-next 0/5] ionic: add devlink dev flash support

2020-09-16 Thread Shannon Nelson
re intermediate log messaging when in a long wait, and for letting other threads run dev_cmds if waiting. v2: Changed "Activate" to "Select" in status messages. Shannon Nelson (5): devlink: add timeout information to status_notify devlink: collect flash notify params

[PATCH v4 net-next 1/5] devlink: add timeout information to status_notify

2020-09-16 Thread Shannon Nelson
] status_msg ( timeout reached : Am Bs ) - if new status notify messages are received, remove the timeout and start over Signed-off-by: Shannon Nelson --- include/net/devlink.h| 4 include/uapi/linux/devlink.h | 3 +++ net/core/devlink.c | 29

[PATCH v3 net-next] ionic: dynamic interrupt moderation

2020-09-15 Thread Shannon Nelson
Use the dim library to manage dynamic interrupt moderation in ionic. v3: rebase v2: untangled declarations in ionic_dim_work() Signed-off-by: Shannon Nelson Acked-by: Jakub Kicinski --- .../ethernet/pensando/ionic/ionic_debugfs.c | 2 + .../net/ethernet/pensando/ionic/ionic_dev.h | 1

Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update

2020-09-15 Thread Shannon Nelson
On 9/15/20 12:00 PM, Jakub Kicinski wrote: On Tue, 15 Sep 2020 11:44:07 -0700 Jacob Keller wrote: Exactly how I saw it. Basically, the timeout should take effect as long as the (component, msg) pair stays the same. So if you send percentage reports with the same message and component, then the

Re: [PATCH v2 net-next] ionic: dynamic interrupt moderation

2020-09-15 Thread Shannon Nelson
On 9/15/20 1:28 PM, David Miller wrote: From: Shannon Nelson Date: Mon, 14 Sep 2020 18:33:45 -0700 Use the dim library to manage dynamic interrupt moderation in ionic. v2: untangled declarations in ionic_dim_work() Signed-off-by: Shannon Nelson Acked-by: Jakub Kicinski This doesn't

Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update

2020-09-15 Thread Shannon Nelson
On 9/15/20 9:50 AM, Keller, Jacob E wrote: -Original Message- From: Jakub Kicinski Sent: Tuesday, September 15, 2020 8:51 AM To: Shannon Nelson Cc: Keller, Jacob E ; netdev@vger.kernel.org; da...@davemloft.net Subject: Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update

[PATCH v2 net-next] ionic: dynamic interrupt moderation

2020-09-14 Thread Shannon Nelson
Use the dim library to manage dynamic interrupt moderation in ionic. v2: untangled declarations in ionic_dim_work() Signed-off-by: Shannon Nelson Acked-by: Jakub Kicinski --- .../ethernet/pensando/ionic/ionic_debugfs.c | 2 + .../net/ethernet/pensando/ionic/ionic_dev.h | 1

Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update

2020-09-14 Thread Shannon Nelson
On 9/14/20 5:53 PM, Keller, Jacob E wrote: -Original Message- From: Shannon Nelson Sent: Monday, September 14, 2020 4:47 PM To: Jakub Kicinski ; Keller, Jacob E Cc: netdev@vger.kernel.org; da...@davemloft.net Subject: Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update On

Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update

2020-09-14 Thread Shannon Nelson
On 9/14/20 4:36 PM, Jakub Kicinski wrote: On Mon, 14 Sep 2020 16:15:28 -0700 Jacob Keller wrote: On 9/10/2020 10:56 AM, Jakub Kicinski wrote: IOW drop the component parameter from the normal helper, cause almost nobody uses that. The add a more full featured __ version, which would take the arg

Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update

2020-09-14 Thread Shannon Nelson
On 9/10/20 10:56 AM, Jakub Kicinski wrote: On Wed, 9 Sep 2020 18:34:57 -0700 Shannon Nelson wrote: On 9/9/20 12:22 PM, Jakub Kicinski wrote: On Wed, 9 Sep 2020 10:58:19 -0700 Shannon Nelson wrote: I'm suggesting that this implementation using the existing devlink logging services s

Re: [PATCH net-next] ionic: dynamic interrupt moderation

2020-09-14 Thread Shannon Nelson
On 9/14/20 2:10 PM, Jakub Kicinski wrote: On Sun, 13 Sep 2020 14:28:13 -0700 Shannon Nelson wrote: Use the dim library to manage dynamic interrupt moderation in ionic. Signed-off-by: Shannon Nelson Let me advertise my people.kernel entry ;) https://people.kernel.org/finqi53erl My somewhat

[PATCH net-next] ionic: dynamic interrupt moderation

2020-09-13 Thread Shannon Nelson
Use the dim library to manage dynamic interrupt moderation in ionic. Signed-off-by: Shannon Nelson --- .../ethernet/pensando/ionic/ionic_debugfs.c | 2 + .../net/ethernet/pensando/ionic/ionic_dev.h | 1 + .../ethernet/pensando/ionic/ionic_ethtool.c | 71 --- .../net

[PATCH net-next] ionic: fix up debugfs after queue swap

2020-09-13 Thread Shannon Nelson
Clean and rebuild the debugfs info for the queues being swapped. Fixes: a34e25ab977c ("ionic: change the descriptor ring length without full reset") Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_lif.c | 15 +++ 1 file changed, 15 insertion

Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update

2020-09-09 Thread Shannon Nelson
On 9/9/20 12:22 PM, Jakub Kicinski wrote: On Wed, 9 Sep 2020 10:58:19 -0700 Shannon Nelson wrote: I'm suggesting that this implementation using the existing devlink logging services should suffice until someone can design, implement, and get accepted a different bit of plumbing.  Unfortun

Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update

2020-09-09 Thread Shannon Nelson
On 9/9/20 9:44 AM, Jakub Kicinski wrote: On Wed, 9 Sep 2020 09:23:08 -0700 Shannon Nelson wrote: On 9/8/20 4:54 PM, Jakub Kicinski wrote: On Tue, 8 Sep 2020 15:48:12 -0700 Shannon Nelson wrote: + dl = priv_to_devlink(ionic); + devlink_flash_update_status_notify(dl, label, NULL, 1

Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update

2020-09-09 Thread Shannon Nelson
On 9/8/20 4:54 PM, Jakub Kicinski wrote: On Tue, 8 Sep 2020 15:48:12 -0700 Shannon Nelson wrote: + dl = priv_to_devlink(ionic); + devlink_flash_update_status_notify(dl, label, NULL, 1, timeout); + start_time = jiffies; + end_time = start_time + (timeout * HZ

[PATCH v3 net-next 0/2] ionic: add devlink dev flash support

2020-09-08 Thread Shannon Nelson
o a loop around calls with a normal timeout, which allows for more intermediate log messaging when in a long wait, and for letting other threads run dev_cmds if waiting. v2: Changed "Activate" to "Select" in status messages. Shannon Nelson (2): ionic: update the

[PATCH v3 net-next 1/2] ionic: update the fw update api

2020-09-08 Thread Shannon Nelson
Add the rest of the firmware api bits needed to support the driver running a firmware update. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_if.h| 33 ++- .../net/ethernet/pensando/ionic/ionic_main.c | 4 +++ 2 files changed, 29 insertions(+), 8

[PATCH v3 net-next 2/2] ionic: add devlink firmware update

2020-09-08 Thread Shannon Nelson
requests, which are then followed up with status request commands. These status request commands will be answered with an EAGAIN return value and will try again until the request has completed or reached the timeout specified. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic

Re: [PATCH v2 net-next 2/2] ionic: add devlink firmware update

2020-09-05 Thread Shannon Nelson
On 9/5/20 1:04 PM, Jakub Kicinski wrote: On Thu, 3 Sep 2020 17:05:34 -0700 Shannon Nelson wrote: +/* The worst case wait for the install activity is about 25 minutes when + * installing a new CPLD, which is very seldom. Normal is about 30-35 + * seconds. Since the driver can't tell if a

Re: [PATCH v2 net-next 2/2] ionic: add devlink firmware update

2020-09-05 Thread Shannon Nelson
On 9/5/20 12:52 PM, Jakub Kicinski wrote: On Thu, 3 Sep 2020 17:05:34 -0700 Shannon Nelson wrote: + devlink_flash_update_status_notify(dl, "Downloading", NULL, 0, fw->size); + offset = 0; + next_interval = fw->size / IONIC_FW_INTERVAL_FRACTION; + wh

Re: [PATCH v2 net-next 0/2] ionic: add devlink dev flash support

2020-09-04 Thread Shannon Nelson
On 9/4/20 3:47 PM, Jakub Kicinski wrote: On Fri, 4 Sep 2020 11:20:11 -0700 Shannon Nelson wrote: It's probably related to this discussion: https://lore.kernel.org/linux-sparse/ecdd10cb-0022-8f8a-ec36-9d51b3ae8...@pensando.io/ I thought we'd worked out our struct alignment issues, bu

Re: [PATCH v2 net-next 0/2] ionic: add devlink dev flash support

2020-09-04 Thread Shannon Nelson
On 9/4/20 8:01 AM, Jakub Kicinski wrote: On Thu, 3 Sep 2020 17:05:32 -0700 Shannon Nelson wrote: Add support for using devlink's dev flash facility to update the firmware on an ionic device. This is a simple model of pushing the firmware file to the NIC, asking the NIC to unpack and in

[PATCH v2 net-next 2/2] ionic: add devlink firmware update

2020-09-03 Thread Shannon Nelson
requests, which are then followed up with status request commands. These status request commands will be answered with an EAGAIN return value and will try again until the request has completed or reached the timeout specified. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic

[PATCH v2 net-next 1/2] ionic: update the fw update api

2020-09-03 Thread Shannon Nelson
Add the rest of the firmware api bits needed to support the driver running a firmware update. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_if.h| 33 ++- .../net/ethernet/pensando/ionic/ionic_main.c | 4 +++ 2 files changed, 29 insertions(+), 8

[PATCH v2 net-next 0/2] ionic: add devlink dev flash support

2020-09-03 Thread Shannon Nelson
, the whole transaction is failed. We don't currently support doing these steps individually. In the future we want to be able to list the FW that is installed and selectable but don't yet have the API to fully support that. v2: change "Activate" to "Select" in

Re: [PATCH net-next 2/2] ionic: add devlink firmware update

2020-09-03 Thread Shannon Nelson
On 9/3/20 2:45 PM, Jakub Kicinski wrote: On Thu, 3 Sep 2020 14:37:40 -0700 Shannon Nelson wrote: On 9/3/20 12:53 PM, Jakub Kicinski wrote: On Wed, 2 Sep 2020 12:57:17 -0700 Shannon Nelson wrote: Add support for firmware update through the devlink interface. This update copies the firmware

Re: [PATCH net-next 2/2] ionic: add devlink firmware update

2020-09-03 Thread Shannon Nelson
On 9/3/20 12:53 PM, Jakub Kicinski wrote: On Wed, 2 Sep 2020 12:57:17 -0700 Shannon Nelson wrote: Add support for firmware update through the devlink interface. This update copies the firmware object into the device, asks the current firmware to install it, then asks the firmware to set the

Re: [PATCH net-next 2/2] ionic: add devlink firmware update

2020-09-03 Thread Shannon Nelson
On 9/3/20 10:30 AM, Jiri Pirko wrote: Thu, Sep 03, 2020 at 05:58:42PM CEST, snel...@pensando.io wrote: True, they aren't "needed" for operational purposes, but they are rather useful when inspecting a system after getting a report of bad behavior, and I don't think it is nice to pollute dmesg

Re: [PATCH net-next 2/2] ionic: add devlink firmware update

2020-09-03 Thread Shannon Nelson
completed or reached the timeout specified. Signed-off-by: Shannon Nelson [...] + + netdev_info(netdev, "Installing firmware %s\n", fw_name); You don't need this dmesg messagel. + + dl = priv_to_devlink(ionic); + devlink_flash_update_

[PATCH net-next 0/2] ionic: add devlink dev flash support

2020-09-02 Thread Shannon Nelson
, the whole transaction is failed. We don't currently support doing these steps individually. In the future we want to be able to list the FW that is installed and selectable but don't yet have the API to fully support that. Shannon Nelson (2): ionic: update the fw update api ion

[PATCH net-next 2/2] ionic: add devlink firmware update

2020-09-02 Thread Shannon Nelson
asynchronous requests, which are then followed up with status requests commands. These status request commands will be answered with an EAGAIN return value and will try again until the request has completed or reached the timeout specified. Signed-off-by: Shannon Nelson --- drivers/net/ethernet

[PATCH net-next 1/2] ionic: update the fw update api

2020-09-02 Thread Shannon Nelson
Add the rest of the firmware api bits needed to support the driver running a firmware update. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_if.h| 33 ++- .../net/ethernet/pensando/ionic/ionic_main.c | 4 +++ 2 files changed, 29 insertions(+), 8

[PATCH v2 net-next 1/6] ionic: clean up page handling code

2020-09-01 Thread Shannon Nelson
The internal page handling can be cleaned up by passing our local page struct rather than dma addresses, and by putting more of the mgmt code into the alloc and free routines. Co-developed-by: Neel Patel Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_txrx.c | 71

[PATCH v2 net-next 3/6] ionic: clean up desc_info and cq_info structs

2020-09-01 Thread Shannon Nelson
Remove some unnecessary struct fields and related code. Co-developed-by: Neel Patel Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_dev.c | 33 ++- .../net/ethernet/pensando/ionic/ionic_dev.h | 6 .../net/ethernet/pensando/ionic/ionic_txrx.c

[PATCH v2 net-next 4/6] ionic: clean adminq service routine

2020-09-01 Thread Shannon Nelson
The only thing calling ionic_napi any more is the adminq processing, so combine and simplify. Co-developed-by: Neel Patel Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic.h | 3 -- .../net/ethernet/pensando/ionic/ionic_lif.c | 44 +++ .../net

[PATCH v2 net-next 2/6] ionic: struct reorder for faster access

2020-09-01 Thread Shannon Nelson
Move a few active struct fields to the front of the struct for a little better cache use and performance. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_dev.h| 18 +- .../net/ethernet/pensando/ionic/ionic_lif.h| 14 +++--- 2 files changed

[PATCH v2 net-next 6/6] ionic: clarify boolean precedence

2020-09-01 Thread Shannon Nelson
Add parenthesis to clarify a boolean usage. Pointed out in https://lore.kernel.org/lkml/202008060413.vgrmuqlj%25...@intel.com/ Reported-by: kernel test robot Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_ethtool.c | 4 ++-- 1 file changed, 2 insertions(+), 2

[PATCH v2 net-next 5/6] ionic: remove unused variable

2020-09-01 Thread Shannon Nelson
Remove a vestigial variable. Pointed out in https://lore.kernel.org/lkml/20200806143735.GA9232@xsang-OptiPlex-9020/ Reported-by: kernel test robot Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_txrx.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers

[PATCH v2 net-next 0/6] ionic: struct cleanups

2020-09-01 Thread Shannon Nelson
x27;s attributions to Co-developed-by dropped the unnecessary new call to dma_sync_single_for_cpu() added 2 patches from kernel test robot results Shannon Nelson (6): ionic: clean up page handling code ionic: struct reorder for faster access ionic: clean up desc_info and cq_info structs

<    1   2   3   4   5   6   7   8   9   10   >