All of lore.kernel.org
 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, Qu Wenruo <wqu@suse.com>,
	Filipe Manana <fdmanana@suse.com>,
	David Sterba <dsterba@suse.com>
Subject: [PATCH 5.16 142/164] btrfs: defrag: allow defrag_one_cluster() to skip large extent which is not a target
Date: Mon, 28 Feb 2022 18:25:04 +0100	[thread overview]
Message-ID: <20220228172412.797687507@linuxfoundation.org> (raw)
In-Reply-To: <20220228172359.567256961@linuxfoundation.org>

From: Qu Wenruo <wqu@suse.com>

commit 966d879bafaaf020c11a7cee9526f6dd823a4126 upstream.

In the rework of btrfs_defrag_file(), we always call
defrag_one_cluster() and increase the offset by cluster size, which is
only 256K.

But there are cases where we have a large extent (e.g. 128M) which
doesn't need to be defragged at all.

Before the refactor, we can directly skip the range, but now we have to
scan that extent map again and again until the cluster moves after the
non-target extent.

Fix the problem by allow defrag_one_cluster() to increase
btrfs_defrag_ctrl::last_scanned to the end of an extent, if and only if
the last extent of the cluster is not a target.

The test script looks like this:

	mkfs.btrfs -f $dev > /dev/null

	mount $dev $mnt

	# As btrfs ioctl uses 32M as extent_threshold
	xfs_io -f -c "pwrite 0 64M" $mnt/file1
	sync
	# Some fragemented range to defrag
	xfs_io -s -c "pwrite 65548k 4k" \
		  -c "pwrite 65544k 4k" \
		  -c "pwrite 65540k 4k" \
		  -c "pwrite 65536k 4k" \
		  $mnt/file1
	sync

	echo "=== before ==="
	xfs_io -c "fiemap -v" $mnt/file1
	echo "=== after ==="
	btrfs fi defrag $mnt/file1
	sync
	xfs_io -c "fiemap -v" $mnt/file1
	umount $mnt

With extra ftrace put into defrag_one_cluster(), before the patch it
would result tons of loops:

(As defrag_one_cluster() is inlined, the function name is its caller)

  btrfs-126062  [005] .....  4682.816026: btrfs_defrag_file: r/i=5/257 start=0 len=262144
  btrfs-126062  [005] .....  4682.816027: btrfs_defrag_file: r/i=5/257 start=262144 len=262144
  btrfs-126062  [005] .....  4682.816028: btrfs_defrag_file: r/i=5/257 start=524288 len=262144
  btrfs-126062  [005] .....  4682.816028: btrfs_defrag_file: r/i=5/257 start=786432 len=262144
  btrfs-126062  [005] .....  4682.816028: btrfs_defrag_file: r/i=5/257 start=1048576 len=262144
  ...
  btrfs-126062  [005] .....  4682.816043: btrfs_defrag_file: r/i=5/257 start=67108864 len=262144

But with this patch there will be just one loop, then directly to the
end of the extent:

  btrfs-130471  [014] .....  5434.029558: defrag_one_cluster: r/i=5/257 start=0 len=262144
  btrfs-130471  [014] .....  5434.029559: defrag_one_cluster: r/i=5/257 start=67108864 len=16384

CC: stable@vger.kernel.org # 5.16
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/btrfs/ioctl.c |   48 +++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 39 insertions(+), 9 deletions(-)

