* Patch "Revert "mtip32xx: use runtime tag to initialize command header"" has been added to the 4.9-stable tree
@ 2018-04-06 8:29 gregkh
0 siblings, 0 replies; only message in thread
From: gregkh @ 2018-04-06 8:29 UTC (permalink / raw)
To: gregkh, alexander.levin, axboe, ben.hutchings, ming.lei
Cc: stable, stable-commits
This is a note to let you know that I've just added the patch titled
Revert "mtip32xx: use runtime tag to initialize command header"
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
revert-mtip32xx-use-runtime-tag-to-initialize-command-header.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.
>From foo@baz Fri Apr 6 10:27:52 CEST 2018
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Fri, 6 Apr 2018 09:28:46 +0200
Subject: Revert "mtip32xx: use runtime tag to initialize command header"
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This reverts commit db54facd56a40e7766bf7f7cda1ae138e72a691c which was
commit a4e84aae8139aca9fbfbced1f45c51ca81b57488 upstream.
Ben writes:
MQ IO schedulers were introduced in 4.11, so this shouldn't be
needed in older branches. It also causes a performance
regression (fixed upstream). Please revert this for 4.4 and
4.9.
So let's revert it!
Reported-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Jens Axboe <axboe@fb.com>
Cc: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/block/mtip32xx/mtip32xx.c | 36 ++++++++++++------------------------
1 file changed, 12 insertions(+), 24 deletions(-)
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -169,25 +169,6 @@ static bool mtip_check_surprise_removal(
return false; /* device present */
}
-/* we have to use runtime tag to setup command header */
-static void mtip_init_cmd_header(struct request *rq)
-{
- struct driver_data *dd = rq->q->queuedata;
- struct mtip_cmd *cmd = blk_mq_rq_to_pdu(rq);
- u32 host_cap_64 = readl(dd->mmio + HOST_CAP) & HOST_CAP_64;
-
- /* Point the command headers at the command tables. */
- cmd->command_header = dd->port->command_list +
- (sizeof(struct mtip_cmd_hdr) * rq->tag);
- cmd->command_header_dma = dd->port->command_list_dma +
- (sizeof(struct mtip_cmd_hdr) * rq->tag);
-
- if (host_cap_64)
- cmd->command_header->ctbau = __force_bit2int cpu_to_le32((cmd->command_dma >> 16) >> 16);
-
- cmd->command_header->ctba = __force_bit2int cpu_to_le32(cmd->command_dma & 0xFFFFFFFF);
-}
-
static struct mtip_cmd *mtip_get_int_command(struct driver_data *dd)
{
struct request *rq;
@@ -199,9 +180,6 @@ static struct mtip_cmd *mtip_get_int_com
if (IS_ERR(rq))
return NULL;
- /* Internal cmd isn't submitted via .queue_rq */
- mtip_init_cmd_header(rq);
-
return blk_mq_rq_to_pdu(rq);
}
@@ -3833,8 +3811,6 @@ static int mtip_queue_rq(struct blk_mq_h
struct request *rq = bd->rq;
int ret;
- mtip_init_cmd_header(rq);
-
if (unlikely(mtip_check_unal_depth(hctx, rq)))
return BLK_MQ_RQ_QUEUE_BUSY;
@@ -3866,6 +3842,7 @@ static int mtip_init_cmd(void *data, str
{
struct driver_data *dd = data;
struct mtip_cmd *cmd = blk_mq_rq_to_pdu(rq);
+ u32 host_cap_64 = readl(dd->mmio + HOST_CAP) & HOST_CAP_64;
/*
* For flush requests, request_idx starts at the end of the
@@ -3882,6 +3859,17 @@ static int mtip_init_cmd(void *data, str
memset(cmd->command, 0, CMD_DMA_ALLOC_SZ);
+ /* Point the command headers at the command tables. */
+ cmd->command_header = dd->port->command_list +
+ (sizeof(struct mtip_cmd_hdr) * request_idx);
+ cmd->command_header_dma = dd->port->command_list_dma +
+ (sizeof(struct mtip_cmd_hdr) * request_idx);
+
+ if (host_cap_64)
+ cmd->command_header->ctbau = __force_bit2int cpu_to_le32((cmd->command_dma >> 16) >> 16);
+
+ cmd->command_header->ctba = __force_bit2int cpu_to_le32(cmd->command_dma & 0xFFFFFFFF);
+
sg_init_table(cmd->sg, MTIP_MAX_SG);
return 0;
}
Patches currently in stable-queue which might be from gregkh@linuxfoundation.org are
queue-4.9/rdma-ucma-check-af-family-prior-resolving-address.patch
queue-4.9/documentation-pinctrl-palmas-add-ti-palmas-powerhold-override-property-definition.patch
queue-4.9/netfilter-x_tables-add-and-use-xt_check_proc_name.patch
queue-4.9/powerpc-64s-fix-lost-pending-interrupt-due-to-race-causing-lost-update-to-irq_happened.patch
queue-4.9/usb-serial-ftdi_sio-add-support-for-harman-firmwarehubemulator.patch
queue-4.9/dm-ioctl-remove-double-parentheses.patch
queue-4.9/arm64-avoid-overflow-in-va_start-and-page_offset.patch
queue-4.9/btrfs-remove-extra-parentheses-from-condition-in-copy_items.patch
queue-4.9/arm-dts-am57xx-idk-common-add-overide-powerhold-property.patch
queue-4.9/revert-mtip32xx-use-runtime-tag-to-initialize-command-header.patch
queue-4.9/vt-change-sgr-21-to-follow-the-standards.patch
queue-4.9/revert-spi-bcm-qspi-shut-up-warning-about-cfi-header-inclusion.patch
queue-4.9/arm64-mm-add-arm64_kernel_unmapped_at_el0-helper.patch
queue-4.9/genirq-use-cpumask_available-for-check-of-cpumask-variable.patch
queue-4.9/arm64-entry-reword-comment-about-post_ttbr_update_workaround.patch
queue-4.9/fix-slab-name-biovec-1-21-12.patch
queue-4.9/arm64-kaslr-put-kernel-vectors-address-in-separate-data-page.patch
queue-4.9/nl80211-fix-enum-type-of-variable-in-nl80211_put_sta_rate.patch
queue-4.9/xfrm_user-uncoditionally-validate-esn-replay-attribute-struct.patch
queue-4.9/selinux-remove-redundant-check-for-unknown-labeling-behavior.patch
queue-4.9/fs-compat-remove-warning-from-compatible_ioctl.patch
queue-4.9/mm-vmscan.c-fix-unsequenced-modification-and-access-warning.patch
queue-4.9/arm64-turn-on-kpti-only-on-cpus-that-need-it.patch
queue-4.9/usb-dwc2-improve-gadget-state-disconnection-handling.patch
queue-4.9/crypto-x86-cast5-avx-fix-ecb-encryption-when-long-sg-follows-short-one.patch
queue-4.9/arm64-force-kpti-to-be-disabled-on-cavium-thunderx.patch
queue-4.9/bluetooth-fix-missing-encryption-refresh-on-security-request.patch
queue-4.9/revert-arm-dts-omap3-n900-fix-the-audio-codec-s-reset-pin.patch
queue-4.9/hid-sony-use-led_core_suspendresume.patch
queue-4.9/arm64-mm-allocate-asids-in-pairs.patch
queue-4.9/mtd-jedec_probe-fix-crash-in-jedec_read_mfr.patch
queue-4.9/input-i8042-add-lenovo-thinkpad-l460-to-i8042-reset-list.patch
queue-4.9/perf-hwbp-simplify-the-perf-hwbp-code-fix-documentation.patch
queue-4.9/xgene_enet-remove-bogus-forward-declarations.patch
queue-4.9/arm64-tls-avoid-unconditional-zeroing-of-tpidrro_el0-for-native-tasks.patch
queue-4.9/input-alps-fix-trackstick-detection-on-thinkpad-l570-and-latitude-7370.patch
queue-4.9/arm64-use-ret-instruction-for-exiting-the-trampoline.patch
queue-4.9/arm64-entry-explicitly-pass-exception-level-to-kernel_ventry-macro.patch
queue-4.9/rdma-ucma-check-that-device-is-connected-prior-to-access-it.patch
queue-4.9/scsi-virtio_scsi-always-read-vpd-pages-for-multiqueue-too.patch
queue-4.9/usb-gadget-remove-redundant-self-assignment.patch
queue-4.9/media-usbtv-prevent-double-free-in-error-case.patch
queue-4.9/arm64-kpti-make-use-of-ng-dependent-on-arm64_kernel_unmapped_at_el0.patch
queue-4.9/ipc-shm.c-add-split-function-to-shm_vm_ops.patch
queue-4.9/revert-arm-dts-am335x-pepper-fix-the-audio-codec-s-reset-pin.patch
queue-4.9/staging-comedi-ni_mio_common-ack-ai-fifo-error-interrupts.patch
queue-4.9/alsa-usb-audio-add-native-dsd-support-for-teac-ud-301.patch
queue-4.9/arm64-mm-use-non-global-mappings-for-kernel-space.patch
queue-4.9/alsa-pcm-potential-uninitialized-return-values.patch
queue-4.9/jiffies.h-declare-jiffies-and-jiffies_64-with-____cacheline_aligned_in_smp.patch
queue-4.9/rdma-ucma-fix-use-after-free-access-in-ucma_close.patch
queue-4.9/arm64-capabilities-handle-duplicate-entries-for-a-capability.patch
queue-4.9/arm64-entry-hook-up-entry-trampoline-to-exception-vectors.patch
queue-4.9/selinux-remove-unnecessary-check-of-array-base-in-selinux_set_mapping.patch
queue-4.9/arm-8746-1-vfp-go-back-to-clearing-vfp_current_hw_state.patch
queue-4.9/xfrm-refuse-to-insert-32-bit-userspace-socket-policies-on-64-bit-systems.patch
queue-4.9/pci-make-pci_rom_address_mask-a-32-bit-constant.patch
queue-4.9/ceph-only-dirty-iter_iovec-pages-for-direct-read.patch
queue-4.9/netfilter-bridge-ebt_among-add-more-missing-match-size-checks.patch
queue-4.9/arm64-mm-invalidate-both-kernel-and-user-asids-when-performing-tlbi.patch
queue-4.9/arm64-mm-map-entry-trampoline-into-trampoline-and-kernel-page-tables.patch
queue-4.9/md-raid10-reset-the-first-at-the-end-of-loop.patch
queue-4.9/module-extend-rodata-off-boot-cmdline-parameter-to-module-mappings.patch
queue-4.9/arm64-kconfig-reword-unmap_kernel_at_el0-kconfig-entry.patch
queue-4.9/kprobes-x86-fix-to-set-rwx-bits-correctly-before-releasing-trampoline.patch
queue-4.9/arm64-mm-move-asid-from-ttbr0-to-ttbr1.patch
queue-4.9/rdma-ucma-ensure-that-cm_id-exists-prior-to-access-it.patch
queue-4.9/llist-clang-introduce-member_address_is_nonnull.patch
queue-4.9/frv-declare-jiffies-to-be-located-in-the-.data-section.patch
queue-4.9/arm64-allow-checking-of-a-cpu-local-erratum.patch
queue-4.9/arm64-take-into-account-id_aa64pfr0_el1.csv3.patch
queue-4.9/mac80211-ibss-fix-channel-type-enum-in-ieee80211_sta_join_ibss.patch
queue-4.9/arm-dts-am57xx-beagle-x15-common-add-overide-powerhold-property.patch
queue-4.9/powerpc-64s-fix-i-side-slb-miss-bad-address-handler-saving-nonvolatile-gprs.patch
queue-4.9/rdma-ucma-introduce-safer-rdma_addr_size-variants.patch
queue-4.9/netfilter-nf_nat_h323-fix-logical-not-parentheses-warning.patch
queue-4.9/mei-remove-dev_err-message-on-an-unsupported-ioctl.patch
queue-4.9/net-hns-fix-ethtool-private-flags.patch
queue-4.9/arm64-kconfig-add-config_unmap_kernel_at_el0.patch
queue-4.9/rdma-ucma-check-that-device-exists-prior-to-accessing-it.patch
queue-4.9/arm64-idmap-use-awx-flags-for-.idmap.text-.pushsection-directives.patch
queue-4.9/spi-davinci-fix-up-dma_mapping_error-incorrect-patch.patch
queue-4.9/net-xfrm-use-preempt-safe-this_cpu_read-in-ipcomp_alloc_tfms.patch
queue-4.9/cfg80211-fix-array-bounds-warning-in-fragment-copy.patch
queue-4.9/arm-dts-dra7-add-power-hold-and-power-controller-properties-to-palmas.patch
queue-4.9/arm64-factor-out-entry-stack-manipulation.patch
queue-4.9/input-mousedev-fix-implicit-conversion-warning.patch
queue-4.9/input-i8042-enable-mux-on-sony-vaio-vgn-cs-series-to-fix-touchpad.patch
queue-4.9/arm64-entry-add-exception-trampoline-page-for-exceptions-from-el0.patch
queue-4.9/netfilter-ctnetlink-make-some-parameters-integer-to-avoid-enum-mismatch.patch
queue-4.9/arm64-kpti-add-enable-callback-to-remap-swapper-using-ng-mappings.patch
queue-4.9/alsa-pcm-use-dma_bytes-as-size-parameter-in-dma_mmap_coherent.patch
queue-4.9/revert-ip6_vti-adjust-vti-mtu-according-to-mtu-of-lower-device.patch
queue-4.9/parport_pc-add-support-for-wch-ch382l-pci-e-single-parallel-port-card.patch
queue-4.9/mac80211-fix-clang-warning-about-constant-operand-in-logical-operation.patch
queue-4.9/cpumask-add-helper-cpumask_available.patch
queue-4.9/usb-serial-ftdi_sio-add-rt-systems-vx-8-cable.patch
queue-4.9/arm64-entry-add-fake-cpu-feature-for-unmapping-the-kernel-at-el0.patch
queue-4.9/usb-serial-cp210x-add-eldat-easywave-rx09-id.patch
queue-4.9/arm64-cputype-add-midr-values-for-cavium-thunderx2-cpus.patch
queue-4.9/crypto-ahash-fix-early-termination-in-hash-walk.patch
queue-4.9/partitions-msdos-unable-to-mount-ufs-44bsd-partitions.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2018-04-06 8:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-06 8:29 Patch "Revert "mtip32xx: use runtime tag to initialize command header"" has been added to the 4.9-stable tree gregkh
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.