public inbox for linux-kernel@vger.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, Naohiro Aota <naohiro.aota@wdc.com>,
	David Sterba <dsterba@suse.com>
Subject: [PATCH 5.15 003/196] btrfs: zoned: cache reported zone during mount
Date: Mon, 21 Feb 2022 09:47:15 +0100	[thread overview]
Message-ID: <20220221084930.993153960@linuxfoundation.org> (raw)
In-Reply-To: <20220221084930.872957717@linuxfoundation.org>

From: Naohiro Aota <naohiro.aota@wdc.com>

commit 16beac87e95e2fb278b552397c8260637f8a63f7 upstream.

When mounting a device, we are reporting the zones twice: once for
checking the zone attributes in btrfs_get_dev_zone_info and once for
loading block groups' zone info in
btrfs_load_block_group_zone_info(). With a lot of block groups, that
leads to a lot of REPORT ZONE commands and slows down the mount
process.

This patch introduces a zone info cache in struct
btrfs_zoned_device_info. The cache is populated while in
btrfs_get_dev_zone_info() and used for
btrfs_load_block_group_zone_info() to reduce the number of REPORT ZONE
commands. The zone cache is then released after loading the block
groups, as it will not be much effective during the run time.

Benchmark: Mount an HDD with 57,007 block groups
Before patch: 171.368 seconds
After patch: 64.064 seconds

While it still takes a minute due to the slowness of loading all the
block groups, the patch reduces the mount time by 1/3.

Link: https://lore.kernel.org/linux-btrfs/CAHQ7scUiLtcTqZOMMY5kbWUBOhGRwKo6J6wYPT5WY+C=cD49nQ@mail.gmail.com/
Fixes: 5b316468983d ("btrfs: get zone information of zoned block devices")
CC: stable@vger.kernel.org
Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/btrfs/dev-replace.c |    2 -
 fs/btrfs/disk-io.c     |    2 +
 fs/btrfs/volumes.c     |    2 -
 fs/btrfs/zoned.c       |   85 ++++++++++++++++++++++++++++++++++++++++++++-----
 fs/btrfs/zoned.h       |    8 +++-
 5 files changed, 87 insertions(+), 12 deletions(-)

--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -325,7 +325,7 @@ static int btrfs_init_dev_replace_tgtdev
 	set_blocksize(device->bdev, BTRFS_BDEV_BLOCKSIZE);
 	device->fs_devices = fs_info->fs_devices;
 
-	ret = btrfs_get_dev_zone_info(device);
+	ret = btrfs_get_dev_zone_info(device, false);
 	if (ret)
 		goto error;
 
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -3565,6 +3565,8 @@ int __cold open_ctree(struct super_block
 		goto fail_sysfs;
 	}
 
