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.3 072/180] dm zoned: reduce overhead of backing device checks
Date: Mon, 16 Dec 2019 18:48:32 +0100	[thread overview]
Message-ID: <20191216174830.362408132@linuxfoundation.org> (raw)
In-Reply-To: <20191216174806.018988360@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:12 UTC|newest]

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