linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Mike Christie <michael.christie@oracle.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.10 040/154] scsi: target: Fix ordered tag handling
Date: Wed, 24 Nov 2021 12:57:16 +0100	[thread overview]
Message-ID: <20211124115703.646996526@linuxfoundation.org> (raw)
In-Reply-To: <20211124115702.361983534@linuxfoundation.org>

From: Mike Christie <michael.christie@oracle.com>

[ Upstream commit ed1227e080990ffec5bf39006ec8a57358e6689a ]

This patch fixes the following bugs:

1. If there are multiple ordered cmds queued and multiple simple cmds
   completing, target_restart_delayed_cmds() could be called on different
   CPUs and each instance could start a ordered cmd. They could then run in
   different orders than they were queued.

2. target_restart_delayed_cmds() and target_handle_task_attr() can race
   where:

   1. target_handle_task_attr() has passed the simple_cmds == 0 check.

   2. transport_complete_task_attr() then decrements simple_cmds to 0.

   3. transport_complete_task_attr() runs target_restart_delayed_cmds() and
      it does not see any cmds on the delayed_cmd_list.

   4. target_handle_task_attr() adds the cmd to the delayed_cmd_list.

   The cmd will then end up timing out.

3. If we are sent > 1 ordered cmds and simple_cmds == 0, we can execute
   them out of order, because target_handle_task_attr() will hit that
   simple_cmds check first and return false for all ordered cmds sent.

4. We run target_restart_delayed_cmds() after every cmd completion, so if
   there is more than 1 simple cmd running, we start executing ordered cmds
   after that first cmd instead of waiting for all of them to complete.

5. Ordered cmds are not supposed to start until HEAD OF QUEUE and all older
   cmds have completed, and not just simple.

6. It's not a bug but it doesn't make sense to take the delayed_cmd_lock
   for every cmd completion when ordered cmds are almost never used. Just
   replacing that lock with an atomic increases IOPs by up to 10% when
   completions are spread over multiple CPUs and there are multiple
   sessions/ mqs/thread accessing the same device.

This patch moves the queued delayed handling to a per device work to
serialze the cmd executions for each device and adds a new counter to track
HEAD_OF_QUEUE and SIMPLE cmds. We can then check the new counter to
determine when to run the work on the completion path.

Link: https://lore.kernel.org/r/20210930020422.92578-3-michael.christie@oracle.com
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/target/target_core_device.c    |  2 +
 drivers/target/target_core_internal.h  |  1 +
 drivers/target/target_core_transport.c | 76 ++++++++++++++++++--------
 include/target/target_core_base.h      |  6 +-
 4 files changed, 61 insertions(+), 24 deletions(-)

diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c
index 405d82d447176..109f019d21480 100644
--- a/drivers/target/target_core_device.c
+++ b/drivers/target/target_core_device.c
@@ -758,6 +758,8 @@ struct se_device *target_alloc_device(struct se_hba *hba, const char *name)
 	INIT_LIST_HEAD(&dev->t10_alua.lba_map_list);
 	spin_lock_init(&dev->t10_alua.lba_map_lock);
 
+	INIT_WORK(&dev->delayed_cmd_work, target_do_delayed_work);
+
 	dev->t10_wwn.t10_dev = dev;
 	dev->t10_alua.t10_dev = dev;
 
diff --git a/drivers/target/target_core_internal.h b/drivers/target/target_core_internal.h
index e7b3c6e5d5744..e4f072a680d41 100644
--- a/drivers/target/target_core_internal.h
+++ b/drivers/target/target_core_internal.h
@@ -150,6 +150,7 @@ int	transport_dump_vpd_ident(struct t10_vpd *, unsigned char *, int);
 void	transport_clear_lun_ref(struct se_lun *);
 sense_reason_t	target_cmd_size_check(struct se_cmd *cmd, unsigned int size);
 void	target_qf_do_work(struct work_struct *work);
