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, zhangxiaoxu <zhangxiaoxu5@huawei.com>,
	Dmitry Fomichev <dmitry.fomichev@wdc.com>,
	Mike Snitzer <snitzer@redhat.com>
Subject: [PATCH 5.4 084/177] dm zoned: reduce overhead of backing device checks
Date: Mon, 16 Dec 2019 18:49:00 +0100	[thread overview]
Message-ID: <20191216174837.926349537@linuxfoundation.org> (raw)
In-Reply-To: <20191216174811.158424118@linuxfoundation.org>

From: Dmitry Fomichev <dmitry.fomichev@wdc.com>

commit e7fad909b68aa37470d9f2d2731b5bec355ee5d6 upstream.

Commit 75d66ffb48efb3 added backing device health checks and as a part
of these checks, check_events() block ops template call is invoked in
dm-zoned mapping path as well as in reclaim and flush path. Calling
check_events() with ATA or SCSI backing devices introduces a blocking
scsi_test_unit_ready() call being made in sd_check_events(). Even though
the overhead of calling scsi_test_unit_ready() is small for ATA zoned
devices, it is much larger for SCSI and it affects performance in a very
negative way.

Fix this performance regression by executing check_events() only in case
of any I/O errors. The function dmz_bdev_is_dying() is modified to call
only blk_queue_dying(), while calls to check_events() are made in a new
helper function, dmz_check_bdev().

Reported-by: zhangxiaoxu <zhangxiaoxu5@huawei.com>
Fixes: 75d66ffb48efb3 ("dm zoned: properly handle backing device failure")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/md/dm-zoned-metadata.c |   29 ++++++++++++++--------
 drivers/md/dm-zoned-reclaim.c  |    8 +-----
 drivers/md/dm-zoned-target.c   |   54 ++++++++++++++++++++++++++++-------------
 drivers/md/dm-zoned.h          |    2 +
 4 files changed, 61 insertions(+), 32 deletions(-)

--- a/drivers/md/dm-zoned-metadata.c
+++ b/drivers/md/dm-zoned-metadata.c
@@ -554,6 +554,7 @@ static struct dmz_mblock *dmz_get_mblock
 		       TASK_UNINTERRUPTIBLE);
 	if (test_bit(DMZ_META_ERROR, &mblk->state)) {
 		dmz_release_mblock(zmd, mblk);
+		dmz_check_bdev(zmd->dev);
 		return ERR_PTR(-EIO);
 	}
 
@@ -625,6 +626,8 @@ static int dmz_rdwr_block(struct dmz_met
 	ret = submit_bio_wait(bio);
 	bio_put(bio);
 
+	if (ret)
+		dmz_check_bdev(zmd->dev);
 	return ret;
 }
 
@@ -691,6 +694,7 @@ static int dmz_write_dirty_mblocks(struc
 			       TASK_UNINTERRUPTIBLE);
 		if (test_bit(DMZ_META_ERROR, &mblk->state)) {
 			clear_bit(DMZ_META_ERROR, &mblk->state);
+			dmz_check_bdev(zmd->dev);
 			ret = -EIO;
 		}
 		nr_mblks_submitted--;
