diff mbox series

[net] gve: Remove the code of clearing PBA bit

Message ID 20230509225123.11401-1-ziweixiao@google.com (mailing list archive)
State Accepted
Commit f4c2e67c1773d2a2632381ee30e9139c1e744c16
Delegated to: Netdev Maintainers
Headers show
Series [net] gve: Remove the code of clearing PBA bit | expand

Checks

Context Check Description
netdev/series_format success Single patches do not need cover letters
netdev/tree_selection success Clearly marked for net
netdev/fixes_present success Fixes tag present in non-next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 8 this patch: 8
netdev/cc_maintainers fail 2 blamed authors not CCed: willemb@google.com csully@google.com; 7 maintainers not CCed: pkaligineedi@google.com jeroendb@google.com willemb@google.com edumazet@google.com shailend@google.com pabeni@redhat.com csully@google.com
netdev/build_clang success Errors and warnings before: 8 this patch: 8
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 8 this patch: 8
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 19 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Ziwei Xiao May 9, 2023, 10:51 p.m. UTC
Clearing the PBA bit from the driver is race prone and it may lead to
dropped interrupt events. This could potentially lead to the traffic
being completely halted.

Fixes: 5e8c5adf95f8 ("gve: DQO: Add core netdev features")
Signed-off-by: Ziwei Xiao <ziweixiao@google.com>
Signed-off-by: Bailey Forrest <bcf@google.com>
---
 drivers/net/ethernet/google/gve/gve_main.c | 13 -------------
 1 file changed, 13 deletions(-)

Comments

Simon Horman May 10, 2023, 9:17 a.m. UTC | #1
On Tue, May 09, 2023 at 03:51:23PM -0700, Ziwei Xiao wrote:
> Clearing the PBA bit from the driver is race prone and it may lead to
> dropped interrupt events. This could potentially lead to the traffic
> being completely halted.
> 
> Fixes: 5e8c5adf95f8 ("gve: DQO: Add core netdev features")
> Signed-off-by: Ziwei Xiao <ziweixiao@google.com>
> Signed-off-by: Bailey Forrest <bcf@google.com>

Reviewed-by: Simon Horman <simon.horman@corigine.com>
patchwork-bot+netdevbpf@kernel.org May 10, 2023, 9:40 a.m. UTC | #2
Hello:

This patch was applied to netdev/net.git (main)
by David S. Miller <davem@davemloft.net>:

On Tue,  9 May 2023 15:51:23 -0700 you wrote:
> Clearing the PBA bit from the driver is race prone and it may lead to
> dropped interrupt events. This could potentially lead to the traffic
> being completely halted.
> 
> Fixes: 5e8c5adf95f8 ("gve: DQO: Add core netdev features")
> Signed-off-by: Ziwei Xiao <ziweixiao@google.com>
> Signed-off-by: Bailey Forrest <bcf@google.com>
> 
> [...]

Here is the summary with links:
  - [net] gve: Remove the code of clearing PBA bit
    https://git.kernel.org/netdev/net/c/f4c2e67c1773

You are awesome, thank you!
diff mbox series

Patch

diff --git a/drivers/net/ethernet/google/gve/gve_main.c b/drivers/net/ethernet/google/gve/gve_main.c
index 57ce74315eba..caa00c72aeeb 100644
--- a/drivers/net/ethernet/google/gve/gve_main.c
+++ b/drivers/net/ethernet/google/gve/gve_main.c
@@ -294,19 +294,6 @@  static int gve_napi_poll_dqo(struct napi_struct *napi, int budget)
 	bool reschedule = false;
 	int work_done = 0;
 
-	/* Clear PCI MSI-X Pending Bit Array (PBA)
-	 *
-	 * This bit is set if an interrupt event occurs while the vector is
-	 * masked. If this bit is set and we reenable the interrupt, it will
-	 * fire again. Since we're just about to poll the queue state, we don't
-	 * need it to fire again.
-	 *
-	 * Under high softirq load, it's possible that the interrupt condition
-	 * is triggered twice before we got the chance to process it.
-	 */
-	gve_write_irq_doorbell_dqo(priv, block,
-				   GVE_ITR_NO_UPDATE_DQO | GVE_ITR_CLEAR_PBA_BIT_DQO);
-
 	if (block->tx)
 		reschedule |= gve_tx_poll_dqo(block, /*do_clean=*/true);