All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Edward Cree <ecree@solarflare.com>,
	Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>,
	netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 5.9 054/147] sfc: add and use efx_tx_send_pending in tx.c
Date: Mon, 26 Oct 2020 19:47:32 -0400	[thread overview]
Message-ID: <20201026234905.1022767-54-sashal@kernel.org> (raw)
In-Reply-To: <20201026234905.1022767-1-sashal@kernel.org>

From: Edward Cree <ecree@solarflare.com>

[ Upstream commit 1c0544d24927e4fad04f858216b8ea767a3bd123 ]

Instead of using efx_tx_queue_partner(), which relies on the assumption
 that tx_queues_per_channel is 2, efx_tx_send_pending() iterates over
 txqs with efx_for_each_channel_tx_queue().
We unconditionally set tx_queue->xmit_pending (renamed from
 xmit_more_available), then condition on xmit_more for the call to
 efx_tx_send_pending(), which will clear xmit_pending.  Thus, after an
 xmit_more TX, the doorbell is un-rung and xmit_pending is true.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/ethernet/sfc/ef10.c       |  2 +-
 drivers/net/ethernet/sfc/ef100_tx.c   | 14 +++----
 drivers/net/ethernet/sfc/farch.c      |  2 +-
 drivers/net/ethernet/sfc/net_driver.h |  4 +-
 drivers/net/ethernet/sfc/tx.c         | 59 ++++++++++++++-------------
 drivers/net/ethernet/sfc/tx_common.c  |  4 +-
 6 files changed, 44 insertions(+), 41 deletions(-)

diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c
index 4b0b2cf026a52..ad05710883f85 100644
--- a/drivers/net/ethernet/sfc/ef10.c
+++ b/drivers/net/ethernet/sfc/ef10.c
@@ -2367,7 +2367,7 @@ static void efx_ef10_tx_write(struct efx_tx_queue *tx_queue)
 	unsigned int write_ptr;
 	efx_qword_t *txd;
 
-	tx_queue->xmit_more_available = false;
+	tx_queue->xmit_pending = false;
 	if (unlikely(tx_queue->write_count == tx_queue->insert_count))
 		return;
 
diff --git a/drivers/net/ethernet/sfc/ef100_tx.c b/drivers/net/ethernet/sfc/ef100_tx.c
index a09546e434085..8d478c5e720e1 100644
--- a/drivers/net/ethernet/sfc/ef100_tx.c
+++ b/drivers/net/ethernet/sfc/ef100_tx.c
@@ -131,7 +131,7 @@ void ef100_notify_tx_desc(struct efx_tx_queue *tx_queue)
 	efx_writed_page(tx_queue->efx, &reg,
 			ER_GZ_TX_RING_DOORBELL, tx_queue->queue);
 	tx_queue->notify_count = tx_queue->write_count;
-	tx_queue->xmit_more_available = false;
+	tx_queue->xmit_pending = false;
 }
 
 static void ef100_tx_push_buffers(struct efx_tx_queue *tx_queue)
@@ -373,14 +373,14 @@ int ef100_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
 	}
 
 	if (__netdev_tx_sent_queue(tx_queue->core_txq, skb->len, xmit_more))
-		tx_queue->xmit_more_available = false; /* push doorbell */
+		tx_queue->xmit_pending = false; /* push doorbell */
 	else if (tx_queue->write_count - tx_queue->notify_count > 255)
 		/* Ensure we never push more than 256 packets at once */
-		tx_queue->xmit_more_available = false; /* push */
+		tx_queue->xmit_pending = false; /* push */
 	else
-		tx_queue->xmit_more_available = true; /* don't push yet */
+		tx_queue->xmit_pending = true; /* don't push yet */
 
-	if (!tx_queue->xmit_more_available)
+	if (!tx_queue->xmit_pending)
 		ef100_tx_push_buffers(tx_queue);
 
 	if (segments) {
@@ -400,9 +400,9 @@ int ef100_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
 	/* If we're not expecting another transmit and we had something to push
 	 * on this queue then we need to push here to get the previous packets
 	 * out.  We only enter this branch from before the 'Update BQL' section
-	 * above, so xmit_more_available still refers to the old state.
+	 * above, so xmit_pending still refers to the old state.
 	 */
-	if (tx_queue->xmit_more_available && !xmit_more)
+	if (tx_queue->xmit_pending && !xmit_more)
 		ef100_tx_push_buffers(tx_queue);
 	return rc;
 }