+void	target_do_delayed_work(struct work_struct *work);
 bool	target_check_wce(struct se_device *dev);
 bool	target_check_fua(struct se_device *dev);
 void	__target_execute_cmd(struct se_cmd *, bool);
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 61b79804d462c..bca3a32a4bfb7 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -2065,32 +2065,35 @@ static bool target_handle_task_attr(struct se_cmd *cmd)
 	 */
 	switch (cmd->sam_task_attr) {
 	case TCM_HEAD_TAG:
+		atomic_inc_mb(&dev->non_ordered);
 		pr_debug("Added HEAD_OF_QUEUE for CDB: 0x%02x\n",
 			 cmd->t_task_cdb[0]);
 		return false;
 	case TCM_ORDERED_TAG:
-		atomic_inc_mb(&dev->dev_ordered_sync);
+		atomic_inc_mb(&dev->delayed_cmd_count);
 
 		pr_debug("Added ORDERED for CDB: 0x%02x to ordered list\n",
 			 cmd->t_task_cdb[0]);
-
-		/*
-		 * Execute an ORDERED command if no other older commands
-		 * exist that need to be completed first.
-		 */
-		if (!atomic_read(&dev->simple_cmds))
-			return false;
 		break;
 	default:
 		/*
 		 * For SIMPLE and UNTAGGED Task Attribute commands
 		 */
-		atomic_inc_mb(&dev->simple_cmds);
+		atomic_inc_mb(&dev->non_ordered);
+
+		if (atomic_read(&dev->delayed_cmd_count) == 0)
+			return false;
 		break;
 	}
 
-	if (atomic_read(&dev->dev_ordered_sync) == 0)
-		return false;
+	if (cmd->sam_task_attr != TCM_ORDERED_TAG) {
+		atomic_inc_mb(&dev->delayed_cmd_count);
+		/*
+		 * We will account for this when we dequeue from the delayed
+		 * list.
+		 */
+		atomic_dec_mb(&dev->non_ordered);
+	}
 
 	spin_lock(&dev->delayed_cmd_lock);
 	list_add_tail(&cmd->se_delayed_node, &dev->delayed_cmd_list);
@@ -2098,6 +2101,12 @@ static bool target_handle_task_attr(struct se_cmd *cmd)
 
 	pr_debug("Added CDB: 0x%02x Task Attr: 0x%02x to delayed CMD listn",
 		cmd->t_task_cdb[0], cmd->sam_task_attr);
+	/*
+	 * We may have no non ordered cmds when this function started or we
+	 * could have raced with the last simple/head cmd completing, so kick
+	 * the delayed handler here.
+	 */
+	schedule_work(&dev->delayed_cmd_work);
 	return true;
 }
 
@@ -2135,29 +2144,48 @@ EXPORT_SYMBOL(target_execute_cmd);
  * Process all commands up to the last received ORDERED task attribute which
  * requires another blocking boundary
  */
