> -----Original Message----- > From: Paolo Bonzini [mailto:pbonzini@xxxxxxxxxx] > Sent: Friday, September 25, 2015 7:15 PM > To: Wu, Feng; alex.williamson@xxxxxxxxxx; joro@xxxxxxxxxx; > mtosatti@xxxxxxxxxx > Cc: eric.auger@xxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; > iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: Re: [PATCH v9 00/18] Add VT-d Posted-Interrupts support - including > prerequisite series > > > > On 25/09/2015 03:49, Wu, Feng wrote: > > Hi Paolo, > > > > Thanks for your review on this series! I'd like to confirm this series (plus > > the patch fixing the compilation error) is okay to you and I don't need to > > do extra things for it, right? > > Yes, can you check if branch vtd-pi of > git://git.kernel.org/pub/scm/virt/kvm/kvm.git works for you? If so I'll > merge it. Thanks a lot for creating branch for vt-d pi. However, I cannot launch guests with this tree. I encountered the following kernel dump, and I find that the problematic commit is " 2260b1cde0b5472ab70ad0764b10095372e41913 " KVM: x86: put vcpu_create under kvm->srcu critical section This is needed in case vcpu_create wants to access the memslots array. Fixes this lockdep splat: After removing this commit from the tree, my VT-d patch-set works fine. Kernel dump: [ 221.978182] BUG: unable to handle kernel NULL pointer dereference at (null) [ 221.986085] IP: [<ffffffffc0368ab0>] kvm_arch_vcpu_create+0x30/0x90 [kvm] [ 221.993102] PGD 0 [ 221.995148] Oops: 0000 [#1] SMP [ 221.998440] Modules linked in: bnep rfcomm bluetooth ax88179_178a usbnet intel_rapl mii snd_hda_codec_hdmi iosf_mbi x86_pkg_temp_thermal nouveau intel_powerclamp snd_hda_intel snd_hda_codec coretemp kvm_intel snd_hda_core kvm snd_hwdep snd_pcm crct10dif_pclmul crc32_pclmul snd_seq_midi ghash_clmulni_intel mxm_wmi snd_seq_midi_event snd_rawmidi video snd_seq ttm aesni_intel aes_x86_64 lrw gf128mul drm_kms_helper snd_seq_device binfmt_misc snd_timer glue_helper ablk_helper drm cryptd fb_sys_fops snd syscopyarea sysfillrect sb_edac soundcore sysimgblt mei_me parport_pc edac_core ppdev mei shpchp lp lpc_ich mac_hid parport acpi_power_meter wmi ixgbe igb i2c_algo_bit hid_generic usbhid ptp ahci hid libahci pps_core mdio [ 222.063533] CPU: 4 PID: 3384 Comm: qemu-system-x86 Not tainted 4.3.0-rc1+ #6 [ 222.070612] Hardware name: Intel Corp. GRANGEVILLE/GRANTLEY, BIOS GNVDCRB1.86B.0020.V07.1409241147 09/24/2014 [ 222.080764] task: ffff88006e7c8000 ti: ffff8800714a8000 task.ti: ffff8800714a8000 [ 222.088283] RIP: 0010:[<ffffffffc0368ab0>] [<ffffffffc0368ab0>] kvm_arch_vcpu_create+0x30/0x90 [kvm] [ 222.097680] RSP: 0018:ffff8800714abde0 EFLAGS: 00010246 [ 222.103153] RAX: 0000000000000000 RBX: ffff88016f28c000 RCX: 0000000000000000 [ 222.110407] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88016f28c000 [ 222.117659] RBP: ffff8800714abdf8 R08: 0000000000000001 R09: 0000000000000040 [ 222.124824] R10: ffff880077e86438 R11: ffff880163e06880 R12: ffff88016f28c000 [ 222.132150] R13: 0000000000000000 R14: 000000000000ae41 R15: 0000000000000000 [ 222.139405] FS: 00007f43fd7ec700(0000) GS:ffff880178700000(0000) knlGS:0000000000000000 [ 222.147629] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 222.153471] CR2: 0000000000000000 CR3: 000000017074b000 CR4: 00000000003426e0 [ 222.160726] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 222.167979] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 222.175231] Stack: [ 222.177277] 0000000000000000 ffff88016f28c000 0000000000000000 ffff8800714abea0 [ 222.184870] ffffffffc0355b17 0000000000000008 ffff8800714abe28 ffffffff810aba32 [ 222.192444] ffff880178816e40 ffff8800714abe40 ffffffff810a4f44 ffff880178816e40 [ 222.200017] Call Trace: [ 222.202522] [<ffffffffc0355b17>] kvm_vm_ioctl+0x277/0x6e0 [kvm] [ 222.208633] [<ffffffff810aba32>] ? put_prev_task_fair+0x22/0x40 [ 222.214741] [<ffffffff810a4f44>] ? pick_next_task_idle+0x14/0x30 [ 222.220942] [<ffffffff811fb53a>] do_vfs_ioctl+0x2ba/0x490 [ 222.226523] [<ffffffff8106274a>] ? __do_page_fault+0x1ba/0x410 [ 222.232546] [<ffffffff811fb789>] SyS_ioctl+0x79/0x90 [ 222.237684] [<ffffffff81003ba5>] ? syscall_return_slowpath+0x55/0x150 [ 222.244323] [<ffffffff81791d36>] entry_SYSCALL_64_fastpath+0x16/0x75 [ 222.250869] Code: 55 48 89 e5 41 55 41 54 53 41 89 f5 48 89 fb e8 27 61 cb c0 85 c0 74 13 8b 83 f0 09 00 00 85 c0 74 09 80 3d 53 2e 04 00 00 74 40 <48> 8b 04 25 00 00 00 00 48 8d 78 48 e8 7f c4 d6 c0 41 89 c4 48 [ 222.270790] RIP [<ffffffffc0368ab0>] kvm_arch_vcpu_create+0x30/0x90 [kvm] [ 222.277813] RSP <ffff8800714abde0> [ 222.281359] CR2: 0000000000000000 [ 222.290421] ---[ end trace 957f5a39692fe6c7 ]--- root@feng-bdw-de-pi:~/workspace/tools# dmesg > ~/dmesg.log root@feng-bdw-de-pi:~/workspace/tools# vim ~/dmesg.log [ 221.998440] Modules linked in: bnep rfcomm bluetooth ax88179_178a usbnet intel_rapl mii snd_hda_codec_hdmi iosf_mbi x86_pkg_temp_thermal nouveau intel_powerclamp snd_hda_intel snd_hda_codec coretemp kvm_intel snd_hda_core kvm snd_hwdep snd_pcm crct10dif_pclmul crc32_pclmul snd_seq_midi ghash_clmulni_intel mxm_wmi snd_seq_midi_event snd_rawmidi video snd_seq ttm aesni_intel aes_x86_64 lrw gf128mul drm_kms_helper snd_seq_device binfmt_misc snd_timer glue_helper ablk_helper drm cryptd fb_sys_fops snd syscopyarea sysfillrect sb_edac soundcore sysimgblt mei_me parport_pc edac_core ppdev mei shpchp lp lpc_ich mac_hid parport acpi_power_meter wmi ixgbe igb i2c_algo_bit hid_generic usbhid ptp ahci hid libahci pps_core mdio [ 222.063533] CPU: 4 PID: 3384 Comm: qemu-system-x86 Not tainted 4.3.0-rc1+ #6 [ 222.070612] Hardware name: Intel Corp. GRANGEVILLE/GRANTLEY, BIOS GNVDCRB1.86B.0020.V07.1409241147 09/24/2014 [ 222.080764] task: ffff88006e7c8000 ti: ffff8800714a8000 task.ti: ffff8800714a8000 [ 222.088283] RIP: 0010:[<ffffffffc0368ab0>] [<ffffffffc0368ab0>] kvm_arch_vcpu_create+0x30/0x90 [kvm] [ 222.097680] RSP: 0018:ffff8800714abde0 EFLAGS: 00010246 [ 222.103153] RAX: 0000000000000000 RBX: ffff88016f28c000 RCX: 0000000000000000 [ 222.110407] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88016f28c000 [ 222.117659] RBP: ffff8800714abdf8 R08: 0000000000000001 R09: 0000000000000040 [ 222.124824] R10: ffff880077e86438 R11: ffff880163e06880 R12: ffff88016f28c000 [ 222.132150] R13: 0000000000000000 R14: 000000000000ae41 R15: 0000000000000000 [ 222.139405] FS: 00007f43fd7ec700(0000) GS:ffff880178700000(0000) knlGS:0000000000000000 [ 222.147629] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 222.153471] CR2: 0000000000000000 CR3: 000000017074b000 CR4: 00000000003426e0 [ 222.160726] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 222.167979] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 222.175231] Stack: [ 222.177277] 0000000000000000 ffff88016f28c000 0000000000000000 ffff8800714abea0 [ 222.184870] ffffffffc0355b17 0000000000000008 ffff8800714abe28 ffffffff810aba32 [ 222.192444] ffff880178816e40 ffff8800714abe40 ffffffff810a4f44 ffff880178816e40 [ 222.200017] Call Trace: [ 222.202522] [<ffffffffc0355b17>] kvm_vm_ioctl+0x277/0x6e0 [kvm] [ 222.208633] [<ffffffff810aba32>] ? put_prev_task_fair+0x22/0x40 [ 222.214741] [<ffffffff810a4f44>] ? pick_next_task_idle+0x14/0x30 [ 222.220942] [<ffffffff811fb53a>] do_vfs_ioctl+0x2ba/0x490 [ 222.226523] [<ffffffff8106274a>] ? __do_page_fault+0x1ba/0x410 [ 222.232546] [<ffffffff811fb789>] SyS_ioctl+0x79/0x90 [ 222.237684] [<ffffffff81003ba5>] ? syscall_return_slowpath+0x55/0x150 [ 222.244323] [<ffffffff81791d36>] entry_SYSCALL_64_fastpath+0x16/0x75 [ 222.250869] Code: 55 48 89 e5 41 55 41 54 53 41 89 f5 48 89 fb e8 27 61 cb c0 85 c0 74 13 8b 83 f0 09 00 00 85 c0 74 09 80 3d 53 2e 04 00 00 74 40 <48> 8b 04 25 00 00 00 00 48 8d 78 48 e8 7f c4 d6 c0 41 89 c4 48 [ 222.270790] RIP [<ffffffffc0368ab0>] kvm_arch_vcpu_create+0x30/0x90 [kvm] [ 222.277813] RSP <ffff8800714abde0> [ 222.281359] CR2: 0000000000000000 [ 222.290421] ---[ end trace 957f5a39692fe6c7 ]--- Thanks, Feng > > Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html