diff --git a/drivers/net/ethernet/sfc/farch.c b/drivers/net/ethernet/sfc/farch.c
index 4002f9a3ae909..0cc7a37b63445 100644
--- a/drivers/net/ethernet/sfc/farch.c
+++ b/drivers/net/ethernet/sfc/farch.c
@@ -320,7 +320,7 @@ void efx_farch_tx_write(struct efx_tx_queue *tx_queue)
 	unsigned write_ptr;
 	unsigned old_write_count = tx_queue->write_count;
 
-	tx_queue->xmit_more_available = false;
+	tx_queue->xmit_pending = false;
 	if (unlikely(tx_queue->write_count == tx_queue->insert_count))
 		return;
 
diff --git a/drivers/net/ethernet/sfc/net_driver.h b/drivers/net/ethernet/sfc/net_driver.h
index 062462a138475..fb7290bbb135c 100644
--- a/drivers/net/ethernet/sfc/net_driver.h
+++ b/drivers/net/ethernet/sfc/net_driver.h
@@ -244,7 +244,7 @@ struct efx_tx_buffer {
  * @tso_fallbacks: Number of times TSO fallback used
  * @pushes: Number of times the TX push feature has been used
  * @pio_packets: Number of times the TX PIO feature has been used
- * @xmit_more_available: Are any packets waiting to be pushed to the NIC
+ * @xmit_pending: Are any packets waiting to be pushed to the NIC
  * @cb_packets: Number of times the TX copybreak feature has been used
  * @notify_count: Count of notified descriptors to the NIC
  * @empty_read_count: If the completion path has seen the queue as empty
@@ -292,7 +292,7 @@ struct efx_tx_queue {
 	unsigned int tso_fallbacks;
 	unsigned int pushes;
 	unsigned int pio_packets;
-	bool xmit_more_available;
+	bool xmit_pending;
 	unsigned int cb_packets;
 	unsigned int notify_count;
 	/* Statistics to supplement MAC stats */
diff --git a/drivers/net/ethernet/sfc/tx.c b/drivers/net/ethernet/sfc/tx.c
index 727201d5eb24e..c502d226371a9 100644
--- a/drivers/net/ethernet/sfc/tx.c
+++ b/drivers/net/ethernet/sfc/tx.c
@@ -268,6 +268,19 @@ static int efx_enqueue_skb_pio(struct efx_tx_queue *tx_queue,
 }
 #endif /* EFX_USE_PIO */
 
+/* Send any pending traffic for a channel. xmit_more is shared across all
+ * queues for a channel, so we must check all of them.
+ */
+static void efx_tx_send_pending(struct efx_channel *channel)
+{
+	struct efx_tx_queue *q;
+
+	efx_for_each_channel_tx_queue(q, channel) {
+		if (q->xmit_pending)
+			efx_nic_push_buffers(q);
+	}
+}
+
 /*
  * Add a socket buffer to a TX queue
  *
@@ -336,21 +349,11 @@ netdev_tx_t __efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb
 
 	efx_tx_maybe_stop_queue(tx_queue);
 
-	/* Pass off to hardware */
-	if (__netdev_tx_sent_queue(tx_queue->core_txq, skb_len, xmit_more)) {
-		struct efx_tx_queue *txq2 = efx_tx_queue_partner(tx_queue);
-
-		/* There could be packets left on the partner queue if
-		 * xmit_more was set. If we do not push those they
-		 * could be left for a long time and cause a netdev watchdog.
-		 */
-		if (txq2->xmit_more_available)
-			efx_nic_push_buffers(txq2);
+	tx_queue->xmit_pending = true;
 
-		efx_nic_push_buffers(tx_queue);
-	} else {
-		tx_queue->xmit_more_available = xmit_more;
-	}
+	/* Pass off to hardware */
+	if (__netdev_tx_sent_queue(tx_queue->core_txq, skb_len, xmit_more))
+		efx_tx_send_pending(tx_queue->channel);
 
 	if (segments) {
 		tx_queue->tso_bursts++;
@@ -371,14 +374,8 @@ netdev_tx_t __efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb
 	 * on this queue or a partner queue then we need to push here to get the
 	 * previous packets out.
 	 */
-	if (!xmit_more) {
-		struct efx_tx_queue *txq2 = efx_tx_queue_partner(tx_queue);
-
-		if (txq2->xmit_more_available)
-			efx_nic_push_buffers(txq2);
-
-		efx_nic_push_buffers(tx_queue);
-	}
+	if (!xmit_more)
+		efx_tx_send_pending(tx_queue->channel);
 
 	return NETDEV_TX_OK;
 }
@@ -489,18 +486,24 @@ netdev_tx_t efx_hard_start_xmit(struct sk_buff *skb,
 
 	EFX_WARN_ON_PARANOID(!netif_device_present(net_dev));
 
-	/* PTP "event" packet */
-	if (unlikely(efx_xmit_with_hwtstamp(skb)) &&
-	    unlikely(efx_ptp_is_ptp_tx(efx, skb))) {
-		return efx_ptp_tx(efx, skb);
-	}
-
 	index = skb_get_queue_mapping(skb);
 	type = skb->ip_summed == CHECKSUM_PARTIAL ? EFX_TXQ_TYPE_OFFLOAD : 0;
 	if (index >= efx->n_tx_channels) {
 		index -= efx->n_tx_channels;
 		type |= EFX_TXQ_TYPE_HIGHPRI;
 	}
+
+	/* PTP "event" packet */
+	if (unlikely(efx_xmit_with_hwtstamp(skb)) &&
+	    unlikely(efx_ptp_is_ptp_tx(efx, skb))) {
+		/* There may be existing transmits on the channel that are
+		 * waiting for this packet to trigger the doorbell write.
+		 * We need to send the packets at this point.
+		 */
+		efx_tx_send_pending(efx_get_tx_channel(efx, index));
+		return efx_ptp_tx(efx, skb);
+	}
+
 	tx_queue = efx_get_tx_queue(efx, index, type);
 
 	return __efx_enqueue_skb(tx_queue, skb);
diff --git a/drivers/net/ethernet/sfc/tx_common.c b/drivers/net/ethernet/sfc/tx_common.c
index 793e234819a8c..187d5c379a377 100644
--- a/drivers/net/ethernet/sfc/tx_common.c
+++ b/drivers/net/ethernet/sfc/tx_common.c
@@ -78,7 +78,7 @@ void efx_init_tx_queue(struct efx_tx_queue *tx_queue)
 	tx_queue->read_count = 0;
 	tx_queue->old_read_count = 0;
 	tx_queue->empty_read_count = 0 | EFX_EMPTY_COUNT_VALID;
-	tx_queue->xmit_more_available = false;
+	tx_queue->xmit_pending = false;
 	tx_queue->timestamping = (efx_ptp_use_mac_tx_timestamps(efx) &&
 				  tx_queue->channel == efx_ptp_channel(efx));
 	tx_queue->completed_timestamp_major = 0;
@@ -116,7 +116,7 @@ void efx_fini_tx_queue(struct efx_tx_queue *tx_queue)
 
 		++tx_queue->read_count;
 	}
-	tx_queue->xmit_more_available = false;
+	tx_queue->xmit_pending = false;
 	netdev_tx_reset_queue(tx_queue->core_txq);
 }
 
-- 
2.25.1


  parent reply	other threads:[~2020-10-26 23:50 UTC|newest]

Thread overview: 237+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-26 23:46 [PATCH AUTOSEL 5.9 001/147] powerpc/vmemmap: Fix memory leak with vmemmap list allocation failures Sasha Levin
2020-10-26 23:46 ` Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 002/147] powerpc/powernv/smp: Fix spurious DBG() warning Sasha Levin
2020-10-26 23:46   ` Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 003/147] RDMA/core: Change how failing destroy is handled during uobj abort Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 004/147] f2fs: allocate proper size memory for zstd decompress Sasha Levin
2020-10-26 23:46   ` [f2fs-dev] " Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 005/147] powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N Sasha Levin
2020-10-26 23:46   ` Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 006/147] mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 007/147] powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM Sasha Levin
2020-10-26 23:46   ` Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 008/147] sparc64: remove mm_cpumask clearing to fix kthread_use_mm race Sasha Levin
2020-10-26 23:46   ` Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 009/147] f2fs: add trace exit in exception path Sasha Levin
2020-10-26 23:46   ` [f2fs-dev] " Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 010/147] f2fs: do sanity check on zoned block device path Sasha Levin
2020-10-26 23:46   ` [f2fs-dev] " Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 011/147] f2fs: fix uninit-value in f2fs_lookup Sasha Levin
2020-10-26 23:46   ` [f2fs-dev] " Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 012/147] f2fs: fix to check segment boundary during SIT page readahead Sasha Levin
2020-10-26 23:46   ` [f2fs-dev] " Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 013/147] s390/startup: avoid save_area_sync overflow Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 014/147] f2fs: compress: fix to disallow enabling compress on non-empty file Sasha Levin
2020-10-26 23:46   ` [f2fs-dev] " Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 015/147] s390/ap/zcrypt: revisit ap and zcrypt error handling Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 016/147] um: change sigio_spinlock to a mutex Sasha Levin
2020-10-26 23:46   ` Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 017/147] f2fs: handle errors of f2fs_get_meta_page_nofail Sasha Levin
2020-10-26 23:46   ` [f2fs-dev] " Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 018/147] afs: Don't assert on unpurgeable server records Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 019/147] MIPS: ftrace: Remove redundant #ifdef CONFIG_DYNAMIC_FTRACE Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 020/147] powerpc/64s: handle ISA v3.1 local copy-paste context switches Sasha Levin
2020-10-26 23:46   ` Sasha Levin
2020-10-26 23:46   ` Sasha Levin
2020-10-26 23:46 ` [PATCH AUTOSEL 5.9 021/147] ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses Sasha Levin
2020-10-26 23:46   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 022/147] NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 023/147] xfs: Set xfs_buf type flag when growing summary/bitmap files Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 024/147] xfs: Set xfs_buf's b_ops member when zeroing bitmap/summary files Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 025/147] xfs: log new intent items created as part of finishing recovered intent items Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 026/147] power: supply: bq27xxx: report "not charging" on all types Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 027/147] xfs: change the order in which child and parent defer ops are finished Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 028/147] xfs: fix realtime bitmap/summary file truncation when growing rt volume Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 029/147] io_uring: don't set COMP_LOCKED if won't put Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 030/147] ath10k: fix retry packets update in station dump Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 031/147] x86/kaslr: Initialize mem_limit to the real maximum address Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 032/147] drm/ast: Separate DRM driver from PCI code Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 033/147] drm/amdgpu: restore ras flags when user resets eeprom(v2) Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 034/147] video: fbdev: pvr2fb: initialize variables Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 035/147] ath10k: start recovery process when payload length exceeds max htc length for sdio Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 036/147] ath10k: fix VHT NSS calculation when STBC is enabled Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 037/147] drm/scheduler: Scheduler priority fixes (v2) Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 038/147] drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working correctly Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 039/147] ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-11-05 13:48   ` Build error with 5.9.5 in sound/soc/sof/intel/hda-codec.c (was: [PATCH AUTOSEL 5.9 039/147] ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work) Thorsten Leemhuis
2020-11-05 13:48     ` Thorsten Leemhuis
2020-11-05 15:40     ` Greg KH
2020-11-05 15:40       ` Greg KH
2020-11-05 21:18       ` Greg KH
2020-11-05 21:18         ` Greg KH
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 040/147] selftests/x86/fsgsbase: Reap a forgotten child Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 041/147] drm/bridge_connector: Set default status connected for eDP connectors Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 042/147] media: videodev2.h: RGB BT2020 and HSV are always full range Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 043/147] ASoC: AMD: Clean kernel log from deferred probe error messages Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 044/147] misc: fastrpc: fix common struct sg_table related issues Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 045/147] staging: wfx: fix potential use before init Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 046/147] media: platform: Improve queue set up flow for bug fixing Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 047/147] usb: typec: tcpm: During PR_SWAP, source caps should be sent only after tSwapSourceStart Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 048/147] media: tw5864: check status of tw5864_frameinterval_get Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 049/147] drm/vkms: avoid warning in vkms_get_vblank_timestamp Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 050/147] media: imx274: fix frame interval handling Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 051/147] mmc: via-sdmmc: Fix data race bug Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 052/147] drm/bridge/synopsys: dsi: add support for non-continuous HS clock Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 053/147] brcmfmac: increase F2 watermark for BCM4329 Sasha Levin
2020-10-26 23:47 ` Sasha Levin [this message]
2020-10-27 13:24   ` [PATCH AUTOSEL 5.9 054/147] sfc: add and use efx_tx_send_pending in tx.c Edward Cree
2020-11-01 23:52     ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 055/147] arm64: topology: Stop using MPIDR for topology information Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 056/147] printk: reduce LOG_BUF_SHIFT range for H8300 Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 057/147] ia64: kprobes: Use generic kretprobe trampoline handler Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 058/147] selftests/powerpc: Make using_hash_mmu() work on Cell & PowerMac Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 059/147] kgdb: Make "kgdbcon" work properly with "kgdb_earlycon" Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 060/147] bpf: Permit map_ptr arithmetic with opcode add and offset 0 Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 061/147] drm: exynos: fix common struct sg_table related issues Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 062/147] xen: gntdev: " Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 063/147] drm: lima: " Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 064/147] drm: panfrost: " Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 065/147] media: uvcvideo: Fix dereference of out-of-bound list iterator Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 066/147] nfc: s3fwrn5: Add missing CRYPTO_HASH dependency Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 067/147] selftests/bpf: Define string const as global for test_sysctl_prog.c Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 068/147] selinux: access policycaps with READ_ONCE/WRITE_ONCE Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 069/147] samples/bpf: Fix possible deadlock in xdpsock Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 070/147] drm/amd/display: Check clock table return Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 071/147] riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 072/147] cpufreq: sti-cpufreq: add stih418 support Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 073/147] USB: adutux: fix debugging Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 074/147] uio: free uio id after uio file node is freed Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 075/147] coresight: Make sysfs functional on topologies with per core sink Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-11-02  6:59   ` Linu Cherian
2020-11-02  6:59     ` Linu Cherian
2020-11-02 17:29     ` Mathieu Poirier
2020-11-02 17:29       ` Mathieu Poirier
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 076/147] drm/amdgpu: No sysfs, not an error condition Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 077/147] mac80211: add missing queue/hash initialization to 802.3 xmit Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 078/147] usb: xhci: omit duplicate actions when suspending a runtime suspended host Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 079/147] SUNRPC: Mitigate cond_resched() in xprt_transmit() Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 080/147] cpuidle: tegra: Correctly handle result of arm_cpuidle_simple_enter() Sasha Levin
2020-10-26 23:47 ` [PATCH AUTOSEL 5.9 081/147] arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE Sasha Levin
2020-10-26 23:47   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 082/147] can: flexcan: disable clocks during stop mode Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 083/147] habanalabs: remove security from ARB_MST_QUIET register Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 084/147] xfs: don't free rt blocks when we're doing a REMAP bunmapi call Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 085/147] xfs: avoid LR buffer overrun due to crafted h_len Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 086/147] ACPI: Add out of bounds and numa_off protections to pxm_to_node() Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 087/147] genirq: Add stub for set_handle_irq() when !GENERIC_IRQ_MULTI_HANDLER Sasha Levin
2020-10-27  8:51   ` Marc Zyngier
2020-11-01 23:52     ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 088/147] octeontx2-af: fix LD CUSTOM LTYPE aliasing Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 089/147] dm: change max_io_len() to use blk_max_size_offset() Sasha Levin
2020-10-26 23:48   ` [dm-devel] " Sasha Levin
2020-10-27 12:19   ` Mike Snitzer
2020-10-27 12:19     ` [dm-devel] " Mike Snitzer
2020-11-02  0:30     ` Sasha Levin
2020-11-02  0:30       ` [dm-devel] " Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 090/147] brcmfmac: Fix warning message after dongle setup failed Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 091/147] ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 092/147] ath11k: fix warning caused by lockdep_assert_held Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 093/147] ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 094/147] drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 095/147] usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 096/147] bus: mhi: core: Abort suspends due to outgoing pending packets Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 097/147] bus/fsl_mc: Do not rely on caller to provide non NULL mc_io Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 098/147] ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 099/147] power: supply: test_power: add missing newlines when printing parameters by sysfs Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 100/147] drm/amd/display: HDMI remote sink need mode validation for Linux Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 101/147] drm/amd/display: Avoid set zero in the requested clk Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 102/147] ARC: [dts] fix the errors detected by dtbs_check Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 103/147] block: Consider only dispatched requests for inflight statistic Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 104/147] btrfs: fix replace of seed device Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 105/147] md/bitmap: md_bitmap_get_counter returns wrong blocks Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 106/147] f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode Sasha Levin
2020-10-26 23:48   ` [f2fs-dev] " Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 107/147] bnxt_en: Log unknown link speed appropriately Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 108/147] binfmt_elf: take the mmap lock around find_extend_vma() Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 109/147] rpmsg: glink: Use complete_all for open states Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 110/147] PCI/ACPI: Add Ampere Altra SOC MCFG quirk Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 111/147] clk: ti: clockdomain: fix static checker warning Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 112/147] nfsd: rename delegation related tracepoints to make them less confusing Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 113/147] nfsd4: remove check_conflicting_opens warning Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 114/147] phy: marvell: comphy: Convert internal SMCC firmware return codes to errno Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 115/147] net: 9p: initialize sun_server.sun_path to have addr's value only when addr is valid Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 116/147] ceph: encode inodes' parent/d_name in cap reconnect message Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 117/147] drivers: watchdog: rdc321x_wdt: Fix race condition bugs Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 118/147] jbd2: avoid transaction reuse after reformatting Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 119/147] ext4: Detect already used quota file early Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 120/147] PCI: dwc: Add link up check in dw_child_pcie_ops.map_bus() Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 121/147] KVM: PPC: Book3S HV: Do not allocate HPT for a nested guest Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 122/147] scsi: core: Clean up allocation and freeing of sgtables Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 123/147] gfs2: call truncate_inode_pages_final for address space glocks Sasha Levin
2020-10-26 23:48   ` [Cluster-devel] " Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 124/147] gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump Sasha Levin
2020-10-26 23:48   ` [Cluster-devel] " Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 125/147] gfs2: use-after-free in sysfs deregistration Sasha Levin
2020-10-26 23:48   ` [Cluster-devel] " Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 126/147] gfs2: add validation checks for size of superblock Sasha Levin
2020-10-26 23:48   ` [Cluster-devel] " Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 127/147] Handle STATUS_IO_TIMEOUT gracefully Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 128/147] cifs: handle -EINTR in cifs_setattr Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 129/147] arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 130/147] ARM: dts: omap4: Fix sgx clock rate for 4430 Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 131/147] soc: imx: gpcv2: Use dev_err_probe() to simplify error handling Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:59   ` Fabio Estevam
2020-10-26 23:59     ` Fabio Estevam
2020-11-02  0:31     ` Sasha Levin
2020-11-02  0:31       ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 132/147] memory: emif: Remove bogus debugfs " Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 133/147] ARM: dts: s5pv210: Enable audio on Aries boards Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 134/147] ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema warnings Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 135/147] ARM: dts: s5pv210: move fixed clocks under root node Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 136/147] ARM: dts: s5pv210: move PMU node out of clock controller Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 137/147] ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 138/147] ARM: dts: s5pv210: add RTC 32 KHz clock in Aries family Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 139/147] ARM: dts: s5pv210: align SPI GPIO node name with dtschema in Aries Sasha Levin
2020-10-26 23:48   ` Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 140/147] soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free Sasha Levin
2020-10-26 23:48 ` [PATCH AUTOSEL 5.9 141/147] soc: ti: k3: ringacc: add am65x sr2.0 support Sasha Levin
2020-10-26 23:48   ` Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201026234905.1022767-54-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=ecree@solarflare.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.