-static void target_restart_delayed_cmds(struct se_device *dev)
+void target_do_delayed_work(struct work_struct *work)
 {
-	for (;;) {
+	struct se_device *dev = container_of(work, struct se_device,
+					     delayed_cmd_work);
+
+	spin_lock(&dev->delayed_cmd_lock);
+	while (!dev->ordered_sync_in_progress) {
 		struct se_cmd *cmd;
 
-		spin_lock(&dev->delayed_cmd_lock);
-		if (list_empty(&dev->delayed_cmd_list)) {
-			spin_unlock(&dev->delayed_cmd_lock);
+		if (list_empty(&dev->delayed_cmd_list))
 			break;
-		}
 
 		cmd = list_entry(dev->delayed_cmd_list.next,
 				 struct se_cmd, se_delayed_node);
+
+		if (cmd->sam_task_attr == TCM_ORDERED_TAG) {
+			/*
+			 * Check if we started with:
+			 * [ordered] [simple] [ordered]
+			 * and we are now at the last ordered so we have to wait
+			 * for the simple cmd.
+			 */
+			if (atomic_read(&dev->non_ordered) > 0)
+				break;
+
+			dev->ordered_sync_in_progress = true;
+		}
+
 		list_del(&cmd->se_delayed_node);
+		atomic_dec_mb(&dev->delayed_cmd_count);
 		spin_unlock(&dev->delayed_cmd_lock);
 
+		if (cmd->sam_task_attr != TCM_ORDERED_TAG)
+			atomic_inc_mb(&dev->non_ordered);
+
 		cmd->transport_state |= CMD_T_SENT;
 
 		__target_execute_cmd(cmd, true);
 
-		if (cmd->sam_task_attr == TCM_ORDERED_TAG)
-			break;
+		spin_lock(&dev->delayed_cmd_lock);
 	}
+	spin_unlock(&dev->delayed_cmd_lock);
 }
 
 /*
@@ -2175,14 +2203,17 @@ static void transport_complete_task_attr(struct se_cmd *cmd)
 		goto restart;
 
 	if (cmd->sam_task_attr == TCM_SIMPLE_TAG) {
-		atomic_dec_mb(&dev->simple_cmds);
+		atomic_dec_mb(&dev->non_ordered);
 		dev->dev_cur_ordered_id++;
 	} else if (cmd->sam_task_attr == TCM_HEAD_TAG) {
+		atomic_dec_mb(&dev->non_ordered);
 		dev->dev_cur_ordered_id++;
 		pr_debug("Incremented dev_cur_ordered_id: %u for HEAD_OF_QUEUE\n",
 			 dev->dev_cur_ordered_id);
 	} else if (cmd->sam_task_attr == TCM_ORDERED_TAG) {
-		atomic_dec_mb(&dev->dev_ordered_sync);
+		spin_lock(&dev->delayed_cmd_lock);
+		dev->ordered_sync_in_progress = false;
+		spin_unlock(&dev->delayed_cmd_lock);
 
 		dev->dev_cur_ordered_id++;
 		pr_debug("Incremented dev_cur_ordered_id: %u for ORDERED\n",
@@ -2191,7 +2222,8 @@ static void transport_complete_task_attr(struct se_cmd *cmd)
 	cmd->se_cmd_flags &= ~SCF_TASK_ATTR_SET;
 
 restart:
-	target_restart_delayed_cmds(dev);
+	if (atomic_read(&dev->delayed_cmd_count) > 0)
+		schedule_work(&dev->delayed_cmd_work);
 }
 
 static void transport_complete_qf(struct se_cmd *cmd)
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index 549947d407cfd..18a5dcd275f88 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -788,8 +788,9 @@ struct se_device {
 	atomic_long_t		read_bytes;
 	atomic_long_t		write_bytes;
 	/* Active commands on this virtual SE device */
-	atomic_t		simple_cmds;
-	atomic_t		dev_ordered_sync;
+	atomic_t		non_ordered;
+	bool			ordered_sync_in_progress;
+	atomic_t		delayed_cmd_count;
 	atomic_t		dev_qf_count;
 	u32			export_count;
 	spinlock_t		delayed_cmd_lock;
@@ -811,6 +812,7 @@ struct se_device {
 	struct list_head	dev_sep_list;
 	struct list_head	dev_tmr_list;
 	struct work_struct	qf_work_queue;
+	struct work_struct	delayed_cmd_work;
 	struct list_head	delayed_cmd_list;
 	struct list_head	state_list;
 	struct list_head	qf_cmd_list;
-- 
2.33.0




  parent reply	other threads:[~2021-11-24 13:33 UTC|newest]

Thread overview: 174+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-24 11:56 [PATCH 5.10 000/154] 5.10.82-rc1 review Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 001/154] arm64: zynqmp: Do not duplicate flash partition label property Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 002/154] arm64: zynqmp: Fix serial compatible string Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 003/154] ARM: dts: sunxi: Fix OPPs node name Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 004/154] arm64: dts: allwinner: h5: Fix GPU thermal zone " Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 005/154] arm64: dts: allwinner: a100: Fix " Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 006/154] staging: wfx: ensure IRQ is ready before enabling it Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 007/154] ARM: dts: NSP: Fix mpcore, mmc node names Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 008/154] scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 009/154] arm64: dts: rockchip: Disable CDN DP on Pinebook Pro Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 010/154] arm64: dts: hisilicon: fix arm,sp805 compatible string Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 011/154] RDMA/bnxt_re: Check if the vlan is valid before reporting Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 012/154] bus: ti-sysc: Add quirk handling for reinit on context lost Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 013/154] bus: ti-sysc: Use context lost quirk for otg Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 014/154] usb: musb: tusb6010: check return value after calling platform_get_resource() Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 015/154] usb: typec: tipd: Remove WARN_ON in tps6598x_block_read Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 016/154] ARM: dts: ux500: Skomer regulator fixes Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 017/154] staging: rtl8723bs: remove possible deadlock when disconnect (v2) Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 018/154] ARM: BCM53016: Specify switch ports for Meraki MR32 Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 019/154] arm64: dts: qcom: msm8998: Fix CPU/L2 idle state latency and residency Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 020/154] arm64: dts: qcom: ipq6018: Fix qcom,controlled-remotely property Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 021/154] arm64: dts: qcom: msm8916: Add unit name for /soc node Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 022/154] arm64: dts: freescale: fix arm,sp805 compatible string Greg Kroah-Hartman
2021-11-24 11:56 ` [PATCH 5.10 023/154] ASoC: SOF: Intel: hda-dai: fix potential locking issue Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 024/154] clk: imx: imx6ul: Move csi_sel mux to correct base register Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 025/154] ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 026/154] scsi: advansys: Fix kernel pointer leak Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 027/154] ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 codec Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 028/154] ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45 Greg Kroah-Hartman
2021-11-24 21:55   ` Salvatore Bonaccorso
2021-11-24 22:01     ` Salvatore Bonaccorso
2021-11-25  6:26       ` Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 029/154] firmware_loader: fix pre-allocated buf built-in firmware use Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 030/154] cpuidle: tegra: Check whether PMC is ready Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 031/154] ARM: dts: omap: fix gpmc,mux-add-data type Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 032/154] usb: host: ohci-tmio: check return value after calling platform_get_resource() Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 033/154] ARM: dts: ls1021a: move thermal-zones node out of soc/ Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 034/154] ARM: dts: ls1021a-tsn: use generic "jedec,spi-nor" compatible for flash Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 035/154] ALSA: ISA: not for M68K Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 036/154] tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 037/154] MIPS: sni: Fix the build Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 038/154] scsi: scsi_debug: Fix out-of-bound read in resp_readcap16() Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 039/154] scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs() Greg Kroah-Hartman
2021-11-24 11:57 ` Greg Kroah-Hartman [this message]
2021-11-24 11:57 ` [PATCH 5.10 041/154] scsi: target: Fix alua_tg_pt_gps_count tracking Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 042/154] iio: imu: st_lsm6dsx: Avoid potential array overflow in st_lsm6dsx_set_odr() Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 043/154] powerpc/5200: dts: fix memory node unit name Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 044/154] ARM: dts: qcom: fix memory and mdio nodes naming for RB3011 Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 045/154] ALSA: gus: fix null pointer dereference on pointer block Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 046/154] powerpc/dcr: Use cmplwi instead of 3-argument cmpli Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 047/154] powerpc/8xx: Fix Oops with STRICT_KERNEL_RWX without DEBUG_RODATA_TEST Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 048/154] sh: check return code of request_irq Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 049/154] maple: fix wrong return value of maple_bus_init() Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 050/154] f2fs: fix up f2fs_lookup tracepoints Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 051/154] f2fs: fix to use WHINT_MODE Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 052/154] sh: fix kconfig unmet dependency warning for FRAME_POINTER Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 053/154] sh: math-emu: drop unused functions Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 054/154] sh: define __BIG_ENDIAN for math-emu Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 055/154] f2fs: compress: disallow disabling compress on non-empty compressed file Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 056/154] f2fs: fix incorrect return value in f2fs_sanity_check_ckpt() Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 057/154] clk: ingenic: Fix bugs with divided dividers Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 058/154] clk/ast2600: Fix soc revision for AHB Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 059/154] clk: qcom: gcc-msm8996: Drop (again) gcc_aggre1_pnoc_ahb_clk Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 060/154] mips: BCM63XX: ensure that CPU_SUPPORTS_32BIT_KERNEL is set Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 061/154] sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 062/154] perf/x86/vlbr: Add c->flags to vlbr event constraints Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 063/154] blkcg: Remove extra blkcg_bio_issue_init Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 064/154] tracing/histogram: Do not copy the fixed-size char array field over the field size Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 065/154] perf bpf: Avoid memory leak from perf_env__insert_btf() Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 066/154] perf bench futex: Fix memory leak of perf_cpu_map__new() Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 067/154] perf tests: Remove bash construct from record+zstd_comp_decomp.sh Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 068/154] drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 069/154] net-zerocopy: Copy straggler unaligned data for TCP Rx. zerocopy Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 070/154] net-zerocopy: Refactor skb frag fast-forward op Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 071/154] tcp: Fix uninitialized access in skb frags array for Rx 0cp Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 072/154] tracing: Add length protection to histogram string copies Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 073/154] net: ipa: disable HOLB drop when updating timer Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 074/154] net: bnx2x: fix variable dereferenced before check Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 075/154] bnxt_en: reject indirect blk offload when hw-tc-offload is off Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 076/154] tipc: only accept encrypted MSG_CRYPTO msgs Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 077/154] net: reduce indentation level in sk_clone_lock() Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 078/154] sock: fix /proc/net/sockstat underflow " Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 079/154] net/smc: Make sure the link_id is unique Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 080/154] iavf: Fix return of set the new channel count Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 081/154] iavf: check for null in iavf_fix_features Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 082/154] iavf: free q_vectors before queues in iavf_disable_vf Greg Kroah-Hartman
2021-11-24 11:57 ` [PATCH 5.10 083/154] iavf: Fix failure to exit out from last all-multicast mode Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 084/154] iavf: prevent accidental free of filter structure Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 085/154] iavf: validate pointers Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 086/154] iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 087/154] iavf: Fix for setting queues to 0 Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 088/154] MIPS: generic/yamon-dt: fix uninitialized variable error Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 089/154] mips: bcm63xx: add support for clk_get_parent() Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 090/154] mips: lantiq: " Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 091/154] platform/x86: hp_accel: Fix an error handling path in lis3lv02d_probe() Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 092/154] net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 093/154] net/mlx5: Lag, update tracker when state change event received Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 094/154] net/mlx5: E-Switch, Change mode lock from mutex to rw semaphore Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 095/154] net/mlx5: E-Switch, return error if encap isnt supported Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 096/154] scsi: core: sysfs: Fix hang when device state is set via sysfs Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 097/154] net: sched: act_mirred: drop dst for the direction from egress to ingress Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 098/154] net: dpaa2-eth: fix use-after-free in dpaa2_eth_remove Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 099/154] net: virtio_net_hdr_to_skb: count transport header in UFO Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 100/154] i40e: Fix correct max_pkt_size on VF RX queue Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 101/154] i40e: Fix NULL ptr dereference on VSI filter sync Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 102/154] i40e: Fix changing previously set num_queue_pairs for PFs Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 103/154] i40e: Fix ping is lost after configuring ADq on VF Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 104/154] i40e: Fix warning message and call stack during rmmod i40e driver Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 105/154] i40e: Fix creation of first queue by omitting it if is not power of two Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 106/154] i40e: Fix display error code in dmesg Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 107/154] NFC: reorganize the functions in nci_request Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 108/154] NFC: reorder the logic in nfc_{un,}register_device Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 109/154] net: nfc: nci: Change the NCI close sequence Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 110/154] NFC: add NCI_UNREG flag to eliminate the race Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 111/154] e100: fix device suspend/resume Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 112/154] perf bench: Fix two memory leaks detected with ASan Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 113/154] KVM: PPC: Book3S HV: Use GLOBAL_TOC for kvmppc_h_set_dabr/xdabr() Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 114/154] pinctrl: qcom: sdm845: Enable dual edge errata Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 115/154] perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 116/154] perf/x86/intel/uncore: Fix IIO event constraints for " Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 117/154] s390/kexec: fix return code handling Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 118/154] net: stmmac: dwmac-rk: Fix ethernet on rk3399 based devices Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 119/154] arm64: vdso32: suppress error message for make mrproper Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 120/154] tun: fix bonding active backup with arp monitoring Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 121/154] hexagon: export raw I/O routines for modules Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 122/154] hexagon: clean up timer-regs.h Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 123/154] tipc: check for null after calling kmemdup Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 124/154] ipc: WARN if trying to remove ipc object which is absent Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 125/154] mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 126/154] x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 127/154] powerpc/8xx: Fix pinned TLBs with CONFIG_STRICT_KERNEL_RWX Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 128/154] scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id() Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 129/154] s390/kexec: fix memory leak of ipl report buffer Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 130/154] block: Check ADMIN before NICE for IOPRIO_CLASS_RT Greg Kroah-Hartman
2021-11-24 14:22   ` Jari Ruusu
2021-11-24 15:31     ` Greg Kroah-Hartman
2021-11-24 17:33       ` Serge E. Hallyn
2021-11-24 18:15         ` Greg Kroah-Hartman
2021-11-24 18:34           ` Christian Göttsche
2021-11-24 23:30             ` Serge E. Hallyn
2021-11-24 23:29           ` Serge E. Hallyn
2021-11-24 11:58 ` [PATCH 5.10 131/154] KVM: nVMX: dont use vcpu->arch.efer when checking host state on nested state load Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 132/154] udf: Fix crash after seekdir Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 133/154] net: stmmac: socfpga: add runtime suspend/resume callback for stratix10 platform Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 134/154] btrfs: fix memory ordering between normal and ordered work functions Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 135/154] parisc/sticon: fix reverse colors Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 136/154] cfg80211: call cfg80211_stop_ap when switch from P2P_GO type Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 137/154] drm/amd/display: Update swizzle mode enums Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 138/154] drm/udl: fix control-message timeout Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 139/154] drm/nouveau: Add a dedicated mutex for the clients list Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 140/154] drm/nouveau: use drm_dev_unplug() during device removal Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 141/154] drm/nouveau: clean up all clients on " Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 142/154] drm/i915/dp: Ensure sink rate values are always valid Greg Kroah-Hartman
2021-11-24 11:58 ` [PATCH 5.10 143/154] drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga and dvi connectors Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 144/154] scsi: ufs: core: Fix task management completion Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 145/154] scsi: ufs: core: Fix task management completion timeout race Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 146/154] hugetlbfs: flush TLBs correctly after huge_pmd_unshare Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 147/154] RDMA/netlink: Add __maybe_unused to static inline in C file Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 148/154] selinux: fix NULL-pointer dereference when hashtab allocation fails Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 149/154] ASoC: DAPM: Cover regression by kctl change notification fix Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 150/154] usb: max-3421: Use driver data instead of maintaining a list of bound devices Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 151/154] ice: Delete always true check of PF pointer Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 152/154] fs: export an inode_update_time helper Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 153/154] btrfs: update device path inode time instead of bd_inode Greg Kroah-Hartman
2021-11-24 11:59 ` [PATCH 5.10 154/154] x86/Kconfig: Fix an unused variable error in dell-smm-hwmon Greg Kroah-Hartman
2021-11-24 13:53 ` [PATCH 5.10 000/154] 5.10.82-rc1 review Pavel Machek
2021-11-24 16:11   ` Greg Kroah-Hartman
2021-11-25 11:37   ` Sudip Mukherjee
2021-11-25 11:43     ` Greg Kroah-Hartman
2021-11-24 15:16 ` Naresh Kamboju
2021-11-24 15:27   ` Dmitry Osipenko
2021-11-24 16:11     ` Greg Kroah-Hartman
2021-11-24 17:23 ` Fox Chen
2021-11-25  1:44 ` Guenter Roeck

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=20211124115703.646996526@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=michael.christie@oracle.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).