From 12e87680fd6e0e01cbc51b49c959706163f12d7f Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sat, 7 Sep 2019 01:45:44 +0000 Subject: [PATCH 1/4] nightly build: Update kernel versions git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8577 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- nightly/conf/nightly.conf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index fe664d8fc..1fd1f9572 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -3,26 +3,26 @@ ABT_DETAILS="x86_64" ABT_JOBS=5 ABT_KERNELS=" \ -5.2.9 \ +5.2.13 \ 5.1.21-nc \ 5.0.21-nc \ 4.20.17-nc \ -4.19.68-nc \ +4.19.71-nc \ 4.18.20-nc \ 4.17.19-nc \ 4.16.18-nc \ 4.15.18-nc \ -4.14.140-nc \ +4.14.142-nc \ 4.13.16-nc \ 4.12.14-nc \ 4.11.12-nc \ 4.10.17-nc \ -4.9.190-nc \ +4.9.191-nc \ 4.8.17-nc \ 4.7.10-nc \ 4.6.7-nc \ 4.5.7-nc \ -4.4.190-nc \ +4.4.191-nc \ 4.3.6-nc \ 4.2.8-nc \ 4.1.52-nc \ From 1821c5a2de254bdd35aa5535e272d63e60774733 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sat, 7 Sep 2019 03:43:59 +0000 Subject: [PATCH 2/4] scst/include/backport.h: Fix kvmalloc() backport for RHEL 7 The kvmalloc function was added in RHEL 7.5. So the backport is needed for RHEL 7.4 and older. _COMPAT_LINUX_MM_H is checked as well to avoid a conflict with the appropriate backport in MOFED. Signed-off-by: Sergey Gorenko [ bvanassche: fixed spelling in commit message ] git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8578 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst/include/backport.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scst/include/backport.h b/scst/include/backport.h index 112c8dc98..989fc33b5 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -848,7 +848,9 @@ static inline void mempool_destroy_backport(mempool_t *pool) /* */ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0) && \ - (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7) + (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7 || \ + (RHEL_MAJOR -0 == 7 && RHEL_MINOR -0 < 5)) && \ + !defined(_COMPAT_LINUX_MM_H) /* See also commit a7c3e901a46f ("mm: introduce kv[mz]alloc helpers") # v4.12 */ static inline void *kvmalloc_node(size_t size, gfp_t flags, int node) { From 35cd0689629fb5e8f88675be28cdbab06bc41c6f Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sat, 7 Sep 2019 03:55:23 +0000 Subject: [PATCH 3/4] scst_vdisk: Set REQ_PRIO for SCSI commands marked as head-of-queue REQ_PRIO requests preempt others in the CFQ I/O scheduler. REQ_META marks metadata requests for blktrace. Reported-by: Lev Vainblat git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8579 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst/src/dev_handlers/scst_vdisk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scst/src/dev_handlers/scst_vdisk.c b/scst/src/dev_handlers/scst_vdisk.c index 30ad0aa5b..03102417a 100644 --- a/scst/src/dev_handlers/scst_vdisk.c +++ b/scst/src/dev_handlers/scst_vdisk.c @@ -5972,7 +5972,7 @@ defined(CONFIG_SUSE_KERNEL) && LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) || \ defined(CONFIG_SUSE_KERNEL) && LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) - bio->bi_opf |= REQ_META; + bio->bi_opf |= REQ_PRIO; #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 36) || \ (defined(RHEL_MAJOR) && \ (RHEL_MAJOR -0 > 6 || RHEL_MAJOR -0 == 6 && RHEL_MINOR -0 > 0)) From 0ce7c757827ee24ab46b710296ab41aaee0b4228 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sat, 7 Sep 2019 03:58:30 +0000 Subject: [PATCH 4/4] qla2x00t-32gbit/qla2x00-target/README: Update this file Bring this README file in sync with the recently checked in changes. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8580 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- qla2x00t-32gbit/qla2x00-target/README | 84 +-------------------------- 1 file changed, 1 insertion(+), 83 deletions(-) diff --git a/qla2x00t-32gbit/qla2x00-target/README b/qla2x00t-32gbit/qla2x00-target/README index c410467f2..d057e08db 100644 --- a/qla2x00t-32gbit/qla2x00-target/README +++ b/qla2x00t-32gbit/qla2x00-target/README @@ -19,86 +19,4 @@ the previous version of the SCST QLogic target driver are: { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2281) }, { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2089) }, { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2289) }, -- Works in combination with Linux kernel v2.6.32 and later. - -Known Bugs ----------- - -When using the RHEL 6 debug kernel, a recursive locking complaint is reported -when loading this driver with qlini_mode=dual: - -============================================= -[ INFO: possible recursive locking detected ] -2.6.32-754.11.1.el6.x86_64.debug #1 ---------------------------------------------- -qla2xxx_wq/0/3557 is trying to acquire lock: - ((fmt)){+.+.+.}, at: [] flush_work+0x3d/0x120 - -but task is already holding lock: - ((fmt)){+.+.+.}, at: [] worker_thread+0x1cb/0x3f0 - -other info that might help us debug this: -2 locks held by qla2xxx_wq/0/3557: - #0: ((fmt)){+.+.+.}, at: [] worker_thread+0x1cb/0x3f0 - #1: (&base_vha->iocb_work){+.+.+.}, at: [] worker_thread+0x1cb/0x3f0 - -stack backtrace: -Pid: 3557, comm: qla2xxx_wq/0 Not tainted 2.6.32-754.11.1.el6.x86_64.debug #1 -Call Trace: - [] ? __lock_acquire+0x11b0/0x1560 - [] ? sched_clock+0x9/0x10 - [] ? sched_clock+0x9/0x10 - [] ? lock_acquire+0xa4/0x130 - [] ? flush_work+0x3d/0x120 - [] ? __wake_up+0x53/0x70 - [] ? flush_work+0x69/0x120 - [] ? flush_work+0x3d/0x120 - [] ? sched_clock_cpu+0xb8/0x110 - [] ? mark_held_locks+0x73/0xa0 - [] ? _spin_unlock_irqrestore+0x40/0x80 - [] ? trace_hardirqs_on_caller+0x14d/0x190 - [] ? trace_hardirqs_on+0xd/0x10 - [] ? qla24xx_do_nack_work+0x68/0x120 [qla2xxx_scst] - [] ? qla2x00_do_work+0x53b/0xba0 [qla2xxx_scst] - [] ? sched_clock+0x9/0x10 - [] ? sched_clock_local+0x25/0x90 - [] ? qla2x00_iocb_work_fn+0x54/0xa0 [qla2xxx_scst] - [] ? qla2x00_iocb_work_fn+0x0/0xa0 [qla2xxx_scst] - [] ? worker_thread+0x21e/0x3f0 - [] ? worker_thread+0x1cb/0x3f0 - [] ? autoremove_wake_function+0x0/0x40 - [] ? worker_thread+0x0/0x3f0 - [] ? kthread+0xa0/0xc0 - [] ? child_rip+0x20/0x30 - [] ? retint_restore_args+0x13/0x43 - [] ? kthread+0x0/0xc0 - [] ? child_rip+0x0/0x30 - -When using RHEL 6 unloading this driver triggers a deadlock: - -INFO: task events/0:35 blocked for more than 120 seconds. - Not tainted 2.6.32-754.11.1.el6.x86_64.debug #1 -"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. -events/0 D ffff880077e24408 12408 35 2 0x00000000 - ffff88007e02fa60 0000000000000046 0000000000000000 7fffffffffffffff - 7fffffffffffffff 00000365a5588f80 ffff88007e028a80 ffff88000d7d93d8 - 0000000100346a5e 00000000000003c8 ffff88007e029040 ffff88007e02ffd8 -Call Trace: - [] schedule_timeout+0x265/0x330 - [] ? wait_for_common+0x4f/0x180 - [] ? wait_for_common+0x4f/0x180 - [] ? default_wake_function+0x0/0x20 - [] wait_for_common+0x12b/0x180 - [] ? default_wake_function+0x0/0x20 - [] wait_for_completion+0x1d/0x20 - [] ? qlt_free_session_done+0x1d6/0x930 [qla2xxx_scst] - [] ? qlt_free_session_done+0x0/0x930 [qla2xxx_scst] - [] ? worker_thread+0x21e/0x3f0 - [] ? worker_thread+0x1cb/0x3f0 - [] ? autoremove_wake_function+0x0/0x40 - [] ? worker_thread+0x0/0x3f0 - [] ? kthread+0xa0/0xc0 - [] ? child_rip+0x20/0x30 - [] ? retint_restore_args+0x13/0x43 - [] ? kthread+0x0/0xc0 - [] ? child_rip+0x0/0x30 +- Works in combination with Linux kernel v3.15 and later.