From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Joshua Hay <joshua.a.hay@intel.com>,
Madhu Chittim <madhu.chittim@intel.com>,
Samuel Salin <Samuel.salin@intel.com>,
Tony Nguyen <anthony.l.nguyen@intel.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.16 041/142] idpf: add support for Tx refillqs in flow scheduling mode
Date: Tue, 2 Sep 2025 15:19:03 +0200 [thread overview]
Message-ID: <20250902131949.723681407@linuxfoundation.org> (raw)
In-Reply-To: <20250902131948.154194162@linuxfoundation.org>
6.16-stable review patch. If anyone has any objections, please let me know.
------------------
From: Joshua Hay <joshua.a.hay@intel.com>
[ Upstream commit cb83b559bea39f207ee214ee2972657e8576ed18 ]
In certain production environments, it is possible for completion tags
to collide, meaning N packets with the same completion tag are in flight
at the same time. In this environment, any given Tx queue is effectively
used to send both slower traffic and higher throughput traffic
simultaneously. This is the result of a customer's specific
configuration in the device pipeline, the details of which Intel cannot
provide. This configuration results in a small number of out-of-order
completions, i.e., a small number of packets in flight. The existing
guardrails in the driver only protect against a large number of packets
in flight. The slower flow completions are delayed which causes the
out-of-order completions. The fast flow will continue sending traffic
and generating tags. Because tags are generated on the fly, the fast
flow eventually uses the same tag for a packet that is still in flight
from the slower flow. The driver has no idea which packet it should
clean when it processes the completion with that tag, but it will look
for the packet on the buffer ring before the hash table. If the slower
flow packet completion is processed first, it will end up cleaning the
fast flow packet on the ring prematurely. This leaves the descriptor
ring in a bad state resulting in a crash or Tx timeout.
In summary, generating a tag when a packet is sent can lead to the same
tag being associated with multiple packets. This can lead to resource
leaks, crashes, and/or Tx timeouts.
Before we can replace the tag generation, we need a new mechanism for
the send path to know what tag to use next. The driver will allocate and
initialize a refillq for each TxQ with all of the possible free tag
values. During send, the driver grabs the next free tag from the refillq
from next_to_clean. While cleaning the packet, the clean routine posts
the tag back to the refillq's next_to_use to indicate that it is now
free to use.
This mechanism works exactly the same way as the existing Rx refill
queues, which post the cleaned buffer IDs back to the buffer queue to be
reposted to HW. Since we're using the refillqs for both Rx and Tx now,
genericize some of the existing refillq support.
Note: the refillqs will not be used yet. This is only demonstrating how
they will be used to pass free tags back to the send path.
Signed-off-by: Joshua Hay <joshua.a.hay@intel.com>
Reviewed-by: Madhu Chittim <madhu.chittim@intel.com>
Tested-by: Samuel Salin <Samuel.salin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Stable-dep-of: b61dfa9bc443 ("idpf: simplify and fix splitq Tx packet rollback error path")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/intel/idpf/idpf_txrx.c | 93 +++++++++++++++++++--
drivers/net/ethernet/intel/idpf/idpf_txrx.h | 8 +-
2 files changed, 91 insertions(+), 10 deletions(-)
diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c b/drivers/net/ethernet/intel/idpf/idpf_txrx.c
index 89185d1b8485e..b26d054013354 100644
--- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c
+++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c
@@ -139,6 +139,9 @@ static void idpf_tx_desc_rel(struct idpf_tx_queue *txq)
if (!txq->desc_ring)
return;
+ if (txq->refillq)
+ kfree(txq->refillq->ring);
+
dmam_free_coherent(txq->dev, txq->size, txq->desc_ring, txq->dma);
txq->desc_ring = NULL;
txq->next_to_use = 0;
@@ -244,6 +247,7 @@ static int idpf_tx_desc_alloc(const struct idpf_vport *vport,
struct idpf_tx_queue *tx_q)
{
struct device *dev = tx_q->dev;
+ struct idpf_sw_queue *refillq;
int err;
err = idpf_tx_buf_alloc_all(tx_q);
@@ -267,6 +271,29 @@ static int idpf_tx_desc_alloc(const struct idpf_vport *vport,
tx_q->next_to_clean = 0;
idpf_queue_set(GEN_CHK, tx_q);
+ if (!idpf_queue_has(FLOW_SCH_EN, tx_q))
+ return 0;
+
+ refillq = tx_q->refillq;
+ refillq->desc_count = tx_q->desc_count;
+ refillq->ring = kcalloc(refillq->desc_count, sizeof(u32),
+ GFP_KERNEL);
+ if (!refillq->ring) {
+ err = -ENOMEM;
+ goto err_alloc;
+ }
+
+ for (unsigned int i = 0; i < refillq->desc_count; i++)
+ refillq->ring[i] =
+ FIELD_PREP(IDPF_RFL_BI_BUFID_M, i) |
+ FIELD_PREP(IDPF_RFL_BI_GEN_M,
+ idpf_queue_has(GEN_CHK, refillq));
+
+ /* Go ahead and flip the GEN bit since this counts as filling
+ * up the ring, i.e. we already ring wrapped.
+ */
+ idpf_queue_change(GEN_CHK, refillq);
+
return 0;
err_alloc:
@@ -603,18 +630,18 @@ static int idpf_rx_hdr_buf_alloc_all(struct idpf_buf_queue *bufq)
}
/**
- * idpf_rx_post_buf_refill - Post buffer id to refill queue
+ * idpf_post_buf_refill - Post buffer id to refill queue
* @refillq: refill queue to post to
* @buf_id: buffer id to post
*/
-static void idpf_rx_post_buf_refill(struct idpf_sw_queue *refillq, u16 buf_id)
+static void idpf_post_buf_refill(struct idpf_sw_queue *refillq, u16 buf_id)
{
u32 nta = refillq->next_to_use;
/* store the buffer ID and the SW maintained GEN bit to the refillq */
refillq->ring[nta] =
- FIELD_PREP(IDPF_RX_BI_BUFID_M, buf_id) |
- FIELD_PREP(IDPF_RX_BI_GEN_M,
+ FIELD_PREP(IDPF_RFL_BI_BUFID_M, buf_id) |
+ FIELD_PREP(IDPF_RFL_BI_GEN_M,
idpf_queue_has(GEN_CHK, refillq));
if (unlikely(++nta == refillq->desc_count)) {
@@ -995,6 +1022,11 @@ static void idpf_txq_group_rel(struct idpf_vport *vport)
struct idpf_txq_group *txq_grp = &vport->txq_grps[i];
for (j = 0; j < txq_grp->num_txq; j++) {
+ if (flow_sch_en) {
+ kfree(txq_grp->txqs[j]->refillq);
+ txq_grp->txqs[j]->refillq = NULL;
+ }
+
kfree(txq_grp->txqs[j]);
txq_grp->txqs[j] = NULL;
}
@@ -1414,6 +1446,13 @@ static int idpf_txq_group_alloc(struct idpf_vport *vport, u16 num_txq)
}
idpf_queue_set(FLOW_SCH_EN, q);
+
+ q->refillq = kzalloc(sizeof(*q->refillq), GFP_KERNEL);
+ if (!q->refillq)
+ goto err_alloc;
+
+ idpf_queue_set(GEN_CHK, q->refillq);
+ idpf_queue_set(RFL_GEN_CHK, q->refillq);
}
if (!split)
@@ -2005,6 +2044,8 @@ static void idpf_tx_handle_rs_completion(struct idpf_tx_queue *txq,
compl_tag = le16_to_cpu(desc->q_head_compl_tag.compl_tag);
+ idpf_post_buf_refill(txq->refillq, compl_tag);
+
/* If we didn't clean anything on the ring, this packet must be
* in the hash table. Go clean it there.
*/
@@ -2364,6 +2405,37 @@ static unsigned int idpf_tx_splitq_bump_ntu(struct idpf_tx_queue *txq, u16 ntu)
return ntu;
}
+/**
+ * idpf_tx_get_free_buf_id - get a free buffer ID from the refill queue
+ * @refillq: refill queue to get buffer ID from
+ * @buf_id: return buffer ID
+ *
+ * Return: true if a buffer ID was found, false if not
+ */
+static bool idpf_tx_get_free_buf_id(struct idpf_sw_queue *refillq,
+ u16 *buf_id)
+{
+ u32 ntc = refillq->next_to_clean;
+ u32 refill_desc;
+
+ refill_desc = refillq->ring[ntc];
+
+ if (unlikely(idpf_queue_has(RFL_GEN_CHK, refillq) !=
+ !!(refill_desc & IDPF_RFL_BI_GEN_M)))
+ return false;
+
+ *buf_id = FIELD_GET(IDPF_RFL_BI_BUFID_M, refill_desc);
+
+ if (unlikely(++ntc == refillq->desc_count)) {
+ idpf_queue_change(RFL_GEN_CHK, refillq);
+ ntc = 0;
+ }
+
+ refillq->next_to_clean = ntc;
+
+ return true;
+}
+
/**
* idpf_tx_splitq_map - Build the Tx flex descriptor
* @tx_q: queue to send buffer on
@@ -2912,6 +2984,13 @@ static netdev_tx_t idpf_tx_splitq_frame(struct sk_buff *skb,
}
if (idpf_queue_has(FLOW_SCH_EN, tx_q)) {
+ if (unlikely(!idpf_tx_get_free_buf_id(tx_q->refillq,
+ &tx_params.compl_tag))) {
+ u64_stats_update_begin(&tx_q->stats_sync);
+ u64_stats_inc(&tx_q->q_stats.q_busy);
+ u64_stats_update_end(&tx_q->stats_sync);
+ }
+
tx_params.dtype = IDPF_TX_DESC_DTYPE_FLEX_FLOW_SCHE;
tx_params.eop_cmd = IDPF_TXD_FLEX_FLOW_CMD_EOP;
/* Set the RE bit to catch any packets that may have not been
@@ -3464,7 +3543,7 @@ static int idpf_rx_splitq_clean(struct idpf_rx_queue *rxq, int budget)
skip_data:
rx_buf->page = NULL;
- idpf_rx_post_buf_refill(refillq, buf_id);
+ idpf_post_buf_refill(refillq, buf_id);
IDPF_RX_BUMP_NTC(rxq, ntc);
/* skip if it is non EOP desc */
@@ -3572,10 +3651,10 @@ static void idpf_rx_clean_refillq(struct idpf_buf_queue *bufq,
bool failure;
if (idpf_queue_has(RFL_GEN_CHK, refillq) !=
- !!(refill_desc & IDPF_RX_BI_GEN_M))
+ !!(refill_desc & IDPF_RFL_BI_GEN_M))
break;
- buf_id = FIELD_GET(IDPF_RX_BI_BUFID_M, refill_desc);
+ buf_id = FIELD_GET(IDPF_RFL_BI_BUFID_M, refill_desc);
failure = idpf_rx_update_bufq_desc(bufq, buf_id, buf_desc);
if (failure)
break;
diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.h b/drivers/net/ethernet/intel/idpf/idpf_txrx.h
index 36a0f828a6f80..6924bee6ff5bd 100644
--- a/drivers/net/ethernet/intel/idpf/idpf_txrx.h
+++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.h
@@ -107,8 +107,8 @@ do { \
*/
#define IDPF_TX_SPLITQ_RE_MIN_GAP 64
-#define IDPF_RX_BI_GEN_M BIT(16)
-#define IDPF_RX_BI_BUFID_M GENMASK(15, 0)
+#define IDPF_RFL_BI_GEN_M BIT(16)
+#define IDPF_RFL_BI_BUFID_M GENMASK(15, 0)
#define IDPF_RXD_EOF_SPLITQ VIRTCHNL2_RX_FLEX_DESC_ADV_STATUS0_EOF_M
#define IDPF_RXD_EOF_SINGLEQ VIRTCHNL2_RX_BASE_DESC_STATUS_EOF_M
@@ -621,6 +621,7 @@ libeth_cacheline_set_assert(struct idpf_rx_queue, 64,
* @cleaned_pkts: Number of packets cleaned for the above said case
* @tx_max_bufs: Max buffers that can be transmitted with scatter-gather
* @stash: Tx buffer stash for Flow-based scheduling mode
+ * @refillq: Pointer to refill queue
* @compl_tag_bufid_m: Completion tag buffer id mask
* @compl_tag_cur_gen: Used to keep track of current completion tag generation
* @compl_tag_gen_max: To determine when compl_tag_cur_gen should be reset
@@ -670,6 +671,7 @@ struct idpf_tx_queue {
u16 tx_max_bufs;
struct idpf_txq_stash *stash;
+ struct idpf_sw_queue *refillq;
u16 compl_tag_bufid_m;
u16 compl_tag_cur_gen;
@@ -691,7 +693,7 @@ struct idpf_tx_queue {
__cacheline_group_end_aligned(cold);
};
libeth_cacheline_set_assert(struct idpf_tx_queue, 64,
- 112 + sizeof(struct u64_stats_sync),
+ 120 + sizeof(struct u64_stats_sync),
24);
/**
--
2.50.1
next prev parent reply other threads:[~2025-09-02 13:24 UTC|newest]
Thread overview: 161+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-02 13:18 [PATCH 6.16 000/142] 6.16.5-rc1 review Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 001/142] perf: Avoid undefined behavior from stopping/starting inactive events Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 002/142] tools/latency-collector: Check pkg-config install Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 003/142] rtla: " Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 004/142] trace/fgraph: Fix the warning caused by missing unregister notifier Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 005/142] of: dynamic: Fix memleak when of_pci_add_properties() failed Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 006/142] of: reserved_mem: Add missing IORESOURCE_MEM flag on resources Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 007/142] pinctrl: STMFX: add missing HAS_IOMEM dependency Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 008/142] pinctrl: airoha: Fix return value in pinconf callbacks Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 009/142] mips: dts: lantiq: danube: add missing burst length property Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 010/142] mips: lantiq: xway: sysctrl: rename the etop node Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 011/142] of: dynamic: Fix use after free in of_changeset_add_prop_helper() Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 012/142] fgraph: Copy args in intermediate storage with entry Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 013/142] ftrace: Fix potential warning in trace_printk_seq during ftrace_dump Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 014/142] perf symbol-minimal: Fix ehdr reading in filename__read_build_id Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 015/142] Revert "virtio: reject shm region if length is zero" Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 016/142] vhost: Fix ioctl # for VHOST_[GS]ET_FORK_FROM_OWNER Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 017/142] scsi: core: sysfs: Correct sysfs attributes access rights Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 018/142] smb: client: fix race with concurrent opens in unlink(2) Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 019/142] smb: client: fix race with concurrent opens in rename(2) Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 020/142] ASoC: codecs: tx-macro: correct tx_macro_component_drv name Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 021/142] ASoC: rt721: fix FU33 Boost Volume control not working Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 022/142] ASoC: rt1320: fix random cycle mute issue Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 023/142] erofs: Fallback to normal access if DAX is not supported on extra device Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 024/142] erofs: fix atomic context detection when !CONFIG_DEBUG_LOCK_ALLOC Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 025/142] io_uring/io-wq: add check free worker before create new worker Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 026/142] platform/x86: int3472: add hpd pin support Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 027/142] vhost/net: Protect ubufs with rcu read lock in vhost_net_ubuf_put() Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 028/142] net: ipv4: fix regression in local-broadcast routes Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 029/142] drm/msm: Defer fd_install in SUBMIT ioctl Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 030/142] of: reserved_mem: Restructure call site for dma_contiguous_early_fixup() Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 031/142] HID: intel-thc-hid: intel-quicki2c: Fix ACPI dsd ICRS/ISUB length Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 032/142] HID: intel-thc-hid: intel-thc: Fix incorrect pointer arithmetic in I2C regs save Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 033/142] HID: intel-thc-hid: Intel-quicki2c: Enhance driver re-install flow Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 034/142] drm/msm/kms: move snapshot init earlier in KMS init Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 035/142] drm/msm/dpu: correct dpu_plane_virtual_atomic_check() Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 036/142] drm/msm: update the high bitfield of certain DSI registers Greg Kroah-Hartman
2025-09-02 13:18 ` [PATCH 6.16 037/142] drm/mediatek: Add error handling for old state CRTC in atomic_disable Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 038/142] powerpc/kvm: Fix ifdef to remove build warning Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 039/142] HID: input: rename hidinput_set_battery_charge_status() Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 040/142] HID: input: report battery status changes immediately Greg Kroah-Hartman
2025-09-02 13:19 ` Greg Kroah-Hartman [this message]
2025-09-02 13:19 ` [PATCH 6.16 042/142] idpf: simplify and fix splitq Tx packet rollback error path Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 043/142] idpf: replace flow scheduling buffer ring with buffer pool Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 044/142] idpf: stop Tx if there are insufficient buffer resources Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 045/142] net: macb: fix unregister_netdev call order in macb_remove() Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 046/142] Bluetooth: hci_conn: Make unacked packet handling more robust Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 047/142] Bluetooth: hci_event: Treat UNKNOWN_CONN_ID on disconnect as success Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 048/142] Bluetooth: hci_event: Mark connection as closed during suspend disconnect Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 049/142] Bluetooth: hci_event: Detect if HCI_EV_NUM_COMP_PKTS is unbalanced Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 050/142] Bluetooth: hci_event: Disconnect device when BIG sync is lost Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 051/142] Bluetooth: hci_sync: fix set_local_name race condition Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 052/142] page_pool: fix incorrect mp_ops error handling Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 053/142] Octeontx2-vf: Fix max packet length errors Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 054/142] atm: atmtcp: Prevent arbitrary write in atmtcp_recv_control() Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 055/142] drm/nouveau: remove unused increment in gm200_flcn_pio_imem_wr Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 056/142] drm/nouveau: remove unused memory target test Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 057/142] ice: fix NULL pointer dereference in ice_unplug_aux_dev() on reset Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 058/142] ice: dont leave device non-functional if Tx scheduler config fails Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 059/142] ice: use fixed adapter index for E825C embedded devices Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 060/142] ice: fix incorrect counter for buffer allocation failures Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 061/142] ixgbe: fix ixgbe_orom_civd_info struct layout Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 062/142] dt-bindings: display/msm: qcom,mdp5: drop lut clock Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 063/142] drm/msm/dpu: Add a null ptr check for dpu_encoder_needs_modeset Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 064/142] octeontx2: Set appropriate PF, VF masks and shifts based on silicon Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 065/142] Octeontx2-af: Fix NIX X2P calibration failures Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 066/142] mISDN: hfcpci: Fix warning when deleting uninitialized timer Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 067/142] net: dlink: fix multicast stats being counted incorrectly Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 068/142] efi: stmm: Fix incorrect buffer allocation method Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 069/142] drm/xe/xe_sync: avoid race during ufence signaling Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 070/142] drm/xe/vm: Dont pin the vm_resv during validation Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 071/142] drm/xe: Dont trigger rebind on initial dma-buf validation Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 072/142] block: validate QoS before calling __rq_qos_done_bio() Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 073/142] phy: mscc: Fix when PTP clock is register and unregister Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 074/142] net: macb: Fix offset error in gem_update_stats Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 075/142] bnxt_en: Fix memory corruption when FW resources change during ifdown Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 076/142] bnxt_en: Adjust TX rings if reservation is less than requested Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 077/142] bnxt_en: Fix stats context reservation logic Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 078/142] net/mlx5: HWS, Fix memory leak in hws_pool_buddy_init error path Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 079/142] net/mlx5: HWS, Fix memory leak in hws_action_get_shared_stc_nic error flow Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 080/142] net/mlx5: HWS, Fix uninitialized variables in mlx5hws_pat_calc_nop " Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 081/142] net/mlx5: HWS, Fix pattern destruction in mlx5hws_pat_get_pattern error path Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 082/142] net/mlx5: Reload auxiliary drivers on fw_activate Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 083/142] net/mlx5: Fix lockdep assertion on sync reset unload event Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 084/142] net/mlx5: Nack sync reset when SFs are present Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 085/142] net/mlx5: Prevent flow steering mode changes in switchdev mode Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 086/142] net/mlx5e: Update and set Xon/Xoff upon MTU set Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 087/142] net/mlx5e: Update and set Xon/Xoff upon port speed set Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 088/142] net/mlx5e: Set local Xoff after FW update Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 089/142] net: stmmac: xgmac: Do not enable RX FIFO Overflow interrupts Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 090/142] net: stmmac: xgmac: Correct supported speed modes Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 091/142] net: stmmac: Set CIC bit only for TX queues with COE Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 092/142] net: hv_netvsc: fix loss of early receive events from host during channel open Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 093/142] io_uring/kbuf: fix signedness in this_len calculation Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 094/142] net: rose: split remove and free operations in rose_remove_neigh() Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 095/142] net: rose: convert use field to refcount_t Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 096/142] net: rose: include node references in rose_neigh refcount Greg Kroah-Hartman
2025-09-02 13:19 ` [PATCH 6.16 097/142] sctp: initialize more fields in sctp_v6_from_sk() Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 098/142] l2tp: do not use sock_hold() in pppol2tp_session_get_sock() Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 099/142] fbnic: Move phylink resume out of service_task and into open/close Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 100/142] efivarfs: Fix slab-out-of-bounds in efivarfs_d_compare Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 101/142] net: macb: Disable clocks once Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 102/142] io_uring/kbuf: always use READ_ONCE() to read ring provided buffer lengths Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 103/142] drm/mediatek: mtk_hdmi: Fix inverted parameters in some regmap_update_bits calls Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 104/142] KVM: x86: use array_index_nospec with indices that come from guest Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 105/142] RISC-V: KVM: fix stack overrun when loading vlenb Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 106/142] x86/cpu/intel: Fix the constant_tsc model check for Pentium 4 Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 107/142] x86/microcode/AMD: Handle the case of no BIOS microcode Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 108/142] x86/cpu/topology: Use initial APIC ID from XTOPOLOGY leaf on AMD/HYGON Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 109/142] HID: asus: fix UAF via HID_CLAIMED_INPUT validation Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 110/142] HID: multitouch: fix slab out-of-bounds access in mt_report_fixup() Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 111/142] HID: elecom: add support for ELECOM M-DT2DRBK Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 112/142] HID: quirks: add support for Legion Go dual dinput modes Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 113/142] HID: logitech: Add ids for G PRO 2 LIGHTSPEED Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 114/142] HID: wacom: Add a new Art Pen 2 Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 115/142] HID: hid-ntrig: fix unable to handle page fault in ntrig_report_version() Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 116/142] Revert "drm/amdgpu: fix incorrect vm flags to map bo" Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 117/142] arm64: mm: Fix CFI failure due to kpti_ng_pgd_alloc function signature Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 118/142] blk-zoned: Fix a lockdep complaint about recursive locking Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 119/142] dma/pool: Ensure DMA_DIRECT_REMAP allocations are decrypted Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 120/142] fs/smb: Fix inconsistent refcnt update Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 121/142] net: usb: qmi_wwan: add Telit Cinterion LE910C4-WWX new compositions Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 122/142] smb3 client: fix return code mapping of remap_file_range Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 123/142] xfs: do not propagate ENODATA disk errors into xattr code Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 124/142] drm/xe/vm: Clear the scratch_pt pointer on error Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 125/142] drm/nouveau/disp: Always accept linear modifier Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 126/142] drm/nouveau: fix error path in nvkm_gsp_fwsec_v2 Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 127/142] drm/msm/dpu: Initialize crtc_state to NULL in dpu_plane_virtual_atomic_check() Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 128/142] drm/mediatek: Fix device/node reference count leaks in mtk_drm_get_all_drm_priv Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 129/142] drm/amd/amdgpu: disable hwmon power1_cap* for gfx 11.0.3 on vf mode Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 130/142] drm/amdgpu/userq: fix error handling of invalid doorbell Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 131/142] drm/amdgpu: update firmware version checks for user queue support Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 132/142] drm/amdgpu/gfx11: set MQD as appriopriate for queue types Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 133/142] drm/amdgpu/gfx12: " Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 134/142] net: rose: fix a typo in rose_clear_routes() Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 135/142] firmware: qcom: scm: remove unused arguments from SHM bridge routines Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 136/142] firmware: qcom: scm: take struct device as argument in SHM bridge enable Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 137/142] firmware: qcom: scm: initialize tzmem before marking SCM as available Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 138/142] firmware: qcom: scm: request the waitqueue irq *after* initializing SCM Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 139/142] Revert "drm/dp: Change AUX DPCD probe address from DPCD_REV to LANE0_1_STATUS" Greg Kroah-Hartman
2025-09-04 21:48 ` Imre Deak
2025-09-05 5:07 ` Greg Kroah-Hartman
2025-09-05 13:45 ` Imre Deak
2025-09-05 14:55 ` Greg Kroah-Hartman
2025-09-05 15:56 ` Imre Deak
2025-09-02 13:20 ` [PATCH 6.16 140/142] thermal/drivers/mediatek/lvts_thermal: Change lvts commands array to static const Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 141/142] thermal/drivers/mediatek/lvts_thermal: Add lvts commands and their sizes to driver data Greg Kroah-Hartman
2025-09-02 13:20 ` [PATCH 6.16 142/142] thermal/drivers/mediatek/lvts_thermal: Add mt7988 lvts commands Greg Kroah-Hartman
2025-09-02 16:14 ` [PATCH 6.16 000/142] 6.16.5-rc1 review Markus Reichelt
2025-09-02 16:23 ` Brett A C Sheffield
2025-09-02 17:33 ` [PATCH 6.16 000/142] " Justin Forbes
2025-09-02 17:48 ` Ronald Warsow
2025-09-02 18:04 ` Jon Hunter
2025-09-02 19:09 ` Achill Gilgenast
2025-09-02 20:50 ` Florian Fainelli
2025-09-02 22:24 ` Takeshi Ogasawara
2025-09-03 7:17 ` Naresh Kamboju
2025-09-03 7:47 ` Pavel Machek
2025-09-03 8:49 ` Ron Economos
2025-09-03 10:40 ` Mark Brown
2025-09-03 14:37 ` Peter Schneider
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=20250902131949.723681407@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=Samuel.salin@intel.com \
--cc=anthony.l.nguyen@intel.com \
--cc=joshua.a.hay@intel.com \
--cc=madhu.chittim@intel.com \
--cc=patches@lists.linux.dev \
--cc=sashal@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.