--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -1174,8 +1174,10 @@ struct defrag_target_range {
 static int defrag_collect_targets(struct btrfs_inode *inode,
 				  u64 start, u64 len, u32 extent_thresh,
 				  u64 newer_than, bool do_compress,
-				  bool locked, struct list_head *target_list)
+				  bool locked, struct list_head *target_list,
+				  u64 *last_scanned_ret)
 {
+	bool last_is_target = false;
 	u64 cur = start;
 	int ret = 0;
 
@@ -1185,6 +1187,7 @@ static int defrag_collect_targets(struct
 		bool next_mergeable = true;
 		u64 range_len;
 
+		last_is_target = false;
 		em = defrag_lookup_extent(&inode->vfs_inode, cur, locked);
 		if (!em)
 			break;
@@ -1267,6 +1270,7 @@ static int defrag_collect_targets(struct
 		}
 
 add:
+		last_is_target = true;
 		range_len = min(extent_map_end(em), start + len) - cur;
 		/*
 		 * This one is a good target, check if it can be merged into
@@ -1310,6 +1314,17 @@ next:
 			kfree(entry);
 		}
 	}
+	if (!ret && last_scanned_ret) {
+		/*
+		 * If the last extent is not a target, the caller can skip to
+		 * the end of that extent.
+		 * Otherwise, we can only go the end of the specified range.
+		 */
+		if (!last_is_target)
+			*last_scanned_ret = max(cur, *last_scanned_ret);
+		else
+			*last_scanned_ret = max(start + len, *last_scanned_ret);
+	}
 	return ret;
 }
 