+	btrfs_free_zone_cache(fs_info);
+
 	if (!sb_rdonly(sb) && fs_info->fs_devices->missing_devices &&
 	    !btrfs_check_rw_degradable(fs_info, NULL)) {
 		btrfs_warn(fs_info,
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -2596,7 +2596,7 @@ int btrfs_init_new_device(struct btrfs_f
 	device->fs_info = fs_info;
 	device->bdev = bdev;
 
-	ret = btrfs_get_dev_zone_info(device);
+	ret = btrfs_get_dev_zone_info(device, false);
 	if (ret)
 		goto error_free_device;
 
--- a/fs/btrfs/zoned.c
+++ b/fs/btrfs/zoned.c
@@ -4,6 +4,7 @@
 #include <linux/slab.h>
 #include <linux/blkdev.h>
 #include <linux/sched/mm.h>
+#include <linux/vmalloc.h>
 #include "ctree.h"
 #include "volumes.h"
 #include "zoned.h"
@@ -195,6 +196,8 @@ static int emulate_report_zones(struct b
 static int btrfs_get_dev_zones(struct btrfs_device *device, u64 pos,
 			       struct blk_zone *zones, unsigned int *nr_zones)
 {
+	struct btrfs_zoned_device_info *zinfo = device->zone_info;
+	u32 zno;
 	int ret;
 
 	if (!*nr_zones)
@@ -206,6 +209,34 @@ static int btrfs_get_dev_zones(struct bt
 		return 0;
 	}
 
+	/* Check cache */
+	if (zinfo->zone_cache) {
+		unsigned int i;
+
+		ASSERT(IS_ALIGNED(pos, zinfo->zone_size));
+		zno = pos >> zinfo->zone_size_shift;
+		/*
+		 * We cannot report zones beyond the zone end. So, it is OK to
+		 * cap *nr_zones to at the end.
+		 */
+		*nr_zones = min_t(u32, *nr_zones, zinfo->nr_zones - zno);
+
+		for (i = 0; i < *nr_zones; i++) {
+			struct blk_zone *zone_info;
+
+			zone_info = &zinfo->zone_cache[zno + i];
+			if (!zone_info->len)
+				break;
+		}
+
+		if (i == *nr_zones) {
+			/* Cache hit on all the zones */
+			memcpy(zones, zinfo->zone_cache + zno,
+			       sizeof(*zinfo->zone_cache) * *nr_zones);
+			return 0;
+		}
+	}
+
 	ret = blkdev_report_zones(device->bdev, pos >> SECTOR_SHIFT, *nr_zones,
 				  copy_zone_info_cb, zones);
 	if (ret < 0) {
@@ -219,6 +250,11 @@ static int btrfs_get_dev_zones(struct bt
 	if (!ret)
 		return -EIO;
 
+	/* Populate cache */
+	if (zinfo->zone_cache)
+		memcpy(zinfo->zone_cache + zno, zones,
+		       sizeof(*zinfo->zone_cache) * *nr_zones);
+
 	return 0;
 }
 
@@ -282,7 +318,7 @@ int btrfs_get_dev_zone_info_all_devices(
 		if (!device->bdev)
 			continue;
 
-		ret = btrfs_get_dev_zone_info(device);
+		ret = btrfs_get_dev_zone_info(device, true);
 		if (ret)
 			break;
 	}
@@ -291,7 +327,7 @@ int btrfs_get_dev_zone_info_all_devices(
 	return ret;
 }
 
-int btrfs_get_dev_zone_info(struct btrfs_device *device)
+int btrfs_get_dev_zone_info(struct btrfs_device *device, bool populate_cache)
 {
 	struct btrfs_fs_info *fs_info = device->fs_info;
 	struct btrfs_zoned_device_info *zone_info = NULL;
@@ -318,6 +354,8 @@ int btrfs_get_dev_zone_info(struct btrfs
 	if (!zone_info)
 		return -ENOMEM;
 
+	device->zone_info = zone_info;
+
 	if (!bdev_is_zoned(bdev)) {
 		if (!fs_info->zone_size) {
 			ret = calculate_emulated_zone_size(fs_info);
@@ -369,6 +407,23 @@ int btrfs_get_dev_zone_info(struct btrfs
 		goto out;
 	}
 
+	/*
+	 * Enable zone cache only for a zoned device. On a non-zoned device, we
+	 * fill the zone info with emulated CONVENTIONAL zones, so no need to
+	 * use the cache.
+	 */
+	if (populate_cache && bdev_is_zoned(device->bdev)) {
+		zone_info->zone_cache = vzalloc(sizeof(struct blk_zone) *
+						zone_info->nr_zones);
+		if (!zone_info->zone_cache) {
+			btrfs_err_in_rcu(device->fs_info,
+				"zoned: failed to allocate zone cache for %s",
+				rcu_str_deref(device->name));
+			ret = -ENOMEM;
+			goto out;
+		}
+	}
+
 	/* Get zones type */
 	while (sector < nr_sectors) {
 		nr_zones = BTRFS_REPORT_NR_ZONES;
@@ -444,8 +499,6 @@ int btrfs_get_dev_zone_info(struct btrfs
 
 	kfree(zones);
 
-	device->zone_info = zone_info;
-
 	switch (bdev_zoned_model(bdev)) {
 	case BLK_ZONED_HM:
 		model = "host-managed zoned";
@@ -478,10 +531,7 @@ int btrfs_get_dev_zone_info(struct btrfs
 out:
 	kfree(zones);
 out_free_zone_info:
-	bitmap_free(zone_info->empty_zones);
-	bitmap_free(zone_info->seq_zones);
-	kfree(zone_info);
-	device->zone_info = NULL;
+	btrfs_destroy_dev_zone_info(device);
 
 	return ret;
 }
@@ -495,6 +545,7 @@ void btrfs_destroy_dev_zone_info(struct
 
 	bitmap_free(zone_info->seq_zones);
 	bitmap_free(zone_info->empty_zones);
+	vfree(zone_info->zone_cache);
 	kfree(zone_info);
 	device->zone_info = NULL;
 }
@@ -1551,3 +1602,21 @@ void btrfs_clear_data_reloc_bg(struct bt
 		fs_info->data_reloc_bg = 0;
 	spin_unlock(&fs_info->relocation_bg_lock);
 }
+
+void btrfs_free_zone_cache(struct btrfs_fs_info *fs_info)
+{
+	struct btrfs_fs_devices *fs_devices = fs_info->fs_devices;
+	struct btrfs_device *device;
+
+	if (!btrfs_is_zoned(fs_info))
+		return;
+
+	mutex_lock(&fs_devices->device_list_mutex);
+	list_for_each_entry(device, &fs_devices->devices, dev_list) {
+		if (device->zone_info) {
+			vfree(device->zone_info->zone_cache);
+			device->zone_info->zone_cache = NULL;
+		}
+	}
+	mutex_unlock(&fs_devices->device_list_mutex);
+}
--- a/fs/btrfs/zoned.h
+++ b/fs/btrfs/zoned.h
@@ -25,6 +25,7 @@ struct btrfs_zoned_device_info {
 	u32 nr_zones;
 	unsigned long *seq_zones;
 	unsigned long *empty_zones;
+	struct blk_zone *zone_cache;
 	struct blk_zone sb_zones[2 * BTRFS_SUPER_MIRROR_MAX];
 };
 
@@ -32,7 +33,7 @@ struct btrfs_zoned_device_info {
 int btrfs_get_dev_zone(struct btrfs_device *device, u64 pos,
 		       struct blk_zone *zone);
 int btrfs_get_dev_zone_info_all_devices(struct btrfs_fs_info *fs_info);
-int btrfs_get_dev_zone_info(struct btrfs_device *device);
+int btrfs_get_dev_zone_info(struct btrfs_device *device, bool populate_cache);
 void btrfs_destroy_dev_zone_info(struct btrfs_device *device);
 int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info);
 int btrfs_check_mountopts_zoned(struct btrfs_fs_info *info);
@@ -67,6 +68,7 @@ int btrfs_sync_zone_write_pointer(struct
 struct btrfs_device *btrfs_zoned_get_device(struct btrfs_fs_info *fs_info,
 					    u64 logical, u64 length);
 void btrfs_clear_data_reloc_bg(struct btrfs_block_group *bg);
+void btrfs_free_zone_cache(struct btrfs_fs_info *fs_info);
 #else /* CONFIG_BLK_DEV_ZONED */
 static inline int btrfs_get_dev_zone(struct btrfs_device *device, u64 pos,
 				     struct blk_zone *zone)
@@ -79,7 +81,8 @@ static inline int btrfs_get_dev_zone_inf
 	return 0;
 }
 
-static inline int btrfs_get_dev_zone_info(struct btrfs_device *device)
+static inline int btrfs_get_dev_zone_info(struct btrfs_device *device,
+					  bool populate_cache)
 {
 	return 0;
 }
@@ -202,6 +205,7 @@ static inline struct btrfs_device *btrfs
 
 static inline void btrfs_clear_data_reloc_bg(struct btrfs_block_group *bg) { }
 
+static inline void btrfs_free_zone_cache(struct btrfs_fs_info *fs_info) { }
 #endif
 
 static inline bool btrfs_dev_is_sequential(struct btrfs_device *device, u64 pos)



  parent reply	other threads:[~2022-02-21  9:27 UTC|newest]

Thread overview: 209+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-21  8:47 [PATCH 5.15 000/196] 5.15.25-rc1 review Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 001/196] drm/nouveau/pmu/gm200-: use alternate falcon reset sequence Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 002/196] fs/proc: task_mmu.c: dont read mapcount for migration entry Greg Kroah-Hartman
2022-02-21  8:47 ` Greg Kroah-Hartman [this message]
2022-02-21  8:47 ` [PATCH 5.15 004/196] scsi: lpfc: Fix mailbox command failure during driver initialization Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 005/196] HID:Add support for UGTABLET WP5540 Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 006/196] Revert "svm: Add warning message for AVIC IPI invalid target" Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 007/196] parisc: Show error if wrong 32/64-bit compiler is being used Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 008/196] serial: parisc: GSC: fix build when IOSAPIC is not set Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 009/196] parisc: Drop __init from map_pages declaration Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 010/196] parisc: Fix data TLB miss in sba_unmap_sg Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 011/196] parisc: Fix sglist access in ccio-dma.c Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 012/196] mmc: block: fix read single on recovery logic Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 013/196] mm: dont try to NUMA-migrate COW pages that have other uses Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 014/196] HID: amd_sfh: Add illuminance mask to limit ALS max value Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 015/196] HID: i2c-hid: goodix: Fix a lockdep splat Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 016/196] HID: amd_sfh: Increase sensor command timeout Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 017/196] HID: amd_sfh: Correct the structure field name Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 018/196] PCI: hv: Fix NUMA node assignment when kernel boots with custom NUMA topology Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 019/196] parisc: Add ioread64_lo_hi() and iowrite64_lo_hi() Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 020/196] btrfs: send: in case of IO error log it Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 021/196] platform/x86: touchscreen_dmi: Add info for the RWC NANOTE P8 AY07J 2-in-1 Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 022/196] platform/x86: ISST: Fix possible circular locking dependency detected Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 023/196] kunit: tool: Import missing importlib.abc Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 024/196] selftests: rtc: Increase test timeout so that all tests run Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 025/196] kselftest: signal all child processes Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 026/196] net: ieee802154: at86rf230: Stop leaking skbs Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 027/196] selftests/zram: Skip max_comp_streams interface on newer kernel Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 028/196] selftests/zram01.sh: Fix compression ratio calculation Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 029/196] selftests/zram: Adapt the situation that /dev/zram0 is being used Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 030/196] selftests: openat2: Print also errno in failure messages Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 031/196] selftests: openat2: Add missing dependency in Makefile Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 032/196] selftests: openat2: Skip testcases that fail with EOPNOTSUPP Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 033/196] selftests: skip mincore.check_file_mmap when fs lacks needed support Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 034/196] ax25: improve the incomplete fix to avoid UAF and NPD bugs Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 035/196] pinctrl: bcm63xx: fix unmet dependency on REGMAP for GPIO_REGMAP Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 036/196] vfs: make freeze_super abort when sync_filesystem returns error Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 037/196] quota: make dquot_quota_sync return errors from ->sync_fs Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 038/196] scsi: pm80xx: Fix double completion for SATA devices Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 039/196] kselftest: Fix vdso_test_abi return status Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 040/196] scsi: core: Reallocate devices budget map on queue depth change Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 041/196] scsi: pm8001: Fix use-after-free for aborted TMF sas_task Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 042/196] scsi: pm8001: Fix use-after-free for aborted SSP/STP sas_task Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 043/196] drm/amd: Warn users about potential s0ix problems Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 044/196] nvme: fix a possible use-after-free in controller reset during load Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 045/196] nvme-tcp: fix possible use-after-free in transport error_recovery work Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 046/196] nvme-rdma: " Greg Kroah-Hartman
2022-02-21  8:47 ` [PATCH 5.15 047/196] net: sparx5: do not refer to skb after passing it on Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 048/196] drm/amd: add support to check whether the system is set to s3 Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 049/196] drm/amd: Only run s3 or s0ix if system is configured properly Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 050/196] drm/amdgpu: fix logic inversion in check Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 051/196] x86/Xen: streamline (and fix) PV CPU enumeration Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 052/196] Revert "module, async: async_synchronize_full() on module init iff async is used" Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 053/196] gcc-plugins/stackleak: Use noinstr in favor of notrace Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 054/196] random: wake up /dev/random writers after zap Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 055/196] KVM: x86/xen: Fix runstate updates to be atomic when preempting vCPU Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 056/196] KVM: x86: nSVM/nVMX: set nested_run_pending on VM entry which is a result of RSM Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 057/196] KVM: x86: SVM: dont passthrough SMAP/SMEP/PKE bits in !NPT && !gCR0.PG case Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 058/196] KVM: x86: nSVM: fix potential NULL derefernce on nested migration Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 059/196] KVM: x86: nSVM: mark vmcb01 as dirty when restoring SMM saved state Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 060/196] iwlwifi: fix use-after-free Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 061/196] drm/radeon: Fix backlight control on iMac 12,1 Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 062/196] drm/atomic: Dont pollute crtc_state->mode_blob with error pointers Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 063/196] drm/amd/pm: correct the sequence of sending gpu reset msg Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 064/196] drm/amdgpu: skipping SDMA hw_init and hw_fini for S0ix Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 065/196] drm/i915/opregion: check port number bounds for SWSCI display power state Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 066/196] drm/i915: Fix dbuf slice config lookup Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 067/196] drm/i915: Fix mbus join " Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 068/196] vsock: remove vsock from connected table when connect is interrupted by a signal Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 069/196] tee: export teedev_open() and teedev_close_context() Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 070/196] optee: use driver internal tee_context for some rpc Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 071/196] drm/cma-helper: Set VM_DONTEXPAND for mmap Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 072/196] drm/i915/gvt: Make DRM_I915_GVT depend on X86 Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 073/196] drm/i915/ttm: tweak priority hint selection Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 074/196] iwlwifi: pcie: fix locking when "HW not ready" Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 075/196] iwlwifi: pcie: gen2: " Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 076/196] iwlwifi: mvm: dont send SAR GEO command for 3160 devices Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 077/196] netfilter: xt_socket: fix a typo in socket_mt_destroy() Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 078/196] selftests: netfilter: fix exit value for nft_concat_range Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 079/196] netfilter: nft_synproxy: unregister hooks on init error path Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 080/196] selftests: netfilter: disable rp_filter on router Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 081/196] ipv4: fix data races in fib_alias_hw_flags_set Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 082/196] ipv6: fix data-race in fib6_info_hw_flags_set / fib6_purge_rt Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 083/196] ipv6: mcast: use rcu-safe version of ipv6_get_lladdr() Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 084/196] ipv6: per-netns exclusive flowlabel checks Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 085/196] Revert "net: ethernet: bgmac: Use devm_platform_ioremap_resource_byname" Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 086/196] mac80211: mlme: check for null after calling kmemdup Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 087/196] brcmfmac: firmware: Fix crash in brcm_alt_fw_path Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 088/196] cfg80211: fix race in netlink owner interface destruction Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 089/196] net: dsa: lan9303: fix reset on probe Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 090/196] net: dsa: mv88e6xxx: flush switchdev FDB workqueue before removing VLAN Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 091/196] net: dsa: lantiq_gswip: fix use after free in gswip_remove() Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 092/196] net: dsa: lan9303: handle hwaccel VLAN tags Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 093/196] net: dsa: lan9303: add VLAN IDs to master device Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 094/196] net: ieee802154: ca8210: Fix lifs/sifs periods Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 095/196] ping: fix the dif and sdif check in ping_lookup Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 096/196] bonding: force carrier update when releasing slave Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 097/196] drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 098/196] net_sched: add __rcu annotation to netdev->qdisc Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 099/196] bonding: fix data-races around agg_select_timer Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 100/196] libsubcmd: Fix use-after-free for realloc(..., 0) Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 101/196] net/smc: Avoid overwriting the copies of clcsock callback functions Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 102/196] net: phy: mediatek: remove PHY mode check on MT7531 Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 103/196] atl1c: fix tx timeout after link flap on Mikrotik 10/25G NIC Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 104/196] tipc: fix wrong publisher node address in link publications Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 105/196] dpaa2-switch: fix default return of dpaa2_switch_flower_parse_mirror_key Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 106/196] dpaa2-eth: Initialize mutex used in one step timestamping path Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.15 107/196] net: bridge: multicast: notify switchdev driver whenever MC processing gets disabled Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 108/196] perf bpf: Defer freeing string after possible strlen() on it Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 109/196] selftests/exec: Add non-regular to TEST_GEN_PROGS Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 110/196] arm64: Correct wrong label in macro __init_el2_gicv3 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 111/196] ALSA: usb-audio: revert to IMPLICIT_FB_FIXED_DEV for M-Audio FastTrack Ultra Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 112/196] ALSA: hda/realtek: Add quirk for Legion Y9000X 2019 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 113/196] ALSA: hda/realtek: Fix deadlock by COEF mutex Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 114/196] ALSA: hda: Fix regression on forced probe mask option Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 115/196] ALSA: hda: Fix missing codec probe on Shenker Dock 15 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 116/196] ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 117/196] ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 118/196] ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_sx() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 119/196] ASoC: ops: Fix stereo change notifications in snd_soc_put_xr_sx() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 120/196] cifs: fix set of group SID via NTSD xattrs Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 121/196] powerpc/603: Fix boot failure with DEBUG_PAGEALLOC and KFENCE Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 122/196] powerpc/lib/sstep: fix ptesync build error Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 123/196] mtd: rawnand: gpmi: dont leak PM reference in error path Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 124/196] smb3: fix snapshot mount option Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 125/196] tipc: fix wrong notification node addresses Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 126/196] scsi: ufs: Remove dead code Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 127/196] scsi: ufs: Fix a deadlock in the error handler Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 128/196] ASoC: tas2770: Insert post reset delay Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 129/196] ASoC: qcom: Actually clear DMA interrupt register for HDMI Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 130/196] block/wbt: fix negative inflight counter when remove scsi device Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 131/196] NFS: Remove an incorrect revalidation in nfs4_update_changeattr_locked() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 132/196] NFS: LOOKUP_DIRECTORY is also ok with symlinks Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 133/196] NFS: Do not report writeback errors in nfs_getattr() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 134/196] tty: n_tty: do not look ahead for EOL character past the end of the buffer Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 135/196] block: fix surprise removal for drivers calling blk_set_queue_dying Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 136/196] mtd: rawnand: qcom: Fix clock sequencing in qcom_nandc_probe() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 137/196] mtd: parsers: qcom: Fix kernel panic on skipped partition Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 138/196] mtd: parsers: qcom: Fix missing free for pparts in cleanup Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 139/196] mtd: phram: Prevent divide by zero bug in phram_setup() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 140/196] mtd: rawnand: brcmnand: Fixed incorrect sub-page ECC status Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 141/196] HID: elo: fix memory leak in elo_probe Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 142/196] mtd: rawnand: ingenic: Fix missing put_device in ingenic_ecc_get Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 143/196] Drivers: hv: vmbus: Fix memory leak in vmbus_add_channel_kobj Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 144/196] KVM: x86/pmu: Refactoring find_arch_event() to pmc_perf_hw_id() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 145/196] KVM: x86/pmu: Dont truncate the PerfEvtSeln MSR when creating a perf event Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 146/196] KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 147/196] ARM: OMAP2+: hwmod: Add of_node_put() before break Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 148/196] ARM: OMAP2+: adjust the location of put_device() call in omapdss_init_of Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 149/196] phy: usb: Leave some clocks running during suspend Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 150/196] staging: vc04_services: Fix RCU dereference check Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 151/196] phy: phy-mtk-tphy: Fix duplicated argument in phy-mtk-tphy Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 152/196] irqchip/sifive-plic: Add missing thead,c900-plic match string Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 153/196] x86/bug: Merge annotate_reachable() into _BUG_FLAGS() asm Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 154/196] netfilter: conntrack: dont refresh sctp entries in closed state Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 155/196] ksmbd: fix same UniqueId for dot and dotdot entries Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 156/196] ksmbd: dont align last entry offset in smb2 query directory Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 157/196] arm64: dts: meson-gx: add ATF BL32 reserved-memory region Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 158/196] arm64: dts: meson-g12: " Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 159/196] arm64: dts: meson-g12: drop BL32 region from SEI510/SEI610 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 160/196] pidfd: fix test failure due to stack overflow on some arches Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 161/196] selftests: fixup build warnings in pidfd / clone3 tests Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 162/196] mm: io_uring: allow oom-killer from io_uring_setup Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 163/196] ACPI: PM: Revert "Only mark EC GPE for wakeup on Intel systems" Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 164/196] kconfig: let shell return enough output for deep path names Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 165/196] ata: libata-core: Disable TRIM on M88V29 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 166/196] soc: aspeed: lpc-ctrl: Block error printing on probe defer cases Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.15 167/196] xprtrdma: fix pointer derefs in error cases of rpcrdma_ep_create Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 168/196] drm/rockchip: dw_hdmi: Do not leave clock enabled in error case Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 169/196] tracing: Fix tp_printk option related with tp_printk_stop_on_boot Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 170/196] display/amd: decrease message verbosity about watermarks table failure Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 171/196] drm/amd/display: Cap pflip irqs per max otg number Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 172/196] drm/amd/display: fix yellow carp wm clamping Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 173/196] net: usb: qmi_wwan: Add support for Dell DW5829e Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 174/196] net: macb: Align the dma and coherent dma masks Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 175/196] kconfig: fix failing to generate auto.conf Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 176/196] scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 177/196] EDAC: Fix calculation of returned address and next offset in edac_align_ptr() Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 178/196] ucounts: Handle wrapping in is_ucounts_overlimit Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 179/196] ucounts: In set_cred_ucounts assume new->ucounts is non-NULL Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 180/196] ucounts: Base set_cred_ucounts changes on the real user Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 181/196] ucounts: Enforce RLIMIT_NPROC not RLIMIT_NPROC+1 Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 182/196] rlimit: Fix RLIMIT_NPROC enforcement failure caused by capability calls in set_user Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 183/196] ucounts: Move RLIMIT_NPROC handling after set_user Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 184/196] net: sched: limit TC_ACT_REPEAT loops Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 185/196] dmaengine: sh: rcar-dmac: Check for error num after setting mask Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 186/196] dmaengine: stm32-dmamux: Fix PM disable depth imbalance in stm32_dmamux_probe Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 187/196] dmaengine: sh: rcar-dmac: Check for error num after dma_set_max_seg_size Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 188/196] tests: fix idmapped mount_setattr test Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 189/196] i2c: qcom-cci: dont delete an unregistered adapter Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 190/196] i2c: qcom-cci: dont put a device tree node before i2c_add_adapter() Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 191/196] dmaengine: ptdma: Fix the error handling path in pt_core_init() Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 192/196] copy_process(): Move fd_install() out of sighand->siglock critical section Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 193/196] scsi: qedi: Fix ABBA deadlock in qedi_process_tmf_resp() and qedi_process_cmd_cleanup_resp() Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 194/196] ice: enable parsing IPSEC SPI headers for RSS Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 195/196] i2c: brcmstb: fix support for DSL and CM variants Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.15 196/196] lockdep: Correct lock_classes index mapping Greg Kroah-Hartman
2022-02-21 17:15 ` [PATCH 5.15 000/196] 5.15.25-rc1 review Guenter Roeck
2022-02-21 18:00   ` Greg Kroah-Hartman
2022-02-21 22:28     ` Jens Wiklander
2022-02-22  8:54   ` Greg Kroah-Hartman
2022-02-21 20:50 ` Naresh Kamboju
2022-02-21 21:21 ` Guenter Roeck
2022-02-21 21:39 ` Shuah Khan
2022-02-22  4:03 ` Florian Fainelli
2022-02-22  5:39 ` Bagas Sanjaya
2022-02-22  5:59 ` Ron Economos
2022-02-22 12:30 ` Sudip Mukherjee
2022-02-23  2:54 ` 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=20220221084930.993153960@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dsterba@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=naohiro.aota@wdc.com \
    --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