From: Deepak Sharma deepak.sharma@amd.com
Modify vgem_init to take platform dev as parent in drm_dev_init. This will make drm device available at "/sys/devices/platform/vgem" in x86 chromebook.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Signed-off-by: Deepak Sharma deepak.sharma@amd.com Reviewed-by: Sean Paul seanpaul@chromium.org Signed-off-by: Emil Velikov emil.velikov@collabora.com --- drivers/gpu/drm/vgem/vgem_drv.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c index 2524ff116f00..636ce32fa945 100644 --- a/drivers/gpu/drm/vgem/vgem_drv.c +++ b/drivers/gpu/drm/vgem/vgem_drv.c @@ -472,31 +472,30 @@ static int __init vgem_init(void) if (!vgem_device) return -ENOMEM;
- ret = drm_dev_init(&vgem_device->drm, &vgem_driver, NULL); - if (ret) - goto out_free; - vgem_device->platform = platform_device_register_simple("vgem", -1, NULL, 0); if (IS_ERR(vgem_device->platform)) { ret = PTR_ERR(vgem_device->platform); - goto out_fini; + goto out_free; }
dma_coerce_mask_and_coherent(&vgem_device->platform->dev, DMA_BIT_MASK(64)); + ret = drm_dev_init(&vgem_device->drm, &vgem_driver, &vgem_device->platform->dev); + if (ret) + goto out_unregister;
/* Final step: expose the device/driver to userspace */ ret = drm_dev_register(&vgem_device->drm, 0); if (ret) - goto out_unregister; + goto out_fini;
return 0;
-out_unregister: - platform_device_unregister(vgem_device->platform); out_fini: drm_dev_fini(&vgem_device->drm); +out_unregister: + platform_device_unregister(vgem_device->platform); out_free: kfree(vgem_device); return ret;
From: Emil Velikov emil.velikov@collabora.com
Previous commit removed the only reason why we were allowing NULL as a parent device. With that resolved, we can enforce nobody else does that mistake.
With that we can drop the ugly drm_dev_set_unique workaround.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Deepak Sharma deepak.sharma@amd.com Signed-off-by: Emil Velikov emil.velikov@collabora.com --- drivers/gpu/drm/drm_drv.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index a1b9338736e3..88da984ff9eb 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -432,8 +432,6 @@ static void drm_fs_inode_free(struct inode *inode) * The initial ref-count of the object is 1. Use drm_dev_get() and * drm_dev_put() to take and drop further ref-counts. * - * Note that for purely virtual devices @parent can be NULL. - * * Drivers that do not want to allocate their own device struct * embedding &struct drm_device can call drm_dev_alloc() instead. For drivers * that do embed &struct drm_device it must be placed first in the overall @@ -458,6 +456,8 @@ int drm_dev_init(struct drm_device *dev, return -ENODEV; }
+ BUG_ON(parent == NULL); + kref_init(&dev->ref); dev->dev = parent; dev->driver = driver; @@ -506,9 +506,7 @@ int drm_dev_init(struct drm_device *dev, } }
- /* Use the parent device name as DRM device unique identifier, but fall - * back to the driver name for virtual devices like vgem. */ - ret = drm_dev_set_unique(dev, parent ? dev_name(parent) : driver->name); + ret = drm_dev_set_unique(dev, dev_name(parent)); if (ret) goto err_setunique;
On Wed, Mar 28, 2018 at 02:24:49AM +0100, Emil Velikov wrote:
From: Emil Velikov emil.velikov@collabora.com
Previous commit removed the only reason why we were allowing NULL as a parent device. With that resolved, we can enforce nobody else does that mistake.
With that we can drop the ugly drm_dev_set_unique workaround.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Deepak Sharma deepak.sharma@amd.com Signed-off-by: Emil Velikov emil.velikov@collabora.com
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_drv.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index a1b9338736e3..88da984ff9eb 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -432,8 +432,6 @@ static void drm_fs_inode_free(struct inode *inode)
- The initial ref-count of the object is 1. Use drm_dev_get() and
- drm_dev_put() to take and drop further ref-counts.
- Note that for purely virtual devices @parent can be NULL.
- Drivers that do not want to allocate their own device struct
- embedding &struct drm_device can call drm_dev_alloc() instead. For drivers
- that do embed &struct drm_device it must be placed first in the overall
@@ -458,6 +456,8 @@ int drm_dev_init(struct drm_device *dev, return -ENODEV; }
- BUG_ON(parent == NULL);
- kref_init(&dev->ref); dev->dev = parent; dev->driver = driver;
@@ -506,9 +506,7 @@ int drm_dev_init(struct drm_device *dev, } }
- /* Use the parent device name as DRM device unique identifier, but fall
* back to the driver name for virtual devices like vgem. */
- ret = drm_dev_set_unique(dev, parent ? dev_name(parent) : driver->name);
- ret = drm_dev_set_unique(dev, dev_name(parent)); if (ret) goto err_setunique;
-- 2.16.0
From: Emil Velikov emil.velikov@collabora.com
Ealier commit a325725633c26aa66ab940f762a6b0778edf76c0 did not attribute that virtio can be either PCI or a platform device and removed the .set_busid hook. Whereas only the "platform" instance should have been removed.
Since then, two things have happened: - the driver manually calls drm_dev_set_unique, addressing the Xserver regression - see commit 9785b4321b0bd701f8d21d3d3c676a7739a5cf22 - core itself calls drm_pci_set_busid, on drm_set_busid IOCTL setting the busid, so we don't need to fallback to dev->unique - see commit 5c484cee7ef9c4fd29fa0ba09640d55960977145
With that in place we can remove the local workaround.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Gerd Hoffmann kraxel@redhat.com Cc: Hans de Goede hdegoede@redhat.com Cc: Laszlo Ersek lersek@redhat.com Signed-off-by: Emil Velikov emil.velikov@collabora.com --- Gents, can someone double-check this please? Just in case. --- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 7 ------- 1 file changed, 7 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..19fd7c661b8a 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -62,7 +62,6 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) struct pci_dev *pdev = to_pci_dev(vdev->dev.parent); const char *pname = dev_name(&pdev->dev); bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; - char unique[20];
DRM_INFO("pci: %s detected at %s\n", vga ? "virtio-vga" : "virtio-gpu-pci", @@ -70,12 +69,6 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) dev->pdev = pdev; if (vga) virtio_pci_kick_out_firmware_fb(pdev); - - snprintf(unique, sizeof(unique), "pci:%s", pname); - ret = drm_dev_set_unique(dev, unique); - if (ret) - goto err_free; - }
ret = drm_dev_register(dev, 0);
On Wed, Mar 28, 2018 at 02:24:50AM +0100, Emil Velikov wrote:
From: Emil Velikov emil.velikov@collabora.com
Ealier commit a325725633c26aa66ab940f762a6b0778edf76c0 did not attribute that virtio can be either PCI or a platform device and removed the .set_busid hook. Whereas only the "platform" instance should have been removed.
Since then, two things have happened:
- the driver manually calls drm_dev_set_unique, addressing the Xserver
regression - see commit 9785b4321b0bd701f8d21d3d3c676a7739a5cf22
- core itself calls drm_pci_set_busid, on drm_set_busid IOCTL setting
the busid, so we don't need to fallback to dev->unique - see commit 5c484cee7ef9c4fd29fa0ba09640d55960977145
With that in place we can remove the local workaround.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Gerd Hoffmann kraxel@redhat.com Cc: Hans de Goede hdegoede@redhat.com Cc: Laszlo Ersek lersek@redhat.com Signed-off-by: Emil Velikov emil.velikov@collabora.com
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
Gents, can someone double-check this please? Just in case.
drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 7 ------- 1 file changed, 7 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..19fd7c661b8a 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -62,7 +62,6 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) struct pci_dev *pdev = to_pci_dev(vdev->dev.parent); const char *pname = dev_name(&pdev->dev); bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA;
char unique[20];
DRM_INFO("pci: %s detected at %s\n", vga ? "virtio-vga" : "virtio-gpu-pci",
@@ -70,12 +69,6 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) dev->pdev = pdev; if (vga) virtio_pci_kick_out_firmware_fb(pdev);
snprintf(unique, sizeof(unique), "pci:%s", pname);
ret = drm_dev_set_unique(dev, unique);
if (ret)
goto err_free;
}
ret = drm_dev_register(dev, 0);
-- 2.16.0
On 03/28/18 03:24, Emil Velikov wrote:
From: Emil Velikov emil.velikov@collabora.com
Ealier commit a325725633c26aa66ab940f762a6b0778edf76c0 did not attribute that virtio can be either PCI or a platform device and removed the .set_busid hook. Whereas only the "platform" instance should have been removed.
Since then, two things have happened:
- the driver manually calls drm_dev_set_unique, addressing the Xserver
regression - see commit 9785b4321b0bd701f8d21d3d3c676a7739a5cf22
- core itself calls drm_pci_set_busid, on drm_set_busid IOCTL setting
the busid, so we don't need to fallback to dev->unique - see commit 5c484cee7ef9c4fd29fa0ba09640d55960977145
With that in place we can remove the local workaround.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Gerd Hoffmann kraxel@redhat.com Cc: Hans de Goede hdegoede@redhat.com Cc: Laszlo Ersek lersek@redhat.com Signed-off-by: Emil Velikov emil.velikov@collabora.com
Gents, can someone double-check this please? Just in case.
I guess I should test whether this series regresses the use case described in c2cbc38b97; is that correct?
I can add that to my todo list, but it won't be quick. I get into building kernels maybe once per quarter :)
What repo and branch should I apply this series on top of? ... Actually, I was only CC'd on patch 3/4, so I don't even have the full series. Do you have a public branch somewhere?
(If this would mean too much work for you, esp. considering that I'm going to be slow, feel free to go ahead with the patch. Should I find later that something broke, I'll whine then. :) )
Thanks! Laszlo
drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 7 ------- 1 file changed, 7 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..19fd7c661b8a 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -62,7 +62,6 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) struct pci_dev *pdev = to_pci_dev(vdev->dev.parent); const char *pname = dev_name(&pdev->dev); bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA;
char unique[20];
DRM_INFO("pci: %s detected at %s\n", vga ? "virtio-vga" : "virtio-gpu-pci",
@@ -70,12 +69,6 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) dev->pdev = pdev; if (vga) virtio_pci_kick_out_firmware_fb(pdev);
snprintf(unique, sizeof(unique), "pci:%s", pname);
ret = drm_dev_set_unique(dev, unique);
if (ret)
goto err_free;
}
ret = drm_dev_register(dev, 0);
Hi Laszlo,
On 28 March 2018 at 11:27, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 03:24, Emil Velikov wrote:
From: Emil Velikov emil.velikov@collabora.com
Ealier commit a325725633c26aa66ab940f762a6b0778edf76c0 did not attribute that virtio can be either PCI or a platform device and removed the .set_busid hook. Whereas only the "platform" instance should have been removed.
Since then, two things have happened:
- the driver manually calls drm_dev_set_unique, addressing the Xserver
regression - see commit 9785b4321b0bd701f8d21d3d3c676a7739a5cf22
- core itself calls drm_pci_set_busid, on drm_set_busid IOCTL setting
the busid, so we don't need to fallback to dev->unique - see commit 5c484cee7ef9c4fd29fa0ba09640d55960977145
With that in place we can remove the local workaround.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Gerd Hoffmann kraxel@redhat.com Cc: Hans de Goede hdegoede@redhat.com Cc: Laszlo Ersek lersek@redhat.com Signed-off-by: Emil Velikov emil.velikov@collabora.com
Gents, can someone double-check this please? Just in case.
I guess I should test whether this series regresses the use case described in c2cbc38b97; is that correct?
Precisely.
I can add that to my todo list, but it won't be quick. I get into building kernels maybe once per quarter :)
What repo and branch should I apply this series on top of? ... Actually, I was only CC'd on patch 3/4, so I don't even have the full series. Do you have a public branch somewhere?
In practise only 3/4 is needed applied on top of any tree that has the commits mentioned in the summary.
FWIW here is a patchwork series [1], just this patch [2] and a tree [3].
[1] https://patchwork.freedesktop.org/series/40778/ [2] https://patchwork.freedesktop.org/patch/213335/ [3] https://github.com/evelikov/linux/commits/ioctl-cleanups
(If this would mean too much work for you, esp. considering that I'm going to be slow, feel free to go ahead with the patch. Should I find later that something broke, I'll whine then. :) )
The original patch that caused breakage was tested, yet seemingly in a different manner. Hence, I'd love it, if anyone who had the original problem can can give this a try.
I guess it can wait 1-2 weeks before getting merged, since it won't cause any conflicts ;-)
Thanks! Emil
On 03/28/18 16:35, Emil Velikov wrote:
On 28 March 2018 at 11:27, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 03:24, Emil Velikov wrote:
Gents, can someone double-check this please? Just in case.
I guess I should test whether this series regresses the use case described in c2cbc38b97; is that correct?
Precisely.
[3] https://github.com/evelikov/linux/commits/ioctl-cleanups
Unfortunately, this series seems to reintroduce the regression fixed / described earlier in commit c2cbc38b97.
Here's what I did today:
(1) Used an up-to-date Fedora 27 VM (kernel 4.15.12-301.fc27.x86_64), with a virtio-gpu display device in the VM config.
(2) Fetched your tree at [3].
(3) Seeded ".config" from Fedora's "config-4.15.12-301.fc27.x86_64" and built the kernel with "make binrpm-pkg". This was at:
v4.16-rc1-1531-gbefdaafe8b00
For all config related questions asked by "make", I just accepted the defaults.
(4) Installed the RPM in the VM and booted it. X didn't come up. I logged in via ssh and saved "dmesg" and "Xorg.0.log".
(5) Without touching .config, I checked out the "baseline" of your series, namely:
v4.16-rc1-1527-ga7d2a87e99de
Built the kernel again with "make binrpm-pkg".
(6) In the VM I uninstalled the kernel from (3) and installed the one from (5). X came up successfully. I again saved "dmesg" and "Xorg.0.log".
Now I don't know if the dri-devel mailing list strips attachments from emails. I surely won't paste four large text files (without boundaries between them) when what you'll likely want to do is diff them. So, I'm pasting a base64 encoded tarball instead. :)
Let me know if I should collect other information or do some experiments.
Thanks! Laszlo
begin-base64 600 logs.tar.xz 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 ====
On 29 March 2018 at 12:17, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 16:35, Emil Velikov wrote:
On 28 March 2018 at 11:27, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 03:24, Emil Velikov wrote:
Gents, can someone double-check this please? Just in case.
I guess I should test whether this series regresses the use case described in c2cbc38b97; is that correct?
Precisely.
[3] https://github.com/evelikov/linux/commits/ioctl-cleanups
Unfortunately, this series seems to reintroduce the regression fixed / described earlier in commit c2cbc38b97.
Thank you very much for testing.
Believe I've tracked it down to a broken commit from 2014 ;-) Please try the following branch [1] - it's untested, but I'm 99% sure it will work like a charm. If it doesn't please share the dmesg of a) the updated branch, and b) baseline + the debug patch [2]
Thanks again! Emil
[1] https://github.com/evelikov/linux/commits/ioctl-cleanups-v2 [2] https://github.com/evelikov/linux/commit/c2bc545d677001ffe5387aebb708d1adeb1...
Hi Emil,
On 04/03/18 19:13, Emil Velikov wrote:
On 29 March 2018 at 12:17, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 16:35, Emil Velikov wrote:
On 28 March 2018 at 11:27, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 03:24, Emil Velikov wrote:
Gents, can someone double-check this please? Just in case.
I guess I should test whether this series regresses the use case described in c2cbc38b97; is that correct?
Precisely.
[3] https://github.com/evelikov/linux/commits/ioctl-cleanups
Unfortunately, this series seems to reintroduce the regression fixed / described earlier in commit c2cbc38b97.
Thank you very much for testing.
Believe I've tracked it down to a broken commit from 2014 ;-) Please try the following branch [1] - it's untested, but I'm 99% sure it will work like a charm.
Alas, it does not work.
If it doesn't please share the dmesg of a) the updated branch, and b) baseline + the debug patch [2]
[1] https://github.com/evelikov/linux/commits/ioctl-cleanups-v2 [2] https://github.com/evelikov/linux/commit/c2bc545d677001ffe5387aebb708d1adeb1...
(a) The dmesg from the kernel that is built exactly at [1], i.e., commit bb6ec6da7086 ("WIP: prefix device unique with pci:", 2018-04-03):
Linux version 4.16.0-rc1+ (lacos@lacos-laptop-7.usersys.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)) #1 SMP Wed Apr 4 17:18:30 CEST 2018 Command line: BOOT_IMAGE=/vmlinuz-4.16.0-rc1+ root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=fedora/root video=800x600 no_console_suspend console=tty console=ttyS0,115200 ignore_loglevel efi=debug LANG=en_US.UTF-8 x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format. e820: BIOS-provided physical RAM map: BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable BIOS-e820: [mem 0x0000000000100000-0x00000000007fffff] usable BIOS-e820: [mem 0x0000000000800000-0x0000000000807fff] ACPI NVS BIOS-e820: [mem 0x0000000000808000-0x000000000080ffff] usable BIOS-e820: [mem 0x0000000000810000-0x00000000008fffff] ACPI NVS BIOS-e820: [mem 0x0000000000900000-0x00000000bf7eefff] usable BIOS-e820: [mem 0x00000000bf7ef000-0x00000000bfbccfff] reserved BIOS-e820: [mem 0x00000000bfbcd000-0x00000000bfbd4fff] ACPI data BIOS-e820: [mem 0x00000000bfbd5000-0x00000000bfbfefff] ACPI NVS BIOS-e820: [mem 0x00000000bfbff000-0x00000000bff3ffff] usable BIOS-e820: [mem 0x00000000bff40000-0x00000000bfffffff] ACPI NVS BIOS-e820: [mem 0x00000000ffc00000-0x00000000ffffffff] reserved BIOS-e820: [mem 0x0000000100000000-0x000000017fffffff] usable debug: ignoring loglevel setting. NX (Execute Disable) protection: active e820: update [mem 0xbd28a018-0xbd293857] usable ==> usable e820: update [mem 0xbd28a018-0xbd293857] usable ==> usable extended physical RAM map: reserve setup_data: [mem 0x0000000000000000-0x000000000009ffff] usable reserve setup_data: [mem 0x0000000000100000-0x00000000007fffff] usable reserve setup_data: [mem 0x0000000000800000-0x0000000000807fff] ACPI NVS reserve setup_data: [mem 0x0000000000808000-0x000000000080ffff] usable reserve setup_data: [mem 0x0000000000810000-0x00000000008fffff] ACPI NVS reserve setup_data: [mem 0x0000000000900000-0x00000000bd28a017] usable reserve setup_data: [mem 0x00000000bd28a018-0x00000000bd293857] usable reserve setup_data: [mem 0x00000000bd293858-0x00000000bf7eefff] usable reserve setup_data: [mem 0x00000000bf7ef000-0x00000000bfbccfff] reserved reserve setup_data: [mem 0x00000000bfbcd000-0x00000000bfbd4fff] ACPI data reserve setup_data: [mem 0x00000000bfbd5000-0x00000000bfbfefff] ACPI NVS reserve setup_data: [mem 0x00000000bfbff000-0x00000000bff3ffff] usable reserve setup_data: [mem 0x00000000bff40000-0x00000000bfffffff] ACPI NVS reserve setup_data: [mem 0x00000000ffc00000-0x00000000ffffffff] reserved reserve setup_data: [mem 0x0000000100000000-0x000000017fffffff] usable efi: EFI v2.70 by EDK II efi: SMBIOS=0xbf9b9000 ACPI=0xbfbd4000 ACPI 2.0=0xbfbd4014 MEMATTR=0xbe2f1298 efi: mem00: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000000000-0x0000000000000fff] (0MB) efi: mem01: [Loader Data | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000001000-0x0000000000001fff] (0MB) efi: mem02: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000000002000-0x000000000009ffff] (0MB) efi: mem03: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000000100000-0x00000000007fffff] (7MB) efi: mem04: [ACPI Memory NVS | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000800000-0x0000000000807fff] (0MB) efi: mem05: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000000808000-0x000000000080ffff] (0MB) efi: mem06: [ACPI Memory NVS | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000810000-0x00000000008fffff] (0MB) efi: mem07: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000900000-0x00000000012fffff] (10MB) efi: mem08: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000001300000-0x0000000001ffffff] (13MB) efi: mem09: [Loader Data | | | | | | | | |WB|WT|WC|UC] range=[0x0000000002000000-0x0000000003e2afff] (30MB) efi: mem10: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000003e2b000-0x000000003b411fff] (885MB) efi: mem11: [Loader Data | | | | | | | | |WB|WT|WC|UC] range=[0x000000003b412000-0x000000003fffffff] (75MB) efi: mem12: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000040000000-0x000000008cb94fff] (1227MB) efi: mem13: [Loader Code | | | | | | | | |WB|WT|WC|UC] range=[0x000000008cb95000-0x00000000bbefdfff] (755MB) efi: mem14: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bbefe000-0x00000000bbf1dfff] (0MB) efi: mem15: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000bbf1e000-0x00000000bd288fff] (19MB) efi: mem16: [Loader Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bd289000-0x00000000bd48cfff] (2MB) efi: mem17: [Loader Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bd48d000-0x00000000bd5b3fff] (1MB) efi: mem18: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000bd5b4000-0x00000000bda65fff] (4MB) efi: mem19: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bda66000-0x00000000be1fffff] (7MB) efi: mem20: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000be200000-0x00000000be27ffff] (0MB) efi: mem21: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000be280000-0x00000000befaffff] (13MB) efi: mem22: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000befb0000-0x00000000bf152fff] (1MB) efi: mem23: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bf153000-0x00000000bf7eefff] (6MB) efi: mem24: [Runtime Code |RUN| | | | | | | |WB|WT|WC|UC] range=[0x00000000bf7ef000-0x00000000bf939fff] (1MB) efi: mem25: [Runtime Data |RUN| | | | | | | |WB|WT|WC|UC] range=[0x00000000bf93a000-0x00000000bfb94fff] (2MB) efi: mem26: [Reserved | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfb95000-0x00000000bfbccfff] (0MB) efi: mem27: [ACPI Reclaim Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfbcd000-0x00000000bfbd4fff] (0MB) efi: mem28: [ACPI Memory NVS | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfbd5000-0x00000000bfbfefff] (0MB) efi: mem29: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfbff000-0x00000000bfdfffff] (2MB) efi: mem30: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfe00000-0x00000000bfe58fff] (0MB) efi: mem31: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfe59000-0x00000000bfe78fff] (0MB) efi: mem32: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfe79000-0x00000000bfec3fff] (0MB) efi: mem33: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfec4000-0x00000000bff04fff] (0MB) efi: mem34: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bff05000-0x00000000bff3ffff] (0MB) efi: mem35: [ACPI Memory NVS | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bff40000-0x00000000bfffffff] (0MB) efi: mem36: [Runtime Data |RUN| | | | | | | | | | |UC] range=[0x00000000ffc00000-0x00000000ffffffff] (4MB) efi: mem37: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000100000000-0x000000017fffffff] (2048MB) random: fast init done SMBIOS 2.8 present. DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015 Hypervisor detected: KVM e820: update [mem 0x00000000-0x00000fff] usable ==> reserved e820: remove [mem 0x000a0000-0x000fffff] usable e820: last_pfn = 0x180000 max_arch_pfn = 0x400000000 MTRR default type: write-back MTRR fixed ranges enabled: 00000-9FFFF write-back A0000-FFFFF uncachable MTRR variable ranges enabled: 0 base 00C0000000 mask FFC0000000 uncachable 1 base 0800000000 mask F800000000 uncachable 2 disabled 3 disabled 4 disabled 5 disabled 6 disabled 7 disabled x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT e820: last_pfn = 0xbff40 max_arch_pfn = 0x400000000 Base memory trampoline at [ (ptrval)] 99000 size 24576 BRK [0x42a25000, 0x42a25fff] PGTABLE BRK [0x42a26000, 0x42a26fff] PGTABLE BRK [0x42a27000, 0x42a27fff] PGTABLE BRK [0x42a28000, 0x42a28fff] PGTABLE BRK [0x42a29000, 0x42a29fff] PGTABLE BRK [0x42a2a000, 0x42a2afff] PGTABLE BRK [0x42a2b000, 0x42a2bfff] PGTABLE BRK [0x42a2c000, 0x42a2cfff] PGTABLE BRK [0x42a2d000, 0x42a2dfff] PGTABLE Secure boot disabled RAMDISK: [mem 0x3b412000-0x3e1d2fff] ACPI: Early table checksum verification disabled ACPI: RSDP 0x00000000BFBD4014 000024 (v02 BOCHS ) ACPI: XSDT 0x00000000BFBD30E8 000044 (v01 BOCHS BXPCFACP 00000001 01000013) ACPI: FACP 0x00000000BFBD0000 000074 (v01 BOCHS BXPCFACP 00000001 BXPC 00000001) ACPI: DSDT 0x00000000BFBD1000 00162E (v01 BOCHS BXPCDSDT 00000001 BXPC 00000001) ACPI: FACS 0x00000000BFBDD000 000040 ACPI: APIC 0x00000000BFBCF000 0000B0 (v01 BOCHS BXPCAPIC 00000001 BXPC 00000001) ACPI: HPET 0x00000000BFBCE000 000038 (v01 BOCHS BXPCHPET 00000001 BXPC 00000001) ACPI: BGRT 0x00000000BFBCD000 000038 (v01 INTEL EDK2 00000002 01000013) ACPI: Local APIC address 0xfee00000 No NUMA configuration found Faking a node at [mem 0x0000000000000000-0x000000017fffffff] NODE_DATA(0) allocated [mem 0x17ffd2000-0x17fffcfff] kvm-clock: cpu 0, msr 1:7ffd0001, primary cpu clock kvm-clock: Using msrs 4b564d01 and 4b564d00 kvm-clock: using sched offset of 5338338549 cycles clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns Zone ranges: DMA [mem 0x0000000000001000-0x0000000000ffffff] DMA32 [mem 0x0000000001000000-0x00000000ffffffff] Normal [mem 0x0000000100000000-0x000000017fffffff] Device empty Movable zone start for each node Early memory node ranges node 0: [mem 0x0000000000001000-0x000000000009ffff] node 0: [mem 0x0000000000100000-0x00000000007fffff] node 0: [mem 0x0000000000808000-0x000000000080ffff] node 0: [mem 0x0000000000900000-0x00000000bf7eefff] node 0: [mem 0x00000000bfbff000-0x00000000bff3ffff] node 0: [mem 0x0000000100000000-0x000000017fffffff] Initmem setup node 0 [mem 0x0000000000001000-0x000000017fffffff] On node 0 totalpages: 1309143 DMA zone: 59 pages used for memmap DMA zone: 1814 pages reserved DMA zone: 3751 pages, LIFO batch:0 DMA32 zone: 12205 pages used for memmap DMA32 zone: 781104 pages, LIFO batch:31 Normal zone: 8192 pages used for memmap Normal zone: 524288 pages, LIFO batch:31 Reserved but unavailable: 97 pages ACPI: PM-Timer IO Port: 0xb008 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1]) IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level) ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level) ACPI: IRQ0 used by override. ACPI: IRQ5 used by override. ACPI: IRQ9 used by override. ACPI: IRQ10 used by override. ACPI: IRQ11 used by override. Using ACPI (MADT) for SMP configuration information ACPI: HPET id: 0x8086a201 base: 0xfed00000 smpboot: Allowing 8 CPUs, 0 hotplug CPUs PM: Registered nosave memory: [mem 0x00000000-0x00000fff] PM: Registered nosave memory: [mem 0x000a0000-0x000fffff] PM: Registered nosave memory: [mem 0x00800000-0x00807fff] PM: Registered nosave memory: [mem 0x00810000-0x008fffff] PM: Registered nosave memory: [mem 0xbd28a000-0xbd28afff] PM: Registered nosave memory: [mem 0xbd293000-0xbd293fff] PM: Registered nosave memory: [mem 0xbf7ef000-0xbfbccfff] PM: Registered nosave memory: [mem 0xbfbcd000-0xbfbd4fff] PM: Registered nosave memory: [mem 0xbfbd5000-0xbfbfefff] PM: Registered nosave memory: [mem 0xbff40000-0xbfffffff] PM: Registered nosave memory: [mem 0xc0000000-0xffbfffff] PM: Registered nosave memory: [mem 0xffc00000-0xffffffff] e820: [mem 0xc0000000-0xffbfffff] available for PCI devices Booting paravirtualized kernel on KVM clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns setup_percpu: NR_CPUS:64 nr_cpumask_bits:64 nr_cpu_ids:8 nr_node_ids:1 percpu: Embedded 45 pages/cpu @ (ptrval) s147456 r8192 d28672 u262144 pcpu-alloc: s147456 r8192 d28672 u262144 alloc=1*2097152 pcpu-alloc: [0] 0 1 2 3 4 5 6 7 KVM setup async PF for cpu 0 kvm-stealtime: cpu 0, msr 17fc23040 Built 1 zonelists, mobility grouping on. Total pages: 1286873 Policy zone: Normal Kernel command line: BOOT_IMAGE=/vmlinuz-4.16.0-rc1+ root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=fedora/root video=800x600 no_console_suspend console=tty console=ttyS0,115200 ignore_loglevel efi=debug LANG=en_US.UTF-8 Memory: 4985272K/5236572K available (12300K kernel code, 1455K rwdata, 3792K rodata, 2100K init, 1288K bss, 251300K reserved, 0K cma-reserved) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1 Kernel/User page tables isolation: enabled ftrace: allocating 36242 entries in 142 pages Hierarchical RCU implementation. RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=8. Tasks RCU enabled. RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=8 NR_IRQS: 4352, nr_irqs: 488, preallocated irqs: 16 Offload RCU callbacks from CPUs: . Console: colour dummy device 80x25 console [tty0] enabled console [ttyS0] enabled ACPI: Core revision 20180105 ACPI: 1 ACPI AML tables successfully acquired and loaded clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns hpet clockevent registered APIC: Switch to symmetric I/O mode setup x2apic enabled Switched APIC routing to physical x2apic. ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 tsc: Detected 2793.544 MHz processor clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x28446e01dde, max_idle_ns: 440795216985 ns Calibrating delay loop (skipped) preset value.. 5587.08 BogoMIPS (lpj=2793544) pid_max: default: 32768 minimum: 301 efi: EFI runtime memory map: efi: mem00: [Runtime Data |RUN| | | | | | | | | | |UC] range=[0x00000000ffc00000-0x00000000ffffffff] (4MB) efi: mem01: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bff05000-0x00000000bff3ffff] (0MB) efi: mem02: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfec4000-0x00000000bff04fff] (0MB) efi: mem03: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfe79000-0x00000000bfec3fff] (0MB) efi: mem04: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfe59000-0x00000000bfe78fff] (0MB) efi: mem05: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfbff000-0x00000000bfdfffff] (2MB) efi: mem06: [Runtime Data |RUN| | | | | | | |WB|WT|WC|UC] range=[0x00000000bf93a000-0x00000000bfb94fff] (2MB) efi: mem07: [Runtime Code |RUN| | | | | | | |WB|WT|WC|UC] range=[0x00000000bf7ef000-0x00000000bf939fff] (1MB) efi: mem08: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bf153000-0x00000000bf7eefff] (6MB) efi: mem09: [Boot Data |RUN| | | | | | | |WB|WT|WC|UC] range=[0x00000000be280000-0x00000000befaffff] (13MB) efi: mem10: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bda66000-0x00000000be1fffff] (7MB) efi: mem11: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bbefe000-0x00000000bbf1dfff] (0MB) efi: mem12: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000900000-0x00000000012fffff] (10MB) efi: mem13: [Boot Code |RUN| | | | | | | |WB|WT|WC|UC] range=[0x0000000000000000-0x0000000000000fff] (0MB) efi: memattr: Processing EFI Memory Attributes table: efi: memattr: 0x0000bf7ef000-0x0000bf831fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf832000-0x0000bf847fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf848000-0x0000bf850fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf851000-0x0000bf856fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf857000-0x0000bf859fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf85a000-0x0000bf85efff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf85f000-0x0000bf861fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf862000-0x0000bf869fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf86a000-0x0000bf86cfff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf86d000-0x0000bf872fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf873000-0x0000bf875fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf876000-0x0000bf8f9fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf8fa000-0x0000bf911fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf912000-0x0000bf919fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf91a000-0x0000bf91cfff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf91d000-0x0000bf924fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf925000-0x0000bf927fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf928000-0x0000bf92dfff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf92e000-0x0000bf930fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf931000-0x0000bf937fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf938000-0x0000bf939fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf93a000-0x0000bfb94fff [Runtime Data |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000ffc00000-0x0000ffffffff [Runtime Data |RUN| | |XP| | | | | | | | ] Security Framework initialized Yama: becoming mindful. SELinux: Initializing. SELinux: Starting in permissive mode Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes) Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes) Mount-cache hash table entries: 16384 (order: 5, 131072 bytes) Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes) CPU: Physical Processor ID: 0 CPU: Processor Core ID: 0 mce: CPU supports 10 MCE banks Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0 Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0 Spectre V2 : Mitigation: Full generic retpoline Freeing SMP alternatives memory: 32K TSC deadline timer enabled smpboot: CPU0: Intel Core Processor (Haswell, no TSX) (family: 0x6, model: 0x3c, stepping: 0x1) Performance Events: unsupported p6 CPU model 60 no PMU driver, software events only. Hierarchical SRCU implementation. NMI watchdog: Perf event create on CPU 0 failed with -2 NMI watchdog: Perf NMI watchdog permanently disabled smp: Bringing up secondary CPUs ... x86: Booting SMP configuration: .... node #0, CPUs: #1 kvm-clock: cpu 1, msr 1:7ffd0041, secondary cpu clock KVM setup async PF for cpu 1 kvm-stealtime: cpu 1, msr 17fc63040 #2 kvm-clock: cpu 2, msr 1:7ffd0081, secondary cpu clock KVM setup async PF for cpu 2 kvm-stealtime: cpu 2, msr 17fca3040 #3 kvm-clock: cpu 3, msr 1:7ffd00c1, secondary cpu clock KVM setup async PF for cpu 3 kvm-stealtime: cpu 3, msr 17fce3040 #4 kvm-clock: cpu 4, msr 1:7ffd0101, secondary cpu clock KVM setup async PF for cpu 4 kvm-stealtime: cpu 4, msr 17fd23040 #5 kvm-clock: cpu 5, msr 1:7ffd0141, secondary cpu clock KVM setup async PF for cpu 5 kvm-stealtime: cpu 5, msr 17fd63040 #6 kvm-clock: cpu 6, msr 1:7ffd0181, secondary cpu clock KVM setup async PF for cpu 6 kvm-stealtime: cpu 6, msr 17fda3040 #7 kvm-clock: cpu 7, msr 1:7ffd01c1, secondary cpu clock KVM setup async PF for cpu 7 kvm-stealtime: cpu 7, msr 17fde3040 smp: Brought up 1 node, 8 CPUs smpboot: Max logical packages: 1 smpboot: Total of 8 processors activated (44696.70 BogoMIPS) devtmpfs: initialized x86/mm: Memory block size: 128MB PM: Registering ACPI NVS region [mem 0x00800000-0x00807fff] (32768 bytes) PM: Registering ACPI NVS region [mem 0x00810000-0x008fffff] (983040 bytes) PM: Registering ACPI NVS region [mem 0xbfbd5000-0xbfbfefff] (172032 bytes) PM: Registering ACPI NVS region [mem 0xbff40000-0xbfffffff] (786432 bytes) clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns futex hash table entries: 2048 (order: 5, 131072 bytes) pinctrl core: initialized pinctrl subsystem RTC time: 16:54:30, date: 04/04/18 NET: Registered protocol family 16 audit: initializing netlink subsys (disabled) audit: type=2000 audit(1522860870.509:1): state=initialized audit_enabled=0 res=1 cpuidle: using governor menu ACPI: bus type PCI registered acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 PCI: Using configuration type 1 for base access HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages cryptd: max_cpu_qlen set to 1000 ACPI: Added _OSI(Module Device) ACPI: Added _OSI(Processor Device) ACPI: Added _OSI(3.0 _SCP Extensions) ACPI: Added _OSI(Processor Aggregator Device) ACPI: Interpreter enabled ACPI: (supports S0 S3 S5) ACPI: Using IOAPIC for interrupt routing PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug ACPI: Enabled 2 GPEs in block 00 to 0F ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge. acpiphp: Slot [3] registered acpiphp: Slot [4] registered acpiphp: Slot [5] registered acpiphp: Slot [6] registered acpiphp: Slot [7] registered acpiphp: Slot [8] registered acpiphp: Slot [9] registered acpiphp: Slot [10] registered acpiphp: Slot [11] registered acpiphp: Slot [12] registered acpiphp: Slot [13] registered acpiphp: Slot [14] registered acpiphp: Slot [15] registered acpiphp: Slot [16] registered acpiphp: Slot [17] registered acpiphp: Slot [18] registered acpiphp: Slot [19] registered acpiphp: Slot [20] registered acpiphp: Slot [21] registered acpiphp: Slot [22] registered acpiphp: Slot [23] registered acpiphp: Slot [24] registered acpiphp: Slot [25] registered acpiphp: Slot [26] registered acpiphp: Slot [27] registered acpiphp: Slot [28] registered acpiphp: Slot [29] registered acpiphp: Slot [30] registered acpiphp: Slot [31] registered PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window] pci_bus 0000:00: root bus resource [mem 0x800000000-0x80001bfff window] pci_bus 0000:00: root bus resource [bus 00-ff] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000 pci 0000:00:01.0: [8086:7000] type 00 class 0x060100 pci 0000:00:01.1: [8086:7010] type 00 class 0x010180 pci 0000:00:01.1: reg 0x20: [io 0xc120-0xc12f] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io 0x01f0-0x01f7] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io 0x03f6] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io 0x0170-0x0177] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io 0x0376] pci 0000:00:01.3: [8086:7113] type 00 class 0x068000 pci 0000:00:01.3: quirk: [io 0xb000-0xb03f] claimed by PIIX4 ACPI pci 0000:00:01.3: quirk: [io 0xb100-0xb10f] claimed by PIIX4 SMB pci 0000:00:02.0: [1af4:1050] type 00 class 0x030000 pci 0000:00:02.0: reg 0x10: [mem 0xc0000000-0xc07fffff pref] pci 0000:00:02.0: reg 0x18: [mem 0x800000000-0x800003fff 64bit pref] pci 0000:00:02.0: reg 0x20: [mem 0xc0804000-0xc0804fff] pci 0000:00:02.0: reg 0x30: [mem 0xffff0000-0xffffffff pref] pci 0000:00:02.0: BAR 0: assigned to efifb pci 0000:00:03.0: [1af4:1000] type 00 class 0x020000 pci 0000:00:03.0: reg 0x10: [io 0xc100-0xc11f] pci 0000:00:03.0: reg 0x14: [mem 0xc0803000-0xc0803fff] pci 0000:00:03.0: reg 0x20: [mem 0x800004000-0x800007fff 64bit pref] pci 0000:00:04.0: [1af4:1001] type 00 class 0x010000 pci 0000:00:04.0: reg 0x10: [io 0xc080-0xc0bf] pci 0000:00:04.0: reg 0x14: [mem 0xc0802000-0xc0802fff] pci 0000:00:04.0: reg 0x20: [mem 0x800008000-0x80000bfff 64bit pref] pci 0000:00:05.0: [1af4:1002] type 00 class 0x00ff00 pci 0000:00:05.0: reg 0x10: [io 0xc0e0-0xc0ff] pci 0000:00:05.0: reg 0x20: [mem 0x80000c000-0x80000ffff 64bit pref] pci 0000:00:06.0: [1af4:1003] type 00 class 0x078000 pci 0000:00:06.0: reg 0x10: [io 0xc040-0xc07f] pci 0000:00:06.0: reg 0x14: [mem 0xc0801000-0xc0801fff] pci 0000:00:06.0: reg 0x20: [mem 0x800010000-0x800013fff 64bit pref] pci 0000:00:07.0: [1033:0194] type 00 class 0x0c0330 pci 0000:00:07.0: reg 0x10: [mem 0x800018000-0x80001bfff 64bit] pci 0000:00:08.0: [1af4:1005] type 00 class 0x00ff00 pci 0000:00:08.0: reg 0x10: [io 0xc0c0-0xc0df] pci 0000:00:08.0: reg 0x20: [mem 0x800014000-0x800017fff 64bit pref] pci 0000:00:09.0: [1af4:1004] type 00 class 0x010000 pci 0000:00:09.0: reg 0x10: [io 0xc000-0xc03f] pci 0000:00:09.0: reg 0x14: [mem 0xc0800000-0xc0800fff] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 10 *11) ACPI: PCI Interrupt Link [LNKB] (IRQs 5 10 *11) ACPI: PCI Interrupt Link [LNKC] (IRQs 5 *10 11) ACPI: PCI Interrupt Link [LNKD] (IRQs 5 *10 11) ACPI: PCI Interrupt Link [LNKS] (IRQs *9) pci 0000:00:02.0: vgaarb: setting as boot VGA device pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none pci 0000:00:02.0: vgaarb: bridge control possible vgaarb: loaded SCSI subsystem initialized libata version 3.00 loaded. ACPI: bus type USB registered usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb EDAC MC: Ver: 3.0.0 Registered efivars operations PCI: Using ACPI for IRQ routing PCI: pci_cache_line_size set to 64 bytes e820: reserve RAM buffer [mem 0x00810000-0x008fffff] e820: reserve RAM buffer [mem 0xbd28a018-0xbfffffff] e820: reserve RAM buffer [mem 0xbf7ef000-0xbfffffff] e820: reserve RAM buffer [mem 0xbff40000-0xbfffffff] NetLabel: Initializing NetLabel: domain hash size = 128 NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO NetLabel: unlabeled traffic allowed by default hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0 hpet0: 3 comparators, 64-bit 100.000000 MHz counter clocksource: Switched to clocksource kvm-clock VFS: Disk quotas dquot_6.6.0 VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) pnp: PnP ACPI init pnp 00:00: Plug and Play ACPI device, IDs PNP0b00 (active) pnp 00:01: Plug and Play ACPI device, IDs PNP0303 (active) pnp 00:02: Plug and Play ACPI device, IDs PNP0f13 (active) pnp 00:03: [dma 2] pnp 00:03: Plug and Play ACPI device, IDs PNP0700 (active) pnp 00:04: Plug and Play ACPI device, IDs PNP0501 (active) pnp: PnP ACPI: found 5 devices clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns pci 0000:00:02.0: can't claim BAR 6 [mem 0xffff0000-0xffffffff pref]: no compatible bridge window pci 0000:00:02.0: BAR 6: assigned [mem 0xc0810000-0xc081ffff pref] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window] pci_bus 0000:00: resource 7 [mem 0xc0000000-0xfebfffff window] pci_bus 0000:00: resource 8 [mem 0x800000000-0x80001bfff window] NET: Registered protocol family 2 tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes) TCP established hash table entries: 65536 (order: 7, 524288 bytes) TCP bind hash table entries: 65536 (order: 8, 1048576 bytes) TCP: Hash tables configured (established 65536 bind 65536) UDP hash table entries: 4096 (order: 5, 131072 bytes) UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes) NET: Registered protocol family 1 pci 0000:00:00.0: Limiting direct PCI/PCI transfers pci 0000:00:01.0: PIIX3: Enabling Passive Release pci 0000:00:01.0: Activating ISA DMA hang workarounds pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff] PCI Interrupt Link [LNKC] enabled at IRQ 10 PCI: CLS 0 bytes, default 64 Unpacking initramfs... Freeing initrd memory: 46852K PCI-DMA: Using software bounce buffering for IO (SWIOTLB) software IO TLB [mem 0xb7efe000-0xbbefe000] (64MB) mapped at [00000000a66326d0-0000000067a74abb] Initialise system trusted keyrings Key type blacklist registered workingset: timestamp_bits=36 max_order=21 bucket_order=0 zbud: loaded SELinux: Registering netfilter hooks NET: Registered protocol family 38 Key type asymmetric registered Asymmetric key parser 'x509' registered Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247) io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) io scheduler mq-deadline registered efifb: probing for efifb efifb: framebuffer at 0xc0000000, using 1876k, total 1875k efifb: mode is 800x600x32, linelength=3200, pages=1 efifb: scrolling: redraw efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0 Console: switching to colour frame buffer device 100x37 fb0: EFI VGA frame buffer device intel_idle: Please enable MWAIT in BIOS SETUP input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0 ACPI: Power Button [PWRF] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A Non-volatile memory driver v1.3 Linux agpgart interface v0.103 ata_piix 0000:00:01.1: version 2.13 scsi host0: ata_piix scsi host1: ata_piix ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc120 irq 14 ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc128 irq 15 libphy: Fixed MDIO Bus: probed ata1: port disabled--ignoring ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ata2: port disabled--ignoring ehci-pci: EHCI PCI platform driver ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver ohci-pci: OHCI PCI platform driver uhci_hcd: USB Universal Host Controller Interface driver xhci_hcd 0000:00:07.0: xHCI Host Controller xhci_hcd 0000:00:07.0: new USB bus registered, assigned bus number 1 xhci_hcd 0000:00:07.0: hcc params 0x00087001 hci version 0x100 quirks 0x00000014 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: xHCI Host Controller usb usb1: Manufacturer: Linux 4.16.0-rc1+ xhci-hcd usb usb1: SerialNumber: 0000:00:07.0 hub 1-0:1.0: USB hub found hub 1-0:1.0: 4 ports detected xhci_hcd 0000:00:07.0: xHCI Host Controller xhci_hcd 0000:00:07.0: new USB bus registered, assigned bus number 2 usb usb2: We don't know the algorithms for LPM for this host, disabling LPM. usb usb2: New USB device found, idVendor=1d6b, idProduct=0003 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: xHCI Host Controller usb usb2: Manufacturer: Linux 4.16.0-rc1+ xhci-hcd usb usb2: SerialNumber: 0000:00:07.0 hub 2-0:1.0: USB hub found hub 2-0:1.0: 4 ports detected usbcore: registered new interface driver usbserial_generic usbserial: USB Serial support registered for generic i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12 serio: i8042 KBD port at 0x60,0x64 irq 1 serio: i8042 AUX port at 0x60,0x64 irq 12 mousedev: PS/2 mouse device common for all mice rtc_cmos 00:00: RTC can wake from S4 input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input1 rtc_cmos 00:00: rtc core: registered rtc_cmos as rtc0 rtc_cmos 00:00: alarms up to one day, y3k, 114 bytes nvram, hpet irqs device-mapper: uevent: version 1.0.3 device-mapper: ioctl: 4.37.0-ioctl (2017-09-20) initialised: dm-devel@redhat.com input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input4 hidraw: raw HID events driver (C) Jiri Kosina usbcore: registered new interface driver usbhid usbhid: USB HID core driver input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input3 drop_monitor: Initializing network drop monitor service Initializing XFRM netlink socket NET: Registered protocol family 10 Segment Routing with IPv6 mip6: Mobile IPv6 NET: Registered protocol family 17 RAS: Correctable Errors collector initialized. AVX2 version of gcm_enc/dec engaged. AES CTR mode by8 optimization enabled sched_clock: Marking stable (1508617577, 0)->(2034878790, -526261213) registered taskstats version 1 Loading compiled-in X.509 certificates Loaded X.509 cert 'Build time autogenerated kernel key: 3252e0ecec7d1d1612246d5576bd5ee74f5bc14a' zswap: loaded using pool lzo/zbud Key type big_key registered Key type encrypted registered Magic number: 14:873:943 tty tty0: hash matches tty console: hash matches rtc_cmos 00:00: setting system clock to 2018-04-04 16:54:32 UTC (1522860872) Freeing unused kernel memory: 2100K Write protecting the kernel read-only data: 18432k Freeing unused kernel memory: 2012K Freeing unused kernel memory: 304K x86/mm: Checked W+X mappings: passed, no W+X pages found. x86/mm: Checking user space page tables x86/mm: Checked W+X mappings: passed, no W+X pages found. rodata_test: all tests were successful systemd[1]: systemd 234 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN default-hierarchy=hybrid) systemd[1]: Detected virtualization kvm. systemd[1]: Detected architecture x86-64. systemd[1]: Running in initial RAM disk. systemd[1]: Set hostname to <ovmf-fedora>. systemd[1]: Listening on Journal Audit Socket. systemd[1]: Created slice System Slice. systemd[1]: Reached target Swap. systemd[1]: Reached target Local File Systems. systemd[1]: Reached target Slices. audit: type=1130 audit(1522860872.644:2): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-tmpfiles-setup-dev comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860872.674:3): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-journald comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' usb 1-1: new high-speed USB device number 2 using xhci_hcd audit: type=1130 audit(1522860872.722:4): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-vconsole-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1131 audit(1522860872.722:5): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-vconsole-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860872.749:6): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=dracut-cmdline comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860872.778:7): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=dracut-pre-udev comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860872.791:8): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-udevd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' usb 1-1: New USB device found, idVendor=0627, idProduct=0001 usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=5 usb 1-1: Product: QEMU USB Tablet usb 1-1: Manufacturer: QEMU usb 1-1: SerialNumber: 42 input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:07.0/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input5 hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:07.0-1/input0 audit: type=1130 audit(1522860872.870:9): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-udev-trigger comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860872.911: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' FDC 0 is a S82078B PCI Interrupt Link [LNKB] enabled at IRQ 11 PCI Interrupt Link [LNKD] enabled at IRQ 10 PCI Interrupt Link [LNKA] enabled at IRQ 11 random: crng init done virtio-pci 0000:00:09.0: virtio_pci: leaving for legacy driver virtio_blk virtio2: [vda] 4972 512-byte logical blocks (2.55 MB/2.43 MiB) vda: vda1 scsi host2: Virtio SCSI HBA virtio_net virtio1 ens3: renamed from eth0 scsi 2:0:0:0: Direct-Access QEMU QEMU HARDDISK 2.5+ PQ: 0 ANSI: 5 scsi 2:0:0:1: CD-ROM QEMU QEMU CD-ROM 2.5+ PQ: 0 ANSI: 5 tsc: Refined TSC clocksource calibration: 2793.574 MHz clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x28448a1d273, max_idle_ns: 440795211041 ns sd 2:0:0:0: Power-on or device reset occurred sd 2:0:0:0: Attached scsi generic sg0 type 0 sr 2:0:0:1: Power-on or device reset occurred sr 2:0:0:1: [sr0] scsi3-mmc drive: 16x/50x cd/rw xa/form2 cdda tray sd 2:0:0:0: [sda] 73400320 512-byte logical blocks: (37.6 GB/35.0 GiB) cdrom: Uniform CD-ROM driver Revision: 3.20 sd 2:0:0:0: [sda] Write Protect is off sr 2:0:0:1: Attached scsi CD-ROM sr0 sd 2:0:0:0: [sda] Mode Sense: 63 00 00 08 sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sr 2:0:0:1: Attached scsi generic sg1 type 5 sda: sda1 sda2 sda3 sd 2:0:0:0: [sda] Attached SCSI disk EXT4-fs (dm-1): mounted filesystem with ordered data mode. Opts: (null) systemd-journald[243]: Received SIGTERM from PID 1 (systemd). systemd: 18 output lines suppressed due to ratelimiting SELinux: 32768 avtab hash slots, 108866 rules. SELinux: 32768 avtab hash slots, 108866 rules. SELinux: 8 users, 14 roles, 5092 types, 316 bools, 1 sens, 1024 cats SELinux: 97 classes, 108866 rules SELinux: Permission getrlimit in class process not defined in policy. SELinux: Class sctp_socket not defined in policy. SELinux: Class icmp_socket not defined in policy. SELinux: Class ax25_socket not defined in policy. SELinux: Class ipx_socket not defined in policy. SELinux: Class netrom_socket not defined in policy. SELinux: Class atmpvc_socket not defined in policy. SELinux: Class x25_socket not defined in policy. SELinux: Class rose_socket not defined in policy. SELinux: Class decnet_socket not defined in policy. SELinux: Class atmsvc_socket not defined in policy. SELinux: Class rds_socket not defined in policy. SELinux: Class irda_socket not defined in policy. SELinux: Class pppox_socket not defined in policy. SELinux: Class llc_socket not defined in policy. SELinux: Class can_socket not defined in policy. SELinux: Class tipc_socket not defined in policy. SELinux: Class bluetooth_socket not defined in policy. SELinux: Class iucv_socket not defined in policy. SELinux: Class rxrpc_socket not defined in policy. SELinux: Class isdn_socket not defined in policy. SELinux: Class phonet_socket not defined in policy. SELinux: Class ieee802154_socket not defined in policy. SELinux: Class caif_socket not defined in policy. SELinux: Class alg_socket not defined in policy. SELinux: Class nfc_socket not defined in policy. SELinux: Class vsock_socket not defined in policy. SELinux: Class kcm_socket not defined in policy. SELinux: Class qipcrtr_socket not defined in policy. SELinux: Class smc_socket not defined in policy. SELinux: Class bpf not defined in policy. SELinux: the above unknown classes and permissions will be allowed SELinux: policy capability network_peer_controls=1 SELinux: policy capability open_perms=1 SELinux: policy capability extended_socket_class=0 SELinux: policy capability always_check_network=0 SELinux: policy capability cgroup_seclabel=1 SELinux: policy capability nnp_nosuid_transition=1 SELinux: Completing initialization. SELinux: Setting up existing superblocks. systemd[1]: Successfully loaded SELinux policy in 159.719ms. systemd[1]: Relabelled /dev and /run in 27.147ms. EXT4-fs (dm-1): re-mounted. Opts: (null) systemd-journald[686]: Received request to flush runtime journal from PID 1 input: PC Speaker as /devices/platform/pcspkr/input/input6 piix4_smbus 0000:00:01.3: SMBus Host Controller at 0xb100, revision 0 [drm:drm_virtio_init [virtio_gpu]] *ERROR* drm_virtio_init: #1 dev->unique pci:virtio0 [drm] pci: virtio-vga detected at 0000:00:02.0 checking generic (c0000000 1d5000) vs hw (c0000000 800000) fb: switching to virtiodrmfb from EFI VGA Console: switching to colour dummy device 80x25 [drm] virgl 3d acceleration not supported by host [TTM] Zone kernel: Available graphics memory: 2532234 kiB [TTM] Zone dma32: Available graphics memory: 2097152 kiB [TTM] Initializing pool allocator [TTM] Initializing DMA pool allocator [drm] number of scanouts: 1 [drm] number of cap sets: 0 Console: switching to colour frame buffer device 100x37 virtio_gpu virtio0: fb0: virtiodrmfb frame buffer device [drm] Initialized virtio_gpu 0.0.1 0 for virtio0 on minor 0 [drm:drm_virtio_init [virtio_gpu]] *ERROR* drm_virtio_init: #2 dev->unique pci:virtio0 kauditd_printk_skb: 52 callbacks suppressed audit: type=1130 audit(1522860876.082:63): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-journal-flush comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' Adding 131068k swap on /dev/mapper/fedora-swap. Priority:-2 extents:1 across:131068k FS audit: type=1130 audit(1522860876.592:64): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-udev-settle comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860876.599:65): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lvm2-lvmetad comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860876.649:66): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lvm2-monitor comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860876.660:67): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dmraid-activation comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1131 audit(1522860876.660:68): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dmraid-activation comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860876.727:69): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lvm2-pvscan@8:3 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860876.743:70): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-fsck@dev-disk-by\x2duuid-eb070e11\x2dd6ac\x2d4980\x2d8882\x2dfe2adaefe226 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null) FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. audit: type=1130 audit(1522860876.864:71): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dracut-shutdown comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522860876.873:72): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=plymouth-read-write comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' IPv6: ADDRCONF(NETDEV_UP): ens3: link is not ready [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000006cd826c5, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:virtio0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:virtio0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000006cd826c5, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:virtio0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:virtio0 serial8250: too much work for irq4 bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000006cd826c5, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:virtio0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:virtio0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000006cd826c5, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:virtio0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:virtio0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000006cd826c5, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:virtio0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:virtio0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000006cd826c5, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:virtio0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:virtio0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000006cd826c5, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:virtio0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:virtio0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000006cd826c5, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:virtio0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:virtio0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000006cd826c5, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:virtio0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:virtio0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000006cd826c5, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:virtio0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:virtio0
(b) For baseline+debug, I cherry-picked c2bc545d6770 on top of a7d2a87e99de. The log is:
Linux version 4.16.0-rc1+ (lacos@lacos-laptop-7.usersys.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)) #1 SMP Wed Apr 4 17:18:30 CEST 2018 Command line: BOOT_IMAGE=/vmlinuz-4.16.0-rc1+ root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=fedora/root video=800x600 no_console_suspend console=tty console=ttyS0,115200 ignore_loglevel efi=debug LANG=en_US.UTF-8 x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format. e820: BIOS-provided physical RAM map: BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable BIOS-e820: [mem 0x0000000000100000-0x00000000007fffff] usable BIOS-e820: [mem 0x0000000000800000-0x0000000000807fff] ACPI NVS BIOS-e820: [mem 0x0000000000808000-0x000000000080ffff] usable BIOS-e820: [mem 0x0000000000810000-0x00000000008fffff] ACPI NVS BIOS-e820: [mem 0x0000000000900000-0x00000000bf7eefff] usable BIOS-e820: [mem 0x00000000bf7ef000-0x00000000bfbccfff] reserved BIOS-e820: [mem 0x00000000bfbcd000-0x00000000bfbd4fff] ACPI data BIOS-e820: [mem 0x00000000bfbd5000-0x00000000bfbfefff] ACPI NVS BIOS-e820: [mem 0x00000000bfbff000-0x00000000bff3ffff] usable BIOS-e820: [mem 0x00000000bff40000-0x00000000bfffffff] ACPI NVS BIOS-e820: [mem 0x00000000ffc00000-0x00000000ffffffff] reserved BIOS-e820: [mem 0x0000000100000000-0x000000017fffffff] usable debug: ignoring loglevel setting. NX (Execute Disable) protection: active e820: update [mem 0xbd28a018-0xbd293857] usable ==> usable e820: update [mem 0xbd28a018-0xbd293857] usable ==> usable extended physical RAM map: reserve setup_data: [mem 0x0000000000000000-0x000000000009ffff] usable reserve setup_data: [mem 0x0000000000100000-0x00000000007fffff] usable reserve setup_data: [mem 0x0000000000800000-0x0000000000807fff] ACPI NVS reserve setup_data: [mem 0x0000000000808000-0x000000000080ffff] usable reserve setup_data: [mem 0x0000000000810000-0x00000000008fffff] ACPI NVS reserve setup_data: [mem 0x0000000000900000-0x00000000bd28a017] usable reserve setup_data: [mem 0x00000000bd28a018-0x00000000bd293857] usable reserve setup_data: [mem 0x00000000bd293858-0x00000000bf7eefff] usable reserve setup_data: [mem 0x00000000bf7ef000-0x00000000bfbccfff] reserved reserve setup_data: [mem 0x00000000bfbcd000-0x00000000bfbd4fff] ACPI data reserve setup_data: [mem 0x00000000bfbd5000-0x00000000bfbfefff] ACPI NVS reserve setup_data: [mem 0x00000000bfbff000-0x00000000bff3ffff] usable reserve setup_data: [mem 0x00000000bff40000-0x00000000bfffffff] ACPI NVS reserve setup_data: [mem 0x00000000ffc00000-0x00000000ffffffff] reserved reserve setup_data: [mem 0x0000000100000000-0x000000017fffffff] usable efi: EFI v2.70 by EDK II efi: SMBIOS=0xbf9b9000 ACPI=0xbfbd4000 ACPI 2.0=0xbfbd4014 MEMATTR=0xbe2f1298 efi: mem00: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000000000-0x0000000000000fff] (0MB) efi: mem01: [Loader Data | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000001000-0x0000000000001fff] (0MB) efi: mem02: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000000002000-0x000000000009ffff] (0MB) efi: mem03: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000000100000-0x00000000007fffff] (7MB) efi: mem04: [ACPI Memory NVS | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000800000-0x0000000000807fff] (0MB) efi: mem05: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000000808000-0x000000000080ffff] (0MB) efi: mem06: [ACPI Memory NVS | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000810000-0x00000000008fffff] (0MB) efi: mem07: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000900000-0x00000000012fffff] (10MB) efi: mem08: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000001300000-0x0000000001ffffff] (13MB) efi: mem09: [Loader Data | | | | | | | | |WB|WT|WC|UC] range=[0x0000000002000000-0x0000000003e2afff] (30MB) efi: mem10: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000003e2b000-0x000000003b411fff] (885MB) efi: mem11: [Loader Data | | | | | | | | |WB|WT|WC|UC] range=[0x000000003b412000-0x000000003fffffff] (75MB) efi: mem12: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000040000000-0x000000008cb94fff] (1227MB) efi: mem13: [Loader Code | | | | | | | | |WB|WT|WC|UC] range=[0x000000008cb95000-0x00000000bbefdfff] (755MB) efi: mem14: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bbefe000-0x00000000bbf1dfff] (0MB) efi: mem15: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000bbf1e000-0x00000000bd288fff] (19MB) efi: mem16: [Loader Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bd289000-0x00000000bd48cfff] (2MB) efi: mem17: [Loader Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bd48d000-0x00000000bd5b3fff] (1MB) efi: mem18: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000bd5b4000-0x00000000bda65fff] (4MB) efi: mem19: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bda66000-0x00000000be1fffff] (7MB) efi: mem20: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000be200000-0x00000000be27ffff] (0MB) efi: mem21: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000be280000-0x00000000befaffff] (13MB) efi: mem22: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000befb0000-0x00000000bf152fff] (1MB) efi: mem23: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bf153000-0x00000000bf7eefff] (6MB) efi: mem24: [Runtime Code |RUN| | | | | | | |WB|WT|WC|UC] range=[0x00000000bf7ef000-0x00000000bf939fff] (1MB) efi: mem25: [Runtime Data |RUN| | | | | | | |WB|WT|WC|UC] range=[0x00000000bf93a000-0x00000000bfb94fff] (2MB) efi: mem26: [Reserved | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfb95000-0x00000000bfbccfff] (0MB) efi: mem27: [ACPI Reclaim Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfbcd000-0x00000000bfbd4fff] (0MB) efi: mem28: [ACPI Memory NVS | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfbd5000-0x00000000bfbfefff] (0MB) efi: mem29: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfbff000-0x00000000bfdfffff] (2MB) efi: mem30: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfe00000-0x00000000bfe58fff] (0MB) efi: mem31: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfe59000-0x00000000bfe78fff] (0MB) efi: mem32: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfe79000-0x00000000bfec3fff] (0MB) efi: mem33: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfec4000-0x00000000bff04fff] (0MB) efi: mem34: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bff05000-0x00000000bff3ffff] (0MB) efi: mem35: [ACPI Memory NVS | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bff40000-0x00000000bfffffff] (0MB) efi: mem36: [Runtime Data |RUN| | | | | | | | | | |UC] range=[0x00000000ffc00000-0x00000000ffffffff] (4MB) efi: mem37: [Conventional Memory| | | | | | | | |WB|WT|WC|UC] range=[0x0000000100000000-0x000000017fffffff] (2048MB) random: fast init done SMBIOS 2.8 present. DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015 Hypervisor detected: KVM e820: update [mem 0x00000000-0x00000fff] usable ==> reserved e820: remove [mem 0x000a0000-0x000fffff] usable e820: last_pfn = 0x180000 max_arch_pfn = 0x400000000 MTRR default type: write-back MTRR fixed ranges enabled: 00000-9FFFF write-back A0000-FFFFF uncachable MTRR variable ranges enabled: 0 base 00C0000000 mask FFC0000000 uncachable 1 base 0800000000 mask F800000000 uncachable 2 disabled 3 disabled 4 disabled 5 disabled 6 disabled 7 disabled x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT e820: last_pfn = 0xbff40 max_arch_pfn = 0x400000000 Base memory trampoline at [ (ptrval)] 99000 size 24576 BRK [0x73a25000, 0x73a25fff] PGTABLE BRK [0x73a26000, 0x73a26fff] PGTABLE BRK [0x73a27000, 0x73a27fff] PGTABLE BRK [0x73a28000, 0x73a28fff] PGTABLE BRK [0x73a29000, 0x73a29fff] PGTABLE BRK [0x73a2a000, 0x73a2afff] PGTABLE BRK [0x73a2b000, 0x73a2bfff] PGTABLE BRK [0x73a2c000, 0x73a2cfff] PGTABLE BRK [0x73a2d000, 0x73a2dfff] PGTABLE Secure boot disabled RAMDISK: [mem 0x3b412000-0x3e1d2fff] ACPI: Early table checksum verification disabled ACPI: RSDP 0x00000000BFBD4014 000024 (v02 BOCHS ) ACPI: XSDT 0x00000000BFBD30E8 000044 (v01 BOCHS BXPCFACP 00000001 01000013) ACPI: FACP 0x00000000BFBD0000 000074 (v01 BOCHS BXPCFACP 00000001 BXPC 00000001) ACPI: DSDT 0x00000000BFBD1000 00162E (v01 BOCHS BXPCDSDT 00000001 BXPC 00000001) ACPI: FACS 0x00000000BFBDD000 000040 ACPI: APIC 0x00000000BFBCF000 0000B0 (v01 BOCHS BXPCAPIC 00000001 BXPC 00000001) ACPI: HPET 0x00000000BFBCE000 000038 (v01 BOCHS BXPCHPET 00000001 BXPC 00000001) ACPI: BGRT 0x00000000BFBCD000 000038 (v01 INTEL EDK2 00000002 01000013) ACPI: Local APIC address 0xfee00000 No NUMA configuration found Faking a node at [mem 0x0000000000000000-0x000000017fffffff] NODE_DATA(0) allocated [mem 0x17ffd2000-0x17fffcfff] kvm-clock: cpu 0, msr 1:7ffd0001, primary cpu clock kvm-clock: Using msrs 4b564d01 and 4b564d00 kvm-clock: using sched offset of 6126674195 cycles clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns Zone ranges: DMA [mem 0x0000000000001000-0x0000000000ffffff] DMA32 [mem 0x0000000001000000-0x00000000ffffffff] Normal [mem 0x0000000100000000-0x000000017fffffff] Device empty Movable zone start for each node Early memory node ranges node 0: [mem 0x0000000000001000-0x000000000009ffff] node 0: [mem 0x0000000000100000-0x00000000007fffff] node 0: [mem 0x0000000000808000-0x000000000080ffff] node 0: [mem 0x0000000000900000-0x00000000bf7eefff] node 0: [mem 0x00000000bfbff000-0x00000000bff3ffff] node 0: [mem 0x0000000100000000-0x000000017fffffff] Initmem setup node 0 [mem 0x0000000000001000-0x000000017fffffff] On node 0 totalpages: 1309143 DMA zone: 59 pages used for memmap DMA zone: 1814 pages reserved DMA zone: 3751 pages, LIFO batch:0 DMA32 zone: 12205 pages used for memmap DMA32 zone: 781104 pages, LIFO batch:31 Normal zone: 8192 pages used for memmap Normal zone: 524288 pages, LIFO batch:31 Reserved but unavailable: 97 pages ACPI: PM-Timer IO Port: 0xb008 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1]) IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level) ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level) ACPI: IRQ0 used by override. ACPI: IRQ5 used by override. ACPI: IRQ9 used by override. ACPI: IRQ10 used by override. ACPI: IRQ11 used by override. Using ACPI (MADT) for SMP configuration information ACPI: HPET id: 0x8086a201 base: 0xfed00000 smpboot: Allowing 8 CPUs, 0 hotplug CPUs PM: Registered nosave memory: [mem 0x00000000-0x00000fff] PM: Registered nosave memory: [mem 0x000a0000-0x000fffff] PM: Registered nosave memory: [mem 0x00800000-0x00807fff] PM: Registered nosave memory: [mem 0x00810000-0x008fffff] PM: Registered nosave memory: [mem 0xbd28a000-0xbd28afff] PM: Registered nosave memory: [mem 0xbd293000-0xbd293fff] PM: Registered nosave memory: [mem 0xbf7ef000-0xbfbccfff] PM: Registered nosave memory: [mem 0xbfbcd000-0xbfbd4fff] PM: Registered nosave memory: [mem 0xbfbd5000-0xbfbfefff] PM: Registered nosave memory: [mem 0xbff40000-0xbfffffff] PM: Registered nosave memory: [mem 0xc0000000-0xffbfffff] PM: Registered nosave memory: [mem 0xffc00000-0xffffffff] e820: [mem 0xc0000000-0xffbfffff] available for PCI devices Booting paravirtualized kernel on KVM clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns setup_percpu: NR_CPUS:64 nr_cpumask_bits:64 nr_cpu_ids:8 nr_node_ids:1 percpu: Embedded 45 pages/cpu @ (ptrval) s147456 r8192 d28672 u262144 pcpu-alloc: s147456 r8192 d28672 u262144 alloc=1*2097152 pcpu-alloc: [0] 0 1 2 3 4 5 6 7 KVM setup async PF for cpu 0 kvm-stealtime: cpu 0, msr 17fc23040 Built 1 zonelists, mobility grouping on. Total pages: 1286873 Policy zone: Normal Kernel command line: BOOT_IMAGE=/vmlinuz-4.16.0-rc1+ root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=fedora/root video=800x600 no_console_suspend console=tty console=ttyS0,115200 ignore_loglevel efi=debug LANG=en_US.UTF-8 Memory: 4985272K/5236572K available (12300K kernel code, 1455K rwdata, 3792K rodata, 2100K init, 1288K bss, 251300K reserved, 0K cma-reserved) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1 Kernel/User page tables isolation: enabled ftrace: allocating 36242 entries in 142 pages Hierarchical RCU implementation. RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=8. Tasks RCU enabled. RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=8 NR_IRQS: 4352, nr_irqs: 488, preallocated irqs: 16 Offload RCU callbacks from CPUs: . Console: colour dummy device 80x25 console [tty0] enabled console [ttyS0] enabled ACPI: Core revision 20180105 ACPI: 1 ACPI AML tables successfully acquired and loaded clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns hpet clockevent registered APIC: Switch to symmetric I/O mode setup x2apic enabled Switched APIC routing to physical x2apic. ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 tsc: Detected 2793.544 MHz processor clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x28446e01dde, max_idle_ns: 440795216985 ns Calibrating delay loop (skipped) preset value.. 5587.08 BogoMIPS (lpj=2793544) pid_max: default: 32768 minimum: 301 efi: EFI runtime memory map: efi: mem00: [Runtime Data |RUN| | | | | | | | | | |UC] range=[0x00000000ffc00000-0x00000000ffffffff] (4MB) efi: mem01: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bff05000-0x00000000bff3ffff] (0MB) efi: mem02: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfec4000-0x00000000bff04fff] (0MB) efi: mem03: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfe79000-0x00000000bfec3fff] (0MB) efi: mem04: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfe59000-0x00000000bfe78fff] (0MB) efi: mem05: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bfbff000-0x00000000bfdfffff] (2MB) efi: mem06: [Runtime Data |RUN| | | | | | | |WB|WT|WC|UC] range=[0x00000000bf93a000-0x00000000bfb94fff] (2MB) efi: mem07: [Runtime Code |RUN| | | | | | | |WB|WT|WC|UC] range=[0x00000000bf7ef000-0x00000000bf939fff] (1MB) efi: mem08: [Boot Code | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bf153000-0x00000000bf7eefff] (6MB) efi: mem09: [Boot Data |RUN| | | | | | | |WB|WT|WC|UC] range=[0x00000000be280000-0x00000000befaffff] (13MB) efi: mem10: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bda66000-0x00000000be1fffff] (7MB) efi: mem11: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x00000000bbefe000-0x00000000bbf1dfff] (0MB) efi: mem12: [Boot Data | | | | | | | | |WB|WT|WC|UC] range=[0x0000000000900000-0x00000000012fffff] (10MB) efi: mem13: [Boot Code |RUN| | | | | | | |WB|WT|WC|UC] range=[0x0000000000000000-0x0000000000000fff] (0MB) efi: memattr: Processing EFI Memory Attributes table: efi: memattr: 0x0000bf7ef000-0x0000bf831fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf832000-0x0000bf847fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf848000-0x0000bf850fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf851000-0x0000bf856fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf857000-0x0000bf859fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf85a000-0x0000bf85efff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf85f000-0x0000bf861fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf862000-0x0000bf869fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf86a000-0x0000bf86cfff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf86d000-0x0000bf872fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf873000-0x0000bf875fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf876000-0x0000bf8f9fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf8fa000-0x0000bf911fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf912000-0x0000bf919fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf91a000-0x0000bf91cfff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf91d000-0x0000bf924fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf925000-0x0000bf927fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf928000-0x0000bf92dfff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf92e000-0x0000bf930fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf931000-0x0000bf937fff [Runtime Code |RUN| | | | | |RO| | | | | ] efi: memattr: 0x0000bf938000-0x0000bf939fff [Runtime Code |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000bf93a000-0x0000bfb94fff [Runtime Data |RUN| | |XP| | | | | | | | ] efi: memattr: 0x0000ffc00000-0x0000ffffffff [Runtime Data |RUN| | |XP| | | | | | | | ] Security Framework initialized Yama: becoming mindful. SELinux: Initializing. SELinux: Starting in permissive mode Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes) Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes) Mount-cache hash table entries: 16384 (order: 5, 131072 bytes) Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes) CPU: Physical Processor ID: 0 CPU: Processor Core ID: 0 mce: CPU supports 10 MCE banks Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0 Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0 Spectre V2 : Mitigation: Full generic retpoline Freeing SMP alternatives memory: 32K TSC deadline timer enabled smpboot: CPU0: Intel Core Processor (Haswell, no TSX) (family: 0x6, model: 0x3c, stepping: 0x1) Performance Events: unsupported p6 CPU model 60 no PMU driver, software events only. Hierarchical SRCU implementation. NMI watchdog: Perf event create on CPU 0 failed with -2 NMI watchdog: Perf NMI watchdog permanently disabled smp: Bringing up secondary CPUs ... x86: Booting SMP configuration: .... node #0, CPUs: #1 kvm-clock: cpu 1, msr 1:7ffd0041, secondary cpu clock KVM setup async PF for cpu 1 kvm-stealtime: cpu 1, msr 17fc63040 #2 kvm-clock: cpu 2, msr 1:7ffd0081, secondary cpu clock KVM setup async PF for cpu 2 kvm-stealtime: cpu 2, msr 17fca3040 #3 kvm-clock: cpu 3, msr 1:7ffd00c1, secondary cpu clock KVM setup async PF for cpu 3 kvm-stealtime: cpu 3, msr 17fce3040 #4 kvm-clock: cpu 4, msr 1:7ffd0101, secondary cpu clock KVM setup async PF for cpu 4 kvm-stealtime: cpu 4, msr 17fd23040 #5 kvm-clock: cpu 5, msr 1:7ffd0141, secondary cpu clock KVM setup async PF for cpu 5 kvm-stealtime: cpu 5, msr 17fd63040 #6 kvm-clock: cpu 6, msr 1:7ffd0181, secondary cpu clock KVM setup async PF for cpu 6 kvm-stealtime: cpu 6, msr 17fda3040 #7 kvm-clock: cpu 7, msr 1:7ffd01c1, secondary cpu clock KVM setup async PF for cpu 7 kvm-stealtime: cpu 7, msr 17fde3040 smp: Brought up 1 node, 8 CPUs smpboot: Max logical packages: 1 smpboot: Total of 8 processors activated (44696.70 BogoMIPS) devtmpfs: initialized x86/mm: Memory block size: 128MB PM: Registering ACPI NVS region [mem 0x00800000-0x00807fff] (32768 bytes) PM: Registering ACPI NVS region [mem 0x00810000-0x008fffff] (983040 bytes) PM: Registering ACPI NVS region [mem 0xbfbd5000-0xbfbfefff] (172032 bytes) PM: Registering ACPI NVS region [mem 0xbff40000-0xbfffffff] (786432 bytes) clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns futex hash table entries: 2048 (order: 5, 131072 bytes) pinctrl core: initialized pinctrl subsystem RTC time: 17:24:56, date: 04/04/18 NET: Registered protocol family 16 audit: initializing netlink subsys (disabled) audit: type=2000 audit(1522862695.815:1): state=initialized audit_enabled=0 res=1 cpuidle: using governor menu ACPI: bus type PCI registered acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 PCI: Using configuration type 1 for base access HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages cryptd: max_cpu_qlen set to 1000 ACPI: Added _OSI(Module Device) ACPI: Added _OSI(Processor Device) ACPI: Added _OSI(3.0 _SCP Extensions) ACPI: Added _OSI(Processor Aggregator Device) ACPI: Interpreter enabled ACPI: (supports S0 S3 S5) ACPI: Using IOAPIC for interrupt routing PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug ACPI: Enabled 2 GPEs in block 00 to 0F ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge. acpiphp: Slot [3] registered acpiphp: Slot [4] registered acpiphp: Slot [5] registered acpiphp: Slot [6] registered acpiphp: Slot [7] registered acpiphp: Slot [8] registered acpiphp: Slot [9] registered acpiphp: Slot [10] registered acpiphp: Slot [11] registered acpiphp: Slot [12] registered acpiphp: Slot [13] registered acpiphp: Slot [14] registered acpiphp: Slot [15] registered acpiphp: Slot [16] registered acpiphp: Slot [17] registered acpiphp: Slot [18] registered acpiphp: Slot [19] registered acpiphp: Slot [20] registered acpiphp: Slot [21] registered acpiphp: Slot [22] registered acpiphp: Slot [23] registered acpiphp: Slot [24] registered acpiphp: Slot [25] registered acpiphp: Slot [26] registered acpiphp: Slot [27] registered acpiphp: Slot [28] registered acpiphp: Slot [29] registered acpiphp: Slot [30] registered acpiphp: Slot [31] registered PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window] pci_bus 0000:00: root bus resource [mem 0x800000000-0x80001bfff window] pci_bus 0000:00: root bus resource [bus 00-ff] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000 pci 0000:00:01.0: [8086:7000] type 00 class 0x060100 pci 0000:00:01.1: [8086:7010] type 00 class 0x010180 pci 0000:00:01.1: reg 0x20: [io 0xc120-0xc12f] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io 0x01f0-0x01f7] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io 0x03f6] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io 0x0170-0x0177] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io 0x0376] pci 0000:00:01.3: [8086:7113] type 00 class 0x068000 pci 0000:00:01.3: quirk: [io 0xb000-0xb03f] claimed by PIIX4 ACPI pci 0000:00:01.3: quirk: [io 0xb100-0xb10f] claimed by PIIX4 SMB pci 0000:00:02.0: [1af4:1050] type 00 class 0x030000 pci 0000:00:02.0: reg 0x10: [mem 0xc0000000-0xc07fffff pref] pci 0000:00:02.0: reg 0x18: [mem 0x800000000-0x800003fff 64bit pref] pci 0000:00:02.0: reg 0x20: [mem 0xc0804000-0xc0804fff] pci 0000:00:02.0: reg 0x30: [mem 0xffff0000-0xffffffff pref] pci 0000:00:02.0: BAR 0: assigned to efifb pci 0000:00:03.0: [1af4:1000] type 00 class 0x020000 pci 0000:00:03.0: reg 0x10: [io 0xc100-0xc11f] pci 0000:00:03.0: reg 0x14: [mem 0xc0803000-0xc0803fff] pci 0000:00:03.0: reg 0x20: [mem 0x800004000-0x800007fff 64bit pref] pci 0000:00:04.0: [1af4:1001] type 00 class 0x010000 pci 0000:00:04.0: reg 0x10: [io 0xc080-0xc0bf] pci 0000:00:04.0: reg 0x14: [mem 0xc0802000-0xc0802fff] pci 0000:00:04.0: reg 0x20: [mem 0x800008000-0x80000bfff 64bit pref] pci 0000:00:05.0: [1af4:1002] type 00 class 0x00ff00 pci 0000:00:05.0: reg 0x10: [io 0xc0e0-0xc0ff] pci 0000:00:05.0: reg 0x20: [mem 0x80000c000-0x80000ffff 64bit pref] pci 0000:00:06.0: [1af4:1003] type 00 class 0x078000 pci 0000:00:06.0: reg 0x10: [io 0xc040-0xc07f] pci 0000:00:06.0: reg 0x14: [mem 0xc0801000-0xc0801fff] pci 0000:00:06.0: reg 0x20: [mem 0x800010000-0x800013fff 64bit pref] pci 0000:00:07.0: [1033:0194] type 00 class 0x0c0330 pci 0000:00:07.0: reg 0x10: [mem 0x800018000-0x80001bfff 64bit] pci 0000:00:08.0: [1af4:1005] type 00 class 0x00ff00 pci 0000:00:08.0: reg 0x10: [io 0xc0c0-0xc0df] pci 0000:00:08.0: reg 0x20: [mem 0x800014000-0x800017fff 64bit pref] pci 0000:00:09.0: [1af4:1004] type 00 class 0x010000 pci 0000:00:09.0: reg 0x10: [io 0xc000-0xc03f] pci 0000:00:09.0: reg 0x14: [mem 0xc0800000-0xc0800fff] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 10 *11) ACPI: PCI Interrupt Link [LNKB] (IRQs 5 10 *11) ACPI: PCI Interrupt Link [LNKC] (IRQs 5 *10 11) ACPI: PCI Interrupt Link [LNKD] (IRQs 5 *10 11) ACPI: PCI Interrupt Link [LNKS] (IRQs *9) pci 0000:00:02.0: vgaarb: setting as boot VGA device pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none pci 0000:00:02.0: vgaarb: bridge control possible vgaarb: loaded SCSI subsystem initialized libata version 3.00 loaded. ACPI: bus type USB registered usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb EDAC MC: Ver: 3.0.0 Registered efivars operations PCI: Using ACPI for IRQ routing PCI: pci_cache_line_size set to 64 bytes e820: reserve RAM buffer [mem 0x00810000-0x008fffff] e820: reserve RAM buffer [mem 0xbd28a018-0xbfffffff] e820: reserve RAM buffer [mem 0xbf7ef000-0xbfffffff] e820: reserve RAM buffer [mem 0xbff40000-0xbfffffff] NetLabel: Initializing NetLabel: domain hash size = 128 NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO NetLabel: unlabeled traffic allowed by default hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0 hpet0: 3 comparators, 64-bit 100.000000 MHz counter clocksource: Switched to clocksource kvm-clock VFS: Disk quotas dquot_6.6.0 VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) pnp: PnP ACPI init pnp 00:00: Plug and Play ACPI device, IDs PNP0b00 (active) pnp 00:01: Plug and Play ACPI device, IDs PNP0303 (active) pnp 00:02: Plug and Play ACPI device, IDs PNP0f13 (active) pnp 00:03: [dma 2] pnp 00:03: Plug and Play ACPI device, IDs PNP0700 (active) pnp 00:04: Plug and Play ACPI device, IDs PNP0501 (active) pnp: PnP ACPI: found 5 devices clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns pci 0000:00:02.0: can't claim BAR 6 [mem 0xffff0000-0xffffffff pref]: no compatible bridge window pci 0000:00:02.0: BAR 6: assigned [mem 0xc0810000-0xc081ffff pref] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window] pci_bus 0000:00: resource 7 [mem 0xc0000000-0xfebfffff window] pci_bus 0000:00: resource 8 [mem 0x800000000-0x80001bfff window] NET: Registered protocol family 2 tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes) TCP established hash table entries: 65536 (order: 7, 524288 bytes) TCP bind hash table entries: 65536 (order: 8, 1048576 bytes) TCP: Hash tables configured (established 65536 bind 65536) UDP hash table entries: 4096 (order: 5, 131072 bytes) UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes) NET: Registered protocol family 1 pci 0000:00:00.0: Limiting direct PCI/PCI transfers pci 0000:00:01.0: PIIX3: Enabling Passive Release pci 0000:00:01.0: Activating ISA DMA hang workarounds pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff] PCI Interrupt Link [LNKC] enabled at IRQ 10 PCI: CLS 0 bytes, default 64 Unpacking initramfs... Freeing initrd memory: 46852K PCI-DMA: Using software bounce buffering for IO (SWIOTLB) software IO TLB [mem 0xb7efe000-0xbbefe000] (64MB) mapped at [00000000393ddcb0-000000002bd6a6f2] Initialise system trusted keyrings Key type blacklist registered workingset: timestamp_bits=36 max_order=21 bucket_order=0 zbud: loaded SELinux: Registering netfilter hooks NET: Registered protocol family 38 Key type asymmetric registered Asymmetric key parser 'x509' registered Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247) io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) io scheduler mq-deadline registered efifb: probing for efifb efifb: framebuffer at 0xc0000000, using 1876k, total 1875k efifb: mode is 800x600x32, linelength=3200, pages=1 efifb: scrolling: redraw efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0 Console: switching to colour frame buffer device 100x37 fb0: EFI VGA frame buffer device intel_idle: Please enable MWAIT in BIOS SETUP input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0 ACPI: Power Button [PWRF] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A Non-volatile memory driver v1.3 Linux agpgart interface v0.103 ata_piix 0000:00:01.1: version 2.13 scsi host0: ata_piix scsi host1: ata_piix ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc120 irq 14 ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc128 irq 15 libphy: Fixed MDIO Bus: probed ata1: port disabled--ignoring ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ata2: port disabled--ignoring ehci-pci: EHCI PCI platform driver ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver ohci-pci: OHCI PCI platform driver uhci_hcd: USB Universal Host Controller Interface driver xhci_hcd 0000:00:07.0: xHCI Host Controller xhci_hcd 0000:00:07.0: new USB bus registered, assigned bus number 1 xhci_hcd 0000:00:07.0: hcc params 0x00087001 hci version 0x100 quirks 0x00000014 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: xHCI Host Controller usb usb1: Manufacturer: Linux 4.16.0-rc1+ xhci-hcd usb usb1: SerialNumber: 0000:00:07.0 hub 1-0:1.0: USB hub found hub 1-0:1.0: 4 ports detected xhci_hcd 0000:00:07.0: xHCI Host Controller xhci_hcd 0000:00:07.0: new USB bus registered, assigned bus number 2 usb usb2: We don't know the algorithms for LPM for this host, disabling LPM. usb usb2: New USB device found, idVendor=1d6b, idProduct=0003 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: xHCI Host Controller usb usb2: Manufacturer: Linux 4.16.0-rc1+ xhci-hcd usb usb2: SerialNumber: 0000:00:07.0 hub 2-0:1.0: USB hub found hub 2-0:1.0: 4 ports detected usbcore: registered new interface driver usbserial_generic usbserial: USB Serial support registered for generic i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12 serio: i8042 KBD port at 0x60,0x64 irq 1 serio: i8042 AUX port at 0x60,0x64 irq 12 mousedev: PS/2 mouse device common for all mice rtc_cmos 00:00: RTC can wake from S4 rtc_cmos 00:00: rtc core: registered rtc_cmos as rtc0 input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input1 rtc_cmos 00:00: alarms up to one day, y3k, 114 bytes nvram, hpet irqs device-mapper: uevent: version 1.0.3 device-mapper: ioctl: 4.37.0-ioctl (2017-09-20) initialised: dm-devel@redhat.com input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input4 hidraw: raw HID events driver (C) Jiri Kosina usbcore: registered new interface driver usbhid usbhid: USB HID core driver drop_monitor: Initializing network drop monitor service input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input3 Initializing XFRM netlink socket NET: Registered protocol family 10 Segment Routing with IPv6 mip6: Mobile IPv6 NET: Registered protocol family 17 RAS: Correctable Errors collector initialized. AVX2 version of gcm_enc/dec engaged. AES CTR mode by8 optimization enabled sched_clock: Marking stable (1387045073, 0)->(1971055678, -584010605) registered taskstats version 1 Loading compiled-in X.509 certificates Loaded X.509 cert 'Build time autogenerated kernel key: 3252e0ecec7d1d1612246d5576bd5ee74f5bc14a' zswap: loaded using pool lzo/zbud Key type big_key registered Key type encrypted registered Magic number: 14:464:440 clockevents broadcast: hash matches rtc_cmos 00:00: setting system clock to 2018-04-04 17:24:57 UTC (1522862697) Freeing unused kernel memory: 2100K Write protecting the kernel read-only data: 18432k Freeing unused kernel memory: 2012K Freeing unused kernel memory: 304K x86/mm: Checked W+X mappings: passed, no W+X pages found. x86/mm: Checking user space page tables x86/mm: Checked W+X mappings: passed, no W+X pages found. rodata_test: all tests were successful systemd[1]: systemd 234 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN default-hierarchy=hybrid) systemd[1]: Detected virtualization kvm. systemd[1]: Detected architecture x86-64. systemd[1]: Running in initial RAM disk. systemd[1]: Set hostname to <ovmf-fedora>. systemd[1]: Listening on Journal Audit Socket. systemd[1]: Listening on Journal Socket. systemd[1]: Reached target Local File Systems. systemd[1]: Created slice System Slice. systemd[1]: Reached target Slices. audit: type=1130 audit(1522862697.638:2): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-tmpfiles-setup-dev comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862697.662:3): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-journald comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862697.695:4): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-vconsole-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1131 audit(1522862697.695:5): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-vconsole-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' usb 1-1: new high-speed USB device number 2 using xhci_hcd audit: type=1130 audit(1522862697.732:6): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=dracut-cmdline comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862697.760:7): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=dracut-pre-udev comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862697.776:8): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-udevd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862697.835:9): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-udev-trigger comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' usb 1-1: New USB device found, idVendor=0627, idProduct=0001 usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=5 usb 1-1: Product: QEMU USB Tablet usb 1-1: Manufacturer: QEMU usb 1-1: SerialNumber: 42 input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:07.0/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input5 hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:07.0-1/input0 audit: type=1130 audit(1522862697.898: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' FDC 0 is a S82078B PCI Interrupt Link [LNKB] enabled at IRQ 11 PCI Interrupt Link [LNKD] enabled at IRQ 10 PCI Interrupt Link [LNKA] enabled at IRQ 11 random: crng init done virtio-pci 0000:00:09.0: virtio_pci: leaving for legacy driver virtio_blk virtio2: [vda] 4972 512-byte logical blocks (2.55 MB/2.43 MiB) scsi host2: Virtio SCSI HBA vda: vda1 virtio_net virtio1 ens3: renamed from eth0 scsi 2:0:0:0: Direct-Access QEMU QEMU HARDDISK 2.5+ PQ: 0 ANSI: 5 scsi 2:0:0:1: CD-ROM QEMU QEMU CD-ROM 2.5+ PQ: 0 ANSI: 5 tsc: Refined TSC clocksource calibration: 2793.571 MHz clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x284487bd184, max_idle_ns: 440795309112 ns sd 2:0:0:0: Attached scsi generic sg0 type 0 sd 2:0:0:0: Power-on or device reset occurred sr 2:0:0:1: Power-on or device reset occurred sr 2:0:0:1: [sr0] scsi3-mmc drive: 16x/50x cd/rw xa/form2 cdda tray sd 2:0:0:0: [sda] 73400320 512-byte logical blocks: (37.6 GB/35.0 GiB) cdrom: Uniform CD-ROM driver Revision: 3.20 sd 2:0:0:0: [sda] Write Protect is off sr 2:0:0:1: Attached scsi CD-ROM sr0 sd 2:0:0:0: [sda] Mode Sense: 63 00 00 08 sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sr 2:0:0:1: Attached scsi generic sg1 type 5 sda: sda1 sda2 sda3 sd 2:0:0:0: [sda] Attached SCSI disk EXT4-fs (dm-1): mounted filesystem with ordered data mode. Opts: (null) systemd-journald[248]: Received SIGTERM from PID 1 (systemd). systemd: 18 output lines suppressed due to ratelimiting SELinux: 32768 avtab hash slots, 108866 rules. SELinux: 32768 avtab hash slots, 108866 rules. SELinux: 8 users, 14 roles, 5092 types, 316 bools, 1 sens, 1024 cats SELinux: 97 classes, 108866 rules SELinux: Permission getrlimit in class process not defined in policy. SELinux: Class sctp_socket not defined in policy. SELinux: Class icmp_socket not defined in policy. SELinux: Class ax25_socket not defined in policy. SELinux: Class ipx_socket not defined in policy. SELinux: Class netrom_socket not defined in policy. SELinux: Class atmpvc_socket not defined in policy. SELinux: Class x25_socket not defined in policy. SELinux: Class rose_socket not defined in policy. SELinux: Class decnet_socket not defined in policy. SELinux: Class atmsvc_socket not defined in policy. SELinux: Class rds_socket not defined in policy. SELinux: Class irda_socket not defined in policy. SELinux: Class pppox_socket not defined in policy. SELinux: Class llc_socket not defined in policy. SELinux: Class can_socket not defined in policy. SELinux: Class tipc_socket not defined in policy. SELinux: Class bluetooth_socket not defined in policy. SELinux: Class iucv_socket not defined in policy. SELinux: Class rxrpc_socket not defined in policy. SELinux: Class isdn_socket not defined in policy. SELinux: Class phonet_socket not defined in policy. SELinux: Class ieee802154_socket not defined in policy. SELinux: Class caif_socket not defined in policy. SELinux: Class alg_socket not defined in policy. SELinux: Class nfc_socket not defined in policy. SELinux: Class vsock_socket not defined in policy. SELinux: Class kcm_socket not defined in policy. SELinux: Class qipcrtr_socket not defined in policy. SELinux: Class smc_socket not defined in policy. SELinux: Class bpf not defined in policy. SELinux: the above unknown classes and permissions will be allowed SELinux: policy capability network_peer_controls=1 SELinux: policy capability open_perms=1 SELinux: policy capability extended_socket_class=0 SELinux: policy capability always_check_network=0 SELinux: policy capability cgroup_seclabel=1 SELinux: policy capability nnp_nosuid_transition=1 SELinux: Completing initialization. SELinux: Setting up existing superblocks. systemd[1]: Successfully loaded SELinux policy in 167.311ms. systemd[1]: Relabelled /dev and /run in 20.793ms. EXT4-fs (dm-1): re-mounted. Opts: (null) systemd-journald[685]: Received request to flush runtime journal from PID 1 piix4_smbus 0000:00:01.3: SMBus Host Controller at 0xb100, revision 0 input: PC Speaker as /devices/platform/pcspkr/input/input6 [drm:drm_virtio_init [virtio_gpu]] *ERROR* drm_virtio_init: #1 dev->unique virtio0 [drm] pci: virtio-vga detected at 0000:00:02.0 checking generic (c0000000 1d5000) vs hw (c0000000 800000) fb: switching to virtiodrmfb from EFI VGA Console: switching to colour dummy device 80x25 [drm] virgl 3d acceleration not supported by host [TTM] Zone kernel: Available graphics memory: 2532234 kiB [TTM] Zone dma32: Available graphics memory: 2097152 kiB [TTM] Initializing pool allocator [TTM] Initializing DMA pool allocator [drm] number of scanouts: 1 [drm] number of cap sets: 0 Console: switching to colour frame buffer device 100x37 virtio_gpu virtio0: fb0: virtiodrmfb frame buffer device [drm] Initialized virtio_gpu 0.0.1 0 for virtio0 on minor 0 [drm:drm_virtio_init [virtio_gpu]] *ERROR* drm_virtio_init: #2 dev->unique pci:0000:00:02.0 Adding 131068k swap on /dev/mapper/fedora-swap. Priority:-2 extents:1 across:131068k FS kauditd_printk_skb: 53 callbacks suppressed audit: type=1130 audit(1522862701.382:64): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-udev-settle comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862701.390:65): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lvm2-lvmetad comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862701.444:66): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lvm2-monitor comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862701.452:67): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dmraid-activation comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1131 audit(1522862701.452:68): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dmraid-activation comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862701.518:69): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lvm2-pvscan@8:3 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862701.542:70): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-fsck@dev-disk-by\x2duuid-eb070e11\x2dd6ac\x2d4980\x2d8882\x2dfe2adaefe226 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null) FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. audit: type=1130 audit(1522862701.630:71): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dracut-shutdown comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1130 audit(1522862701.651:72): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=plymouth-read-write comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' audit: type=1131 audit(1522862701.652:73): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=plymouth-read-write comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' [drm:drm_setversion [drm]] *ERROR* drm_set_busid: dev 000000000524a3b8, is_pci 0 [drm:drm_setversion [drm]] *ERROR* drm_set_busid: unique pci:0000:00:02.0 [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique (null) [drm:drm_getunique [drm]] *ERROR* drm_getunique: unique pci:0000:00:02.0 IPv6: ADDRCONF(NETDEV_UP): ens3: link is not ready bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
Thanks! Laszlo
On 04/04/18 19:29, Laszlo Ersek wrote:
Hi Emil,
On 04/03/18 19:13, Emil Velikov wrote:
On 29 March 2018 at 12:17, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 16:35, Emil Velikov wrote:
On 28 March 2018 at 11:27, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 03:24, Emil Velikov wrote:
Gents, can someone double-check this please? Just in case.
I guess I should test whether this series regresses the use case described in c2cbc38b97; is that correct?
Precisely.
[3] https://github.com/evelikov/linux/commits/ioctl-cleanups
Unfortunately, this series seems to reintroduce the regression fixed / described earlier in commit c2cbc38b97.
Thank you very much for testing.
Believe I've tracked it down to a broken commit from 2014 ;-) Please try the following branch [1] - it's untested, but I'm 99% sure it will work like a charm.
Alas, it does not work.
I've done some more digging. Let me quote the commit message on the proposed patch again:
Ealier commit a325725633c26aa66ab940f762a6b0778edf76c0 did not attribute that virtio can be either PCI or a platform device and removed the .set_busid hook. Whereas only the "platform" instance should have been removed.
Since then, two things have happened:
- the driver manually calls drm_dev_set_unique, addressing the Xserver
regression - see commit 9785b4321b0bd701f8d21d3d3c676a7739a5cf22
- core itself calls drm_pci_set_busid, on drm_set_busid IOCTL setting
the busid, so we don't need to fallback to dev->unique - see commit 5c484cee7ef9c4fd29fa0ba09640d55960977145
With that in place we can remove the local workaround.
This write-up of events is not precise enough. Instead, I think the timeline is as follows:
(1) Commit a325725633c2 ("drm: Lobotomize set_busid nonsense for !pci drivers", 2016-06-21) introduced the regression. By removing drm_virtio_set_busid(), commit a325725633c2 changed the behavior of the following function:
static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv) { struct drm_master *master = file_priv->master; int ret;
if (master->unique != NULL) drm_unset_busid(dev, master);
if (dev->driver->set_busid) { ret = dev->driver->set_busid(dev, master); if (ret) { drm_unset_busid(dev, master); return ret; } } else { WARN_ON(!dev->unique); master->unique = kstrdup(dev->unique, GFP_KERNEL); if (master->unique) master->unique_len = strlen(dev->unique); }
return 0; }
When a325725633c2 removed drm_virtio_set_busid(), drm_set_busid() started taking the second branch, which wasn't doing the right thing for virtio-vga at the time.
(2) There were two ways to fix the regression: either (a) return drm_set_busid() to taking the first branch, or (b) tweak the virtio-vga driver so that the second branch in drm_set_busid() start to behave right.
My commit c2cbc38b9715 ("drm: virtio: reinstate drm_virtio_set_busid()", 2016-10-04) implemented (a), by reverting a few chunks of a325725633c2.
(3) Gerd thought that approach (b) was superior (and I totally defer to him on this, now that I'm learning of his patches in the first place :) ). Namely, in commit 9785b4321b0b ("drm/virtio: fix busid regression", 2016-11-15), he implemented approach (b), and right after, in commit 1775db074a32 ("Revert "drm: virtio: reinstate drm_virtio_set_busid()"", 2016-11-15), he undid my commit c2cbc38b9715.
In other words, Gerd replaced approach (a) with approach (b).
(4) Subsequently, commit 5c484cee7ef9 ("drm: Remove drm_driver->set_busid hook", 2017-06-20), changed drm_set_busid() to the following:
static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv) { struct drm_master *master = file_priv->master; int ret;
if (master->unique != NULL) drm_unset_busid(dev, master);
if (dev_is_pci(dev->dev)) { ret = drm_pci_set_busid(dev, master); if (ret) { drm_unset_busid(dev, master); return ret; } } else { WARN_ON(!dev->unique); master->unique = kstrdup(dev->unique, GFP_KERNEL); if (master->unique) master->unique_len = strlen(dev->unique); }
return 0; }
Perhaps surprisingly, this change did not affect (or "help") virtio-vga at all, despite the fact that drm_virtio_set_busid() also used to call drm_pci_set_busid().
The reason for commit 5c484cee7ef9 not affecting virtio-vga is that the first branch would not be taken just the same, because dev_is_pci() returns false for virtio-vga. (So, the difference with drm_virtio_set_busid() is that drm_virtio_set_busid() would call drm_pci_set_busid() without checking dev_is_pci() first.)
Here's the definition of the dev_is_pci() macro, from "include/linux/pci.h":
#define dev_is_pci(d) ((d)->bus == &pci_bus_type)
However, the bus type for virtio-vga is "virtio_bus", not "pci_bus_type". Namely, virtio_pci_probe() [drivers/virtio/virtio_pci_common.c] calls register_virtio_device() [drivers/virtio/virtio.c], and there we have
int register_virtio_device(struct virtio_device *dev) { int err;
dev->dev.bus = &virtio_bus;
This means that post-5c484cee7ef9, we remain reliant on the second branch in drm_set_busid(), and therefore Gerd's commit 9785b4321b0b, from point (3), should not be backed out.
What I could see as justified is a loud comment in drm_virtio_init(), just above the call to drm_dev_set_unique(), explaining why it is necessary to set "unique" manually. The reason is that virtio-vga technically has "virtio_bus", not "pci_bus_type", for bus type, and so the generic PCI BusID-setting will not cover it.
Thanks Laszlo
Hi Laszlo,
On 6 April 2018 at 13:15, Laszlo Ersek lersek@redhat.com wrote:
On 04/04/18 19:29, Laszlo Ersek wrote:
Hi Emil,
On 04/03/18 19:13, Emil Velikov wrote:
On 29 March 2018 at 12:17, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 16:35, Emil Velikov wrote:
On 28 March 2018 at 11:27, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 03:24, Emil Velikov wrote:
> Gents, can someone double-check this please? Just in case.
I guess I should test whether this series regresses the use case described in c2cbc38b97; is that correct?
Precisely.
[3] https://github.com/evelikov/linux/commits/ioctl-cleanups
Unfortunately, this series seems to reintroduce the regression fixed / described earlier in commit c2cbc38b97.
Thank you very much for testing.
Believe I've tracked it down to a broken commit from 2014 ;-) Please try the following branch [1] - it's untested, but I'm 99% sure it will work like a charm.
Alas, it does not work.
I've done some more digging. Let me quote the commit message on the proposed patch again:
Ealier commit a325725633c26aa66ab940f762a6b0778edf76c0 did not attribute that virtio can be either PCI or a platform device and removed the .set_busid hook. Whereas only the "platform" instance should have been removed.
Since then, two things have happened:
- the driver manually calls drm_dev_set_unique, addressing the Xserver
regression - see commit 9785b4321b0bd701f8d21d3d3c676a7739a5cf22
- core itself calls drm_pci_set_busid, on drm_set_busid IOCTL setting
the busid, so we don't need to fallback to dev->unique - see commit 5c484cee7ef9c4fd29fa0ba09640d55960977145
With that in place we can remove the local workaround.
This write-up of events is not precise enough. Instead, I think the timeline is as follows:
(1) Commit a325725633c2 ("drm: Lobotomize set_busid nonsense for !pci drivers", 2016-06-21) introduced the regression. By removing drm_virtio_set_busid(), commit a325725633c2 changed the behavior of the following function:
static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv) { struct drm_master *master = file_priv->master; int ret;
if (master->unique != NULL) drm_unset_busid(dev, master); if (dev->driver->set_busid) { ret = dev->driver->set_busid(dev, master); if (ret) { drm_unset_busid(dev, master); return ret; } } else { WARN_ON(!dev->unique); master->unique = kstrdup(dev->unique, GFP_KERNEL); if (master->unique) master->unique_len = strlen(dev->unique); } return 0;
}
When a325725633c2 removed drm_virtio_set_busid(), drm_set_busid() started taking the second branch, which wasn't doing the right thing for virtio-vga at the time.
(2) There were two ways to fix the regression: either (a) return drm_set_busid() to taking the first branch, or (b) tweak the virtio-vga driver so that the second branch in drm_set_busid() start to behave right.
My commit c2cbc38b9715 ("drm: virtio: reinstate drm_virtio_set_busid()", 2016-10-04) implemented (a), by reverting a few chunks of a325725633c2.
(3) Gerd thought that approach (b) was superior (and I totally defer to him on this, now that I'm learning of his patches in the first place :) ). Namely, in commit 9785b4321b0b ("drm/virtio: fix busid regression", 2016-11-15), he implemented approach (b), and right after, in commit 1775db074a32 ("Revert "drm: virtio: reinstate drm_virtio_set_busid()"", 2016-11-15), he undid my commit c2cbc38b9715.
In other words, Gerd replaced approach (a) with approach (b).
(4) Subsequently, commit 5c484cee7ef9 ("drm: Remove drm_driver->set_busid hook", 2017-06-20), changed drm_set_busid() to the following:
static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv) { struct drm_master *master = file_priv->master; int ret;
if (master->unique != NULL) drm_unset_busid(dev, master); if (dev_is_pci(dev->dev)) { ret = drm_pci_set_busid(dev, master); if (ret) { drm_unset_busid(dev, master); return ret; } } else { WARN_ON(!dev->unique); master->unique = kstrdup(dev->unique, GFP_KERNEL); if (master->unique) master->unique_len = strlen(dev->unique); } return 0;
}
Perhaps surprisingly, this change did not affect (or "help") virtio-vga at all, despite the fact that drm_virtio_set_busid() also used to call drm_pci_set_busid(). The reason for commit 5c484cee7ef9 not affecting virtio-vga is that the first branch would not be taken just the same, because dev_is_pci() returns false for virtio-vga. (So, the difference with drm_virtio_set_busid() is that drm_virtio_set_busid() would call drm_pci_set_busid() without checking dev_is_pci() first.) Here's the definition of the dev_is_pci() macro, from "include/linux/pci.h":
#define dev_is_pci(d) ((d)->bus == &pci_bus_type)
However, the bus type for virtio-vga is "virtio_bus", not "pci_bus_type". Namely, virtio_pci_probe() [drivers/virtio/virtio_pci_common.c] calls register_virtio_device() [drivers/virtio/virtio.c], and there we have
int register_virtio_device(struct virtio_device *dev) { int err;
dev->dev.bus = &virtio_bus;
This means that post-5c484cee7ef9, we remain reliant on the second branch in drm_set_busid(), and therefore Gerd's commit 9785b4321b0b, from point (3), should not be backed out.
What I could see as justified is a loud comment in drm_virtio_init(), just above the call to drm_dev_set_unique(), explaining why it is necessary to set "unique" manually. The reason is that virtio-vga technically has "virtio_bus", not "pci_bus_type", for bus type, and so the generic PCI BusID-setting will not cover it.
I've reached to roughly the same conclusion yesterday. Or to put it in slightly differently:
Unlike the other virtual GPU drivers (vmxgfx, qxl, bosh...) virtio abstracts the underlying bus type by using struct virtio_device. Hence the dev_is_pci() check will fail and the unique returned will be the virtio_device' "virtio0", while the "pci:..." one is required.
Apart from a beefy comment I've also considered: - Extending the dev_is_pci() case [in drm_set_busid] to consider virtio. It seems like a bigger hack that what we have currently. - point drm_device::dev to the parent of the virtio_device The biggest hack imaginable, if even possible.
Above said, consider patches 3+4 dropped and I'll follow-up with a patch adding inline documentation about this.
Thank you very much for the help. Emil P.S. On the plus side, I am working on a X/modesetting series that removes all the mess which requires this workaround ;-)
On Fri, Apr 06, 2018 at 01:56:15PM +0100, Emil Velikov wrote:
Hi Laszlo,
On 6 April 2018 at 13:15, Laszlo Ersek lersek@redhat.com wrote:
On 04/04/18 19:29, Laszlo Ersek wrote:
Hi Emil,
On 04/03/18 19:13, Emil Velikov wrote:
On 29 March 2018 at 12:17, Laszlo Ersek lersek@redhat.com wrote:
On 03/28/18 16:35, Emil Velikov wrote:
On 28 March 2018 at 11:27, Laszlo Ersek lersek@redhat.com wrote: > On 03/28/18 03:24, Emil Velikov wrote:
>> Gents, can someone double-check this please? Just in case. > > I guess I should test whether this series regresses the use case > described in c2cbc38b97; is that correct? > Precisely.
[3] https://github.com/evelikov/linux/commits/ioctl-cleanups
Unfortunately, this series seems to reintroduce the regression fixed / described earlier in commit c2cbc38b97.
Thank you very much for testing.
Believe I've tracked it down to a broken commit from 2014 ;-) Please try the following branch [1] - it's untested, but I'm 99% sure it will work like a charm.
Alas, it does not work.
I've done some more digging. Let me quote the commit message on the proposed patch again:
Ealier commit a325725633c26aa66ab940f762a6b0778edf76c0 did not attribute that virtio can be either PCI or a platform device and removed the .set_busid hook. Whereas only the "platform" instance should have been removed.
Since then, two things have happened:
- the driver manually calls drm_dev_set_unique, addressing the Xserver
regression - see commit 9785b4321b0bd701f8d21d3d3c676a7739a5cf22
- core itself calls drm_pci_set_busid, on drm_set_busid IOCTL setting
the busid, so we don't need to fallback to dev->unique - see commit 5c484cee7ef9c4fd29fa0ba09640d55960977145
With that in place we can remove the local workaround.
This write-up of events is not precise enough. Instead, I think the timeline is as follows:
(1) Commit a325725633c2 ("drm: Lobotomize set_busid nonsense for !pci drivers", 2016-06-21) introduced the regression. By removing drm_virtio_set_busid(), commit a325725633c2 changed the behavior of the following function:
static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv) { struct drm_master *master = file_priv->master; int ret;
if (master->unique != NULL) drm_unset_busid(dev, master); if (dev->driver->set_busid) { ret = dev->driver->set_busid(dev, master); if (ret) { drm_unset_busid(dev, master); return ret; } } else { WARN_ON(!dev->unique); master->unique = kstrdup(dev->unique, GFP_KERNEL); if (master->unique) master->unique_len = strlen(dev->unique); } return 0;
}
When a325725633c2 removed drm_virtio_set_busid(), drm_set_busid() started taking the second branch, which wasn't doing the right thing for virtio-vga at the time.
(2) There were two ways to fix the regression: either (a) return drm_set_busid() to taking the first branch, or (b) tweak the virtio-vga driver so that the second branch in drm_set_busid() start to behave right.
My commit c2cbc38b9715 ("drm: virtio: reinstate drm_virtio_set_busid()", 2016-10-04) implemented (a), by reverting a few chunks of a325725633c2.
(3) Gerd thought that approach (b) was superior (and I totally defer to him on this, now that I'm learning of his patches in the first place :) ). Namely, in commit 9785b4321b0b ("drm/virtio: fix busid regression", 2016-11-15), he implemented approach (b), and right after, in commit 1775db074a32 ("Revert "drm: virtio: reinstate drm_virtio_set_busid()"", 2016-11-15), he undid my commit c2cbc38b9715.
In other words, Gerd replaced approach (a) with approach (b).
(4) Subsequently, commit 5c484cee7ef9 ("drm: Remove drm_driver->set_busid hook", 2017-06-20), changed drm_set_busid() to the following:
static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv) { struct drm_master *master = file_priv->master; int ret;
if (master->unique != NULL) drm_unset_busid(dev, master); if (dev_is_pci(dev->dev)) { ret = drm_pci_set_busid(dev, master); if (ret) { drm_unset_busid(dev, master); return ret; } } else { WARN_ON(!dev->unique); master->unique = kstrdup(dev->unique, GFP_KERNEL); if (master->unique) master->unique_len = strlen(dev->unique); } return 0;
}
Perhaps surprisingly, this change did not affect (or "help") virtio-vga at all, despite the fact that drm_virtio_set_busid() also used to call drm_pci_set_busid(). The reason for commit 5c484cee7ef9 not affecting virtio-vga is that the first branch would not be taken just the same, because dev_is_pci() returns false for virtio-vga. (So, the difference with drm_virtio_set_busid() is that drm_virtio_set_busid() would call drm_pci_set_busid() without checking dev_is_pci() first.) Here's the definition of the dev_is_pci() macro, from "include/linux/pci.h":
#define dev_is_pci(d) ((d)->bus == &pci_bus_type)
However, the bus type for virtio-vga is "virtio_bus", not "pci_bus_type". Namely, virtio_pci_probe() [drivers/virtio/virtio_pci_common.c] calls register_virtio_device() [drivers/virtio/virtio.c], and there we have
int register_virtio_device(struct virtio_device *dev) { int err;
dev->dev.bus = &virtio_bus;
This means that post-5c484cee7ef9, we remain reliant on the second branch in drm_set_busid(), and therefore Gerd's commit 9785b4321b0b, from point (3), should not be backed out.
What I could see as justified is a loud comment in drm_virtio_init(), just above the call to drm_dev_set_unique(), explaining why it is necessary to set "unique" manually. The reason is that virtio-vga technically has "virtio_bus", not "pci_bus_type", for bus type, and so the generic PCI BusID-setting will not cover it.
I've reached to roughly the same conclusion yesterday. Or to put it in slightly differently:
Unlike the other virtual GPU drivers (vmxgfx, qxl, bosh...) virtio abstracts the underlying bus type by using struct virtio_device. Hence the dev_is_pci() check will fail and the unique returned will be the virtio_device' "virtio0", while the "pci:..." one is required.
Apart from a beefy comment I've also considered:
- Extending the dev_is_pci() case [in drm_set_busid] to consider virtio.
It seems like a bigger hack that what we have currently.
- point drm_device::dev to the parent of the virtio_device
The biggest hack imaginable, if even possible.
What would/could break if we do this? Why is this a hack? -Daniel
Above said, consider patches 3+4 dropped and I'll follow-up with a patch adding inline documentation about this.
Thank you very much for the help. Emil P.S. On the plus side, I am working on a X/modesetting series that removes all the mess which requires this workaround ;-)
On 9 April 2018 at 09:26, Daniel Vetter daniel@ffwll.ch wrote:
- point drm_device::dev to the parent of the virtio_device
The biggest hack imaginable, if even possible.
What would/could break if we do this? Why is this a hack?
It _feels_ very hacky to reach/store the parent of the _parent_ device given. Dummy grep for <dev> showed hundreds of entries, but many of those are unrelated. Will give it a closer look - might not be as bad, as I originally thought.
-Emil
On 9 April 2018 at 11:24, Emil Velikov emil.l.velikov@gmail.com wrote:
On 9 April 2018 at 09:26, Daniel Vetter daniel@ffwll.ch wrote:
- point drm_device::dev to the parent of the virtio_device
The biggest hack imaginable, if even possible.
What would/could break if we do this? Why is this a hack?
It _feels_ very hacky to reach/store the parent of the _parent_ device given. Dummy grep for <dev> showed hundreds of entries, but many of those are unrelated. Will give it a closer look - might not be as bad, as I originally thought.
Here are the side-effects:
Semantic changes * using the wrong device for i2c - via drm_dp_add_port * passing the wrong device to framebuffer_alloc - via drm_fb_helper_alloc_fbi * using the wrong parent device to drm_gem_prime_import_dev
Visual * printing the wrong device on DRM_DEV_ERROR, dev_info, drm_printer, etc
Needs a pdev_to_virtio() since we have the struct virtio_device::struct device::struct device parent - via virtio_gpu_driver_load
One, might get away with the above, by introducing drm_device::device bus_device, or alike. That one is used solely for the unique magic :-\
It sounds tad dirty, so I'm leaning with just commenting it. Open to alternative suggestions though.
-Emil
On Mon, Apr 09, 2018 at 12:25:57PM +0100, Emil Velikov wrote:
On 9 April 2018 at 11:24, Emil Velikov emil.l.velikov@gmail.com wrote:
On 9 April 2018 at 09:26, Daniel Vetter daniel@ffwll.ch wrote:
- point drm_device::dev to the parent of the virtio_device
The biggest hack imaginable, if even possible.
What would/could break if we do this? Why is this a hack?
It _feels_ very hacky to reach/store the parent of the _parent_ device given. Dummy grep for <dev> showed hundreds of entries, but many of those are unrelated. Will give it a closer look - might not be as bad, as I originally thought.
Here are the side-effects:
Semantic changes
- using the wrong device for i2c - via drm_dp_add_port
- passing the wrong device to framebuffer_alloc - via drm_fb_helper_alloc_fbi
- using the wrong parent device to drm_gem_prime_import_dev
Visual
- printing the wrong device on DRM_DEV_ERROR, dev_info, drm_printer, etc
Needs a pdev_to_virtio() since we have the struct virtio_device::struct device::struct device parent - via virtio_gpu_driver_load
One, might get away with the above, by introducing drm_device::device bus_device, or alike. That one is used solely for the unique magic :-\
It sounds tad dirty, so I'm leaning with just commenting it. Open to alternative suggestions though.
Yeah, big huge comment is probably best. And the 10 year plan to nuke this all :-) -Daniel
Hi,
What I could see as justified is a loud comment in drm_virtio_init(), just above the call to drm_dev_set_unique(), explaining why it is necessary to set "unique" manually. The reason is that virtio-vga technically has "virtio_bus", not "pci_bus_type", for bus type, and so the generic PCI BusID-setting will not cover it.
Yep, that sums up the underlying problem. You can also see that in sysfs:
root@fedora ~# readlink /sys/class/drm/card0 ../../devices/pci0000:00/0000:00:01.0/virtio0/drm/card0 ^^^^^^^ extra level here.
That is the reason why drm_virtio_init() goes lookup the parent device, checks if it happens to be pci, if so use the parent device to construct the "pci:..." unique id for the virtio device (and also use the pci device ressources to kick out the firmware framebuffer).
cheers, Gerd
From: Emil Velikov emil.velikov@collabora.com
As of last commit we hide this from the drivers.
Effectively reverts commit a6b5fac59cb216ac906f02300d3630c24520d9ef.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Signed-off-by: Emil Velikov emil.velikov@collabora.com --- drivers/gpu/drm/drm_drv.c | 38 ++++++++++++++------------------------ include/drm/drm_drv.h | 3 --- 2 files changed, 14 insertions(+), 27 deletions(-)
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 88da984ff9eb..26e360a0e50c 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -266,10 +266,9 @@ void drm_minor_release(struct drm_minor *minor) * callbacks implemented by the driver. The driver then needs to initialize all * the various subsystems for the drm device like memory management, vblank * handling, modesetting support and intial output configuration plus obviously - * initialize all the corresponding hardware bits. An important part of this is - * also calling drm_dev_set_unique() to set the userspace-visible unique name of - * this device instance. Finally when everything is up and running and ready for - * userspace the device instance can be published using drm_dev_register(). + * initialize all the corresponding hardware bits. Finally when everything is up + * and running and ready for userspace the device instance can be published + * using drm_dev_register(). * * There is also deprecated support for initalizing device instances using * bus-specific helpers and the &drm_driver.load callback. But due to @@ -290,6 +289,17 @@ void drm_minor_release(struct drm_minor *minor) * structure, which is supported through drm_dev_init(). */
+static int drm_dev_set_unique(struct drm_device *dev, const char *name) +{ + if (!name) + return -EINVAL; + + kfree(dev->unique); + dev->unique = kstrdup(name, GFP_KERNEL); + + return dev->unique ? 0 : -ENOMEM; +} + /** * drm_put_dev - Unregister and release a DRM device * @dev: DRM device @@ -840,26 +850,6 @@ void drm_dev_unregister(struct drm_device *dev) } EXPORT_SYMBOL(drm_dev_unregister);
-/** - * drm_dev_set_unique - Set the unique name of a DRM device - * @dev: device of which to set the unique name - * @name: unique name - * - * Sets the unique name of a DRM device using the specified string. Drivers - * can use this at driver probe time if the unique name of the devices they - * drive is static. - * - * Return: 0 on success or a negative error code on failure. - */ -int drm_dev_set_unique(struct drm_device *dev, const char *name) -{ - kfree(dev->unique); - dev->unique = kstrdup(name, GFP_KERNEL); - - return dev->unique ? 0 : -ENOMEM; -} -EXPORT_SYMBOL(drm_dev_set_unique); - /* * DRM Core * The DRM core module initializes all global DRM objects and makes them diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index d32b688eb346..3e6671fc9ced 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h @@ -642,7 +642,4 @@ static inline int drm_dev_is_unplugged(struct drm_device *dev) }
-int drm_dev_set_unique(struct drm_device *dev, const char *name); - - #endif
On Wed, Mar 28, 2018 at 02:24:51AM +0100, Emil Velikov wrote:
From: Emil Velikov emil.velikov@collabora.com
As of last commit we hide this from the drivers.
Effectively reverts commit a6b5fac59cb216ac906f02300d3630c24520d9ef.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Signed-off-by: Emil Velikov emil.velikov@collabora.com
Yay!
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_drv.c | 38 ++++++++++++++------------------------ include/drm/drm_drv.h | 3 --- 2 files changed, 14 insertions(+), 27 deletions(-)
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 88da984ff9eb..26e360a0e50c 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -266,10 +266,9 @@ void drm_minor_release(struct drm_minor *minor)
- callbacks implemented by the driver. The driver then needs to initialize all
- the various subsystems for the drm device like memory management, vblank
- handling, modesetting support and intial output configuration plus obviously
- initialize all the corresponding hardware bits. An important part of this is
- also calling drm_dev_set_unique() to set the userspace-visible unique name of
- this device instance. Finally when everything is up and running and ready for
- userspace the device instance can be published using drm_dev_register().
- initialize all the corresponding hardware bits. Finally when everything is up
- and running and ready for userspace the device instance can be published
- using drm_dev_register().
- There is also deprecated support for initalizing device instances using
- bus-specific helpers and the &drm_driver.load callback. But due to
@@ -290,6 +289,17 @@ void drm_minor_release(struct drm_minor *minor)
- structure, which is supported through drm_dev_init().
*/
+static int drm_dev_set_unique(struct drm_device *dev, const char *name) +{
- if (!name)
return -EINVAL;
- kfree(dev->unique);
- dev->unique = kstrdup(name, GFP_KERNEL);
- return dev->unique ? 0 : -ENOMEM;
+}
/**
- drm_put_dev - Unregister and release a DRM device
- @dev: DRM device
@@ -840,26 +850,6 @@ void drm_dev_unregister(struct drm_device *dev) } EXPORT_SYMBOL(drm_dev_unregister);
-/**
- drm_dev_set_unique - Set the unique name of a DRM device
- @dev: device of which to set the unique name
- @name: unique name
- Sets the unique name of a DRM device using the specified string. Drivers
- can use this at driver probe time if the unique name of the devices they
- drive is static.
- Return: 0 on success or a negative error code on failure.
- */
-int drm_dev_set_unique(struct drm_device *dev, const char *name) -{
- kfree(dev->unique);
- dev->unique = kstrdup(name, GFP_KERNEL);
- return dev->unique ? 0 : -ENOMEM;
-} -EXPORT_SYMBOL(drm_dev_set_unique);
/*
- DRM Core
- The DRM core module initializes all global DRM objects and makes them
diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index d32b688eb346..3e6671fc9ced 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h @@ -642,7 +642,4 @@ static inline int drm_dev_is_unplugged(struct drm_device *dev) }
-int drm_dev_set_unique(struct drm_device *dev, const char *name);
#endif
2.16.0
On Wed, Mar 28, 2018 at 02:24:48AM +0100, Emil Velikov wrote:
From: Deepak Sharma deepak.sharma@amd.com
Modify vgem_init to take platform dev as parent in drm_dev_init. This will make drm device available at "/sys/devices/platform/vgem" in x86 chromebook.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Signed-off-by: Deepak Sharma deepak.sharma@amd.com Reviewed-by: Sean Paul seanpaul@chromium.org Signed-off-by: Emil Velikov emil.velikov@collabora.com
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
drivers/gpu/drm/vgem/vgem_drv.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c index 2524ff116f00..636ce32fa945 100644 --- a/drivers/gpu/drm/vgem/vgem_drv.c +++ b/drivers/gpu/drm/vgem/vgem_drv.c @@ -472,31 +472,30 @@ static int __init vgem_init(void) if (!vgem_device) return -ENOMEM;
- ret = drm_dev_init(&vgem_device->drm, &vgem_driver, NULL);
- if (ret)
goto out_free;
- vgem_device->platform = platform_device_register_simple("vgem", -1, NULL, 0); if (IS_ERR(vgem_device->platform)) { ret = PTR_ERR(vgem_device->platform);
goto out_fini;
goto out_free;
}
dma_coerce_mask_and_coherent(&vgem_device->platform->dev, DMA_BIT_MASK(64));
ret = drm_dev_init(&vgem_device->drm, &vgem_driver, &vgem_device->platform->dev);
if (ret)
goto out_unregister;
/* Final step: expose the device/driver to userspace */ ret = drm_dev_register(&vgem_device->drm, 0); if (ret)
goto out_unregister;
goto out_fini;
return 0;
-out_unregister:
- platform_device_unregister(vgem_device->platform);
out_fini: drm_dev_fini(&vgem_device->drm); +out_unregister:
- platform_device_unregister(vgem_device->platform);
out_free: kfree(vgem_device); return ret; -- 2.16.0
On 28 March 2018 at 08:16, Daniel Vetter daniel@ffwll.ch wrote:
On Wed, Mar 28, 2018 at 02:24:48AM +0100, Emil Velikov wrote:
From: Deepak Sharma deepak.sharma@amd.com
Modify vgem_init to take platform dev as parent in drm_dev_init. This will make drm device available at "/sys/devices/platform/vgem" in x86 chromebook.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Signed-off-by: Deepak Sharma deepak.sharma@amd.com Reviewed-by: Sean Paul seanpaul@chromium.org Signed-off-by: Emil Velikov emil.velikov@collabora.com
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
Thanks Daniel.
Who will merge the patches? I don't have drm-misc commit access Guessing I could apply for one(?) and while I learn the ropes, the virtio team can send a confirmation on 3/4.
-Emil
Quoting Emil Velikov (2018-03-28 02:24:48)
From: Deepak Sharma deepak.sharma@amd.com
Modify vgem_init to take platform dev as parent in drm_dev_init. This will make drm device available at "/sys/devices/platform/vgem" in x86 chromebook.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Signed-off-by: Deepak Sharma deepak.sharma@amd.com Reviewed-by: Sean Paul seanpaul@chromium.org Signed-off-by: Emil Velikov emil.velikov@collabora.com
drivers/gpu/drm/vgem/vgem_drv.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c index 2524ff116f00..636ce32fa945 100644 --- a/drivers/gpu/drm/vgem/vgem_drv.c +++ b/drivers/gpu/drm/vgem/vgem_drv.c @@ -472,31 +472,30 @@ static int __init vgem_init(void) if (!vgem_device) return -ENOMEM;
ret = drm_dev_init(&vgem_device->drm, &vgem_driver, NULL);
if (ret)
goto out_free;
A shame to lose the test coverage this gave us. Care to replace that with a selftest? -Chris
On 28 March 2018 at 15:49, Chris Wilson chris@chris-wilson.co.uk wrote:
Quoting Emil Velikov (2018-03-28 02:24:48)
From: Deepak Sharma deepak.sharma@amd.com
Modify vgem_init to take platform dev as parent in drm_dev_init. This will make drm device available at "/sys/devices/platform/vgem" in x86 chromebook.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Signed-off-by: Deepak Sharma deepak.sharma@amd.com Reviewed-by: Sean Paul seanpaul@chromium.org Signed-off-by: Emil Velikov emil.velikov@collabora.com
drivers/gpu/drm/vgem/vgem_drv.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c index 2524ff116f00..636ce32fa945 100644 --- a/drivers/gpu/drm/vgem/vgem_drv.c +++ b/drivers/gpu/drm/vgem/vgem_drv.c @@ -472,31 +472,30 @@ static int __init vgem_init(void) if (!vgem_device) return -ENOMEM;
ret = drm_dev_init(&vgem_device->drm, &vgem_driver, NULL);
if (ret)
goto out_free;
A shame to lose the test coverage this gave us. Care to replace that with a selftest?
Hi Chris, can you be more specific: - What test coverage is lost - some IGT tests/other? - Can you provide a rough outline of the test you have in mind?
Thanks Emil
On Wed, Mar 28, 2018 at 04:11:39PM +0100, Emil Velikov wrote:
On 28 March 2018 at 15:49, Chris Wilson chris@chris-wilson.co.uk wrote:
Quoting Emil Velikov (2018-03-28 02:24:48)
From: Deepak Sharma deepak.sharma@amd.com
Modify vgem_init to take platform dev as parent in drm_dev_init. This will make drm device available at "/sys/devices/platform/vgem" in x86 chromebook.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Signed-off-by: Deepak Sharma deepak.sharma@amd.com Reviewed-by: Sean Paul seanpaul@chromium.org Signed-off-by: Emil Velikov emil.velikov@collabora.com
drivers/gpu/drm/vgem/vgem_drv.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c index 2524ff116f00..636ce32fa945 100644 --- a/drivers/gpu/drm/vgem/vgem_drv.c +++ b/drivers/gpu/drm/vgem/vgem_drv.c @@ -472,31 +472,30 @@ static int __init vgem_init(void) if (!vgem_device) return -ENOMEM;
ret = drm_dev_init(&vgem_device->drm, &vgem_driver, NULL);
if (ret)
goto out_free;
A shame to lose the test coverage this gave us. Care to replace that with a selftest?
Hi Chris, can you be more specific:
- What test coverage is lost - some IGT tests/other?
- Can you provide a rough outline of the test you have in mind?
I think Chris meant the NULL case for drm_dev_init (which was broken once). But since this series also disallows that with a subsequent patch I think we're just fine. -Daniel
On 29 March 2018 at 08:17, Daniel Vetter daniel@ffwll.ch wrote:
On Wed, Mar 28, 2018 at 04:11:39PM +0100, Emil Velikov wrote:
On 28 March 2018 at 15:49, Chris Wilson chris@chris-wilson.co.uk wrote:
Quoting Emil Velikov (2018-03-28 02:24:48)
From: Deepak Sharma deepak.sharma@amd.com
Modify vgem_init to take platform dev as parent in drm_dev_init. This will make drm device available at "/sys/devices/platform/vgem" in x86 chromebook.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Signed-off-by: Deepak Sharma deepak.sharma@amd.com Reviewed-by: Sean Paul seanpaul@chromium.org Signed-off-by: Emil Velikov emil.velikov@collabora.com
drivers/gpu/drm/vgem/vgem_drv.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c index 2524ff116f00..636ce32fa945 100644 --- a/drivers/gpu/drm/vgem/vgem_drv.c +++ b/drivers/gpu/drm/vgem/vgem_drv.c @@ -472,31 +472,30 @@ static int __init vgem_init(void) if (!vgem_device) return -ENOMEM;
ret = drm_dev_init(&vgem_device->drm, &vgem_driver, NULL);
if (ret)
goto out_free;
A shame to lose the test coverage this gave us. Care to replace that with a selftest?
Hi Chris, can you be more specific:
- What test coverage is lost - some IGT tests/other?
- Can you provide a rough outline of the test you have in mind?
I think Chris meant the NULL case for drm_dev_init (which was broken once). But since this series also disallows that with a subsequent patch I think we're just fine.
Ack. How are we going to merge the first two patches?
Note: 3/4 and 4/4 are _not_ safe - will need to finish some pre-requisite work first.
Thanks Emil
On Wed, Apr 04, 2018 at 11:46:30AM +0100, Emil Velikov wrote:
On 29 March 2018 at 08:17, Daniel Vetter daniel@ffwll.ch wrote:
On Wed, Mar 28, 2018 at 04:11:39PM +0100, Emil Velikov wrote:
On 28 March 2018 at 15:49, Chris Wilson chris@chris-wilson.co.uk wrote:
Quoting Emil Velikov (2018-03-28 02:24:48)
From: Deepak Sharma deepak.sharma@amd.com
Modify vgem_init to take platform dev as parent in drm_dev_init. This will make drm device available at "/sys/devices/platform/vgem" in x86 chromebook.
Cc: Daniel Vetter daniel.vetter@ffwll.ch Signed-off-by: Deepak Sharma deepak.sharma@amd.com Reviewed-by: Sean Paul seanpaul@chromium.org Signed-off-by: Emil Velikov emil.velikov@collabora.com
drivers/gpu/drm/vgem/vgem_drv.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c index 2524ff116f00..636ce32fa945 100644 --- a/drivers/gpu/drm/vgem/vgem_drv.c +++ b/drivers/gpu/drm/vgem/vgem_drv.c @@ -472,31 +472,30 @@ static int __init vgem_init(void) if (!vgem_device) return -ENOMEM;
ret = drm_dev_init(&vgem_device->drm, &vgem_driver, NULL);
if (ret)
goto out_free;
A shame to lose the test coverage this gave us. Care to replace that with a selftest?
Hi Chris, can you be more specific:
- What test coverage is lost - some IGT tests/other?
- Can you provide a rough outline of the test you have in mind?
I think Chris meant the NULL case for drm_dev_init (which was broken once). But since this series also disallows that with a subsequent patch I think we're just fine.
Ack. How are we going to merge the first two patches?
Note: 3/4 and 4/4 are _not_ safe - will need to finish some pre-requisite work first.
Oh, why are 3&4 not safe? I thought they are, that's why I smashed an r-b onto them. Wrt merging, stuff them all into drm-misc imo. -Daniel
dri-devel@lists.freedesktop.org