[PATCH v7] NVMe: conversion to blk-mq

Keith Busch keith.busch at intel.com
Tue Jun 10 08:51:42 PDT 2014


On Tue, 10 Jun 2014, Matias Bjørling wrote:
> This converts the current NVMe driver to utilize the blk-mq layer.
>

I'd like to run xfstests on this, but it is failing mkfs.xfs. I honestly
don't know much about this area, but I think this may be from the recent
chunk sectors patch causing a __bio_add_page to reject adding a new page.

[  762.968002] ------------[ cut here ]------------
[  762.973238] kernel BUG at fs/direct-io.c:753!
[  762.978189] invalid opcode: 0000 [#1] SMP
[  762.983003] Modules linked in: nvme parport_pc ppdev lp parport dlm sctp libcrc32c configfs nfsd auth_rpcgss oid_registry nfs_acl nfs lockd fscache sunrpc md4 hmac cifs bridge stp llc jfs joydev hid_generic usbhid hid loop md_mod x86_pkg_temp_thermal coretemp kvm_intel kvm iTCO_wdt iTCO_vendor_support crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd microcode pcspkr ehci_pci ehci_hcd usbcore lpc_ich ioatdma mfd_core usb_common acpi_cpufreq i2c_i801 evdev wmi tpm_tis ipmi_si tpm ipmi_msghandler processor thermal_sys button ext4 crc16 jbd2 mbcache dm_mod nbd sg sr_mod cdrom sd_mod crc_t10dif crct10dif_common isci libsas ahci igb libahci scsi_transport_sas ptp pps_core libata i2c_algo_bit i2c_core scsi_mod dca
[  763.066172] CPU: 0 PID: 12870 Comm: mkfs.xfs Not tainted 3.15.0-rc8+ #13
[  763.073735] Hardware name: Intel Corporation S2600GZ/S2600GZ, BIOS SE5C600.86B.02.02.0002.122320131210 12/23/2013
[  763.085290] task: ffff88042809c510 ti: ffff880423c58000 task.ti: ffff880423c58000
[  763.093728] RIP: 0010:[<ffffffff81142ddf>]  [<ffffffff81142ddf>] dio_send_cur_page+0xa1/0xa8
[  763.103325] RSP: 0018:ffff880423c5ba68  EFLAGS: 00010202
[  763.109333] RAX: 0000000000000001 RBX: ffff880423c5bbf8 RCX: 0000000000001000
[  763.117410] RDX: 0000000000000001 RSI: ffff88042e4c8f00 RDI: ffff8804274e7008
[  763.125487] RBP: ffff88042834b0c0 R08: 0000000000000000 R09: 0000000000000006
[  763.133569] R10: 0000000000000006 R11: ffff880423c5b8d0 R12: ffff880423c5bb90
[  763.141645] R13: 0000000000001000 R14: 0000000000000000 R15: 000000002e939002
[  763.149720] FS:  00007f6052596740(0000) GS:ffff88043f600000(0000) knlGS:0000000000000000
[  763.158891] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  763.165411] CR2: 0000000001a23000 CR3: 0000000420638000 CR4: 00000000000407f0
[  763.173495] Stack:
[  763.175848]  ffff880423c5bbf8 ffff88042834b0c0 ffffea000e530cc0 ffffffff81142e8e
[  763.184543]  ffff88042834b0c0 ffff880400000000 0000000000000006 ffff88042834b0c0
[  763.193245]  0000000000000008 ffffea000e530cc0 0000000000000000 0000000000000000
[  763.201949] Call Trace:
[  763.204793]  [<ffffffff81142e8e>] ? submit_page_section+0xa8/0x112
[  763.211809]  [<ffffffff8114388c>] ? do_blockdev_direct_IO+0x7da/0xad8
[  763.219124]  [<ffffffff810e74b8>] ? zone_statistics+0x46/0x79
[  763.225659]  [<ffffffff810d7766>] ? get_page_from_freelist+0x625/0x727
[  763.233064]  [<ffffffff811409b1>] ? I_BDEV+0x8/0x8
[  763.238516]  [<ffffffff81140cc5>] ? blkdev_direct_IO+0x52/0x57
[  763.245134]  [<ffffffff811409b1>] ? I_BDEV+0x8/0x8
[  763.250601]  [<ffffffff810d1749>] ? generic_file_direct_write+0xe2/0x145
[  763.258193]  [<ffffffff810d18ea>] ? __generic_file_aio_write+0x13e/0x225
[  763.265782]  [<ffffffff81140c00>] ? blkdev_aio_write+0x42/0xa6
[  763.272417]  [<ffffffff8111801a>] ? do_sync_write+0x50/0x73
[  763.278752]  [<ffffffff81118b36>] ? vfs_write+0x9f/0xfc
[  763.284706]  [<ffffffff81118f48>] ? SyS_pwrite64+0x66/0x8c
[  763.290952]  [<ffffffff8139fe12>] ? system_call_fastpath+0x16/0x1b
[  763.297958] Code: 89 ef e8 a0 fd ff ff 48 8b 53 78 49 8d 4c 24 30 48 89 de 48 89 ef e8 87 fc ff ff 85 c0 75 0e 48 89 df e8 17 ff ff ff 85 c0 74 cd <0f> 0b 5b 5d 41 5c c3 41 57 4d 89 cf 41 56 41 89 ce 41 55 45 89
[  763.324319] RIP  [<ffffffff81142ddf>] dio_send_cur_page+0xa1/0xa8
[  763.331311]  RSP <ffff880423c5ba68>
[  763.335359] ---[ end trace d57f8af6b5f01282 ]---


More information about the Linux-nvme mailing list