@@ -1368,7 +1383,8 @@ static int defrag_one_locked_target(stru
 }
 
 static int defrag_one_range(struct btrfs_inode *inode, u64 start, u32 len,
-			    u32 extent_thresh, u64 newer_than, bool do_compress)
+			    u32 extent_thresh, u64 newer_than, bool do_compress,
+			    u64 *last_scanned_ret)
 {
 	struct extent_state *cached_state = NULL;
 	struct defrag_target_range *entry;
@@ -1414,7 +1430,7 @@ static int defrag_one_range(struct btrfs
 	 */
 	ret = defrag_collect_targets(inode, start, len, extent_thresh,
 				     newer_than, do_compress, true,
-				     &target_list);
+				     &target_list, last_scanned_ret);
 	if (ret < 0)
 		goto unlock_extent;
 
@@ -1449,7 +1465,8 @@ static int defrag_one_cluster(struct btr
 			      u64 start, u32 len, u32 extent_thresh,
 			      u64 newer_than, bool do_compress,
 			      unsigned long *sectors_defragged,
-			      unsigned long max_sectors)
+			      unsigned long max_sectors,
+			      u64 *last_scanned_ret)
 {
 	const u32 sectorsize = inode->root->fs_info->sectorsize;
 	struct defrag_target_range *entry;
@@ -1460,7 +1477,7 @@ static int defrag_one_cluster(struct btr
 	BUILD_BUG_ON(!IS_ALIGNED(CLUSTER_SIZE, PAGE_SIZE));
 	ret = defrag_collect_targets(inode, start, len, extent_thresh,
 				     newer_than, do_compress, false,
-				     &target_list);
+				     &target_list, NULL);
 	if (ret < 0)
 		goto out;
 
@@ -1477,6 +1494,15 @@ static int defrag_one_cluster(struct btr
 			range_len = min_t(u32, range_len,
 				(max_sectors - *sectors_defragged) * sectorsize);
 
+		/*
+		 * If defrag_one_range() has updated last_scanned_ret,
+		 * our range may already be invalid (e.g. hole punched).
+		 * Skip if our range is before last_scanned_ret, as there is
+		 * no need to defrag the range anymore.
+		 */
+		if (entry->start + range_len <= *last_scanned_ret)
+			continue;
+
 		if (ra)
 			page_cache_sync_readahead(inode->vfs_inode.i_mapping,
 				ra, NULL, entry->start >> PAGE_SHIFT,
@@ -1489,7 +1515,8 @@ static int defrag_one_cluster(struct btr
 		 * accounting.
 		 */
 		ret = defrag_one_range(inode, entry->start, range_len,
-				       extent_thresh, newer_than, do_compress);
+				       extent_thresh, newer_than, do_compress,
+				       last_scanned_ret);
 		if (ret < 0)
 			break;
 		*sectors_defragged += range_len >>
@@ -1500,6 +1527,8 @@ out:
 		list_del_init(&entry->list);
 		kfree(entry);
 	}
+	if (ret >= 0)
+		*last_scanned_ret = max(*last_scanned_ret, start + len);
 	return ret;
 }
 
@@ -1585,6 +1614,7 @@ int btrfs_defrag_file(struct inode *inod
 
 	while (cur < last_byte) {
 		const unsigned long prev_sectors_defragged = sectors_defragged;
+		u64 last_scanned = cur;
 		u64 cluster_end;
 
 		/* The cluster size 256K should always be page aligned */
@@ -1614,8 +1644,8 @@ int btrfs_defrag_file(struct inode *inod
 			BTRFS_I(inode)->defrag_compress = compress_type;
 		ret = defrag_one_cluster(BTRFS_I(inode), ra, cur,
 				cluster_end + 1 - cur, extent_thresh,
-				newer_than, do_compress,
-				&sectors_defragged, max_to_defrag);
+				newer_than, do_compress, &sectors_defragged,
+				max_to_defrag, &last_scanned);
 
 		if (sectors_defragged > prev_sectors_defragged)
 			balance_dirty_pages_ratelimited(inode->i_mapping);
@@ -1623,7 +1653,7 @@ int btrfs_defrag_file(struct inode *inod
 		btrfs_inode_unlock(inode, 0);
 		if (ret < 0)
 			break;
-		cur = cluster_end + 1;
+		cur = max(cluster_end + 1, last_scanned);
 		if (ret > 0) {
 			ret = 0;
 			break;



  parent reply	other threads:[~2022-02-28 18:13 UTC|newest]

Thread overview: 178+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-28 17:22 [PATCH 5.16 000/164] 5.16.12-rc1 review Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 001/164] mm/filemap: Fix handling of THPs in generic_file_buffered_read() Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 002/164] cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 003/164] cgroup-v1: Correct privileges check in release_agent writes Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 004/164] btrfs: tree-checker: check item_size for inode_item Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 005/164] btrfs: tree-checker: check item_size for dev_item Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 006/164] slab: remove __alloc_size attribute from __kmalloc_track_caller Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 007/164] clk: jz4725b: fix mmc0 clock gating Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 008/164] io_uring: dont convert to jiffies for waiting on timeouts Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 009/164] io_uring: disallow modification of rsrc_data during quiesce Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 010/164] selinux: fix misuse of mutex_is_locked() Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 011/164] vhost/vsock: dont check owner in vhost_vsock_stop() while releasing Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 012/164] parisc/unaligned: Fix fldd and fstd unaligned handlers on 32-bit kernel Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 013/164] parisc/unaligned: Fix ldw() and stw() unalignment handlers Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 014/164] KVM: x86/mmu: make apf token non-zero to fix bug Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 015/164] KVM: x86: nSVM: disallow userspace setting of MSR_AMD64_TSC_RATIO to non default value when tsc scaling disabled Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 016/164] drm/amd/display: Fix stream->link_enc unassigned during stream removal Greg Kroah-Hartman
2022-02-28 17:22 ` [PATCH 5.16 017/164] drm/amd/display: Protect update_bw_bounding_box FPU code Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 018/164] drm/amd/pm: fix some OEM SKU specific stability issues Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 019/164] drm/amd: Check if ASPM is enabled from PCIe subsystem Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 020/164] drm/amdgpu: disable MMHUB PG for Picasso Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 021/164] drm/amdgpu: do not enable asic reset for raven2 Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 022/164] drm/amdgpu: check vm ready by amdgpu_vm->evicting flag Greg Kroah-Hartman
2022-02-28 18:24   ` Deucher, Alexander
2022-02-28 21:33     ` Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 023/164] drm/i915: Widen the QGV point mask Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 024/164] drm/i915: Disconnect PHYs left connected by BIOS on disabled ports Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 025/164] drm/i915: Correctly populate use_sagv_wm for all pipes Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 026/164] drm/i915: Fix bw atomic check when switching between SAGV vs. no SAGV Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 027/164] sr9700: sanity check for packet length Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 028/164] USB: zaurus: support another broken Zaurus Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 029/164] CDC-NCM: avoid overflow in sanity checking Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 030/164] netfilter: xt_socket: fix a typo in socket_mt_destroy() Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 031/164] netfilter: xt_socket: missing ifdef CONFIG_IP6_NF_IPTABLES dependency Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 032/164] netfilter: nf_tables_offload: incorrect flow offload action array size Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 033/164] ping: remove pr_err from ping_lookup Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 034/164] Revert "i40e: Fix reset bw limit when DCB enabled with 1 TC" Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 035/164] gpu: host1x: Always return syncpoint value when waiting Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 036/164] perf evlist: Fix failed to use cpu list for uncore events Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 037/164] perf data: Fix double free in perf_session__delete() Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 038/164] mptcp: fix race in incoming ADD_ADDR option processing Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 039/164] mptcp: add mibs counter for ignored incoming options Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 040/164] selftests: mptcp: fix diag instability Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 041/164] selftests: mptcp: be more conservative with cookie MPJ limits Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 042/164] bnx2x: fix driver load from initrd Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 043/164] bnxt_en: Fix devlink fw_activate Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 044/164] bnxt_en: Fix active FEC reporting to ethtool Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 045/164] bnxt_en: Fix offline ethtool selftest with RDMA enabled Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 046/164] bnxt_en: Fix occasional ethtool -t loopback test failures Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 047/164] bnxt_en: Fix incorrect multicast rx mask setting when not requested Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 048/164] bnxt_en: Restore the resets_reliable flag in bnxt_open() Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 049/164] hwmon: Handle failure to register sensor with thermal zone correctly Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 050/164] net/mlx5: Fix tc max supported prio for nic mode Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 051/164] ice: fix setting l4 port flag when adding filter Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 052/164] ice: fix concurrent reset and removal of VFs Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 053/164] ice: check the return of ice_ptp_gettimex64 Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 054/164] ice: initialize local variable tlv Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 055/164] net/mlx5: Update the list of the PCI supported devices Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 056/164] bpf: Fix crash due to incorrect copy_map_value Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 057/164] bpf: Do not try bpf_msg_push_data with len 0 Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 058/164] selftests: bpf: Check bpf_msg_push_data return value Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 059/164] bpf: Fix a bpf_timer initialization issue Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 060/164] bpf: Add schedule points in batch ops Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 061/164] io_uring: add a schedule point in io_add_buffers() Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 062/164] net: __pskb_pull_tail() & pskb_carve_frag_list() drop_monitor friends Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 063/164] nvme: also mark passthrough-only namespaces ready in nvme_update_ns_info Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 064/164] tipc: Fix end of loop tests for list_for_each_entry() Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 065/164] clk: qcom: gcc-msm8994: Remove NoC clocks Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 066/164] gso: do not skip outer ip header in case of ipip and net_failover Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 067/164] net: mv643xx_eth: process retval from of_get_mac_address Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 068/164] openvswitch: Fix setting ipv6 fields causing hw csum failure Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 069/164] drm/edid: Always set RGB444 Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 070/164] net/mlx5e: Fix wrong return value on ioctl EEPROM query failure Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 071/164] net/mlx5e: TC, Reject rules with forward and drop actions Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 072/164] net/mlx5e: TC, Reject rules with drop and modify hdr action Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 073/164] block: clear iocb->private in blkdev_bio_end_io_async() Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 074/164] drm/vc4: crtc: Fix runtime_pm reference counting Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 075/164] drm/i915/dg2: Print PHY name properly on calibration error Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 076/164] drm/amd/display: For vblank_disable_immediate, check PSR is really used Greg Kroah-Hartman
2022-02-28 17:23 ` [PATCH 5.16 077/164] net/sched: act_ct: Fix flow table lookup after ct clear or switching zones Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 078/164] net: ll_temac: check the return value of devm_kmalloc() Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 079/164] net: Force inlining of checksum functions in net/checksum.h Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 080/164] netfilter: nf_tables: unregister flowtable hooks on netns exit Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 081/164] net: dsa: avoid call to __dev_set_promiscuity() while rtnl_mutex isnt held Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 082/164] nfp: flower: Fix a potential leak in nfp_tunnel_add_shared_mac() Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 083/164] net: mdio-ipq4019: add delay after clock enable Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 084/164] netfilter: nf_tables: fix memory leak during stateful obj update Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 085/164] net/smc: Use a mutex for locking "struct smc_pnettable" Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 086/164] surface: surface3_power: Fix battery readings on batteries without a serial number Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 087/164] udp_tunnel: Fix end of loop test in udp_tunnel_nic_unregister() Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 088/164] net/mlx5: DR, Cache STE shadow memory Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 089/164] ibmvnic: schedule failover only if vioctl fails Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 090/164] net/mlx5: DR, Dont allow match on IP w/o matching on full ethertype/ip_version Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 091/164] net/mlx5: Fix possible deadlock on rule deletion Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 092/164] net/mlx5: Fix wrong limitation of metadata match on ecpf Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 093/164] net/mlx5: DR, Fix the threshold that defines when pool sync is initiated Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 094/164] net/mlx5e: MPLSoUDP decap, fix check for unsupported matches Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 095/164] net/mlx5e: kTLS, Use CHECKSUM_UNNECESSARY for device-offloaded packets Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 096/164] net/mlx5: DR, Fix slab-out-of-bounds in mlx5_cmd_dr_create_fte Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 097/164] net/mlx5: Update log_max_qp value to be 17 at most Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 098/164] net/mlx5e: Add missing increment of count Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 099/164] spi: spi-zynq-qspi: Fix a NULL pointer dereference in zynq_qspi_exec_mem_op() Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 100/164] PCI: mvebu: Fix device enumeration regression Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 101/164] gpio: rockchip: Reset int_bothedge when changing trigger Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 102/164] regmap-irq: Update interrupt clear register for proper reset Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 103/164] net: use sk_is_tcp() in more places Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 104/164] net-timestamp: convert sk->sk_tskey to atomic_t Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 105/164] RDMA/rtrs-clt: Fix possible double free in error case Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 106/164] RDMA/rtrs-clt: Move free_permit from free_clt to rtrs_clt_close Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 107/164] bnxt_en: Increase firmware message response DMA wait time Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 108/164] configfs: fix a race in configfs_{,un}register_subsystem() Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 109/164] RDMA/ib_srp: Fix a deadlock Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 110/164] bpf: Extend kfunc with PTR_TO_CTX, PTR_TO_MEM argument support Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 111/164] bpf: Fix crash due to out of bounds access into reg2btf_ids Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 112/164] tracing: Dump stacktrace trigger to the corresponding instance Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 113/164] tracing: Have traceon and traceoff trigger honor the instance Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 114/164] iio:imu:adis16480: fix buffering for devices with no burst mode Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 115/164] iio: adc: men_z188_adc: Fix a resource leak in an error handling path Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 116/164] iio: adc: tsc2046: fix memory corruption by preventing array overflow Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 117/164] iio: adc: ad7124: fix mask used for setting AIN_BUFP & AIN_BUFM bits Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 118/164] iio: accel: fxls8962af: add padding to regmap for SPI Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 119/164] iio: imu: st_lsm6dsx: wait for settling time in st_lsm6dsx_read_oneshot Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 120/164] iio: Fix error handling for PM Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 121/164] sc16is7xx: Fix for incorrect data being transmitted Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 122/164] ata: pata_hpt37x: disable primary channel on HPT371 Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 123/164] Revert "USB: serial: ch341: add new Product ID for CH341A" Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 124/164] usb: gadget: rndis: add spinlock for rndis response list Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 125/164] USB: gadget: validate endpoint index for xilinx udc Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 126/164] tracefs: Set the group ownership in apply_options() not parse_options() Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 127/164] USB: serial: option: add support for DW5829e Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 128/164] USB: serial: option: add Telit LE910R1 compositions Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 129/164] usb: dwc2: drd: fix soft connect when gadget is unconfigured Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 130/164] usb: dwc3: pci: Add "snps,dis_u2_susphy_quirk" for Intel Bay Trail Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 131/164] usb: dwc3: pci: Fix Bay Trail phy GPIO mappings Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 132/164] usb: dwc3: gadget: Let the interrupt handler disable bottom halves Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 133/164] xhci: re-initialize the HC during resume if HCE was set Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 134/164] xhci: Prevent futile URB re-submissions due to incorrect return value Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 135/164] nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 136/164] mtd: " Greg Kroah-Hartman
2022-02-28 17:24 ` [PATCH 5.16 137/164] driver core: Free DMA range map when device is released Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 138/164] btrfs: defrag: dont try to merge regular extents with preallocated extents Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 139/164] btrfs: defrag: dont defrag extents which are already at max capacity Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 140/164] btrfs: defrag: remove an ambiguous condition for rejection Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 141/164] btrfs: prevent copying too big compressed lzo segment Greg Kroah-Hartman
2022-02-28 17:25 ` Greg Kroah-Hartman [this message]
2022-02-28 17:25 ` [PATCH 5.16 143/164] btrfs: autodefrag: only scan one inode once Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 144/164] btrfs: reduce extent threshold for autodefrag Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 145/164] RDMA/cma: Do not change route.addr.src_addr outside state checks Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 146/164] thermal: int340x: fix memory leak in int3400_notify() Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 147/164] staging: fbtft: fb_st7789v: reset display before initialization Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 148/164] tps6598x: clear int mask on probe failure Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 149/164] IB/qib: Fix duplicate sysfs directory name Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 150/164] riscv: fix nommu_k210_sdcard_defconfig Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 151/164] riscv: fix oops caused by irqsoff latency tracer Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 152/164] mm/hugetlb: fix kernel crash with hugetlb mremap Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 153/164] hugetlbfs: fix a truncation issue in hugepages parameter Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 154/164] tty: n_gsm: fix encoding of control signal octet bit DV Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 155/164] tty: n_gsm: fix encoding of command/response bit Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 156/164] tty: n_gsm: fix proper link termination after failed open Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 157/164] tty: n_gsm: fix NULL pointer access due to DLCI release Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 158/164] tty: n_gsm: fix wrong tty control line for flow control Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 159/164] tty: n_gsm: fix wrong modem processing in convergence layer type 2 Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 160/164] tty: n_gsm: fix deadlock in gsmtty_open() Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 161/164] pinctrl: fix loop in k210_pinconf_get_drive() Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 162/164] pinctrl: k210: Fix bias-pull-up Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 163/164] gpio: tegra186: Fix chip_data type confusion Greg Kroah-Hartman
2022-02-28 17:25 ` [PATCH 5.16 164/164] memblock: use kfree() to release kmalloced memblock regions Greg Kroah-Hartman
2022-02-28 21:38 ` [PATCH 5.16 000/164] 5.16.12-rc1 review Shuah Khan
2022-03-01  2:06 ` Zan Aziz
2022-03-01  3:35 ` Florian Fainelli
2022-03-01  8:20 ` Naresh Kamboju
2022-03-01  9:13 ` Jon Hunter
2022-03-01  9:40 ` Bagas Sanjaya
2022-03-01 13:37 ` Rudi Heitbaum
2022-03-01 15:45 ` Ron Economos
2022-03-01 16:06 ` Justin Forbes
2022-03-01 19:15 ` Guenter Roeck
2022-03-02  7:05 ` Slade Watkins

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=20220228172412.797687507@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dsterba@suse.com \
    --cc=fdmanana@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=wqu@suse.com \
    /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.