diff mbox

[3/4] drm/virtio: remove drm_dev_set_unique workaround

Message ID 20180328012451.31479-3-emil.l.velikov@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Emil Velikov March 28, 2018, 1:24 a.m. UTC
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(-)

Comments

Daniel Vetter March 28, 2018, 7:18 a.m. UTC | #1
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
>
Laszlo Ersek March 28, 2018, 10:27 a.m. UTC | #2
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);
>
Emil Velikov March 28, 2018, 2:35 p.m. UTC | #3
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
Laszlo Ersek March 29, 2018, 11:17 a.m. UTC | #4
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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
====
Emil Velikov April 3, 2018, 5:13 p.m. UTC | #5
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/c2bc545d677001ffe5387aebb708d1adeb12b35b
Laszlo Ersek April 4, 2018, 5:29 p.m. UTC | #6
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/c2bc545d677001ffe5387aebb708d1adeb12b35b

(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
Laszlo Ersek April 6, 2018, 12:15 p.m. UTC | #7
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
Emil Velikov April 6, 2018, 12:56 p.m. UTC | #8
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 ;-)
Gerd Hoffmann April 6, 2018, 1:06 p.m. UTC | #9
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
Daniel Vetter April 9, 2018, 8:26 a.m. UTC | #10
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 ;-)
Emil Velikov April 9, 2018, 10:24 a.m. UTC | #11
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
Emil Velikov April 9, 2018, 11:25 a.m. UTC | #12
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
Daniel Vetter April 13, 2018, 3:45 p.m. UTC | #13
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
diff mbox

Patch

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);