@@ -768,7 +772,7 @@ int dmz_flush_metadata(struct dmz_metada
 	/* If there are no dirty metadata blocks, just flush the device cache */
 	if (list_empty(&write_list)) {
 		ret = blkdev_issue_flush(zmd->dev->bdev, GFP_NOIO, NULL);
-		goto out;
+		goto err;
 	}
 
 	/*
@@ -778,7 +782,7 @@ int dmz_flush_metadata(struct dmz_metada
 	 */
 	ret = dmz_log_dirty_mblocks(zmd, &write_list);
 	if (ret)
-		goto out;
+		goto err;
 
 	/*
 	 * The log is on disk. It is now safe to update in place
@@ -786,11 +790,11 @@ int dmz_flush_metadata(struct dmz_metada
 	 */
 	ret = dmz_write_dirty_mblocks(zmd, &write_list, zmd->mblk_primary);
 	if (ret)
-		goto out;
+		goto err;
 
 	ret = dmz_write_sb(zmd, zmd->mblk_primary);
 	if (ret)
-		goto out;
+		goto err;
 
 	while (!list_empty(&write_list)) {
 		mblk = list_first_entry(&write_list, struct dmz_mblock, link);
@@ -805,16 +809,20 @@ int dmz_flush_metadata(struct dmz_metada
 
 	zmd->sb_gen++;
 out:
-	if (ret && !list_empty(&write_list)) {
-		spin_lock(&zmd->mblk_lock);
-		list_splice(&write_list, &zmd->mblk_dirty_list);
-		spin_unlock(&zmd->mblk_lock);
-	}
-
 	dmz_unlock_flush(zmd);
 	up_write(&zmd->mblk_sem);
 
 	return ret;
+
+err:
+	if (!list_empty(&write_list)) {
+		spin_lock(&zmd->mblk_lock);
+		list_splice(&write_list, &zmd->mblk_dirty_list);
+		spin_unlock(&zmd->mblk_lock);
+	}
+	if (!dmz_check_bdev(zmd->dev))
+		ret = -EIO;
+	goto out;
 }
 
 /*
@@ -1244,6 +1252,7 @@ static int dmz_update_zone(struct dmz_me
 	if (ret) {
 		dmz_dev_err(zmd->dev, "Get zone %u report failed",
 			    dmz_id(zmd, zone));
+		dmz_check_bdev(zmd->dev);
 		return ret;
 	}
 
--- a/drivers/md/dm-zoned-reclaim.c
+++ b/drivers/md/dm-zoned-reclaim.c
@@ -82,6 +82,7 @@ static int dmz_reclaim_align_wp(struct d
 			    "Align zone %u wp %llu to %llu (wp+%u) blocks failed %d",
 			    dmz_id(zmd, zone), (unsigned long long)wp_block,
 			    (unsigned long long)block, nr_blocks, ret);
+		dmz_check_bdev(zrc->dev);
 		return ret;
 	}
 
@@ -489,12 +490,7 @@ static void dmz_reclaim_work(struct work
 	ret = dmz_do_reclaim(zrc);
 	if (ret) {
 		dmz_dev_debug(zrc->dev, "Reclaim error %d\n", ret);
-		if (ret == -EIO)
-			/*
-			 * LLD might be performing some error handling sequence
-			 * at the underlying device. To not interfere, do not
-			 * attempt to schedule the next reclaim run immediately.
-			 */
+		if (!dmz_check_bdev(zrc->dev))
 			return;
 	}
 
--- a/drivers/md/dm-zoned-target.c
+++ b/drivers/md/dm-zoned-target.c
@@ -80,6 +80,8 @@ static inline void dmz_bio_endio(struct
 
 	if (status != BLK_STS_OK && bio->bi_status == BLK_STS_OK)
 		bio->bi_status = status;
+	if (bio->bi_status != BLK_STS_OK)
+		bioctx->target->dev->flags |= DMZ_CHECK_BDEV;
 
 	if (refcount_dec_and_test(&bioctx->ref)) {
 		struct dm_zone *zone = bioctx->zone;
@@ -565,32 +567,52 @@ out:
 }
 
 /*
- * Check the backing device availability. If it's on the way out,
+ * Check if the backing device is being removed. If it's on the way out,
  * start failing I/O. Reclaim and metadata components also call this
  * function to cleanly abort operation in the event of such failure.
  */
 bool dmz_bdev_is_dying(struct dmz_dev *dmz_dev)
 {
-	struct gendisk *disk;
+	if (dmz_dev->flags & DMZ_BDEV_DYING)
+		return true;
 
-	if (!(dmz_dev->flags & DMZ_BDEV_DYING)) {
-		disk = dmz_dev->bdev->bd_disk;
-		if (blk_queue_dying(bdev_get_queue(dmz_dev->bdev))) {
-			dmz_dev_warn(dmz_dev, "Backing device queue dying");
-			dmz_dev->flags |= DMZ_BDEV_DYING;
-		} else if (disk->fops->check_events) {
-			if (disk->fops->check_events(disk, 0) &
-					DISK_EVENT_MEDIA_CHANGE) {
-				dmz_dev_warn(dmz_dev, "Backing device offline");
-				dmz_dev->flags |= DMZ_BDEV_DYING;
-			}
-		}
+	if (dmz_dev->flags & DMZ_CHECK_BDEV)
+		return !dmz_check_bdev(dmz_dev);
+
+	if (blk_queue_dying(bdev_get_queue(dmz_dev->bdev))) {
+		dmz_dev_warn(dmz_dev, "Backing device queue dying");
+		dmz_dev->flags |= DMZ_BDEV_DYING;
 	}
 
 	return dmz_dev->flags & DMZ_BDEV_DYING;
 }
 
 /*
+ * Check the backing device availability. This detects such events as
+ * backing device going offline due to errors, media removals, etc.
+ * This check is less efficient than dmz_bdev_is_dying() and should
+ * only be performed as a part of error handling.
+ */
+bool dmz_check_bdev(struct dmz_dev *dmz_dev)
+{
+	struct gendisk *disk;
+
+	dmz_dev->flags &= ~DMZ_CHECK_BDEV;
+
+	if (dmz_bdev_is_dying(dmz_dev))
+		return false;
+
+	disk = dmz_dev->bdev->bd_disk;
+	if (disk->fops->check_events &&
+	    disk->fops->check_events(disk, 0) & DISK_EVENT_MEDIA_CHANGE) {
+		dmz_dev_warn(dmz_dev, "Backing device offline");
+		dmz_dev->flags |= DMZ_BDEV_DYING;
+	}
+
+	return !(dmz_dev->flags & DMZ_BDEV_DYING);
+}
+
+/*
  * Process a new BIO.
  */
 static int dmz_map(struct dm_target *ti, struct bio *bio)
@@ -902,8 +924,8 @@ static int dmz_prepare_ioctl(struct dm_t
 {
 	struct dmz_target *dmz = ti->private;
 
-	if (dmz_bdev_is_dying(dmz->dev))
-		return -ENODEV;
+	if (!dmz_check_bdev(dmz->dev))
+		return -EIO;
 
 	*bdev = dmz->dev->bdev;
 
--- a/drivers/md/dm-zoned.h
+++ b/drivers/md/dm-zoned.h
@@ -72,6 +72,7 @@ struct dmz_dev {
 
 /* Device flags. */
 #define DMZ_BDEV_DYING		(1 << 0)
+#define DMZ_CHECK_BDEV		(2 << 0)
 
 /*
  * Zone descriptor.
@@ -255,5 +256,6 @@ void dmz_schedule_reclaim(struct dmz_rec
  * Functions defined in dm-zoned-target.c
  */
 bool dmz_bdev_is_dying(struct dmz_dev *dmz_dev);
+bool dmz_check_bdev(struct dmz_dev *dmz_dev);
 
 #endif /* DM_ZONED_H */



  parent reply	other threads:[~2019-12-16 18:23 UTC|newest]

Thread overview: 188+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-16 17:47 [PATCH 5.4 000/177] 5.4.4-stable review Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 001/177] usb: gadget: configfs: Fix missing spin_lock_init() Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 002/177] usb: gadget: pch_udc: fix use after free Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 003/177] nvme: Namepace identification descriptor list is optional Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 004/177] Revert "nvme: Add quirk for Kingston NVME SSD running FW E8FK11.T" Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 005/177] scsi: lpfc: Fix bad ndlp ptr in xri aborted handling Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 006/177] scsi: zfcp: trace channel log even for FCP command responses Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 007/177] scsi: qla2xxx: Do command completion on abort timeout Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 008/177] scsi: qla2xxx: Fix driver unload hang Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 009/177] scsi: qla2xxx: Fix double scsi_done for abort path Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 010/177] scsi: qla2xxx: Fix memory leak when sending I/O fails Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 011/177] compat_ioctl: add compat_ptr_ioctl() Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 012/177] ceph: fix compat_ioctl for ceph_dir_operations Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 013/177] media: venus: remove invalid compat_ioctl32 handler Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 014/177] USB: uas: honor flag to avoid CAPACITY16 Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 015/177] USB: uas: heed CAPACITY_HEURISTICS Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 016/177] USB: documentation: flags on usb-storage versus UAS Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 017/177] usb: Allow USB device to be warm reset in suspended state Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 018/177] usb: host: xhci-tegra: Correct phy enable sequence Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 019/177] binder: fix incorrect calculation for num_valid Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 020/177] staging: exfat: fix multiple definition error of `rename_file Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 021/177] staging: rtl8188eu: fix interface sanity check Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 022/177] staging: rtl8712: " Greg Kroah-Hartman
2019-12-16 17:47 ` [PATCH 5.4 023/177] staging: vchiq: call unregister_chrdev_region() when driver registration fails Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 024/177] staging: gigaset: fix general protection fault on probe Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 025/177] staging: gigaset: fix illegal free on probe errors Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 026/177] staging: gigaset: add endpoint-type sanity check Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 027/177] usb: xhci: only set D3hot for pci device Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 028/177] xhci: Fix memory leak in xhci_add_in_port() Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 029/177] xhci: fix USB3 device initiated resume race with roothub autosuspend Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 030/177] xhci: Increase STS_HALT timeout in xhci_suspend() Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 031/177] xhci: handle some XHCI_TRUST_TX_LENGTH quirks cases as default behaviour Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 032/177] xhci: make sure interrupts are restored to correct state Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 033/177] interconnect: qcom: sdm845: Walk the list safely on node removal Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 034/177] interconnect: qcom: qcs404: " Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 035/177] usb: common: usb-conn-gpio: Dont log an error on probe deferral Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 036/177] ARM: dts: pandora-common: define wl1251 as child node of mmc3 Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 037/177] iio: adis16480: Add debugfs_reg_access entry Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 038/177] iio: imu: st_lsm6dsx: fix ODR check in st_lsm6dsx_write_raw Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 039/177] iio: adis16480: Fix scales factors Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 040/177] iio: humidity: hdc100x: fix IIO_HUMIDITYRELATIVE channel reporting Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 041/177] iio: imu: inv_mpu6050: fix temperature reporting using bad unit Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 042/177] iio: adc: ad7606: fix reading unnecessary data from device Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 043/177] iio: adc: ad7124: Enable internal reference Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 044/177] USB: atm: ueagle-atm: add missing endpoint check Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 045/177] USB: idmouse: fix interface sanity checks Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 046/177] USB: serial: io_edgeport: fix epic endpoint lookup Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 047/177] usb: roles: fix a potential use after free Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 048/177] USB: adutux: fix interface sanity check Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 049/177] usb: core: urb: fix URB structure initialization function Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 050/177] usb: mon: Fix a deadlock in usbmon between mmap and read Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 051/177] tpm: add check after commands attribs tab allocation Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 052/177] tpm: Switch to platform_get_irq_optional() Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 053/177] EDAC/altera: Use fast register IO for S10 IRQs Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 054/177] brcmfmac: disable PCIe interrupts before bus reset Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 055/177] mtd: spear_smi: Fix Write Burst mode Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 056/177] mtd: rawnand: Change calculating of position page containing BBM Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 057/177] virt_wifi: fix use-after-free in virt_wifi_newlink() Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 058/177] virtio-balloon: fix managed page counts when migrating pages between zones Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 059/177] usb: dwc3: pci: add ID for the Intel Comet Lake -H variant Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 060/177] usb: dwc3: gadget: Fix logical condition Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 061/177] usb: dwc3: gadget: Clear started flag for non-IOC Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 062/177] usb: dwc3: ep0: Clear started flag on completion Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 063/177] phy: renesas: rcar-gen3-usb2: Fix sysfs interface of "role" Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 064/177] usb: typec: fix use after free in typec_register_port() Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 065/177] iwlwifi: pcie: fix support for transmitting SKBs with fraglist Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 066/177] btrfs: check page->mapping when loading free space cache Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 067/177] btrfs: use btrfs_block_group_cache_done in update_block_group Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 068/177] btrfs: use refcount_inc_not_zero in kill_all_nodes Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 069/177] Btrfs: fix metadata space leak on fixup worker failure to set range as delalloc Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 070/177] Btrfs: fix negative subv_writers counter and data space leak after buffered write Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 071/177] btrfs: Avoid getting stuck during cyclic writebacks Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 072/177] btrfs: Remove btrfs_bio::flags member Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 073/177] Btrfs: send, skip backreference walking for extents with many references Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 074/177] btrfs: record all roots for rename exchange on a subvol Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 075/177] rtlwifi: rtl8192de: Fix missing code to retrieve RX buffer address Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 076/177] rtlwifi: rtl8192de: Fix missing callback that tests for hw release of buffer Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 077/177] rtlwifi: rtl8192de: Fix missing enable interrupt flag Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 078/177] lib: raid6: fix awk build warnings Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 079/177] ovl: fix lookup failure on multi lower squashfs Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 080/177] ovl: fix corner case of non-unique st_dev;st_ino Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 081/177] ovl: relax WARN_ON() on rename to self Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 082/177] hwrng: omap - Fix RNG wait loop timeout Greg Kroah-Hartman
2019-12-16 17:48 ` [PATCH 5.4 083/177] dm writecache: handle REQ_FUA Greg Kroah-Hartman
2019-12-16 17:49 ` Greg Kroah-Hartman [this message]
2019-12-16 17:49 ` [PATCH 5.4 085/177] workqueue: Fix spurious sanity check failures in destroy_workqueue() Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 086/177] workqueue: Fix pwq ref leak in rescuer_thread() Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 087/177] ASoC: rt5645: Fixed buddy jack support Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 088/177] ASoC: rt5645: Fixed typo for " Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 089/177] ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 090/177] ASoC: fsl_audmix: Add spin lock to protect tdms Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 091/177] md: improve handling of bio with REQ_PREFLUSH in md_flush_request() Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 092/177] blk-mq: avoid sysfs buffer overflow with too many CPU cores Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 093/177] cgroup: pids: use atomic64_t for pids->limit Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 094/177] wil6210: check len before memcpy() calls Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 095/177] ar5523: check NULL before memcpy() in ar5523_cmd() Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 096/177] s390/mm: properly clear _PAGE_NOEXEC bit when it is not supported Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 097/177] media: hantro: Fix s_fmt for dynamic resolution changes Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 098/177] media: hantro: Fix motion vectors usage condition Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 099/177] media: hantro: Fix picture order count table enable Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 100/177] media: vimc: sen: remove unused kthread_sen field Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 101/177] media: bdisp: fix memleak on release Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 102/177] media: radio: wl1273: fix interrupt masking " Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 103/177] media: cec.h: CEC_OP_REC_FLAG_ values were swapped Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 104/177] cpuidle: Do not unset the driver if it is there already Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 105/177] cpuidle: teo: Ignore disabled idle states that are too deep Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 106/177] cpuidle: teo: Rename local variable in teo_select() Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 107/177] cpuidle: teo: Consider hits and misses metrics of disabled states Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 108/177] cpuidle: teo: Fix "early hits" handling for disabled idle states Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 109/177] cpuidle: use first valid target residency as poll time Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 110/177] erofs: zero out when listxattr is called with no xattr Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 111/177] perf tests: Fix out of bounds memory access Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 112/177] drm/panfrost: Open/close the perfcnt BO Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 113/177] powerpc/perf: Disable trace_imc pmu Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 114/177] intel_th: Fix a double put_device() in error path Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 115/177] intel_th: pci: Add Ice Lake CPU support Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 116/177] intel_th: pci: Add Tiger " Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 117/177] PM / devfreq: Lock devfreq in trans_stat_show Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 118/177] cpufreq: powernv: fix stack bloat and hard limit on number of CPUs Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 119/177] ALSA: fireface: fix return value in error path of isochronous resources reservation Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 120/177] ALSA: oxfw: " Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 121/177] ALSA: hda/realtek - Line-out jack doesnt work on a Dell AIO Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 122/177] ACPI / utils: Move acpi_dev_get_first_match_dev() under CONFIG_ACPI Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 123/177] ACPI: LPSS: Add LNXVIDEO -> BYT I2C7 to lpss_device_links Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 124/177] ACPI: LPSS: Add LNXVIDEO -> BYT I2C1 " Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 125/177] ACPI: LPSS: Add dmi quirk for skipping _DEP check for some device-links Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 126/177] ACPI / hotplug / PCI: Allocate resources directly under the non-hotplug bridge Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 127/177] ACPI: OSL: only free map once in osl.c Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 128/177] ACPI: bus: Fix NULL pointer check in acpi_bus_get_private_data() Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 129/177] ACPI: EC: Rework flushing of pending work Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 130/177] ACPI: PM: Avoid attaching ACPI PM domain to certain devices Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 131/177] pinctrl: rza2: Fix gpio name typos Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 132/177] pinctrl: armada-37xx: Fix irq mask access in armada_37xx_irq_set_type() Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 133/177] pinctrl: samsung: Add of_node_put() before return in error path Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 134/177] pinctrl: samsung: Fix device node refcount leaks in Exynos wakeup controller init Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 135/177] pinctrl: samsung: Fix device node refcount leaks in S3C24xx " Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 136/177] pinctrl: samsung: Fix device node refcount leaks in init code Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 137/177] pinctrl: samsung: Fix device node refcount leaks in S3C64xx wakeup controller init Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 138/177] mmc: host: omap_hsmmc: add code for special init of wl1251 to get rid of pandora_wl1251_init_card Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 139/177] ARM: dts: omap3-tao3530: Fix incorrect MMC card detection GPIO polarity Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 140/177] RDMA/core: Fix ib_dma_max_seg_size() Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 141/177] ppdev: fix PPGETTIME/PPSETTIME ioctls Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 142/177] stm class: Lose the protocol driver when dropping its reference Greg Kroah-Hartman
2019-12-16 17:49 ` [PATCH 5.4 143/177] coresight: Serialize enabling/disabling a link device Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 144/177] powerpc: Allow 64bit VDSO __kernel_sync_dicache to work across ranges >4GB Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 145/177] powerpc/xive: Prevent page fault issues in the machine crash handler Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 146/177] powerpc: Allow flush_icache_range to work across ranges >4GB Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 147/177] powerpc/xive: Skip ioremap() of ESB pages for LSI interrupts Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 148/177] video/hdmi: Fix AVI bar unpack Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 149/177] quota: Check that quota is not dirty before release Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 150/177] ext2: check err when partial != NULL Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 151/177] seccomp: avoid overflow in implicit constant conversion Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 152/177] quota: fix livelock in dquot_writeback_dquots Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 153/177] ext4: Fix credit estimate for final inode freeing Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 154/177] reiserfs: fix extended attributes on the root directory Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 155/177] scsi: qla2xxx: Fix SRB leak on switch command timeout Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 156/177] scsi: qla2xxx: Fix a dma_pool_free() call Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 157/177] Revert "scsi: qla2xxx: Fix memory leak when sending I/O fails" Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 158/177] iio: ad7949: kill pointless "readback"-handling code Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 159/177] iio: ad7949: fix channels mixups Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 160/177] omap: pdata-quirks: revert pandora specific gpiod additions Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 161/177] omap: pdata-quirks: remove openpandora quirks for mmc3 and wl1251 Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 162/177] powerpc: Avoid clang warnings around setjmp and longjmp Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 163/177] powerpc: Fix vDSO clock_getres() Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 164/177] mm, memfd: fix COW issue on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 165/177] mfd: rk808: Fix RK818 ID template Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 166/177] mm: memcg/slab: wait for !root kmem_cache refcnt killing on root kmem_cache destruction Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 167/177] ext4: work around deleting a file with i_nlink == 0 safely Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 168/177] firmware: qcom: scm: Ensure a0 status code is treated as signed Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 169/177] s390/smp,vdso: fix ASCE handling Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 170/177] s390/kaslr: store KASLR offset for early dumps Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 171/177] mm/shmem.c: cast the type of unmap_start to u64 Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 172/177] powerpc: Define arch_is_kernel_initmem_freed() for lockdep Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 173/177] USB: dummy-hcd: increase max number of devices to 32 Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 174/177] rtc: disable uie before setting time and enable after Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 175/177] splice: only read in as much information as there is pipe buffer space Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 176/177] ext4: fix a bug in ext4_wait_for_tail_page_commit Greg Kroah-Hartman
2019-12-16 17:50 ` [PATCH 5.4 177/177] ext4: fix leak of quota reservations Greg Kroah-Hartman
2019-12-17  0:54 ` [PATCH 5.4 000/177] 5.4.4-stable review shuah
2019-12-17  7:52   ` Greg Kroah-Hartman
2019-12-17  7:23 ` Naresh Kamboju
2019-12-17  7:53   ` Greg Kroah-Hartman
2019-12-17 11:28 ` Jon Hunter
2019-12-17 12:07   ` Greg Kroah-Hartman
2019-12-17 12:37 ` Jeffrin Jose
2019-12-17 14:28   ` Greg Kroah-Hartman
2019-12-17 18:31 ` Guenter Roeck
2019-12-17 18:48   ` Greg Kroah-Hartman

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=20191216174837.926349537@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dmitry.fomichev@wdc.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=snitzer@redhat.com \
    --cc=stable@vger.kernel.org \
    --cc=zhangxiaoxu5@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox