Re: CISS driver error introduced with kernel-4.9.0-0.rc2.git1.1.fc26
On 11/07/2016 04:44 AM, Johnny Bieren wrote: Hello, It appears that a check_unmap kernel failure for the CISS driver was introduced with kernel-4.9.0-0.rc2.git1.1.fc26. When booting this kernel, or any newer kernel, I see the following: [3.676658] HP CISS Driver (v 3.6.26) 0m] Reached target System Initialization. Starting dracut initqueue hook... Starting Show Plymouth Boot Screen... [3.756592] scsi host0: pata_amd [3.772866] scsi host1: pata_amd [3.782052] ata1: PATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0x2000 irq 14 [3.789616] ata2: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x2008 irq 15 [3.825789] cciss :02:04.0: cciss0: <0x46> at PCI :02:04.0 IRQ 24 using DAC [3.836530] audit: type=1130 audit(1478270493.962:10): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=plymouth-start comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' [ OK ] Started Show[3.839544] [ cut here ] Plymouth Boot S[3.839555] WARNING: CPU: 0 PID: 193 at lib/dma-debug.c:1164 check_unmap+0x4af/0x940 creen. [3.839559] cciss :02:04.0: DMA-API: device driver failed to check map error[device address=0x38f521c0] [size=36 bytes] [mapped as single] [3.839563] Modules linked in: serio_raw cciss(+) pata_amd [3.839566] CPU: 0 PID: 193 Comm: kworker/0:2 Not tainted 4.9.0-0.rc2.git1.1.fc26.x86_64 #1 [3.839567] Hardware name: HP ProLiant DL385 G1, BIOS A05 03/01/2006 [3.839573] Workqueue: events work_for_cpu_fn [3.839577] 9e9ec05938f8 8546cd23 9e9ec0593948 [3.839579] 9e9ec0593938 850af4cb 048c0082 8aa07ca0ea60 [3.839582] 87483a00 8aa07b878180 0282 85c5ad66 [3.839582] Call Trace: [3.839588] [] dump_stack+0x86/0xc3 [3.839591] [] __warn+0xcb/0xf0 [3.839593] [] warn_slowpath_fmt+0x5f/0x80 [3.839595] [] check_unmap+0x4af/0x940 [3.839597] [] debug_dma_unmap_page+0x79/0xa0 [3.839613] [] sendcmd_withirq_core+0x217/0x260 [cciss] [3.839618] [] ? wait_for_completion+0x110/0x140 [3.839623] [] sendcmd_withirq+0x98/0xb0 [cciss] [3.839628] [] cciss_init_one+0x1a8f/0x1f70 [cciss] [3.839632] [] local_pci_probe+0x45/0xa0 [3.839634] [] work_for_cpu_fn+0x14/0x20 [3.839637] [] process_one_work+0x23e/0x6f0 [3.839638] [] ? process_one_work+0x1ba/0x6f0 [3.839641] [] worker_thread+0x1d3/0x490 [3.839642] [] ? process_one_work+0x6f0/0x6f0 [3.839644] [] ? process_one_work+0x6f0/0x6f0 [3.839648] [] kthread+0x102/0x120 [3.839652] [] ? trace_hardirqs_on_caller+0xf5/0x1b0 [3.839655] [] ? kthread_park+0x60/0x60 [3.839658] [] ret_from_fork+0x2a/0x40 [3.839659] ---[ end trace 1ec289ff52b16fd7 ]--- [3.839660] Mapped at: [3.839663] [3.839663] [] debug_dma_map_page+0x8c/0x160 [3.839668] [3.839668] [] fill_cmd+0x1bf/0x420 [cciss] [3.839672] [3.839672] [] sendcmd_withirq+0x64/0xb0 [cciss] [3.839676] [3.839676] [] cciss_init_one+0x1a8f/0x1f70 [cciss] [3.839679] [3.839679] [] local_pci_probe+0x45/0xa0 [3.859535] scsi host2: cciss This problem does not appear when booting with kernel-4.9.0-0.rc2.git0.1.fc26. It reproduces 100% of the time, simply try to boot kernel-4.9.0-0.rc2.git1.1.fc26 on a host with a CISS disk. Thank you, Johnny For reference, the corresponding upstream commits for the Fedora tags are 6edc51a8d43b0bb8263fefaa8eb0cf62e8499978 and 9fe68cad6e74967b88d0c6aeca7d9cd6b6e91942 although I think those two tags may be a misdirection because kernel-4.9.0-0.rc2.git0.1.fc26 had DMA_API_DEBUG turned off. Thanks, Laura -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: alloc failure in qla1280 probe -- need to decrease can_queue?
On 04/20/2016 07:15 AM, Johannes Thumshirn wrote: [+Cc Michael Reed as get_maintainer.pl lists him as qla1280 maintainer ] On Mon, Apr 18, 2016 at 03:07:15PM -0700, Laura Abbott wrote: Hi, We received a bug report https://bugzilla.redhat.com/show_bug.cgi?id=1321033 of qla1280 scsi host failure on 4.4 based kernels that looks to be caused by page alloc failure: [4.804166] scsi host0: QLogic QLA1040 PCI to SCSI Host Adapter Firmware version: 7.65.06, Driver version 3.27.1 [4.804174] [ cut here ] [4.804184] WARNING: CPU: 2 PID: 305 at mm/page_alloc.c:2989 __alloc_pages_nodemask+0xae8/0xbc0() [4.804186] Modules linked in: amdkfd amd_iommu_v2 radeon i2c_algo_bit drm_kms_helper ttm drm megaraid_sas serio_raw 8021q garp bnx2 stp llc mrp sunhme qla1280(+) fjes [4.804208] CPU: 2 PID: 305 Comm: systemd-udevd Not tainted 4.4.6-201.fc22.x86_64 #1 [4.804210] Hardware name: Google Enterprise Search Appliance/0DT021, BIOS 1.1.2 08/14/2006 [4.804212] 0286 2f01064c 88042985b710 813b542e [4.804216] 81a75024 88042985b748 810a40f2 [4.804220] 000b [4.804223] Call Trace: [4.804231] [] dump_stack+0x63/0x85 [4.804236] [] warn_slowpath_common+0x82/0xc0 [4.804239] [] warn_slowpath_null+0x1a/0x20 [4.804242] [] __alloc_pages_nodemask+0xae8/0xbc0 [4.804247] [] ? _raw_spin_unlock_irqrestore+0xe/0x10 [4.804251] [] ? irq_work_queue+0x8e/0xa0 [4.804256] [] ? console_unlock+0x20a/0x540 [4.804262] [] alloc_pages_current+0x8c/0x110 [4.804265] [] alloc_kmem_pages+0x19/0x90 [4.804268] [] kmalloc_order_trace+0x2e/0xe0 [4.804272] [] __kmalloc+0x232/0x260 [4.804277] [] init_tag_map+0x3d/0xc0 [4.804290] [] __blk_queue_init_tags+0x45/0x80 [4.804293] [] blk_init_tags+0x14/0x20 [4.804298] [] scsi_add_host_with_dma+0x80/0x300 [4.804305] [] qla1280_probe_one+0x683/0x9ef [qla1280] [4.804309] [] local_pci_probe+0x45/0xa0 [4.804312] [] pci_device_probe+0xfd/0x140 [4.804316] [] driver_probe_device+0x222/0x490 [4.804319] [] __driver_attach+0x84/0x90 [4.804321] [] ? driver_probe_device+0x490/0x490 [4.804324] [] bus_for_each_dev+0x6c/0xc0 [4.804326] [] driver_attach+0x1e/0x20 [4.804328] [] bus_add_driver+0x1eb/0x280 [4.804331] [] ? 0xa0015000 [4.804333] [] driver_register+0x60/0xe0 [4.804336] [] __pci_register_driver+0x4c/0x50 [4.804339] [] qla1280_init+0x1ce/0x1000 [qla1280] [4.804341] [] ? 0xa0015000 [4.804345] [] do_one_initcall+0xb3/0x200 [4.804348] [] ? kmem_cache_alloc_trace+0x196/0x210 [4.804352] [] ? do_init_module+0x27/0x1cb [4.804354] [] do_init_module+0x5f/0x1cb [4.804358] [] load_module+0x2040/0x2680 [4.804360] [] ? __symbol_put+0x60/0x60 [4.804363] [] SYSC_init_module+0x149/0x190 [4.804366] [] SyS_init_module+0xe/0x10 [4.804369] [] entry_SYSCALL_64_fastpath+0x12/0x71 [4.804371] ---[ end trace 0ea3b625f86705f7 ]--- [4.804581] qla1280: probe of :11:04.0 failed with error -12 This looks very similar to http://www.spinics.net/lists/linux-usb/msg136998.html which was fixed by 55ff8cfbc4e1 ("USB: uas: Reduce can_queue to MAX_CMNDS"). Does a similar fix need to be applied here? Thanks, Laura Can you (or better the reporter) try below? Unfortunately I don't have a qla1280 setup here, so I couldn't test it myself. Reporter indicated that the patch worked, host is now showing up. Byte, Johannes From f95e82e7e5f675c9869ea1da78021aa6abc7972b Mon Sep 17 00:00:00 2001 From: Johannes Thumshirn <jthumsh...@suse.de> Date: Wed, 20 Apr 2016 16:07:37 +0200 Subject: [PATCH] qla1280: Reduce can_queue to 32 The qla1280 driver sets the scsi_host_template's can_queue field to 0xf which results in an allocation failure when allocating the block layer tags for the driver's queues like the one shown below: [4.804166] scsi host0: QLogic QLA1040 PCI to SCSI Host Adapter Firmware version: 7.65.06, Driver version 3.27.1 [4.804174] [ cut here ] [4.804184] WARNING: CPU: 2 PID: 305 at mm/page_alloc.c:2989 alloc_pages_nodemask+0xae8/0xbc0() [4.804186] Modules linked in: amdkfd amd_iommu_v2 radeon i2c_algo_bit m_kms_helper ttm drm megaraid_sas serio_raw 8021q garp bnx2 stp llc mrp nhme qla1280(+) fjes [4.804208] CPU: 2 PID: 305 Comm: systemd-udevd Not tainted 4.6-201.fc22.x86_64 #1 [4.804210] Hardware name: Google Enterprise Search Appliance/0DT021, OS 1.1.2 08/14/2006 [4.804212] 0286 2f01064c 88042985b710 ff813b542e [4.804216] 81a75024 88042985b748 ff810a40f2 [4.804220] 000b 00 [4.804223] Call Trac
alloc failure in qla1280 probe -- need to decrease can_queue?
Hi, We received a bug report https://bugzilla.redhat.com/show_bug.cgi?id=1321033 of qla1280 scsi host failure on 4.4 based kernels that looks to be caused by page alloc failure: [4.804166] scsi host0: QLogic QLA1040 PCI to SCSI Host Adapter Firmware version: 7.65.06, Driver version 3.27.1 [4.804174] [ cut here ] [4.804184] WARNING: CPU: 2 PID: 305 at mm/page_alloc.c:2989 __alloc_pages_nodemask+0xae8/0xbc0() [4.804186] Modules linked in: amdkfd amd_iommu_v2 radeon i2c_algo_bit drm_kms_helper ttm drm megaraid_sas serio_raw 8021q garp bnx2 stp llc mrp sunhme qla1280(+) fjes [4.804208] CPU: 2 PID: 305 Comm: systemd-udevd Not tainted 4.4.6-201.fc22.x86_64 #1 [4.804210] Hardware name: Google Enterprise Search Appliance/0DT021, BIOS 1.1.2 08/14/2006 [4.804212] 0286 2f01064c 88042985b710 813b542e [4.804216] 81a75024 88042985b748 810a40f2 [4.804220] 000b [4.804223] Call Trace: [4.804231] [] dump_stack+0x63/0x85 [4.804236] [] warn_slowpath_common+0x82/0xc0 [4.804239] [] warn_slowpath_null+0x1a/0x20 [4.804242] [] __alloc_pages_nodemask+0xae8/0xbc0 [4.804247] [] ? _raw_spin_unlock_irqrestore+0xe/0x10 [4.804251] [] ? irq_work_queue+0x8e/0xa0 [4.804256] [] ? console_unlock+0x20a/0x540 [4.804262] [] alloc_pages_current+0x8c/0x110 [4.804265] [] alloc_kmem_pages+0x19/0x90 [4.804268] [] kmalloc_order_trace+0x2e/0xe0 [4.804272] [] __kmalloc+0x232/0x260 [4.804277] [] init_tag_map+0x3d/0xc0 [4.804290] [] __blk_queue_init_tags+0x45/0x80 [4.804293] [] blk_init_tags+0x14/0x20 [4.804298] [] scsi_add_host_with_dma+0x80/0x300 [4.804305] [] qla1280_probe_one+0x683/0x9ef [qla1280] [4.804309] [] local_pci_probe+0x45/0xa0 [4.804312] [] pci_device_probe+0xfd/0x140 [4.804316] [] driver_probe_device+0x222/0x490 [4.804319] [] __driver_attach+0x84/0x90 [4.804321] [] ? driver_probe_device+0x490/0x490 [4.804324] [] bus_for_each_dev+0x6c/0xc0 [4.804326] [] driver_attach+0x1e/0x20 [4.804328] [] bus_add_driver+0x1eb/0x280 [4.804331] [] ? 0xa0015000 [4.804333] [] driver_register+0x60/0xe0 [4.804336] [] __pci_register_driver+0x4c/0x50 [4.804339] [] qla1280_init+0x1ce/0x1000 [qla1280] [4.804341] [] ? 0xa0015000 [4.804345] [] do_one_initcall+0xb3/0x200 [4.804348] [] ? kmem_cache_alloc_trace+0x196/0x210 [4.804352] [] ? do_init_module+0x27/0x1cb [4.804354] [] do_init_module+0x5f/0x1cb [4.804358] [] load_module+0x2040/0x2680 [4.804360] [] ? __symbol_put+0x60/0x60 [4.804363] [] SYSC_init_module+0x149/0x190 [4.804366] [] SyS_init_module+0xe/0x10 [4.804369] [] entry_SYSCALL_64_fastpath+0x12/0x71 [4.804371] ---[ end trace 0ea3b625f86705f7 ]--- [4.804581] qla1280: probe of :11:04.0 failed with error -12 This looks very similar to http://www.spinics.net/lists/linux-usb/msg136998.html which was fixed by 55ff8cfbc4e1 ("USB: uas: Reduce can_queue to MAX_CMNDS"). Does a similar fix need to be applied here? Thanks, Laura -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [BISECTED] WARNING: CPU: 2 PID: 142 at block/genhd.c:626 add_disk+0x480/0x4e0()
On 12/09/2015 10:52 PM, Hannes Reinecke wrote: There's a patchset to update the ALUA handler in Martin Petersens tree which should help here; most notably the commit 'scsi: ignore errors from scsi_dh_add_device()' should fix this particular issue. Yep, that fixed it. Thanks. Cheers, Hannes -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[BISECTED] WARNING: CPU: 2 PID: 142 at block/genhd.c:626 add_disk+0x480/0x4e0()
Hi, We received a report (https://bugzilla.redhat.com/show_bug.cgi?id=1288687) that live images with the rawhide kernel were failing to boot on USB sticks. Similar issues were reported when just inserting a USB stick into a boot from a CD instead of USB ("I see /dev/sdb, but no /dev/sdb1 etc." per the report) I reduced the test scenario to: 1) insert scsi_dh_alua module 2) insert Live USB drive which gives [ 125.107185] sd 6:0:0:0: alua: supports implicit and explicit TPGS [ 125.107778] sd 6:0:0:0: [sdb] 15634432 512-byte logical blocks: (8.00 GB/7.46 GiB) [ 125.107973] sd 6:0:0:0: alua: No target port descriptors found [ 125.107975] sd 6:0:0:0: alua: Attach failed (-22) [ 125.107978] sd 6:0:0:0: failed to add device handler: -22 [ 125.108462] sd 6:0:0:0: [sdb] Write Protect is off [ 125.108465] sd 6:0:0:0: [sdb] Mode Sense: 43 00 00 00 [ 125.108468] sd 6:0:0:0: [sdb] Asking for cache data failed [ 125.108469] sd 6:0:0:0: [sdb] Assuming drive cache: write through [ 125.109122] [ cut here ] [ 125.109127] WARNING: CPU: 2 PID: 142 at block/genhd.c:626 add_disk+0x480/0x4e0() [ 125.109128] Modules linked in: uas usb_storage scsi_dh_alua fuse xt_CHECKSUM ipt_MASQUERADE nf_nat_masquerade_ipv4 ccm tun nf_conntrack_netbios_ns nf_conntrack_broadcast ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack ebtable_filter ebtable_nat ebtable_broute bridge stp llc ebtables ip6table_raw ip6table_security ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_filter ip6_tables iptable_raw iptable_security iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle bnep snd_hda_codec_hdmi arc4 iwlmvm mac80211 i915 intel_rapl iosf_mbi x86_pkg_temp_thermal coretemp iwlwifi kvm_intel kvm snd_hda_codec_realtek uvcvideo snd_hda_codec_generic btusb snd_hda_intel btrtl videobuf2_vmalloc cfg80211 snd_hda_codec btbcm iTCO_wdt videobuf2_v4l2 [ 125.109164] btintel iTCO_vendor_support videobuf2_core irqbypass videobuf2_memops bluetooth v4l2_common snd_hda_core ghash_clmulni_intel videodev snd_hwdep snd_seq media pcspkr joydev snd_seq_device rtsx_pci_ms snd_pcm memstick thinkpad_acpi snd_timer mei_me snd i2c_algo_bit mei drm_kms_helper ie31200_edac rfkill tpm_tis edac_core shpchp soundcore tpm i2c_i801 lpc_ich wmi nfsd auth_rpcgss nfs_acl lockd grace sunrpc binfmt_misc dm_crypt hid_microsoft rtsx_pci_sdmmc mmc_core crct10dif_pclmul crc32_pclmul crc32c_intel serio_raw drm e1000e ptp rtsx_pci pps_core fjes video [ 125.109197] CPU: 2 PID: 142 Comm: kworker/u16:6 Tainted: G W 4.4.0-rc4-usbbadness-next-20151209+ #3 [ 125.109198] Hardware name: LENOVO 20BFS0EC00/20BFS0EC00, BIOS GMET62WW (2.10 ) 03/19/2014 [ 125.109202] Workqueue: events_unbound async_run_entry_fn [ 125.109204] 202f2ede 880402ccfc38 81434509 [ 125.109206] 880402ccfc70 810ad9c2 880407a1e000 [ 125.109208] 880407a1e0b0 880407a1e00c 880401e48ef0 8800c90d0600 [ 125.109211] Call Trace: [ 125.109214] [] dump_stack+0x4b/0x72 [ 125.109218] [] warn_slowpath_common+0x82/0xc0 [ 125.109220] [] warn_slowpath_null+0x1a/0x20 [ 125.109222] [] add_disk+0x480/0x4e0 [ 125.109225] [] sd_probe_async+0x115/0x1d0 [ 125.109227] [] async_run_entry_fn+0x4a/0x140 [ 125.109231] [] process_one_work+0x239/0x6b0 [ 125.109233] [] ? process_one_work+0x1a2/0x6b0 [ 125.109235] [] worker_thread+0x4e/0x490 [ 125.109237] [] ? process_one_work+0x6b0/0x6b0 [ 125.109238] [] kthread+0x101/0x120 [ 125.109242] [] ? trace_hardirqs_on_caller+0x129/0x1b0 [ 125.109243] [] ? kthread_create_on_node+0x250/0x250 [ 125.109247] [] ret_from_fork+0x3f/0x70 [ 125.109248] [] ? kthread_create_on_node+0x250/0x250 [ 125.109250] ---[ end trace d54b73ed8d1295d5 ]--- [ 125.109272] sd 6:0:0:0: [sdb] Attached SCSI removable disk and no partitions so the drive can't be mounted. Note the alua -EINVAL error is there even when the drive can be mounted so the warning and lack of partitions is the real indication of the problem. I did a bisect and came up with this as the first bad commit: commit 086b91d052ebe4ead5d28021afe3bdfd70af15bf Author: Christoph HellwigDate: Thu Aug 27 14:16:57 2015 +0200 scsi_dh: integrate into the core SCSI code Stop building scsi_dh as a separate module and integrate it fully into the core SCSI code with explicit callouts at bus scan time. For now the callouts are placed at the same point as the old bus notifiers were called, but in the future we will be able to look at ALUA INQUIRY data earlier on. Note that this also means that the device handler modules need to be loaded by the time we scan the bus. The next patches will add support for autoloading device handlers at bus scan time to make sure they are always loaded if they are enabled in the kernel config. Signed-off-by: Christoph Hellwig Reviewed-by: Martin K. Petersen Reviewed-by: Hannes Reinecke Acked-by:
[PATCH] scsi_dh: Use module_request_nowait
We recevied a bugzilla report: Additional info: reporter: libreport-2.6.3 WARNING: CPU: 3 PID: 10195 at kernel/kmod.c:140 __request_module+0x214/0x330() Modules linked in: uas usb_storage xfs libcrc32c vhost_net vhost macvtap macvlan bnep bluetooth pppoe pppox ppp_generic slhc xt_CHECKSUM ipt_MASQUERADE nf_nat_masquerade_ipv4 tun ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack ebtable_nat ebtable_filter ebtable_broute bridge ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_raw ip6table_security ip6table_mangle ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_raw iptable_security iptable_mangle vfat fat joydev snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_intel btrfs snd_hda_codec snd_hda_core snd_hwdep xor snd_seq raid6_pq intel_rapl iosf_mbi eeepc_wmi x86_pkg_temp_thermal coretemp iTCO_wdt iTCO_vendor_support kvm_intel snd_seq_device asus_wmi sparse_keymap snd_pcm rfkill mxm_wmi kvm crct10dif_pclmul snd_timer crc32_pclmul crc32c_intel snd mei_me mei i2c_i801 lpc_ich soundcore shpchp soc_button_array tpm_infineon tpm_tis tpm wmi nfsd auth_rpcgss nfs_acl lockd grace sunrpc 8021q garp stp llc mrp i915 i2c_algo_bit serio_raw drm_kms_helper e1000e drm ptp pps_core fjes video CPU: 3 PID: 10195 Comm: kworker/u16:2 Not tainted 4.3.0-0.rc6.git2.1.fc24.x86_64 #1 Hardware name: ASUS All Series/Z87-PLUS, BIOS 1207 07/01/2013 Workqueue: events_unbound async_run_entry_fn 59576eea 880227a67b58 81419a49 880227a67b90 810a9c12 81ce2ee5 0001 88003f587000 Call Trace: [] dump_stack+0x4b/0x72 [] warn_slowpath_common+0x82/0xc0 [] warn_slowpath_null+0x1a/0x20 [] __request_module+0x214/0x330 [] ? debug_lockdep_rcu_enabled+0x1d/0x20 [] scsi_dh_lookup+0x2e/0x40 [] scsi_dh_add_device+0xd0/0x100 [] scsi_sysfs_add_sdev+0xbe/0x2a0 [] ? __scsi_iterate_devices+0x66/0xd0 [] do_scan_async+0x12e/0x170 [] async_run_entry_fn+0x4a/0x140 [] process_one_work+0x230/0x6a0 [] ? process_one_work+0x199/0x6a0 [] worker_thread+0x4e/0x450 [] ? process_one_work+0x6a0/0x6a0 [] ? process_one_work+0x6a0/0x6a0 [] kthread+0x101/0x120 [] ? trace_hardirqs_on_caller+0x129/0x1b0 [] ? kthread_create_on_node+0x250/0x250 [] ret_from_fork+0x3f/0x70 [] ? kthread_create_on_node+0x250/0x250 The warning that is tripped is WARN_ON_ONCE(wait && current_is_async()); The module request is happening in an asynchronous thread but the request is waiting. Switch to request_module_nowait instead. Fixes: 566079c849cf ("dm-mpath, scsi_dh: request scsi_dh modules in scsi_dh, not dm-mpath") Reported-by: mustafa10...@gmail.com Signed-off-by: Laura Abbott <labb...@fedoraproject.org> --- Not actually tested, just an attempt at a patch from the backtrace --- drivers/scsi/scsi_dh.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/scsi_dh.c b/drivers/scsi/scsi_dh.c index 0a2168e..5c945b4 100644 --- a/drivers/scsi/scsi_dh.c +++ b/drivers/scsi/scsi_dh.c @@ -111,7 +111,7 @@ static struct scsi_device_handler *scsi_dh_lookup(const char *name) dh = __scsi_dh_lookup(name); if (!dh) { - request_module("scsi_dh_%s", name); + request_module_nowait("scsi_dh_%s", name); dh = __scsi_dh_lookup(name); } -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RESEND][PATCH 0/2] Cleanup asm/scatterlist.h
I haven't gotten many responses so I'm going to try sending again (this time with a cover letter which I probably should have done in the first place...) ARCH_HAS_SG_CHAIN is currently defined as needed in asm/scatterlist.h. It was suggested[1] that this should probably be a proper Kconfig. At the same time, we can clean up most of the asm/scatterlist.h files to reduce redundancy. This makes parisc the only architecture that still has an asm/scatterlist.h file due to the #define sg_virt_addr (which could probably be cleaned up further still) Andrew, once we get a few more Acked-bys can we take this through your tree as suggested by Will? Thanks, Laura [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-March/240435.html Laura Abbott (2): lib/scatterlist: Make ARCH_HAS_SG_CHAIN an actual Kconfig Cleanup useless architecture versions of scatterlist.h arch/alpha/include/asm/Kbuild | 1 + arch/alpha/include/asm/scatterlist.h | 6 -- arch/arm/Kconfig | 1 + arch/arm/include/asm/Kbuild | 1 + arch/arm/include/asm/scatterlist.h| 12 arch/arm64/Kconfig| 1 + arch/cris/include/asm/Kbuild | 1 + arch/cris/include/asm/scatterlist.h | 6 -- arch/frv/include/asm/Kbuild | 1 + arch/frv/include/asm/scatterlist.h| 6 -- arch/ia64/Kconfig | 1 + arch/ia64/include/asm/Kbuild | 1 + arch/ia64/include/asm/scatterlist.h | 7 --- arch/m32r/include/asm/Kbuild | 1 + arch/m32r/include/asm/scatterlist.h | 6 -- arch/microblaze/include/asm/Kbuild| 1 + arch/microblaze/include/asm/scatterlist.h | 1 - arch/mn10300/include/asm/Kbuild | 1 + arch/mn10300/include/asm/scatterlist.h| 16 arch/powerpc/Kconfig | 1 + arch/powerpc/include/asm/Kbuild | 1 + arch/powerpc/include/asm/scatterlist.h| 17 - arch/s390/Kconfig | 1 + arch/s390/include/asm/Kbuild | 1 + arch/s390/include/asm/scatterlist.h | 3 --- arch/score/include/asm/Kbuild | 2 +- arch/score/include/asm/scatterlist.h | 6 -- arch/sparc/Kconfig| 1 + arch/sparc/include/asm/Kbuild | 1 + arch/sparc/include/asm/scatterlist.h | 8 arch/x86/Kconfig | 1 + arch/x86/include/asm/Kbuild | 1 + arch/x86/include/asm/scatterlist.h| 8 include/linux/scatterlist.h | 2 +- include/scsi/scsi.h | 2 +- lib/Kconfig | 7 +++ lib/scatterlist.c | 4 ++-- 37 files changed, 31 insertions(+), 107 deletions(-) delete mode 100644 arch/alpha/include/asm/scatterlist.h delete mode 100644 arch/arm/include/asm/scatterlist.h delete mode 100644 arch/cris/include/asm/scatterlist.h delete mode 100644 arch/frv/include/asm/scatterlist.h delete mode 100644 arch/ia64/include/asm/scatterlist.h delete mode 100644 arch/m32r/include/asm/scatterlist.h delete mode 100644 arch/microblaze/include/asm/scatterlist.h delete mode 100644 arch/mn10300/include/asm/scatterlist.h delete mode 100644 arch/powerpc/include/asm/scatterlist.h delete mode 100644 arch/s390/include/asm/scatterlist.h delete mode 100644 arch/score/include/asm/scatterlist.h delete mode 100644 arch/sparc/include/asm/scatterlist.h delete mode 100644 arch/x86/include/asm/scatterlist.h -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RESEND][PATCH 1/2] lib/scatterlist: Make ARCH_HAS_SG_CHAIN an actual Kconfig
Rather than have architectures #define ARCH_HAS_SG_CHAIN in an architecture specific scatterlist.h, make it a proper Kconfig option and use that instead. At same time, remove the header files are are now mostly useless and just include asm-generic/scatterlist.h. Cc: Russell King li...@arm.linux.org.uk Cc: Tony Luck tony.l...@intel.com Cc: Fenghua Yu fenghua...@intel.com Cc: Benjamin Herrenschmidt b...@kernel.crashing.org Cc: Paul Mackerras pau...@samba.org Cc: Ingo Molnar mi...@redhat.com Cc: H. Peter Anvin h...@zytor.com Cc: James E.J. Bottomley jbottom...@parallels.com Cc: Fenghua Yu fenghua...@intel.com Cc: Tony Luck tony.l...@intel.com Cc: Benjamin Herrenschmidt b...@kernel.crashing.org Cc: Paul Mackerras pau...@samba.org Cc: Martin Schwidefsky schwidef...@de.ibm.com Cc: Heiko Carstens heiko.carst...@de.ibm.com Cc: Andrew Morton a...@linux-foundation.org Signed-off-by: Laura Abbott lau...@codeaurora.org --- arch/arm/Kconfig | 1 + arch/arm/include/asm/Kbuild| 1 + arch/arm/include/asm/scatterlist.h | 12 arch/arm64/Kconfig | 1 + arch/ia64/Kconfig | 1 + arch/ia64/include/asm/Kbuild | 1 + arch/ia64/include/asm/scatterlist.h| 7 --- arch/powerpc/Kconfig | 1 + arch/powerpc/include/asm/Kbuild| 1 + arch/powerpc/include/asm/scatterlist.h | 17 - arch/s390/Kconfig | 1 + arch/s390/include/asm/Kbuild | 1 + arch/s390/include/asm/scatterlist.h| 3 --- arch/sparc/Kconfig | 1 + arch/sparc/include/asm/Kbuild | 1 + arch/sparc/include/asm/scatterlist.h | 8 arch/x86/Kconfig | 1 + arch/x86/include/asm/Kbuild| 1 + arch/x86/include/asm/scatterlist.h | 8 include/linux/scatterlist.h| 2 +- include/scsi/scsi.h| 2 +- lib/Kconfig| 7 +++ lib/scatterlist.c | 4 ++-- 23 files changed, 24 insertions(+), 59 deletions(-) delete mode 100644 arch/arm/include/asm/scatterlist.h delete mode 100644 arch/ia64/include/asm/scatterlist.h delete mode 100644 arch/powerpc/include/asm/scatterlist.h delete mode 100644 arch/s390/include/asm/scatterlist.h delete mode 100644 arch/sparc/include/asm/scatterlist.h delete mode 100644 arch/x86/include/asm/scatterlist.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1594945..8122294 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -82,6 +82,7 @@ config ARM http://www.arm.linux.org.uk/. config ARM_HAS_SG_CHAIN + select ARCH_HAS_SG_CHAIN bool config NEED_SG_DMA_LENGTH diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild index 3278afe..2357ed6 100644 --- a/arch/arm/include/asm/Kbuild +++ b/arch/arm/include/asm/Kbuild @@ -18,6 +18,7 @@ generic-y += param.h generic-y += parport.h generic-y += poll.h generic-y += resource.h +generic-y += scatterlist.h generic-y += sections.h generic-y += segment.h generic-y += sembuf.h diff --git a/arch/arm/include/asm/scatterlist.h b/arch/arm/include/asm/scatterlist.h deleted file mode 100644 index cefdb8f..000 --- a/arch/arm/include/asm/scatterlist.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _ASMARM_SCATTERLIST_H -#define _ASMARM_SCATTERLIST_H - -#ifdef CONFIG_ARM_HAS_SG_CHAIN -#define ARCH_HAS_SG_CHAIN -#endif - -#include asm/memory.h -#include asm/types.h -#include asm-generic/scatterlist.h - -#endif /* _ASMARM_SCATTERLIST_H */ diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 27bbcfc..f2f95f4 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -2,6 +2,7 @@ config ARM64 def_bool y select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select ARCH_USE_CMPXCHG_LOCKREF + select ARCH_HAS_SG_CHAIN select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_COMPAT_IPC_PARSE_VERSION diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 0c8e553..13e2e8b 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -44,6 +44,7 @@ config IA64 select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA select ARCH_USE_CMPXCHG_LOCKREF + select ARCH_HAS_SG_CHAIN default y help The Itanium Processor Family is Intel's 64-bit successor to diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild index 283a831..3906865 100644 --- a/arch/ia64/include/asm/Kbuild +++ b/arch/ia64/include/asm/Kbuild @@ -2,6 +2,7 @@ generic-y += clkdev.h generic-y += exec.h generic-y += kvm_para.h +generic-y += scatterlist.h generic-y += trace_clock.h generic-y += preempt.h generic-y += vtime.h diff --git a/arch/ia64/include/asm/scatterlist.h b/arch/ia64/include/asm/scatterlist.h deleted file mode 100644 index 08fd93b..000 --- a/arch/ia64/include/asm
[PATCH 1/2] lib/scatterlist: Make ARCH_HAS_SG_CHAIN an actual Kconfig
Rather than have architectures #define ARCH_HAS_SG_CHAIN in an architecture specific scatterlist.h, make it a proper Kconfig option and use that instead. At same time, remove the header files are are now mostly useless and just include asm-generic/scatterlist.h. Cc: Russell King li...@arm.linux.org.uk Cc: Tony Luck tony.l...@intel.com Cc: Fenghua Yu fenghua...@intel.com Benjamin Herrenschmidt b...@kernel.crashing.org Paul Mackerras pau...@samba.org Signed-off-by: Laura Abbott lau...@codeaurora.org --- arch/arm/Kconfig | 1 + arch/arm/include/asm/Kbuild| 1 + arch/arm/include/asm/scatterlist.h | 12 arch/arm64/Kconfig | 1 + arch/ia64/Kconfig | 1 + arch/ia64/include/asm/Kbuild | 1 + arch/ia64/include/asm/scatterlist.h| 7 --- arch/powerpc/Kconfig | 1 + arch/powerpc/include/asm/Kbuild| 1 + arch/powerpc/include/asm/scatterlist.h | 17 - arch/s390/Kconfig | 1 + arch/s390/include/asm/Kbuild | 1 + arch/s390/include/asm/scatterlist.h| 3 --- arch/sparc/Kconfig | 1 + arch/sparc/include/asm/Kbuild | 1 + arch/sparc/include/asm/scatterlist.h | 8 arch/x86/Kconfig | 1 + arch/x86/include/asm/Kbuild| 1 + arch/x86/include/asm/scatterlist.h | 8 include/linux/scatterlist.h| 2 +- include/scsi/scsi.h| 2 +- lib/Kconfig| 7 +++ lib/scatterlist.c | 4 ++-- 23 files changed, 24 insertions(+), 59 deletions(-) delete mode 100644 arch/arm/include/asm/scatterlist.h delete mode 100644 arch/ia64/include/asm/scatterlist.h delete mode 100644 arch/powerpc/include/asm/scatterlist.h delete mode 100644 arch/s390/include/asm/scatterlist.h delete mode 100644 arch/sparc/include/asm/scatterlist.h delete mode 100644 arch/x86/include/asm/scatterlist.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1594945..8122294 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -82,6 +82,7 @@ config ARM http://www.arm.linux.org.uk/. config ARM_HAS_SG_CHAIN + select ARCH_HAS_SG_CHAIN bool config NEED_SG_DMA_LENGTH diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild index 3278afe..2357ed6 100644 --- a/arch/arm/include/asm/Kbuild +++ b/arch/arm/include/asm/Kbuild @@ -18,6 +18,7 @@ generic-y += param.h generic-y += parport.h generic-y += poll.h generic-y += resource.h +generic-y += scatterlist.h generic-y += sections.h generic-y += segment.h generic-y += sembuf.h diff --git a/arch/arm/include/asm/scatterlist.h b/arch/arm/include/asm/scatterlist.h deleted file mode 100644 index cefdb8f..000 --- a/arch/arm/include/asm/scatterlist.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _ASMARM_SCATTERLIST_H -#define _ASMARM_SCATTERLIST_H - -#ifdef CONFIG_ARM_HAS_SG_CHAIN -#define ARCH_HAS_SG_CHAIN -#endif - -#include asm/memory.h -#include asm/types.h -#include asm-generic/scatterlist.h - -#endif /* _ASMARM_SCATTERLIST_H */ diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 27bbcfc..f2f95f4 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -2,6 +2,7 @@ config ARM64 def_bool y select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select ARCH_USE_CMPXCHG_LOCKREF + select ARCH_HAS_SG_CHAIN select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_COMPAT_IPC_PARSE_VERSION diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 0c8e553..13e2e8b 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -44,6 +44,7 @@ config IA64 select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA select ARCH_USE_CMPXCHG_LOCKREF + select ARCH_HAS_SG_CHAIN default y help The Itanium Processor Family is Intel's 64-bit successor to diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild index 283a831..3906865 100644 --- a/arch/ia64/include/asm/Kbuild +++ b/arch/ia64/include/asm/Kbuild @@ -2,6 +2,7 @@ generic-y += clkdev.h generic-y += exec.h generic-y += kvm_para.h +generic-y += scatterlist.h generic-y += trace_clock.h generic-y += preempt.h generic-y += vtime.h diff --git a/arch/ia64/include/asm/scatterlist.h b/arch/ia64/include/asm/scatterlist.h deleted file mode 100644 index 08fd93b..000 --- a/arch/ia64/include/asm/scatterlist.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _ASM_IA64_SCATTERLIST_H -#define _ASM_IA64_SCATTERLIST_H - -#include asm-generic/scatterlist.h -#define ARCH_HAS_SG_CHAIN - -#endif /* _ASM_IA64_SCATTERLIST_H */ diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 957bf34..659aee2 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -141,6 +141,7 @@ config PPC select HAVE_DEBUG_STACKOVERFLOW