Michael S. Tsirkin
2021-Oct-23 20:03 UTC
[PATCH linux-next v4 0/8] vdpa: enable user to set mac, mtu
On Fri, Oct 22, 2021 at 03:07:32PM +0000, Parav Pandit wrote:> Hi Michael, > > > From: Michael S. Tsirkin <mst at redhat.com> > > Sent: Friday, October 22, 2021 4:11 PM > > > > On Thu, Oct 21, 2021 at 07:35:01PM +0300, Parav Pandit wrote: > > > Currently user cannot view the vdpa device config space. Also user > > > cannot set the mac address and mtu of the vdpa device. > > > This patchset enables users to set the mac address and mtu of the vdpa > > > device once the device is created. > > > If a vendor driver supports such configuration user can set it > > > otherwise user gets unsupported error. > > > > > > vdpa mac address and mtu are device configuration layout fields. > > > To keep interface generic enough for multiple types of vdpa devices, > > > mac address and mtu setting is implemented as configuration layout fields. > > > > > > So I got lots of "sha1 is lacking or useless" warnings with this. > > I did my best to merge but please check out the result in linux-next. > > > I was able to test vdpasim_net on one system with rebase code with these patches. > On 2nd system I started verifying mlx5 vdpa. > System has mlx5 vdpa and virtio blk devices. > After rebase, I hit the below crash at system boot time on virtio blk device. > > I have some internal issues in accessing crashed system, unable to proceed to verify it. > However, the crash doesn't seems to occur due to this patches, as its happening on virtio blk dev (non vdpa based blk dev). > > [ 1.238098] virtio_blk virtio0: [vda] 73400320 512-byte logical blocks (37.6 GB/35.0 GiB) > [ 1.240177] BUG: unable to handle page fault for address: 00000000fffedbeb > [ 1.240973] #PF: supervisor write access in kernel mode > [ 1.241590] #PF: error_code(0x0002) - not-present page > [ 1.242202] PGD 0 P4D 0 > [ 1.242559] Oops: 0002 [#1] SMP NOPTI > [ 1.243023] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.15.0-rc6-vdpa-mac+ #7 > [ 1.243559] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 > [ 1.243559] RIP: 0010:virtqueue_add_sgs+0x9e2/0xe50 > [ 1.243559] Code: 0e 41 89 4d 40 49 8b 4d 78 48 89 1c 11 48 8b 5c 24 08 49 8b 4d 78 48 89 5c 11 08 49 8b 95 b0 00 00 00 48 85 d2 74 06 8b 1c 24 <89> 1c 82 41 8b 45 50 0f b7 5c 24 10 49 8b 55 60 83 e8 01 66 41 23 > [ 1.243559] RSP: 0000:ffff88810092b5a8 EFLAGS: 00010006 > [ 1.243559] RAX: 0000000000000000 RBX: 0000000000001001 RCX: ffff888104f91000 > [ 1.243559] RDX: 00000000fffedbeb RSI: 0000000000000000 RDI: 0000000000000004 > [ 1.243559] RBP: 0000000000000003 R08: 0000000000000004 R09: ffffffff8289920c > [ 1.243559] R10: 0000000000000003 R11: 0000000000000001 R12: 0000000000000030 > [ 1.243559] R13: ffff88810547ef00 R14: 0000000000000001 R15: 0000000000000000 > [ 1.243559] FS: 0000000000000000(0000) GS:ffff88846fa00000(0000) knlGS:0000000000000000 > [ 1.243559] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > [ 1.243559] CR2: 00000000fffedbeb CR3: 0000000002612001 CR4: 0000000000370eb0 > [ 1.243559] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > [ 1.243559] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 > [ 1.243559] Call Trace: > [ 1.243559] virtio_queue_rq+0x1e4/0x5f0 > [ 1.243559] __blk_mq_try_issue_directly+0x138/0x1e0 > [ 1.243559] blk_mq_try_issue_directly+0x47/0xa0 > [ 1.243559] blk_mq_submit_bio+0x5af/0x890 > [ 1.243559] __submit_bio+0x2af/0x2e0 > [ 1.243559] ? create_page_buffers+0x55/0x70 > [ 1.243559] submit_bio_noacct+0x26c/0x2d0 > [ 1.243559] submit_bh_wbc.isra.0+0x122/0x150 > [ 1.243559] block_read_full_page+0x2f7/0x3f0 > [ 1.243559] ? blkdev_direct_IO+0x4b0/0x4b0 > [ 1.243559] ? lru_cache_add+0xcf/0x150 > [ 1.243559] do_read_cache_page+0x4f2/0x6a0 > [ 1.243559] ? lockdep_hardirqs_on_prepare+0xe4/0x190 > [ 1.243559] read_part_sector+0x39/0xd0 > [ 1.243559] read_lba+0xca/0x140 > [ 1.243559] efi_partition+0xe6/0x770 > [ 1.243559] ? snprintf+0x49/0x60 > [ 1.243559] ? is_gpt_valid.part.0+0x420/0x420 > [ 1.243559] bdev_disk_changed+0x21c/0x4a0 > [ 1.243559] blkdev_get_whole+0x76/0x90 > [ 1.243559] blkdev_get_by_dev+0xd4/0x2c0 > [ 1.243559] device_add_disk+0x351/0x390 > [ 1.243559] virtblk_probe+0x804/0xa40 > [ 1.243559] ? ncpus_cmp_func+0x10/0x10 > [ 1.243559] virtio_dev_probe+0x155/0x250 > [ 1.243559] really_probe+0xdb/0x3b0 > [ 1.243559] __driver_probe_device+0x8c/0x180 > [ 1.243559] driver_probe_device+0x1e/0xa0 > [ 1.243559] __driver_attach+0xaa/0x160 > [ 1.243559] ? __device_attach_driver+0x110/0x110 > [ 1.243559] ? __device_attach_driver+0x110/0x110 > [ 1.243559] bus_for_each_dev+0x7a/0xc0 > [ 1.243559] bus_add_driver+0x198/0x200 > [ 1.243559] driver_register+0x6c/0xc0 > [ 1.243559] ? loop_init+0x149/0x149 > [ 1.243559] init+0x52/0x7d > [ 1.243559] do_one_initcall+0x63/0x300 > [ 1.243559] ? rcu_read_lock_sched_held+0x5d/0x90 > [ 1.243559] kernel_init_freeable+0x26a/0x2b2 > [ 1.243559] ? rest_init+0x2e0/0x2e0 > [ 1.243559] kernel_init+0x17/0x130 > [ 1.243559] ? rest_init+0x2e0/0x2e0 > [ 1.243559] ret_from_fork+0x1f/0x30 > [ 1.243559] Modules linked in: > [ 1.243559] CR2: 00000000fffedbebThanks for the report. Parav, could you help bisect this please? I also pushed out a new head with some patches dropped. Could you test that maybe? Thanks! -- MST
Michael S. Tsirkin
2021-Oct-23 21:15 UTC
[PATCH linux-next v4 0/8] vdpa: enable user to set mac, mtu
On Sat, Oct 23, 2021 at 04:03:12PM -0400, Michael S. Tsirkin wrote:> On Fri, Oct 22, 2021 at 03:07:32PM +0000, Parav Pandit wrote: > > Hi Michael, > > > > > From: Michael S. Tsirkin <mst at redhat.com> > > > Sent: Friday, October 22, 2021 4:11 PM > > > > > > On Thu, Oct 21, 2021 at 07:35:01PM +0300, Parav Pandit wrote: > > > > Currently user cannot view the vdpa device config space. Also user > > > > cannot set the mac address and mtu of the vdpa device. > > > > This patchset enables users to set the mac address and mtu of the vdpa > > > > device once the device is created. > > > > If a vendor driver supports such configuration user can set it > > > > otherwise user gets unsupported error. > > > > > > > > vdpa mac address and mtu are device configuration layout fields. > > > > To keep interface generic enough for multiple types of vdpa devices, > > > > mac address and mtu setting is implemented as configuration layout fields. > > > > > > > > > So I got lots of "sha1 is lacking or useless" warnings with this. > > > I did my best to merge but please check out the result in linux-next. > > > > > I was able to test vdpasim_net on one system with rebase code with these patches. > > On 2nd system I started verifying mlx5 vdpa. > > System has mlx5 vdpa and virtio blk devices. > > After rebase, I hit the below crash at system boot time on virtio blk device. > > > > I have some internal issues in accessing crashed system, unable to proceed to verify it. > > However, the crash doesn't seems to occur due to this patches, as its happening on virtio blk dev (non vdpa based blk dev). > > > > [ 1.238098] virtio_blk virtio0: [vda] 73400320 512-byte logical blocks (37.6 GB/35.0 GiB) > > [ 1.240177] BUG: unable to handle page fault for address: 00000000fffedbeb > > [ 1.240973] #PF: supervisor write access in kernel mode > > [ 1.241590] #PF: error_code(0x0002) - not-present page > > [ 1.242202] PGD 0 P4D 0 > > [ 1.242559] Oops: 0002 [#1] SMP NOPTI > > [ 1.243023] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.15.0-rc6-vdpa-mac+ #7 > > [ 1.243559] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 > > [ 1.243559] RIP: 0010:virtqueue_add_sgs+0x9e2/0xe50 > > [ 1.243559] Code: 0e 41 89 4d 40 49 8b 4d 78 48 89 1c 11 48 8b 5c 24 08 49 8b 4d 78 48 89 5c 11 08 49 8b 95 b0 00 00 00 48 85 d2 74 06 8b 1c 24 <89> 1c 82 41 8b 45 50 0f b7 5c 24 10 49 8b 55 60 83 e8 01 66 41 23 > > [ 1.243559] RSP: 0000:ffff88810092b5a8 EFLAGS: 00010006 > > [ 1.243559] RAX: 0000000000000000 RBX: 0000000000001001 RCX: ffff888104f91000 > > [ 1.243559] RDX: 00000000fffedbeb RSI: 0000000000000000 RDI: 0000000000000004 > > [ 1.243559] RBP: 0000000000000003 R08: 0000000000000004 R09: ffffffff8289920c > > [ 1.243559] R10: 0000000000000003 R11: 0000000000000001 R12: 0000000000000030 > > [ 1.243559] R13: ffff88810547ef00 R14: 0000000000000001 R15: 0000000000000000 > > [ 1.243559] FS: 0000000000000000(0000) GS:ffff88846fa00000(0000) knlGS:0000000000000000 > > [ 1.243559] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > [ 1.243559] CR2: 00000000fffedbeb CR3: 0000000002612001 CR4: 0000000000370eb0 > > [ 1.243559] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > > [ 1.243559] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 > > [ 1.243559] Call Trace: > > [ 1.243559] virtio_queue_rq+0x1e4/0x5f0 > > [ 1.243559] __blk_mq_try_issue_directly+0x138/0x1e0 > > [ 1.243559] blk_mq_try_issue_directly+0x47/0xa0 > > [ 1.243559] blk_mq_submit_bio+0x5af/0x890 > > [ 1.243559] __submit_bio+0x2af/0x2e0 > > [ 1.243559] ? create_page_buffers+0x55/0x70 > > [ 1.243559] submit_bio_noacct+0x26c/0x2d0 > > [ 1.243559] submit_bh_wbc.isra.0+0x122/0x150 > > [ 1.243559] block_read_full_page+0x2f7/0x3f0 > > [ 1.243559] ? blkdev_direct_IO+0x4b0/0x4b0 > > [ 1.243559] ? lru_cache_add+0xcf/0x150 > > [ 1.243559] do_read_cache_page+0x4f2/0x6a0 > > [ 1.243559] ? lockdep_hardirqs_on_prepare+0xe4/0x190 > > [ 1.243559] read_part_sector+0x39/0xd0 > > [ 1.243559] read_lba+0xca/0x140 > > [ 1.243559] efi_partition+0xe6/0x770 > > [ 1.243559] ? snprintf+0x49/0x60 > > [ 1.243559] ? is_gpt_valid.part.0+0x420/0x420 > > [ 1.243559] bdev_disk_changed+0x21c/0x4a0 > > [ 1.243559] blkdev_get_whole+0x76/0x90 > > [ 1.243559] blkdev_get_by_dev+0xd4/0x2c0 > > [ 1.243559] device_add_disk+0x351/0x390 > > [ 1.243559] virtblk_probe+0x804/0xa40 > > [ 1.243559] ? ncpus_cmp_func+0x10/0x10 > > [ 1.243559] virtio_dev_probe+0x155/0x250 > > [ 1.243559] really_probe+0xdb/0x3b0 > > [ 1.243559] __driver_probe_device+0x8c/0x180 > > [ 1.243559] driver_probe_device+0x1e/0xa0 > > [ 1.243559] __driver_attach+0xaa/0x160 > > [ 1.243559] ? __device_attach_driver+0x110/0x110 > > [ 1.243559] ? __device_attach_driver+0x110/0x110 > > [ 1.243559] bus_for_each_dev+0x7a/0xc0 > > [ 1.243559] bus_add_driver+0x198/0x200 > > [ 1.243559] driver_register+0x6c/0xc0 > > [ 1.243559] ? loop_init+0x149/0x149 > > [ 1.243559] init+0x52/0x7d > > [ 1.243559] do_one_initcall+0x63/0x300 > > [ 1.243559] ? rcu_read_lock_sched_held+0x5d/0x90 > > [ 1.243559] kernel_init_freeable+0x26a/0x2b2 > > [ 1.243559] ? rest_init+0x2e0/0x2e0 > > [ 1.243559] kernel_init+0x17/0x130 > > [ 1.243559] ? rest_init+0x2e0/0x2e0 > > [ 1.243559] ret_from_fork+0x1f/0x30 > > [ 1.243559] Modules linked in: > > [ 1.243559] CR2: 00000000fffedbeb > > Thanks for the report. Parav, could you help bisect this please? > I also pushed out a new head with some patches dropped. > Could you test that maybe? > > Thanks!OK I think it's due to Jason's change to virtio blk. I dropped that patch for now. Could you try again with the new head please?> -- > MST