All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Questions about logic_pio
From: John Garry @ 2020-02-20 17:39 UTC (permalink / raw)
  To: Jiaxun Yang
  Cc: xuwei (O), bhelgaas, andyshevchenko, Arnd Bergmann, linux-kernel,
	Linux Mips
In-Reply-To: <170632822e1.12fede49a6919.5706082545515934736@flygoat.com>

On 20/02/2020 15:12, Jiaxun Yang wrote:
> 
>   ---- 在 星期四, 2020-02-20 22:23:57 John Garry <john.garry@huawei.com> 撰写 ----
>   > > Also Cc MIPS list to check other's opinions.
>   > >
>   > > Hi John.
>   > >
>   >
>   > Hi Jiaxun Yang,
>   >
>   > > Thanks for your kind explanation, however, I think this way is
>   > > violating how I/O ports supposed to work, at least in MIPS world.
>   >
>   > For a bit more history, please understand that the core PCI code was
>   > managing non-native IO port space in the same way before we added the
>   > logic PIO framework. The only real functional change here was that we
>   > introduced the indirect-io region within the IO port space, under
>   > CONFIG_INDIRECT_PIO.
> 
> I'm going to do more investigation. Thanks.
> 
>   >
>   > >
>   > >   > >>
>   > >   > >> After dig into logic pio logic, I found that logic pio is trying to "allocate" an io_start
>   > >   > >> for MMIO ranges, the allocation starts from 0x0. And later the io_start is used to calculate
>   > >   > >> cpu_address.  In my opinion, for direct MMIO access, logic_pio address should always
>   > >   > >> equal to hw address,
>   > >   >
>   > >   > I'm not sure what you mean by simply the hw address.
>   > >   >
>   > >
>   > > I meant  hw_start should always equal to io_start.
>   > >
>   > >
>   > > MIPS have their own wrapped inl/outl functions,
>   >
>   > Can you please point me to these? I could not find them in arch/mips
> 
> They are built by __BUILD_IOPORT_PFX(bus, bwlq, type) macro.
> Just using mips_io_port_base + offset to handle inl/outl, the same way PCI_IOBASE.

Right, so I had a glance through the code and mips has it own management 
of this IO port space. And, like you say, mips_io_port_base is 
equivalent to PCI_IOBASE.

> 
>   >
>   > I will also note that arch/mips/include/asm/io.h does not include
>   > asm-generic io.h today
> 
> Yes, and I'm attempting to take advantage of asm-generic.

I just don't think it's as simple as saying we want to take advantage of 
asm-generic. asm-generic io.h includes logic_pio.h, which uses logical 
PIO to manage IO port space and relies on PIO_IOBASE. This is 
incompatible with having some other framework - like mips_io_port_base - 
managing IO port space at the same time.

The core PCI code relies on logical PIO to manage IO port space for when 
PCI_IOBASE is defined.

> 
>   >
>   > doing the samething with
>   > > PCI_IOBASE enabled one. I was just trying to use PCI_IOBASE instead.
>   > >
>   > > Originally, the I/O ports layout seems like this:
>   > >
>   > > 00000020-00000021 : pic1
>   > > 00000060-0000006f : i8042
>   > > 00000070-00000077 : rtc0
>   > > 000000a0-000000a1 : pic2
>   > > 00000170-00000177 : pata_atiixp
>   > > 000001f0-000001f7 : pata_atiixp
>   > > 00000376-00000376 : pata_atiixp
>   > > 000003f6-000003f6 : pata_atiixp
>   > > 00000800-000008ff : acpi
>   > > 00001000-00001008 : piix4_smbus
>   > > 00004000-0003ffff : pci io space
>   > >    00004000-00004fff : PCI Bus 0000:01
>   > >      00004000-000040ff : 0000:01:05.0
>   > >    00005000-00005fff : PCI Bus 0000:03
>   > >      00005000-0000501f : 0000:03:00.0
>   > >
>   > > But with PCI_IOBASE defined, I got this:
>   > >
>   > > host bridge /bus@10000000/pci@10000000 ranges:
>   > >        MEM 0x0040000000..0x007fffffff -> 0x0040000000
>   > >         IO 0x0000004000..0x0000007fff -> 0x0000004000
>   > > resource collision: [io  0x0000-0x3fff] conflicts with pic1 [io  0x0020-0x0021]
>   > >
>   > > Because io_start was allocated to 0x0 by Logic PIO.
>   > >
>   > > There are a lot of devices that have fixed ioports thanks to x86's legacy.
>   >
>   > Well, yes, I'm not so surprised.
>   >
>   > So if MIPS does not have native IO port access, then surely you need
>   > some host bridge to translate host CPU MMIO accesses to port I/O
>   > accesses, right? Where are these CPU addresses defined?
> 
> It is defined by the variable mips_io_port_base.
> 
>   >
>   > > For example, in my hardware, ioports for RTC, PIC, I8042 are unmoveable,
>   > > and they can't be managed by logic pio subsystem. > Also, the PCI Hostbridge got implied by DeviceTree that it's I/O range
>   > > started from 0x4000 in bus side
>   >
>   > which bus is this?
> 
> They're all located under "ISA Range".  Just an MMIO range that will resend
> the request to ISA I/O. --ioports for both PCI and some legacy devices.
> 
> In that range, base + 0x0000 to 0x4000 is preserved for PIO devices (e.g.) I8259
> and base + 0x4000 to MMIO_LIMIT are for PCI devices under host bridge.
> For the host bridge, ioports it can decode starts from 0x4000.
> 
> My intentional behavior is that when I'm specifying in dts that the IO Range of PCI host
> bridge is 0x4000 to 0x7fff, it would request the IO_RESOURCE start from 0x4000
> to 0x7fff, also tell the host driver to decode  0x4000 to 0x7fff in IO BAR, And let the drivers
> access 0x4000 to 0x7fff via inl/outl, rather than allocate from PIO 0x0 to 0x3fff.
> 
>   >
>   > , but then, Logic PIO remapped to PCI_IOBASE + 0x0.
>   > > The real address should be PCI_IOBASE + 0x4000,
>   >
>   > You seem to be using two methods to manage IO port space, and they seem
>   > to be conflicting.
> 
> So... Are there any way to handle these unmoveable devices in logic pio world?

When you say that they are unmovable, they are at a fixed address on 
this "ISA Range", right? If so, yes, you should be able to handle it in 
logical PIO. You just need to deal with translating logical PIO 
addresses to ISA bus addresses. We do this very thing in our LPC driver 
- see drivers/bus/hisi_lpc.c

This driver deals with legacy IO ports where we need to bitbang 
accesses, i.e. we don't support MMIO for this.
> 
>   >
>   > > hardware never got correctly informed about that. And there is still no way to
>   > > transform to correct address as it's inside the MMIO_LIMIT.
>   > >
>   > > So the question comes to why we're allocating io_start for MMIO PCI_IOBASE
>   > > rather than just check the range provided doesn't overlap each other or exceed
>   > > the MMIO_LIMIT.
>   >
>   > When PCI_IOBASE is defined, we work on the basis that any IO port range
>   > in the system is registered for a logical PIO region, which manages the
>   > actual IO port addresses - see logic_pio_trans_cpuaddr().
> 
> The port is not the actual port.. It makes me confusing about what it's actually doing..
> Sorry but probably I'm still thinking in a vintage way -- need some hints about how to
> deal with these legacy cases in a modern way.
> 
> Thanks.
> 
>   >
>   > Thanks,
>   > John
>   >
> 



^ permalink raw reply

* Re: omap-secure.c:undefined reference to `__arm_smccc_smc'
From: Andrew F. Davis @ 2020-02-20 17:39 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: kbuild-all, kbuild test robot, Aaro Koskinen, Marc Zyngier,
	linux-kernel, linux-omap, linux-arm-kernel
In-Reply-To: <20200220171305.GL37466@atomide.com>

On 2/20/20 12:13 PM, Tony Lindgren wrote:
> * Tony Lindgren <tony@atomide.com> [200220 16:37]:
>> * Andrew F. Davis <afd@ti.com> [200220 16:24]:
>>> On 2/20/20 11:20 AM, Tony Lindgren wrote:
>>>> * Andrew F. Davis <afd@ti.com> [200220 16:04]:
>>>>> On 2/20/20 10:54 AM, Tony Lindgren wrote:
>>>>>> Andrew,
>>>>>>
>>>>>> * kbuild test robot <lkp@intel.com> [200213 10:27]:
>>>>>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>>>>> head:   0bf999f9c5e74c7ecf9dafb527146601e5c848b9
>>>>>>> commit: c37baa06f8a970e4a533d41f7d33e5e57de5ad25 ARM: OMAP2+: Fix undefined reference to omap_secure_init
>>>>>>> date:   3 weeks ago
>>>>>>> config: arm-randconfig-a001-20200213 (attached as .config)
>>>>>>> compiler: arm-linux-gnueabi-gcc (GCC) 7.5.0
>>>>>>> reproduce:
>>>>>>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>>>>>         chmod +x ~/bin/make.cross
>>>>>>>         git checkout c37baa06f8a970e4a533d41f7d33e5e57de5ad25
>>>>>>>         # save the attached .config to linux build tree
>>>>>>>         GCC_VERSION=7.5.0 make.cross ARCH=arm 
>>>>>>>
>>>>>>> If you fix the issue, kindly add following tag
>>>>>>> Reported-by: kbuild test robot <lkp@intel.com>
>>>>>>>
>>>>>>> All errors (new ones prefixed by >>):
>>>>>>>
>>>>>>>    arch/arm/mach-omap2/omap-secure.o: In function `omap_smccc_smc':
>>>>>>>>> omap-secure.c:(.text+0x94): undefined reference to `__arm_smccc_smc'
>>>>>>
>>>>>> Have you looked at this one? Looks like there's still an unhandled
>>>>>> randconfig build case.
>>>>>>
>>>>>
>>>>>
>>>>> I've had a quick look, all the ARM config does:
>>>>>
>>>>> select HAVE_ARM_SMCCC if CPU_V7
>>>>>
>>>>> so I don't think this will happen in any real config, but if we want to
>>>>> prevent randconfig issue this we could force ARCH_OMAP2PLUS to "depend"
>>>>> on it.
>>>>
>>>> Seems to happen at least with omap2 only config where we don't have
>>>> CPU_V7. Something like below seems to fix it.
>>>>
>>>> If that looks OK to you, I'll send out a proper fix.
>>>>
>>>
>>>
>>> This looks fine to me.
>>>
>>> A better later fix might be to later stub out the actual __arm_smccc_smc
>>> in common code if CONFIG_HAVE_ARM_SMCCC is not set, so any platform will
>>> get the fix.
>>
>> Yeah seems that might be better. Adding Aaro and Marc to Cc.
> 
> But if we can in theory have some arm11 machine with smccc, then this
> local ifdef below is probably the way to go.
> 

If the machine has SMCCC then it will also have the
CONFIG_HAVE_ARM_SMCCC set and so nothing would change.

Andrew


> Regards,
> 
> Tony
> 
>>>> 8< -----------------------
>>>> diff --git a/arch/arm/mach-omap2/omap-secure.c b/arch/arm/mach-omap2/omap-secure.c
>>>> --- a/arch/arm/mach-omap2/omap-secure.c
>>>> +++ b/arch/arm/mach-omap2/omap-secure.c
>>>> @@ -77,6 +77,7 @@ u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs, u32 arg1, u32 arg2,
>>>>  	return ret;
>>>>  }
>>>>  
>>>> +#ifdef CONFIG_HAVE_ARM_SMCCC
>>>>  void omap_smccc_smc(u32 fn, u32 arg)
>>>>  {
>>>>  	struct arm_smccc_res res;
>>>> @@ -85,6 +86,11 @@ void omap_smccc_smc(u32 fn, u32 arg)
>>>>  		      0, 0, 0, 0, 0, 0, &res);
>>>>  	WARN(res.a0, "Secure function call 0x%08x failed\n", fn);
>>>>  }
>>>> +#else
>>>> +void omap_smccc_smc(u32 fn, u32 arg)
>>>> +{
>>>> +}
>>>> +#endif
>>>>  
>>>>  void omap_smc1(u32 fn, u32 arg)
>>>>  {
>>>>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply

* Re: omap-secure.c:undefined reference to `__arm_smccc_smc'
From: Andrew F. Davis @ 2020-02-20 17:39 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: kbuild-all, linux-kernel, kbuild test robot, linux-omap,
	Aaro Koskinen, Marc Zyngier, linux-arm-kernel
In-Reply-To: <20200220171305.GL37466@atomide.com>

On 2/20/20 12:13 PM, Tony Lindgren wrote:
> * Tony Lindgren <tony@atomide.com> [200220 16:37]:
>> * Andrew F. Davis <afd@ti.com> [200220 16:24]:
>>> On 2/20/20 11:20 AM, Tony Lindgren wrote:
>>>> * Andrew F. Davis <afd@ti.com> [200220 16:04]:
>>>>> On 2/20/20 10:54 AM, Tony Lindgren wrote:
>>>>>> Andrew,
>>>>>>
>>>>>> * kbuild test robot <lkp@intel.com> [200213 10:27]:
>>>>>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>>>>> head:   0bf999f9c5e74c7ecf9dafb527146601e5c848b9
>>>>>>> commit: c37baa06f8a970e4a533d41f7d33e5e57de5ad25 ARM: OMAP2+: Fix undefined reference to omap_secure_init
>>>>>>> date:   3 weeks ago
>>>>>>> config: arm-randconfig-a001-20200213 (attached as .config)
>>>>>>> compiler: arm-linux-gnueabi-gcc (GCC) 7.5.0
>>>>>>> reproduce:
>>>>>>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>>>>>         chmod +x ~/bin/make.cross
>>>>>>>         git checkout c37baa06f8a970e4a533d41f7d33e5e57de5ad25
>>>>>>>         # save the attached .config to linux build tree
>>>>>>>         GCC_VERSION=7.5.0 make.cross ARCH=arm 
>>>>>>>
>>>>>>> If you fix the issue, kindly add following tag
>>>>>>> Reported-by: kbuild test robot <lkp@intel.com>
>>>>>>>
>>>>>>> All errors (new ones prefixed by >>):
>>>>>>>
>>>>>>>    arch/arm/mach-omap2/omap-secure.o: In function `omap_smccc_smc':
>>>>>>>>> omap-secure.c:(.text+0x94): undefined reference to `__arm_smccc_smc'
>>>>>>
>>>>>> Have you looked at this one? Looks like there's still an unhandled
>>>>>> randconfig build case.
>>>>>>
>>>>>
>>>>>
>>>>> I've had a quick look, all the ARM config does:
>>>>>
>>>>> select HAVE_ARM_SMCCC if CPU_V7
>>>>>
>>>>> so I don't think this will happen in any real config, but if we want to
>>>>> prevent randconfig issue this we could force ARCH_OMAP2PLUS to "depend"
>>>>> on it.
>>>>
>>>> Seems to happen at least with omap2 only config where we don't have
>>>> CPU_V7. Something like below seems to fix it.
>>>>
>>>> If that looks OK to you, I'll send out a proper fix.
>>>>
>>>
>>>
>>> This looks fine to me.
>>>
>>> A better later fix might be to later stub out the actual __arm_smccc_smc
>>> in common code if CONFIG_HAVE_ARM_SMCCC is not set, so any platform will
>>> get the fix.
>>
>> Yeah seems that might be better. Adding Aaro and Marc to Cc.
> 
> But if we can in theory have some arm11 machine with smccc, then this
> local ifdef below is probably the way to go.
> 

If the machine has SMCCC then it will also have the
CONFIG_HAVE_ARM_SMCCC set and so nothing would change.

Andrew


> Regards,
> 
> Tony
> 
>>>> 8< -----------------------
>>>> diff --git a/arch/arm/mach-omap2/omap-secure.c b/arch/arm/mach-omap2/omap-secure.c
>>>> --- a/arch/arm/mach-omap2/omap-secure.c
>>>> +++ b/arch/arm/mach-omap2/omap-secure.c
>>>> @@ -77,6 +77,7 @@ u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs, u32 arg1, u32 arg2,
>>>>  	return ret;
>>>>  }
>>>>  
>>>> +#ifdef CONFIG_HAVE_ARM_SMCCC
>>>>  void omap_smccc_smc(u32 fn, u32 arg)
>>>>  {
>>>>  	struct arm_smccc_res res;
>>>> @@ -85,6 +86,11 @@ void omap_smccc_smc(u32 fn, u32 arg)
>>>>  		      0, 0, 0, 0, 0, 0, &res);
>>>>  	WARN(res.a0, "Secure function call 0x%08x failed\n", fn);
>>>>  }
>>>> +#else
>>>> +void omap_smccc_smc(u32 fn, u32 arg)
>>>> +{
>>>> +}
>>>> +#endif
>>>>  
>>>>  void omap_smc1(u32 fn, u32 arg)
>>>>  {
>>>>

^ permalink raw reply

* [dpdk-dev] [PATCH v3] app/testpmd: fix return value in portlist parser
From: Hariprasad Govindharajan @ 2020-02-20 17:39 UTC (permalink / raw)
  To: Wenzhuo Lu, Jingjing Wu, Bernard Iremonger
  Cc: dev, ferruh.yigit, stephen, david.marchand,
	Hariprasad Govindharajan
In-Reply-To: <1582205191-14105-1-git-send-email-hariprasad.govindharajan@intel.com>

The function parse_port_list() is designed to return
unsigned int value. After sanitizing the inputs,
it is returning -1. Changed it to return 0.

Fixes: 2df00d562d20 ("app/testpmd: add --portlist option")
Cc: hariprasad.govindharajan@intel.com

Signed-off-by: Hariprasad Govindharajan <hariprasad.govindharajan@intel.com>
---
v3:
corrected the documentation comments.
updated the comments on return values.

v2:
modified the head line in the patch
---
 app/test-pmd/config.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 9d95202..e9b89c4 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -2616,9 +2616,6 @@ set_fwd_ports_list(unsigned int *portlist, unsigned int nb_pt)
  *   If the user wants to use only the ports 1,2 then the input
  *   is 1,2.
  *   valid characters are '-' and ','
- *   invalid chars like '.' or '#' will result in
- *   EAL: Error - exiting with code: 1
- *     Cause: Invalid fwd port list
  * @param[out] values
  *   This array will be filled with a list of port IDs
  *   based on the user input
@@ -2630,7 +2627,8 @@ set_fwd_ports_list(unsigned int *portlist, unsigned int nb_pt)
  *   1) Number of elements in the values array
  *   2) Maximum value of each element in the values array
  * @return
- *   -returns total count of parsed port IDs
+ *   On success, returns total count of parsed port IDs
+ *   On failure, returns 0
  */
 static unsigned int
 parse_port_list(const char *list, unsigned int *values, unsigned int maxsize)
@@ -2642,7 +2640,7 @@ parse_port_list(const char *list, unsigned int *values, unsigned int maxsize)
 	unsigned int marked[maxsize];
 
 	if (list == NULL || values == NULL)
-		return -1;
+		return 0;
 
 	for (i = 0; i < (int)maxsize; i++)
 		marked[i] = 0;
-- 
2.7.4


^ permalink raw reply related

* Re: omap-secure.c:undefined reference to `__arm_smccc_smc'
From: Andrew F. Davis @ 2020-02-20 17:39 UTC (permalink / raw)
  To: kbuild-all
In-Reply-To: <20200220171305.GL37466@atomide.com>

[-- Attachment #1: Type: text/plain, Size: 3496 bytes --]

On 2/20/20 12:13 PM, Tony Lindgren wrote:
> * Tony Lindgren <tony@atomide.com> [200220 16:37]:
>> * Andrew F. Davis <afd@ti.com> [200220 16:24]:
>>> On 2/20/20 11:20 AM, Tony Lindgren wrote:
>>>> * Andrew F. Davis <afd@ti.com> [200220 16:04]:
>>>>> On 2/20/20 10:54 AM, Tony Lindgren wrote:
>>>>>> Andrew,
>>>>>>
>>>>>> * kbuild test robot <lkp@intel.com> [200213 10:27]:
>>>>>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>>>>> head:   0bf999f9c5e74c7ecf9dafb527146601e5c848b9
>>>>>>> commit: c37baa06f8a970e4a533d41f7d33e5e57de5ad25 ARM: OMAP2+: Fix undefined reference to omap_secure_init
>>>>>>> date:   3 weeks ago
>>>>>>> config: arm-randconfig-a001-20200213 (attached as .config)
>>>>>>> compiler: arm-linux-gnueabi-gcc (GCC) 7.5.0
>>>>>>> reproduce:
>>>>>>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>>>>>         chmod +x ~/bin/make.cross
>>>>>>>         git checkout c37baa06f8a970e4a533d41f7d33e5e57de5ad25
>>>>>>>         # save the attached .config to linux build tree
>>>>>>>         GCC_VERSION=7.5.0 make.cross ARCH=arm 
>>>>>>>
>>>>>>> If you fix the issue, kindly add following tag
>>>>>>> Reported-by: kbuild test robot <lkp@intel.com>
>>>>>>>
>>>>>>> All errors (new ones prefixed by >>):
>>>>>>>
>>>>>>>    arch/arm/mach-omap2/omap-secure.o: In function `omap_smccc_smc':
>>>>>>>>> omap-secure.c:(.text+0x94): undefined reference to `__arm_smccc_smc'
>>>>>>
>>>>>> Have you looked at this one? Looks like there's still an unhandled
>>>>>> randconfig build case.
>>>>>>
>>>>>
>>>>>
>>>>> I've had a quick look, all the ARM config does:
>>>>>
>>>>> select HAVE_ARM_SMCCC if CPU_V7
>>>>>
>>>>> so I don't think this will happen in any real config, but if we want to
>>>>> prevent randconfig issue this we could force ARCH_OMAP2PLUS to "depend"
>>>>> on it.
>>>>
>>>> Seems to happen at least with omap2 only config where we don't have
>>>> CPU_V7. Something like below seems to fix it.
>>>>
>>>> If that looks OK to you, I'll send out a proper fix.
>>>>
>>>
>>>
>>> This looks fine to me.
>>>
>>> A better later fix might be to later stub out the actual __arm_smccc_smc
>>> in common code if CONFIG_HAVE_ARM_SMCCC is not set, so any platform will
>>> get the fix.
>>
>> Yeah seems that might be better. Adding Aaro and Marc to Cc.
> 
> But if we can in theory have some arm11 machine with smccc, then this
> local ifdef below is probably the way to go.
> 

If the machine has SMCCC then it will also have the
CONFIG_HAVE_ARM_SMCCC set and so nothing would change.

Andrew


> Regards,
> 
> Tony
> 
>>>> 8< -----------------------
>>>> diff --git a/arch/arm/mach-omap2/omap-secure.c b/arch/arm/mach-omap2/omap-secure.c
>>>> --- a/arch/arm/mach-omap2/omap-secure.c
>>>> +++ b/arch/arm/mach-omap2/omap-secure.c
>>>> @@ -77,6 +77,7 @@ u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs, u32 arg1, u32 arg2,
>>>>  	return ret;
>>>>  }
>>>>  
>>>> +#ifdef CONFIG_HAVE_ARM_SMCCC
>>>>  void omap_smccc_smc(u32 fn, u32 arg)
>>>>  {
>>>>  	struct arm_smccc_res res;
>>>> @@ -85,6 +86,11 @@ void omap_smccc_smc(u32 fn, u32 arg)
>>>>  		      0, 0, 0, 0, 0, 0, &res);
>>>>  	WARN(res.a0, "Secure function call 0x%08x failed\n", fn);
>>>>  }
>>>> +#else
>>>> +void omap_smccc_smc(u32 fn, u32 arg)
>>>> +{
>>>> +}
>>>> +#endif
>>>>  
>>>>  void omap_smc1(u32 fn, u32 arg)
>>>>  {
>>>>

^ permalink raw reply

* Re: is hibernation usable?
From: Luigi Semenzato @ 2020-02-20 17:38 UTC (permalink / raw)
  To: Chris Murphy; +Cc: Linux Memory Management List, Linux PM
In-Reply-To: <CAA25o9T2wwqoopoNRySdZoYkD+vtqRPsB1YPnag=TkOp5D9sYA@mail.gmail.com>

I was forgetting: forcing swap by eating up memory is dangerous
because it can lead to unexpected OOM kills, but you can mitigate that
by giving the memory-eaters a higher OOM kill score.  Still, some way
of calling try_to_free_pages() directly from user-level would be
preferable.  I wonder if such API has been discussed.


On Thu, Feb 20, 2020 at 9:16 AM Luigi Semenzato <semenzato@google.com> wrote:
>
> I think this is the right group for the memory issues.
>
> I suspect that the problem with failed allocations (ENOMEM) boils down
> to the unreliability of the page allocator.  In my experience, under
> pressure (i.e. pages must be swapped out to be reclaimed) allocations
> can fail even when in theory they should succeed.  (I wish I were
> wrong and that someone would convincingly correct me.)
>
> I have a workaround in which I use memcgroups to free pages before
> starting hibernation.  The cgroup request "echo $limit >
> .../memory.limit_in_bytes"  blocks until memory usage in the chosen
> cgroup is below $limit.  However, I have seen this request fail even
> when there is extra available swap space.
>
> The callback for the operation is mem_cgroup_resize_limit() (BTW I am
> looking at kernel version 4.3.5) and that code has a loop where
> try_to_free_pages() is called up to retry_count, which is at least 5.
> Why 5?  One suspects that the writer of that code must have also
> realized that the page freeing request is unreliable and it's worth
> trying multiple times.
>
> So you could try something similar.  I don't know if there are
> interfaces to try_to_free_pages() other than those in cgroups.  If
> not, and you aren't using cgroups, one way might be to start several
> memory-eating processes (such as "dd if=/dev/zero bs=1G count=1 |
> sleep infinity") and monitor allocation, then when they use more than
> 50% of RAM kill them and immediately hibernate before the freed pages
> are reused.  If you can build your custom kernel, maybe it's worth
> adding a sysfs entry to invoke try_to_free_pages().  You could also
> change the hibernation code to do that, but having the user-level hook
> may be more flexible.
>
>
> On Wed, Feb 19, 2020 at 6:56 PM Chris Murphy <lists@colorremedies.com> wrote:
> >
> > Also, is this the correct list for hibernation/swap discussion? Or linux-pm@?
> >
> > Thanks,
> >
> > Chris Murphy

^ permalink raw reply

* Re: [PATCH] IB/core, cache: Replace zero-length array with flexible-array member
From: Jason Gunthorpe @ 2020-02-20 17:37 UTC (permalink / raw)
  To: Gustavo A. R. Silva; +Cc: Doug Ledford, linux-rdma, linux-kernel, Dan Carpenter
In-Reply-To: <20200213010425.GA13068@embeddedor.com>

On Wed, Feb 12, 2020 at 07:04:25PM -0600, Gustavo A. R. Silva wrote:
> The current codebase makes use of the zero-length array language
> extension to the C90 standard, but the preferred mechanism to declare
> variable-length types such as these ones is a flexible array member[1][2],
> introduced in C99:
> 
> struct foo {
>         int stuff;
>         struct boo array[];
> };
> 
> By making use of the mechanism above, we will get a compiler warning
> in case the flexible array does not occur last in the structure, which
> will help us prevent some kind of undefined behavior bugs from being
> inadvertently introduced[3] to the codebase from now on.
> 
> Also, notice that, dynamic memory allocations won't be affected by
> this change:
> 
> "Flexible array members have incomplete type, and so the sizeof operator
> may not be applied. As a quirk of the original implementation of
> zero-length arrays, sizeof evaluates to zero."[1]
> 
> This issue was found with the help of Coccinelle.
> 
> [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
> [2] https://github.com/KSPP/linux/issues/21
> [3] commit 76497732932f ("cxgb3/l2t: Fix undefined behaviour")
> 
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---
>  drivers/infiniband/core/cache.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

I squished the four drivers/infiniband patches together and added a
few more, see below. Applied to for-next

It would be fanatstic to follow this up with some analysis to find
cases where sizeof() is performed on a struct with a [] flex array -
these days people should be using struct_size() (interested DanC?)

Thanks,
Jason

diff --git a/drivers/infiniband/core/mad_priv.h b/drivers/infiniband/core/mad_priv.h
index 956b3a7dfed7ed..403d8673a2f9ea 100644
--- a/drivers/infiniband/core/mad_priv.h
+++ b/drivers/infiniband/core/mad_priv.h
@@ -79,13 +79,13 @@ struct ib_mad_private {
 	struct ib_mad_private_header header;
 	size_t mad_size;
 	struct ib_grh grh;
-	u8 mad[0];
+	u8 mad[];
 } __packed;
 
 struct ib_rmpp_segment {
 	struct list_head list;
 	u32 num;
-	u8 data[0];
+	u8 data[];
 };
 
 struct ib_mad_agent_private {
diff --git a/drivers/infiniband/hw/cxgb4/iw_cxgb4.h b/drivers/infiniband/hw/cxgb4/iw_cxgb4.h
index 7d06b0f8d49a00..e8e11bd95e4296 100644
--- a/drivers/infiniband/hw/cxgb4/iw_cxgb4.h
+++ b/drivers/infiniband/hw/cxgb4/iw_cxgb4.h
@@ -707,7 +707,7 @@ struct mpa_message {
 	u8 flags;
 	u8 revision;
 	__be16 private_data_size;
-	u8 private_data[0];
+	u8 private_data[];
 };
 
 struct mpa_v2_conn_params {
@@ -719,7 +719,7 @@ struct terminate_message {
 	u8 layer_etype;
 	u8 ecode;
 	__be16 hdrct_rsvd;
-	u8 len_hdrs[0];
+	u8 len_hdrs[];
 };
 
 #define TERM_MAX_LENGTH (sizeof(struct terminate_message) + 2 + 18 + 28)
diff --git a/drivers/infiniband/hw/cxgb4/t4fw_ri_api.h b/drivers/infiniband/hw/cxgb4/t4fw_ri_api.h
index cbdb300a47943a..a2f5e29ef2264d 100644
--- a/drivers/infiniband/hw/cxgb4/t4fw_ri_api.h
+++ b/drivers/infiniband/hw/cxgb4/t4fw_ri_api.h
@@ -123,7 +123,7 @@ struct fw_ri_dsgl {
 	__be32	len0;
 	__be64	addr0;
 #ifndef C99_NOT_SUPPORTED
-	struct fw_ri_dsge_pair sge[0];
+	struct fw_ri_dsge_pair sge[];
 #endif
 };
 
@@ -139,7 +139,7 @@ struct fw_ri_isgl {
 	__be16	nsge;
 	__be32	r2;
 #ifndef C99_NOT_SUPPORTED
-	struct fw_ri_sge sge[0];
+	struct fw_ri_sge sge[];
 #endif
 };
 
@@ -149,7 +149,7 @@ struct fw_ri_immd {
 	__be16	r2;
 	__be32	immdlen;
 #ifndef C99_NOT_SUPPORTED
-	__u8	data[0];
+	__u8	data[];
 #endif
 };
 
@@ -321,7 +321,7 @@ struct fw_ri_res_wr {
 	__be32 len16_pkd;
 	__u64  cookie;
 #ifndef C99_NOT_SUPPORTED
-	struct fw_ri_res res[0];
+	struct fw_ri_res res[];
 #endif
 };
 
diff --git a/drivers/infiniband/hw/hfi1/mad.c b/drivers/infiniband/hw/hfi1/mad.c
index a51bcd2b439128..7073f237a94938 100644
--- a/drivers/infiniband/hw/hfi1/mad.c
+++ b/drivers/infiniband/hw/hfi1/mad.c
@@ -2381,7 +2381,7 @@ struct opa_port_status_rsp {
 		__be64 port_vl_rcv_bubble;
 		__be64 port_vl_mark_fecn;
 		__be64 port_vl_xmit_discards;
-	} vls[0]; /* real array size defined by # bits set in vl_select_mask */
+	} vls[]; /* real array size defined by # bits set in vl_select_mask */
 };
 
 enum counter_selects {
@@ -2423,7 +2423,7 @@ struct opa_aggregate {
 	__be16 attr_id;
 	__be16 err_reqlength;	/* 1 bit, 8 res, 7 bit */
 	__be32 attr_mod;
-	u8 data[0];
+	u8 data[];
 };
 
 #define MSK_LLI 0x000000f0
diff --git a/drivers/infiniband/hw/hfi1/mad.h b/drivers/infiniband/hw/hfi1/mad.h
index 2f48e69536290c..889e63d3f2ccd0 100644
--- a/drivers/infiniband/hw/hfi1/mad.h
+++ b/drivers/infiniband/hw/hfi1/mad.h
@@ -165,7 +165,7 @@ struct opa_mad_notice_attr {
 		} __packed ntc_2048;
 
 	};
-	u8	class_data[0];
+	u8	class_data[];
 };
 
 #define IB_VLARB_LOWPRI_0_31    1
diff --git a/drivers/infiniband/hw/hfi1/pio.h b/drivers/infiniband/hw/hfi1/pio.h
index c9a58b642bdd6f..0102262343c0f6 100644
--- a/drivers/infiniband/hw/hfi1/pio.h
+++ b/drivers/infiniband/hw/hfi1/pio.h
@@ -243,7 +243,7 @@ struct sc_config_sizes {
  */
 struct pio_map_elem {
 	u32 mask;
-	struct send_context *ksc[0];
+	struct send_context *ksc[];
 };
 
 /*
@@ -263,7 +263,7 @@ struct pio_vl_map {
 	u32 mask;
 	u8 actual_vls;
 	u8 vls;
-	struct pio_map_elem *map[0];
+	struct pio_map_elem *map[];
 };
 
 int pio_map_init(struct hfi1_devdata *dd, u8 port, u8 num_vls,
diff --git a/drivers/infiniband/hw/hfi1/sdma.c b/drivers/infiniband/hw/hfi1/sdma.c
index a51525647ac86b..c93ea021cf4939 100644
--- a/drivers/infiniband/hw/hfi1/sdma.c
+++ b/drivers/infiniband/hw/hfi1/sdma.c
@@ -833,7 +833,7 @@ struct sdma_engine *sdma_select_engine_sc(
 struct sdma_rht_map_elem {
 	u32 mask;
 	u8 ctr;
-	struct sdma_engine *sde[0];
+	struct sdma_engine *sde[];
 };
 
 struct sdma_rht_node {
diff --git a/drivers/infiniband/hw/hfi1/sdma.h b/drivers/infiniband/hw/hfi1/sdma.h
index 1e2e40f79cb205..7a851191f9870f 100644
--- a/drivers/infiniband/hw/hfi1/sdma.h
+++ b/drivers/infiniband/hw/hfi1/sdma.h
@@ -1002,7 +1002,7 @@ void sdma_engine_interrupt(struct sdma_engine *sde, u64 status);
  */
 struct sdma_map_elem {
 	u32 mask;
-	struct sdma_engine *sde[0];
+	struct sdma_engine *sde[];
 };
 
 /**
@@ -1024,7 +1024,7 @@ struct sdma_vl_map {
 	u32 mask;
 	u8 actual_vls;
 	u8 vls;
-	struct sdma_map_elem *map[0];
+	struct sdma_map_elem *map[];
 };
 
 int sdma_map_init(
diff --git a/drivers/infiniband/hw/hfi1/user_exp_rcv.h b/drivers/infiniband/hw/hfi1/user_exp_rcv.h
index 6257eee083a1a3..332abb446861a9 100644
--- a/drivers/infiniband/hw/hfi1/user_exp_rcv.h
+++ b/drivers/infiniband/hw/hfi1/user_exp_rcv.h
@@ -73,7 +73,7 @@ struct tid_rb_node {
 	dma_addr_t dma_addr;
 	bool freed;
 	unsigned int npages;
-	struct page *pages[0];
+	struct page *pages[];
 };
 
 static inline int num_user_pages(unsigned long addr,
diff --git a/drivers/infiniband/hw/i40iw/i40iw_cm.h b/drivers/infiniband/hw/i40iw/i40iw_cm.h
index 66dc1ba0338900..6e43e4d730f4c4 100644
--- a/drivers/infiniband/hw/i40iw/i40iw_cm.h
+++ b/drivers/infiniband/hw/i40iw/i40iw_cm.h
@@ -85,7 +85,7 @@ struct ietf_mpa_v1 {
 	u8 flags;
 	u8 rev;
 	__be16 priv_data_len;
-	u8 priv_data[0];
+	u8 priv_data[];
 };
 
 #define ietf_mpa_req_resp_frame ietf_mpa_frame
@@ -101,7 +101,7 @@ struct ietf_mpa_v2 {
 	u8 rev;
 	__be16 priv_data_len;
 	struct ietf_rtr_msg rtr_msg;
-	u8 priv_data[0];
+	u8 priv_data[];
 };
 
 struct i40iw_cm_node;
diff --git a/drivers/infiniband/hw/mthca/mthca_memfree.h b/drivers/infiniband/hw/mthca/mthca_memfree.h
index da9b8f9b884f3a..f9a2e65e2ff59a 100644
--- a/drivers/infiniband/hw/mthca/mthca_memfree.h
+++ b/drivers/infiniband/hw/mthca/mthca_memfree.h
@@ -68,7 +68,7 @@ struct mthca_icm_table {
 	int               lowmem;
 	int               coherent;
 	struct mutex      mutex;
-	struct mthca_icm *icm[0];
+	struct mthca_icm *icm[];
 };
 
 struct mthca_icm_iter {
diff --git a/drivers/infiniband/hw/usnic/usnic_uiom.h b/drivers/infiniband/hw/usnic/usnic_uiom.h
index 70be49b1ca0528..7ec8991ace673e 100644
--- a/drivers/infiniband/hw/usnic/usnic_uiom.h
+++ b/drivers/infiniband/hw/usnic/usnic_uiom.h
@@ -77,7 +77,7 @@ struct usnic_uiom_reg {
 struct usnic_uiom_chunk {
 	struct list_head		list;
 	int				nents;
-	struct scatterlist		page_list[0];
+	struct scatterlist		page_list[];
 };
 
 struct usnic_uiom_pd *usnic_uiom_alloc_pd(void);
diff --git a/drivers/infiniband/sw/rxe/rxe_queue.h b/drivers/infiniband/sw/rxe/rxe_queue.h
index acd0a925481c95..8ef17d61702214 100644
--- a/drivers/infiniband/sw/rxe/rxe_queue.h
+++ b/drivers/infiniband/sw/rxe/rxe_queue.h
@@ -63,7 +63,7 @@ struct rxe_queue_buf {
 	__u32			pad_2[31];
 	__u32			consumer_index;
 	__u32			pad_3[31];
-	__u8			data[0];
+	__u8			data[];
 };
 
 struct rxe_queue {
diff --git a/drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h b/drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h
index 4480092c68e097..0b3570dc606d24 100644
--- a/drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h
+++ b/drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h
@@ -258,7 +258,7 @@ struct opa_veswport_mactable {
 	__be16                              offset;
 	__be16                              num_entries;
 	__be32                              mac_tbl_digest;
-	struct opa_veswport_mactable_entry  tbl_entries[0];
+	struct opa_veswport_mactable_entry  tbl_entries[];
 } __packed;
 
 /**
@@ -440,7 +440,7 @@ struct opa_veswport_iface_macs {
 	__be16 num_macs_in_msg;
 	__be16 tot_macs_in_lst;
 	__be16 gen_count;
-	struct opa_vnic_iface_mac_entry entry[0];
+	struct opa_vnic_iface_mac_entry entry[];
 } __packed;
 
 /**
diff --git a/drivers/infiniband/ulp/srp/ib_srp.h b/drivers/infiniband/ulp/srp/ib_srp.h
index 5359ece561cad8..6fabcc2faf1f08 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.h
+++ b/drivers/infiniband/ulp/srp/ib_srp.h
@@ -309,7 +309,7 @@ struct srp_fr_pool {
 	int			max_page_list_len;
 	spinlock_t		lock;
 	struct list_head	free_list;
-	struct srp_fr_desc	desc[0];
+	struct srp_fr_desc	desc[];
 };
 
 /**
diff --git a/include/rdma/ib_fmr_pool.h b/include/rdma/ib_fmr_pool.h
index f8982e4e9702ad..2fd9bfb6d648cc 100644
--- a/include/rdma/ib_fmr_pool.h
+++ b/include/rdma/ib_fmr_pool.h
@@ -73,7 +73,7 @@ struct ib_pool_fmr {
 	int                 remap_count;
 	u64                 io_virtual_address;
 	int                 page_list_len;
-	u64                 page_list[0];
+	u64                 page_list[];
 };
 
 struct ib_fmr_pool *ib_create_fmr_pool(struct ib_pd             *pd,
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 5f3a04ead9f593..bbc5cfb57cd2bb 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1876,7 +1876,7 @@ struct ib_flow_eth_filter {
 	__be16	ether_type;
 	__be16	vlan_tag;
 	/* Must be last */
-	u8	real_sz[0];
+	u8	real_sz[];
 };
 
 struct ib_flow_spec_eth {
@@ -1890,7 +1890,7 @@ struct ib_flow_ib_filter {
 	__be16 dlid;
 	__u8   sl;
 	/* Must be last */
-	u8	real_sz[0];
+	u8	real_sz[];
 };
 
 struct ib_flow_spec_ib {
@@ -1915,7 +1915,7 @@ struct ib_flow_ipv4_filter {
 	u8	ttl;
 	u8	flags;
 	/* Must be last */
-	u8	real_sz[0];
+	u8	real_sz[];
 };
 
 struct ib_flow_spec_ipv4 {
@@ -1933,7 +1933,7 @@ struct ib_flow_ipv6_filter {
 	u8	traffic_class;
 	u8	hop_limit;
 	/* Must be last */
-	u8	real_sz[0];
+	u8	real_sz[];
 };
 
 struct ib_flow_spec_ipv6 {
@@ -1947,7 +1947,7 @@ struct ib_flow_tcp_udp_filter {
 	__be16	dst_port;
 	__be16	src_port;
 	/* Must be last */
-	u8	real_sz[0];
+	u8	real_sz[];
 };
 
 struct ib_flow_spec_tcp_udp {
@@ -1959,7 +1959,7 @@ struct ib_flow_spec_tcp_udp {
 
 struct ib_flow_tunnel_filter {
 	__be32	tunnel_id;
-	u8	real_sz[0];
+	u8	real_sz[];
 };
 
 /* ib_flow_spec_tunnel describes the Vxlan tunnel
@@ -1976,7 +1976,7 @@ struct ib_flow_esp_filter {
 	__be32	spi;
 	__be32  seq;
 	/* Must be last */
-	u8	real_sz[0];
+	u8	real_sz[];
 };
 
 struct ib_flow_spec_esp {
@@ -1991,7 +1991,7 @@ struct ib_flow_gre_filter {
 	__be16 protocol;
 	__be32 key;
 	/* Must be last */
-	u8	real_sz[0];
+	u8	real_sz[];
 };
 
 struct ib_flow_spec_gre {
@@ -2004,7 +2004,7 @@ struct ib_flow_spec_gre {
 struct ib_flow_mpls_filter {
 	__be32 tag;
 	/* Must be last */
-	u8	real_sz[0];
+	u8	real_sz[];
 };
 
 struct ib_flow_spec_mpls {
diff --git a/include/rdma/opa_vnic.h b/include/rdma/opa_vnic.h
index 0c07a70bd7f61d..e90b149fe92a0b 100644
--- a/include/rdma/opa_vnic.h
+++ b/include/rdma/opa_vnic.h
@@ -75,7 +75,7 @@
 struct opa_vnic_rdma_netdev {
 	struct rdma_netdev rn;  /* keep this first */
 	/* followed by device private data */
-	char *dev_priv[0];
+	char *dev_priv[];
 };
 
 static inline void *opa_vnic_priv(const struct net_device *dev)
diff --git a/include/rdma/rdmavt_mr.h b/include/rdma/rdmavt_mr.h
index 72a3856d4057f5..ce6c888f7fe754 100644
--- a/include/rdma/rdmavt_mr.h
+++ b/include/rdma/rdmavt_mr.h
@@ -85,7 +85,7 @@ struct rvt_mregion {
 	u8  lkey_published;     /* in global table */
 	struct percpu_ref refcount;
 	struct completion comp; /* complete when refcount goes to zero */
-	struct rvt_segarray *map[0];    /* the segments */
+	struct rvt_segarray *map[];    /* the segments */
 };
 
 #define RVT_MAX_LKEY_TABLE_BITS 23
diff --git a/include/rdma/rdmavt_qp.h b/include/rdma/rdmavt_qp.h
index 0d5c70e2d8ab33..5fc10108703a43 100644
--- a/include/rdma/rdmavt_qp.h
+++ b/include/rdma/rdmavt_qp.h
@@ -191,7 +191,7 @@ struct rvt_swqe {
 	u32 ssn;                /* send sequence number */
 	u32 length;             /* total length of data in sg_list */
 	void *priv;             /* driver dependent field */
-	struct rvt_sge sg_list[0];
+	struct rvt_sge sg_list[];
 };
 
 /**

^ permalink raw reply related

* Re: [PULL 00/17] Trivial branch patches
From: Peter Maydell @ 2020-02-20 17:35 UTC (permalink / raw)
  To: Laurent Vivier
  Cc: Fam Zheng, Jason Wang, Michael Tokarev, QEMU Developers,
	Max Filippov, Gerd Hoffmann, Edgar E. Iglesias, Marek Vasut,
	Qemu-block, QEMU Trivial, Philippe Mathieu-Daudé,
	Laurent Vivier, Thomas Huth, Jiri Pirko, Eduardo Habkost,
	Alistair Francis, Yuval Shaia, Alex Williamson, qemu-arm,
	Richard Henderson, Kevin Wolf, Thomas Huth, Chris Wulff,
	Max Reitz, Paolo Bonzini
In-Reply-To: <20200219101612.1033925-1-laurent@vivier.eu>

On Wed, 19 Feb 2020 at 10:16, Laurent Vivier <laurent@vivier.eu> wrote:
>
> The following changes since commit 6c599282f8ab382fe59f03a6cae755b89561a7b3:
>
>   Merge remote-tracking branch 'remotes/armbru/tags/pull-monitor-2020-02-15-v2' into staging (2020-02-17 13:32:25 +0000)
>
> are available in the Git repository at:
>
>   git://github.com/vivier/qemu.git tags/trivial-branch-pull-request
>
> for you to fetch changes up to d1cb67841ca213802ee789957188ec87e8b7996d:
>
>   hw/xtensa/xtfpga:fix leak of fdevice tree blob (2020-02-19 10:33:38 +0100)
>
> ----------------------------------------------------------------
> Fix memory leak with fdt
> cosmetic change in code and logs
> update mailmap
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0
for any user-visible changes.

-- PMM


^ permalink raw reply

* [MODERATED] [PATCH 2/2] more sampling fun 2
From: mark gross @ 2020-01-16 22:16 UTC (permalink / raw)
  To: speck

From: mark gross <mark.gross@intel.com>
Subject: [PATCH 2/2] WIP SRBDS mitigation enabling.

From: mark gross <mark.gross@intel.com>
Subject: [PATCH 2/2] WIP SRBDS mitigation enabling.

SRBDS is an MDS-like speculative side channel that can leak bits from
the RNG across cores and threads. New microcode serializes the processor
access during the execution of RDRAND and RDSEED ensures that the shared
buffer is overwritten before it is released for reuse.

We subdivide processors that are vulnerable to SRBDS into two classes:
X86_BUG_SRBDS:          models that are vulnerable
X86_BUG_SRBDS_TSX:      models only vulnerable when TSX is enabled.

The latter are not vulnerable to SRBDS if TSX is disabled on all cores.

The mitigation is activated by default on affected processors and it slows
down /dev/urandom.  The latency of RDRAND and RDSEED instructions is
increased by 10x.  We don't expect this to be noticeable in most cases.

This patch:
* enables administrator to configure the mitigation off when desired
  using either mitigations=off or srbds=off.
* exports vulnerability status via sysfs

Signed-off-by: mark gross <mgross@linux.intel.com>
Reviewed-by: tony luck <tony.luck@intel.com>
---
 arch/x86/include/asm/cpufeatures.h |  3 ++
 arch/x86/include/asm/msr-index.h   |  4 ++
 arch/x86/kernel/cpu/bugs.c         | 84 ++++++++++++++++++++++++++++++
 arch/x86/kernel/cpu/common.c       | 24 +++++++++
 arch/x86/kernel/cpu/cpu.h          | 10 ++++
 arch/x86/kernel/cpu/intel.c        |  2 +
 drivers/base/cpu.c                 |  8 +++
 7 files changed, 135 insertions(+)

diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
index f3327cb56edf..e7d032542d63 100644
--- a/arch/x86/include/asm/cpufeatures.h
+++ b/arch/x86/include/asm/cpufeatures.h
@@ -360,6 +360,7 @@
 #define X86_FEATURE_AVX512_4FMAPS	(18*32+ 3) /* AVX-512 Multiply Accumulation Single precision */
 #define X86_FEATURE_FSRM		(18*32+ 4) /* Fast Short Rep Mov */
 #define X86_FEATURE_AVX512_VP2INTERSECT (18*32+ 8) /* AVX-512 Intersect for D/Q */
+#define X86_FEATURE_SRBDS_CTRL		(18*32+ 9) /* "" SRBDS mitigation MSR available */
 #define X86_FEATURE_MD_CLEAR		(18*32+10) /* VERW clears CPU buffers */
 #define X86_FEATURE_TSX_FORCE_ABORT	(18*32+13) /* "" TSX_FORCE_ABORT */
 #define X86_FEATURE_PCONFIG		(18*32+18) /* Intel PCONFIG */
@@ -404,5 +405,7 @@
 #define X86_BUG_SWAPGS			X86_BUG(21) /* CPU is affected by speculation through SWAPGS */
 #define X86_BUG_TAA			X86_BUG(22) /* CPU is affected by TSX Async Abort(TAA) */
 #define X86_BUG_ITLB_MULTIHIT		X86_BUG(23) /* CPU may incur MCE during certain page attribute changes */
+#define X86_BUG_SRBDS			X86_BUG(24) /* CPU may leak RNG bits if not mitigated */
+#define X86_BUG_SRBDS_TSX		X86_BUG(25) /* CPU may leak RNG bits if not mitigated when TSX is enabled */
 
 #endif /* _ASM_X86_CPUFEATURES_H */
diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
index ebe1685e92dd..f1603f247f52 100644
--- a/arch/x86/include/asm/msr-index.h
+++ b/arch/x86/include/asm/msr-index.h
@@ -119,6 +119,10 @@
 #define TSX_CTRL_RTM_DISABLE		BIT(0)	/* Disable RTM feature */
 #define TSX_CTRL_CPUID_CLEAR		BIT(1)	/* Disable TSX enumeration */
 
+/* SRBDS support */
+#define MSR_IA32_MCU_OPT_CTRL		0x00000123
+#define SRBDS_MITG_DIS			BIT(0)
+
 #define MSR_IA32_SYSENTER_CS		0x00000174
 #define MSR_IA32_SYSENTER_ESP		0x00000175
 #define MSR_IA32_SYSENTER_EIP		0x00000176
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index ed54b3b21c39..db3ec7755ff2 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -41,6 +41,7 @@ static void __init l1tf_select_mitigation(void);
 static void __init mds_select_mitigation(void);
 static void __init mds_print_mitigation(void);
 static void __init taa_select_mitigation(void);
+static void __init srbds_select_mitigation(void);
 
 /* The base value of the SPEC_CTRL MSR that always has to be preserved. */
 u64 x86_spec_ctrl_base;
@@ -108,6 +109,7 @@ void __init check_bugs(void)
 	l1tf_select_mitigation();
 	mds_select_mitigation();
 	taa_select_mitigation();
+	srbds_select_mitigation();
 
 	/*
 	 * As MDS and TAA mitigations are inter-related, print MDS
@@ -397,6 +399,69 @@ static int __init tsx_async_abort_parse_cmdline(char *str)
 }
 early_param("tsx_async_abort", tsx_async_abort_parse_cmdline);
 
+#undef pr_fmt
+#define pr_fmt(fmt)	"SRBDS: " fmt
+
+enum srbds_mitigations srbds_mitigation __ro_after_init = SRBDS_MITIGATION_FULL;
+static const char * const srbds_strings[] = {
+	[SRBDS_MITIGATION_OFF]		= "Vulnerable",
+	[SRBDS_MITIGATION_UCODE_NEEDED]	= "Vulnerable: no microcode",
+	[SRBDS_MITIGATION_FULL]		= "Mitigation: bus lock when using RDRAND or RDSEED",
+};
+
+void srbds_configure_mitigation(void)
+{
+	u64 mcu_ctrl;
+
+	if (!boot_cpu_has_bug(X86_BUG_SRBDS) && !boot_cpu_has_bug(X86_BUG_SRBDS_TSX))
+		return;
+
+	if (!boot_cpu_has(X86_FEATURE_SRBDS_CTRL))
+		return;
+
+	rdmsrl(MSR_IA32_MCU_OPT_CTRL, mcu_ctrl);
+	if (srbds_mitigation == SRBDS_MITIGATION_FULL)
+		mcu_ctrl &= ~SRBDS_MITG_DIS;
+	else if (srbds_mitigation == SRBDS_MITIGATION_OFF)
+		mcu_ctrl |= SRBDS_MITG_DIS;
+
+	if (boot_cpu_has_bug(X86_BUG_SRBDS_TSX) && !boot_cpu_has(X86_FEATURE_RTM))
+		mcu_ctrl |= SRBDS_MITG_DIS;
+
+	wrmsrl(MSR_IA32_MCU_OPT_CTRL, mcu_ctrl);
+}
+
+static void __init srbds_select_mitigation(void)
+{
+	if (!boot_cpu_has_bug(X86_BUG_SRBDS) &&
+	    !boot_cpu_has_bug(X86_BUG_SRBDS_TSX))
+		return;
+
+	if (cpu_mitigations_off()) {
+		srbds_mitigation = SRBDS_MITIGATION_OFF;
+		goto out;
+	}
+
+	if (!boot_cpu_has(X86_FEATURE_SRBDS_CTRL))
+		srbds_mitigation = SRBDS_MITIGATION_UCODE_NEEDED;
+
+out:
+	srbds_configure_mitigation();
+}
+
+static int __init srbds_parse_cmdline(char *str)
+{
+	if (!str)
+		return -EINVAL;
+
+	if (!strcmp(str, "off"))
+		srbds_mitigation = SRBDS_MITIGATION_OFF;
+
+	return 0;
+}
+
+early_param("srbds_mitigation", srbds_parse_cmdline);
+
 #undef pr_fmt
 #define pr_fmt(fmt)     "Spectre V1 : " fmt
 
@@ -1528,6 +1593,11 @@ static char *ibpb_state(void)
 	return "";
 }
 
+static ssize_t srbds_show_state(char *buf)
+{
+	return sprintf(buf, "%s\n", srbds_strings[srbds_mitigation]);
+}
+
 static ssize_t cpu_show_common(struct device *dev, struct device_attribute *attr,
 			       char *buf, unsigned int bug)
 {
@@ -1572,6 +1642,10 @@ static ssize_t cpu_show_common(struct device *dev, struct device_attribute *attr
 	case X86_BUG_ITLB_MULTIHIT:
 		return itlb_multihit_show_state(buf);
 
+	case X86_BUG_SRBDS:
+	case X86_BUG_SRBDS_TSX:
+		return srbds_show_state(buf);
+
 	default:
 		break;
 	}
@@ -1618,4 +1692,14 @@ ssize_t cpu_show_itlb_multihit(struct device *dev, struct device_attribute *attr
 {
 	return cpu_show_common(dev, attr, buf, X86_BUG_ITLB_MULTIHIT);
 }
+
+ssize_t cpu_show_special_register_data_sampling(struct device *dev, struct device_attribute *attr, char *buf)
+{
+	if (boot_cpu_has_bug(X86_BUG_SRBDS))
+		return cpu_show_common(dev, attr, buf, X86_BUG_SRBDS);
+	else if (boot_cpu_has_bug(X86_BUG_SRBDS_TSX))
+		return cpu_show_common(dev, attr, buf, X86_BUG_SRBDS_TSX);
+	else
+		return sprintf(buf, "Not affected\n");
+}
 #endif
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index c0519be5f563..050c5c05b500 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -1007,6 +1007,8 @@ static void identify_cpu_without_cpuid(struct cpuinfo_x86 *c)
 #define NO_SWAPGS		BIT(6)
 #define NO_ITLB_MULTIHIT	BIT(7)
 #define NO_SPECTRE_V2		BIT(8)
+#define SRBDS			BIT(9)
+#define SRBDS_TSX		BIT(10)
 
 #define VULNWL(_vendor, _family, _model, __stepping,  _whitelist)	\
 	{{ X86_VENDOR_##_vendor, _family, _model, X86_FEATURE_ANY, _whitelist }, __stepping}
@@ -1014,6 +1016,9 @@ static void identify_cpu_without_cpuid(struct cpuinfo_x86 *c)
 #define VULNWL_INTEL(model, whitelist)		\
 	VULNWL(INTEL, 6, INTEL_FAM6_##model, X86_STEPPING_ANY, whitelist)
 
+#define VULNWL_INTEL_STEPPING(model, stepping, whitelist)		\
+	VULNWL(INTEL, 6, INTEL_FAM6_##model, stepping, whitelist)
+
 #define VULNWL_AMD(family, whitelist)		\
 	VULNWL(AMD, family, X86_MODEL_ANY, X86_STEPPING_ANY, whitelist)
 
@@ -1042,6 +1047,19 @@ static const struct x86_cpu_id_ext cpu_vuln_whitelist[] __initconst = {
 
 	VULNWL_INTEL(CORE_YONAH,		NO_SSB),
 
+	VULNWL_INTEL(IVYBRIDGE,		SRBDS), /*06_3A*/
+	VULNWL_INTEL(HASWELL,		SRBDS), /*06_3C*/
+	VULNWL_INTEL(HASWELL_L,		SRBDS), /*06_45*/
+	VULNWL_INTEL(HASWELL_G,		SRBDS), /*06_46*/
+	VULNWL_INTEL(BROADWELL_G,	SRBDS), /*06_47*/
+	VULNWL_INTEL(BROADWELL,		SRBDS), /*06_3D*/
+	VULNWL_INTEL(SKYLAKE_L,		SRBDS), /*06_4E*/
+	VULNWL_INTEL(SKYLAKE,		SRBDS), /*06_5E*/
+	VULNWL_INTEL_STEPPING(KABYLAKE_L, (BIT(0xA)-1),		SRBDS), /*06_8E steppings <=A*/
+	VULNWL_INTEL_STEPPING(KABYLAKE_L, BIT(0xB)|BIT(0xC),	SRBDS_TSX), /*06_8E stepping = 0xB if TSX enabled*/
+	VULNWL_INTEL_STEPPING(KABYLAKE, (BIT(0xB)-1),		SRBDS), /*06_9E steppings <=B*/
+	VULNWL_INTEL_STEPPING(KABYLAKE, BIT(0xC)|BIT(0xD),	SRBDS_TSX), /*06_9E stepping = 0xC if TSX enabled*/
+
 	VULNWL_INTEL(ATOM_AIRMONT_MID,		NO_L1TF | MSBDS_ONLY | NO_SWAPGS | NO_ITLB_MULTIHIT),
 	VULNWL_INTEL(ATOM_AIRMONT_NP,		NO_L1TF | NO_SWAPGS | NO_ITLB_MULTIHIT),
 
@@ -1124,6 +1142,12 @@ static void __init cpu_set_bug_bits(struct cpuinfo_x86 *c)
 	if (!cpu_matches(NO_SWAPGS))
 		setup_force_cpu_bug(X86_BUG_SWAPGS);
 
+	if (cpu_matches(SRBDS))
+		setup_force_cpu_bug(X86_BUG_SRBDS);
+
+	if (cpu_matches(SRBDS_TSX))
+		setup_force_cpu_bug(X86_BUG_SRBDS_TSX);
+
 	/*
 	 * When the CPU is not mitigated for TAA (TAA_NO=0) set TAA bug when:
 	 *	- TSX is supported or
diff --git a/arch/x86/kernel/cpu/cpu.h b/arch/x86/kernel/cpu/cpu.h
index 37fdefd14f28..f2b3fd4d4274 100644
--- a/arch/x86/kernel/cpu/cpu.h
+++ b/arch/x86/kernel/cpu/cpu.h
@@ -44,7 +44,17 @@ struct _tlb_table {
 extern const struct cpu_dev *const __x86_cpu_dev_start[],
 			    *const __x86_cpu_dev_end[];
 
+enum srbds_mitigations {
+	SRBDS_MITIGATION_OFF,
+	SRBDS_MITIGATION_UCODE_NEEDED,
+	SRBDS_MITIGATION_FULL,
+};
+
+extern __ro_after_init enum srbds_mitigations srbds_mitigation;
+void srbds_configure_mitigation(void);
+
 #ifdef CONFIG_CPU_SUP_INTEL
+
 enum tsx_ctrl_states {
 	TSX_CTRL_ENABLE,
 	TSX_CTRL_DISABLE,
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
index be82cd5841c3..1b083a2a415b 100644
--- a/arch/x86/kernel/cpu/intel.c
+++ b/arch/x86/kernel/cpu/intel.c
@@ -684,6 +684,8 @@ static void init_intel(struct cpuinfo_x86 *c)
 		tsx_enable();
 	if (tsx_ctrl_state == TSX_CTRL_DISABLE)
 		tsx_disable();
+
+	srbds_configure_mitigation();
 }
 
 #ifdef CONFIG_X86_32
diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
index 6265871a4af2..d69e094e790c 100644
--- a/drivers/base/cpu.c
+++ b/drivers/base/cpu.c
@@ -567,6 +567,12 @@ ssize_t __weak cpu_show_itlb_multihit(struct device *dev,
 	return sprintf(buf, "Not affected\n");
 }
 
+ssize_t __weak cpu_show_special_register_data_sampling(struct device *dev,
+						       struct device_attribute *attr, char *buf)
+{
+	return sprintf(buf, "Not affected\n");
+}
+
 static DEVICE_ATTR(meltdown, 0444, cpu_show_meltdown, NULL);
 static DEVICE_ATTR(spectre_v1, 0444, cpu_show_spectre_v1, NULL);
 static DEVICE_ATTR(spectre_v2, 0444, cpu_show_spectre_v2, NULL);
@@ -575,6 +581,7 @@ static DEVICE_ATTR(l1tf, 0444, cpu_show_l1tf, NULL);
 static DEVICE_ATTR(mds, 0444, cpu_show_mds, NULL);
 static DEVICE_ATTR(tsx_async_abort, 0444, cpu_show_tsx_async_abort, NULL);
 static DEVICE_ATTR(itlb_multihit, 0444, cpu_show_itlb_multihit, NULL);
+static DEVICE_ATTR(special_register_data_sampling, 0444, cpu_show_special_register_data_sampling, NULL);
 
 static struct attribute *cpu_root_vulnerabilities_attrs[] = {
 	&dev_attr_meltdown.attr,
@@ -585,6 +592,7 @@ static struct attribute *cpu_root_vulnerabilities_attrs[] = {
 	&dev_attr_mds.attr,
 	&dev_attr_tsx_async_abort.attr,
 	&dev_attr_itlb_multihit.attr,
+	&dev_attr_special_register_data_sampling.attr,
 	NULL
 };
 
-- 
2.17.1

^ permalink raw reply related

* [PATCH] Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs"
From: Orson Zhai @ 2020-02-20 17:37 UTC (permalink / raw)
  To: MyungJoo Ham, Kyungmin Park, Chanwoo Choi
  Cc: Greg Kroah-Hartman, John Stultz, mingmin.ling, orsonzhai,
	jingchao.ye, linux-pm, linux-kernel, stable, Orson Zhai

This reverts commit 4585fbcb5331fc910b7e553ad3efd0dd7b320d14.

The name changing as devfreq(X) breaks some user space applications,
such as Android HAL from Unisoc and Hikey [1].
The device name will be changed unexpectly after every boot depending
on module init sequence. It will make trouble to setup some system
configuration like selinux for Android.

So we'd like to revert it back to old naming rule before any better
way being found.

[1] https://lkml.org/lkml/2018/5/8/1042

Cc: John Stultz <john.stultz@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: stable@vger.kernel.org
Signed-off-by: Orson Zhai <orson.unisoc@gmail.com>

---
 drivers/devfreq/devfreq.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index cceee8b..7dcf209 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -738,7 +738,6 @@ struct devfreq *devfreq_add_device(struct device *dev,
 {
 	struct devfreq *devfreq;
 	struct devfreq_governor *governor;
-	static atomic_t devfreq_no = ATOMIC_INIT(-1);
 	int err = 0;
 
 	if (!dev || !profile || !governor_name) {
@@ -800,8 +799,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
 	devfreq->suspend_freq = dev_pm_opp_get_suspend_opp_freq(dev);
 	atomic_set(&devfreq->suspend_count, 0);
 
-	dev_set_name(&devfreq->dev, "devfreq%d",
-				atomic_inc_return(&devfreq_no));
+	dev_set_name(&devfreq->dev, "%s", dev_name(dev));
 	err = device_register(&devfreq->dev);
 	if (err) {
 		mutex_unlock(&devfreq->lock);
-- 
2.7.4


^ permalink raw reply related

* [PATCH v2 1/2] x86: fix bitops.h warning with a moved cast
From: Jesse Brandeburg @ 2020-02-20 17:37 UTC (permalink / raw)
  To: tglx, mingo, bp
  Cc: Jesse Brandeburg, x86, linux-kernel, linux, andriy.shevchenko,
	dan.j.williams

Fix many sparse warnings when building with C=1.

When the kernel is compiled with C=1, there are lots of messages like:
  arch/x86/include/asm/bitops.h:77:37: warning: cast truncates bits from constant value (ffffff7f becomes 7f)

CONST_MASK() is using a signed integer "1" to create the mask which
is later cast to (u8) when used. Move the cast to the definition so
and use local variables so sparse and the compiler can see the
correct type.

Verified with a test module (see next patch) and assembly inspection
that the patch doesn't introduce any change in generated code.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
---
v2: use correct CC: list
---
 arch/x86/include/asm/bitops.h | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/x86/include/asm/bitops.h b/arch/x86/include/asm/bitops.h
index 062cdecb2f24..2922b352b6ed 100644
--- a/arch/x86/include/asm/bitops.h
+++ b/arch/x86/include/asm/bitops.h
@@ -46,15 +46,17 @@
  * a mask operation on a byte.
  */
 #define CONST_MASK_ADDR(nr, addr)	WBYTE_ADDR((void *)(addr) + ((nr)>>3))
-#define CONST_MASK(nr)			(1 << ((nr) & 7))
+#define CONST_MASK(nr)			((u8)1 << ((nr) & 7))
 
 static __always_inline void
 arch_set_bit(long nr, volatile unsigned long *addr)
 {
 	if (__builtin_constant_p(nr)) {
+		u8 cmask = CONST_MASK(nr);
+
 		asm volatile(LOCK_PREFIX "orb %1,%0"
 			: CONST_MASK_ADDR(nr, addr)
-			: "iq" ((u8)CONST_MASK(nr))
+			: "iq" (cmask)
 			: "memory");
 	} else {
 		asm volatile(LOCK_PREFIX __ASM_SIZE(bts) " %1,%0"
@@ -72,9 +74,11 @@ static __always_inline void
 arch_clear_bit(long nr, volatile unsigned long *addr)
 {
 	if (__builtin_constant_p(nr)) {
+		u8 cmaski = ~CONST_MASK(nr);
+
 		asm volatile(LOCK_PREFIX "andb %1,%0"
 			: CONST_MASK_ADDR(nr, addr)
-			: "iq" ((u8)~CONST_MASK(nr)));
+			: "iq" (cmaski));
 	} else {
 		asm volatile(LOCK_PREFIX __ASM_SIZE(btr) " %1,%0"
 			: : RLONG_ADDR(addr), "Ir" (nr) : "memory");
-- 
2.24.1


^ permalink raw reply related

* [PATCH v2 2/2] lib: make a test module with set/clear bit
From: Jesse Brandeburg @ 2020-02-20 17:37 UTC (permalink / raw)
  To: tglx, mingo, bp
  Cc: Jesse Brandeburg, x86, linux-kernel, linux, andriy.shevchenko,
	dan.j.williams
In-Reply-To: <20200220173722.2034546-1-jesse.brandeburg@intel.com>

Test some bit clears/sets to make sure assembly doesn't change.
Instruct Kbuild to build this file with extra warning level -Wextra,
to catch new issues, and also doesn't hurt to build with C=1.

This was used to test changes to arch/x86/include/asm/bitops.h.

Recommended usage:
make defconfig
scripts/config -m CONFIG_TEST_BITOPS
make modules_prepare
make C=1 W=1 lib/test_bitops.ko
objdump -S -d lib/test_bitops.ko

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
---
v2: use correct CC: list
---
 lib/Kconfig.debug                  | 13 ++++++++++++
 lib/Makefile                       |  2 ++
 lib/test_bitops.c                  | 34 ++++++++++++++++++++++++++++++
 tools/testing/selftests/lib/config |  1 +
 4 files changed, 50 insertions(+)
 create mode 100644 lib/test_bitops.c

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 69def4a9df00..61a5d00ea064 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1947,6 +1947,19 @@ config TEST_LKM
 
 	  If unsure, say N.
 
+config TEST_BITOPS
+	tristate "Test module for compilation of clear_bit/set_bit operations"
+	depends on m
+	help
+	  This builds the "test_bitops" module that is much like the
+	  TEST_LKM module except that it does a basic exercise of the
+	  clear_bit and set_bit macros to make sure there are no compiler
+	  warnings from C=1 sparse checker or -Wextra compilations. It has
+	  no dependencies and doesn't run or load unless explicitly requested
+	  by name.  for example: modprobe test_bitops.
+
+	  If unsure, say N.
+
 config TEST_VMALLOC
 	tristate "Test module for stress/performance analysis of vmalloc allocator"
 	default n
diff --git a/lib/Makefile b/lib/Makefile
index 611872c06926..b18db565b355 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -89,6 +89,8 @@ obj-$(CONFIG_TEST_OBJAGG) += test_objagg.o
 obj-$(CONFIG_TEST_STACKINIT) += test_stackinit.o
 obj-$(CONFIG_TEST_BLACKHOLE_DEV) += test_blackhole_dev.o
 obj-$(CONFIG_TEST_MEMINIT) += test_meminit.o
+obj-$(CONFIG_TEST_BITOPS) += test_bitops.o
+CFLAGS_test_bitops.o += -Werror
 
 obj-$(CONFIG_TEST_LIVEPATCH) += livepatch/
 
diff --git a/lib/test_bitops.c b/lib/test_bitops.c
new file mode 100644
index 000000000000..077af86cf616
--- /dev/null
+++ b/lib/test_bitops.c
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/printk.h>
+
+/* a tiny module only meant to compile-test set/clear_bit */
+
+static DECLARE_BITMAP(g_bitmap, 80);
+
+static int __init test_bitops_startup(void)
+{
+	pr_warn("Loaded test module\n");
+	set_bit(4, g_bitmap);
+	set_bit(11, g_bitmap);
+	set_bit(40, g_bitmap);
+	return 0;
+}
+
+static void __exit test_bitops_unstartup(void)
+{
+	clear_bit(4, g_bitmap);
+	clear_bit(11, g_bitmap);
+	clear_bit(40, g_bitmap);
+	pr_warn("Unloaded test module\n");
+}
+
+module_init(test_bitops_startup);
+module_exit(test_bitops_unstartup);
+
+MODULE_AUTHOR("Jesse Brandeburg <jesse.brandeburg@intel.com>");
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Bit testing module");
diff --git a/tools/testing/selftests/lib/config b/tools/testing/selftests/lib/config
index 14a77ea4a8da..b80ee3f6e265 100644
--- a/tools/testing/selftests/lib/config
+++ b/tools/testing/selftests/lib/config
@@ -2,3 +2,4 @@ CONFIG_TEST_PRINTF=m
 CONFIG_TEST_BITMAP=m
 CONFIG_PRIME_NUMBERS=m
 CONFIG_TEST_STRSCPY=m
+CONFIG_TEST_BITOPS=m
-- 
2.24.1


^ permalink raw reply related

* Re: MCE handler gets NIP wrong on MPC8378
From: Radu Rendec @ 2020-02-20 17:34 UTC (permalink / raw)
  To: Christophe Leroy; +Cc: linuxppc-dev
In-Reply-To: <8008403c-49cd-29bc-712d-2e13b601041c@c-s.fr>

On 02/20/2020 at 11:25 AM Christophe Leroy <christophe.leroy@c-s.fr> wrote:
> Le 20/02/2020 à 17:02, Radu Rendec a écrit :
> > On 02/20/2020 at 3:38 AM Christophe Leroy <christophe.leroy@c-s.fr> wrote:
> >> On 02/19/2020 10:39 PM, Radu Rendec wrote:
> >>> On 02/19/2020 at 4:21 PM Christophe Leroy <christophe.leroy@c-s.fr> wrote:
> >>>>> Interesting.
> >>>>>
> >>>>> 0x900 is the adress of the timer interrupt.
> >>>>>
> >>>>> Would the MCE occur just after the timer interrupt ?
> >>>
> >>> I doubt that. I'm using a small test module to artificially trigger the
> >>> MCE. Basically it's just this (the full code is in my original post):
> >>>
> >>>           bad_addr_base = ioremap(0xf0000000, 0x100);
> >>>           x = ioread32(bad_addr_base);
> >>>
> >>> I find it hard to believe that every time I load the module the lwbrx
> >>> instruction that triggers the MCE is executed exactly after the timer
> >>> interrupt (or that the timer interrupt always occurs close to the lwbrx
> >>> instruction).
> >>
> >> Can you try to see how much time there is between your read and the MCE ?
> >> The below should allow it, you'll see first value in r13 and the other
> >> in r14 (mce.c is your test code)
> >>
> >> Also provide the timebase frequency as reported in /proc/cpuinfo
> >
> > I just ran a test: r13 is 0xda8e0f91 and r14 is 0xdaae0f9c.
> >
> > # cat /proc/cpuinfo
> > processor       : 0
> > cpu             : e300c4
> > clock           : 800.000004MHz
> > revision        : 1.1 (pvr 8086 1011)
> > bogomips        : 200.00
> > timebase        : 100000000
> >
> > The difference between r14 and r13 is 0x20000b. Assuming TB is
> > incremented with 'timebase' frequency, that means 20.97 milliseconds
> > (although the e300 manual says TB is "incremented once every four core
> > input clock cycles").
>
> I wouldn't be surprised that the internal CPU clock be twice the input
> clock.
>
> So that's long enough to surely get a timer interrupt during every bad
> access.
>
> Now we have to understand why SRR1 contains the address of the timer
> exception entry and not the address of the bad access.
>
> The value of SRR1 confirms that it comes from 0x900 as MSR[IR] and [DR]
> are cleared when interrupts are enabled.
>
> Maybe you should file a support case at NXP. They are usually quite
> professionnal at responding.

I already did (quite some time ago), but it started off as "why does the
MCE occur in the first place". That part has already been figured out,
but unfortunately I don't have a viable solution to it. Like you said,
now the focus has shifted to understanding why the SRR0 value is not
what we expect.

I asked them the question about SRR0 as soon as you helped me get back
on track and figured out there's nothing wrong with the Linux MCE
handler and the NIP value comes from SRR0. What they came up with is
basically this paragraph in the e300 core manual (section 5.5.2):

| Note that the e300 core makes no attempt to force recoverability on a
| machine check; however, it does guarantee that the machine check
| interrupt is always taken immediately upon request, with a nonpredicted
| address saved in SRR0, regardless of the current machine state.

... and with an emphasis on "nonpredicted". To be honest, I am a bit
disappointed with their response and I believe in this context what
"unpredicted" means is that the address that is saved to SRR0 is a
"real" address rather than the result of branch prediction. The support
folks were probably thinking "unpredictable". But that's another word
and the difference is quite subtle :)

I updated the case and added information about the interrupts and the
timing. Let's see what they come up with this time.

Best regards,
Radu

^ permalink raw reply

* Re: [PATCH 2/2] MAINTAINERS: Set MIPS status to Odd Fixes
From: Zhou Yanjie @ 2020-02-20 17:36 UTC (permalink / raw)
  To: YunQiang Su
  Cc: Thomas Bogendoerfer, Paul Burton, linux-mips, linux-kernel,
	wayne.sun, chris.wang, Yunqiang Su, dongsheng.qiu, xuwanhao
In-Reply-To: <CAKcpw6V-=bFG7O8a0SKbiAzQeHGzzaQD=8ZqVUhm8-B3PTA5xQ@mail.gmail.com>

Hi,

On 2020年02月21日 01:01, YunQiang Su wrote:
> Zhou Yanjie <zhouyanjie@wanyeetech.com> 于2020年2月20日周四 下午8:40写道:
>> Hi,
>>
>> CC people from Ingenic Semi and Wanyee Tech.
>>
>> On 2020年02月20日 20:11, YunQiang Su wrote:
>>> CC people from NeoCore and CIP United, and my Wave Computing's mail address.
>>>
>>> Thomas Bogendoerfer <tsbogend@alpha.franken.de> 于2020年2月20日周四 下午7:23写道:
>>>> On Wed, Feb 19, 2020 at 11:17:30AM -0800, Paul Burton wrote:
>>>>> My time with MIPS the company has reached its end, and so at best I'll
>>>>> have little time spend on maintaining arch/mips/. Reflect that in
>>>>> MAINTAINERS by changing status to Odd Fixes. Hopefully this might spur
>>>>> the involvement of someone with more time, but even if not it should
>>>>> help serve to avoid unrealistic expectations.
>>>> I'd like to jump in as MIPS maintainer. I'm doing Linux MIPS kernel
>>> It is a great news that you are willing to act as maintainer as Linux-MIPS.
>>>
>>>> development since ages (started with an Olivetti M700 and kernel version
>>>> 2.x) and right now time for doing the jobs isn't issue:-)
>>>>
>>> I noticed that you are mainly working some old machines.
>>> And recently years, there are some new machines from Ingenic, Loongson, MTK etc.
>>> MIPS Inc also have some MIPSr6 IPs.
>>> I think that you need some of these machines.
>> I can provide some new Ingenic platform machines as a gift to Thomas.
>> Ingenic X1000 can be provided in a short time, it has been directly
>> supported by kernel 5.6.
>> X1830 and X2000 will be available later.
>>
>>> In the last years, we see that the single maintainer is not enough as people may
>>> quite busy.
>>> Do you think that we need co-maintainers?
> Paul Cercueil also has interest about it. That's so cool.
>
> As a suggestion, I think that we can have a maintainers team:
>
> Option1: Paul Cercueil/Thomas Bogendoerfer/Jiaxun Yang
> Option2: Thomas Bogendoerfer/Paul Cercueil/Jiaxun Yang
>
> any idea?
>
> background:
> 1. PaulC works lots for Ingenic support.
> 2. Thomas works lots for some SGI IP and some other hardware
> 3. Jiaxun works lots for Loongson hardware.
>

How about the three maintainer have equal rights but different emphasis.
They can jointly maintain the common code parts, and they all have the 
veto power
to ensure that new changes will not affect other platforms. And they can 
have a
greater say in their respective focus departments, because each 
maintainer has
corresponding hardware in hand, which can ensure that the code is tested 
and
can run correctly.

BTW, as a developer of the Ingenic platform, I can donate the hardware 
of the
Ingenic platform to the other two maintainers so that any one of the 
three maintainer
can effectively verify the code of the Ingenic platform.

>
>>>> Thomas.
>>>>
>>>> --
>>>> Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
>>>> good idea.                                                [ RFC1925, 2.3 ]
>>>
>


^ permalink raw reply

* Re: About r8169 regression 5.4
From: Vincas Dargis @ 2020-02-20 17:36 UTC (permalink / raw)
  To: Heiner Kallweit, Salvatore Bonaccorso; +Cc: netdev
In-Reply-To: <badbb4f9-9fd2-3f7b-b7eb-92bd960769d9@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 7860 bytes --]

2020-02-19 23:54, Heiner Kallweit rašė:
> Realtek responded that they are not aware of a HW issue with RTL8411b. They will try to reproduce the error,
> in addition they ask to test whether same issue occurs with their own driver, r8168.
> Would be great if you could give r8168 a try. Most distributions provide it as an optional package.
> Worst case it can be downloaded from Realtek's website, then it needs to be compiled.
> 

I have installed r8168-dkms:

```
apt policy r8168-dkms
r8168-dkms:
   Installed: 8.048.00-1
   Candidate: 8.048.00-1
   Version table:
  *** 8.048.00-1 500
         500 http://debian.mirror.vu.lt/debian unstable/non-free amd64 Packages
         500 http://debian.mirror.vu.lt/debian unstable/non-free i386 Packages
         100 /var/lib/dpkg/status
```

Rebooted, and still (rather fast) got same timeout after maybe couple of minutes of running on same 5.4 withoyt ethtool fixes:

Feb 20 19:24:54 vinco kernel: [  228.808802] ------------[ cut here ]------------
Feb 20 19:24:54 vinco kernel: [  228.808832] NETDEV WATCHDOG: enp5s0f1 (r8168): transmit queue 0 timed out
Feb 20 19:24:54 vinco kernel: [  228.808865] WARNING: CPU: 7 PID: 0 at net/sched/sch_generic.c:447 dev_watchdog+0x248/0x250
Feb 20 19:24:54 vinco kernel: [  228.808871] Modules linked in: xt_recent ipt_REJECT nf_reject_ipv4 xt_multiport xt_conntrack xt_hashlimit xt_addrtype xt_iface(OE) xt_mark nft_chain_nat xt_comment 
xt_CT xt_owner xt_tcpudp nft_compat nft_counter xt_NFLOG nf_log_ipv4 nf_log_common xt_LOG nf_nat_tftp nf_nat_snmp_basic nf_conntrack_snmp nf_nat_sip nf_nat_pptp nf_nat_irc nf_nat_h323 nf_nat_ftp 
nf_nat_amanda ts_kmp nf_conntrack_amanda nf_nat nf_conntrack_sane nf_conntrack_tftp nf_conntrack_sip nf_conntrack_pptp nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_broadcast 
nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables rfcomm vboxnetadp(OE) vboxnetflt(OE) xfrm_user xfrm_algo vboxdrv(OE) l2tp_ppp l2tp_netlink 
l2tp_core ip6_udp_tunnel udp_tunnel pppox ppp_generic slhc bnep nfnetlink_log nfnetlink ipmi_devintf ipmi_msghandler intel_rapl_msr intel_rapl_common bbswitch(OE) x86_pkg_temp_thermal intel_powerclamp 
coretemp kvm_intel kvm irqbypass btusb btrtl iwlmvm btbcm
Feb 20 19:24:54 vinco kernel: [  228.808935]  binfmt_misc btintel bluetooth crct10dif_pclmul nls_ascii ghash_clmulni_intel mac80211 nls_cp437 snd_hda_codec_realtek snd_hda_codec_generic vfat drbg 
ledtrig_audio libarc4 snd_hda_codec_hdmi fat uvcvideo aesni_intel iwlwifi videobuf2_vmalloc ansi_cprng crypto_simd videobuf2_memops videobuf2_v4l2 snd_hda_intel cryptd glue_helper snd_intel_nhlt 
videobuf2_common snd_hda_codec videodev snd_hda_core intel_cstate ecdh_generic ecc cfg80211 mc intel_uncore efi_pstore snd_hwdep snd_pcm snd_timer asus_nb_wmi joydev asus_wmi snd sparse_keymap 
iTCO_wdt rtsx_pci_ms iTCO_vendor_support pcspkr intel_rapl_perf serio_raw sg efivars soundcore memstick watchdog rfkill ie31200_edac evdev ac asus_wireless parport_pc ppdev lp parport efivarfs 
ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 btrfs xor zstd_decompress zstd_compress raid6_pq libcrc32c crc32c_generic sr_mod cdrom sd_mod hid_logitech_hidpp hid_logitech_dj hid_generic usbhid 
hid i915 rtsx_pci_sdmmc mmc_core i2c_algo_bit ahci
Feb 20 19:24:54 vinco kernel: [  228.809003]  drm_kms_helper libahci xhci_pci crc32_pclmul mxm_wmi libata xhci_hcd drm crc32c_intel ehci_pci ehci_hcd psmouse scsi_mod usbcore rtsx_pci lpc_ich i2c_i801 
mfd_core r8168(OE) usb_common video wmi battery button
Feb 20 19:24:54 vinco kernel: [  228.809025] CPU: 7 PID: 0 Comm: swapper/7 Tainted: P           OE     5.4.0-4-amd64 #1 Debian 5.4.19-1
Feb 20 19:24:54 vinco kernel: [  228.809027] Hardware name: ASUSTeK COMPUTER INC. N551JM/N551JM, BIOS N551JM.205 02/13/2015
Feb 20 19:24:54 vinco kernel: [  228.809034] RIP: 0010:dev_watchdog+0x248/0x250
Feb 20 19:24:54 vinco kernel: [  228.809038] Code: 85 c0 75 e5 eb 9f 4c 89 ef c6 05 58 1d a8 00 01 e8 0d e4 fa ff 44 89 e1 4c 89 ee 48 c7 c7 f0 cc d2 9a 48 89 c2 e8 76 40 a0 ff <0f> 0b eb 80 0f 1f 40 
00 0f 1f 44 00 00 41 57 41 56 49 89 d6 41 55
Feb 20 19:24:54 vinco kernel: [  228.809040] RSP: 0018:ffffc0e74020ce68 EFLAGS: 00010286
Feb 20 19:24:54 vinco kernel: [  228.809043] RAX: 0000000000000000 RBX: ffff9f660df8e200 RCX: 000000000000083f
Feb 20 19:24:54 vinco kernel: [  228.809044] RDX: 0000000000000000 RSI: 00000000000000f6 RDI: 000000000000083f
Feb 20 19:24:54 vinco kernel: [  228.809046] RBP: ffff9f660d30045c R08: ffff9f661edd7688 R09: 0000000000000004
Feb 20 19:24:54 vinco kernel: [  228.809048] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
Feb 20 19:24:54 vinco kernel: [  228.809049] R13: ffff9f660d300000 R14: ffff9f660d300480 R15: 0000000000000001
Feb 20 19:24:54 vinco kernel: [  228.809052] FS:  0000000000000000(0000) GS:ffff9f661edc0000(0000) knlGS:0000000000000000
Feb 20 19:24:54 vinco kernel: [  228.809054] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Feb 20 19:24:54 vinco kernel: [  228.809055] CR2: 00005f1110bf6da4 CR3: 0000000185e0a001 CR4: 00000000001626e0
Feb 20 19:24:54 vinco kernel: [  228.809057] Call Trace:
Feb 20 19:24:54 vinco kernel: [  228.809060]  <IRQ>
Feb 20 19:24:54 vinco kernel: [  228.809068]  ? pfifo_fast_enqueue+0x150/0x150
Feb 20 19:24:54 vinco kernel: [  228.809073]  call_timer_fn+0x2d/0x130
Feb 20 19:24:54 vinco kernel: [  228.809077]  __run_timers.part.0+0x16f/0x260
Feb 20 19:24:54 vinco kernel: [  228.809084]  ? tick_sched_handle+0x22/0x60
Feb 20 19:24:54 vinco kernel: [  228.809089]  ? tick_sched_timer+0x38/0x80
Feb 20 19:24:54 vinco kernel: [  228.809093]  ? tick_sched_do_timer+0x60/0x60
Feb 20 19:24:54 vinco kernel: [  228.809096]  run_timer_softirq+0x26/0x50
Feb 20 19:24:54 vinco kernel: [  228.809102]  __do_softirq+0xe6/0x2e9
Feb 20 19:24:54 vinco kernel: [  228.809111]  irq_exit+0xa6/0xb0
Feb 20 19:24:54 vinco kernel: [  228.809115]  smp_apic_timer_interrupt+0x76/0x130
Feb 20 19:24:54 vinco kernel: [  228.809118]  apic_timer_interrupt+0xf/0x20
Feb 20 19:24:54 vinco kernel: [  228.809120]  </IRQ>
Feb 20 19:24:54 vinco kernel: [  228.809126] RIP: 0010:cpuidle_enter_state+0xc4/0x450
Feb 20 19:24:54 vinco kernel: [  228.809129] Code: e8 b1 54 ad ff 80 7c 24 0f 00 74 17 9c 58 0f 1f 44 00 00 f6 c4 02 0f 85 61 03 00 00 31 ff e8 a3 74 b3 ff fb 66 0f 1f 44 00 00 <45> 85 e4 0f 88 8c 02 
00 00 49 63 cc 4c 2b 6c 24 10 48 8d 04 49 48
Feb 20 19:24:54 vinco kernel: [  228.809131] RSP: 0018:ffffc0e7400cfe68 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
Feb 20 19:24:54 vinco kernel: [  228.809133] RAX: ffff9f661edea6c0 RBX: ffffffff9aeb92e0 RCX: 000000000000001f
Feb 20 19:24:54 vinco kernel: [  228.809135] RDX: 0000000000000000 RSI: 000000003351882d RDI: 0000000000000000
Feb 20 19:24:54 vinco kernel: [  228.809137] RBP: ffff9f661edf4a00 R08: 000000354610e2fa R09: 0000000000029fa0
Feb 20 19:24:54 vinco kernel: [  228.809138] R10: ffff9f661ede95a0 R11: ffff9f661ede9580 R12: 0000000000000005
Feb 20 19:24:54 vinco kernel: [  228.809140] R13: 000000354610e2fa R14: 0000000000000005 R15: ffff9f661caa8f00
Feb 20 19:24:54 vinco kernel: [  228.809145]  ? cpuidle_enter_state+0x9f/0x450
Feb 20 19:24:54 vinco kernel: [  228.809149]  cpuidle_enter+0x29/0x40
Feb 20 19:24:54 vinco kernel: [  228.809155]  do_idle+0x1dc/0x270
Feb 20 19:24:54 vinco kernel: [  228.809162]  cpu_startup_entry+0x19/0x20
Feb 20 19:24:54 vinco kernel: [  228.809168]  start_secondary+0x15f/0x1b0
Feb 20 19:24:54 vinco kernel: [  228.809174]  secondary_startup_64+0xa4/0xb0
Feb 20 19:24:54 vinco kernel: [  228.809179] ---[ end trace f2c0113df7c88e86 ]---
Feb 20 19:24:57 vinco kernel: [  231.448423] r8168: enp5s0f1: link up

Full kernl.log is attached.

Interestingly, network did started working again after some time. Does that "link up" mean card was reset successfully or something?

[-- Attachment #2: kern.log --]
[-- Type: text/x-log, Size: 114952 bytes --]

Feb 20 19:21:10 vinco kernel: [    0.000000] microcode: microcode updated early to revision 0x27, date = 2019-02-26
Feb 20 19:21:10 vinco kernel: [    0.000000] Linux version 5.4.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 9.2.1 20200203 (Debian 9.2.1-28)) #1 SMP Debian 5.4.19-1 (2020-02-13)
Feb 20 19:21:10 vinco kernel: [    0.000000] Command line: BOOT_IMAGE=/vmlinuz-5.4.0-4-amd64 root=UUID=795ee075-978f-4245-9dad-ecccd37080d8 ro quiet apparmor=1 security=apparmor
Feb 20 19:21:10 vinco kernel: [    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Feb 20 19:21:10 vinco kernel: [    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Feb 20 19:21:10 vinco kernel: [    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Feb 20 19:21:10 vinco kernel: [    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
Feb 20 19:21:10 vinco kernel: [    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-provided physical RAM map:
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x0000000000000000-0x0000000000057fff] usable
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x0000000000058000-0x0000000000058fff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x0000000000059000-0x000000000009efff] usable
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x000000000009f000-0x000000000009ffff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000b9754fff] usable
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000b9755000-0x00000000b975bfff] ACPI NVS
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000b975c000-0x00000000b9fd4fff] usable
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000b9fd5000-0x00000000ba275fff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000ba276000-0x00000000c98c5fff] usable
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000c98c6000-0x00000000c9acefff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000c9acf000-0x00000000c9e00fff] usable
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000c9e01000-0x00000000cab05fff] ACPI NVS
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000cab06000-0x00000000caf59fff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000caf5a000-0x00000000caffefff] type 20
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000cafff000-0x00000000caffffff] usable
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000cbc00000-0x00000000cfdfffff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed03fff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
Feb 20 19:21:10 vinco kernel: [    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000042f1fffff] usable
Feb 20 19:21:10 vinco kernel: [    0.000000] NX (Execute Disable) protection: active
Feb 20 19:21:10 vinco kernel: [    0.000000] efi: EFI v2.31 by American Megatrends
Feb 20 19:21:10 vinco kernel: [    0.000000] efi:  ACPI 2.0=0xc9e89000  ACPI=0xc9e89000  SMBIOS=0xf04c0  MPS=0xfd5a0 
Feb 20 19:21:10 vinco kernel: [    0.000000] secureboot: Secure boot could not be determined (mode 0)
Feb 20 19:21:10 vinco kernel: [    0.000000] SMBIOS 2.7 present.
Feb 20 19:21:10 vinco kernel: [    0.000000] DMI: ASUSTeK COMPUTER INC. N551JM/N551JM, BIOS N551JM.205 02/13/2015
Feb 20 19:21:10 vinco kernel: [    0.000000] tsc: Fast TSC calibration using PIT
Feb 20 19:21:10 vinco kernel: [    0.000000] tsc: Detected 2494.266 MHz processor
Feb 20 19:21:10 vinco kernel: [    0.001377] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
Feb 20 19:21:10 vinco kernel: [    0.001378] e820: remove [mem 0x000a0000-0x000fffff] usable
Feb 20 19:21:10 vinco kernel: [    0.001384] last_pfn = 0x42f200 max_arch_pfn = 0x400000000
Feb 20 19:21:10 vinco kernel: [    0.001387] MTRR default type: uncachable
Feb 20 19:21:10 vinco kernel: [    0.001387] MTRR fixed ranges enabled:
Feb 20 19:21:10 vinco kernel: [    0.001388]   00000-9FFFF write-back
Feb 20 19:21:10 vinco kernel: [    0.001389]   A0000-BFFFF uncachable
Feb 20 19:21:10 vinco kernel: [    0.001389]   C0000-CFFFF write-protect
Feb 20 19:21:10 vinco kernel: [    0.001390]   D0000-DFFFF uncachable
Feb 20 19:21:10 vinco kernel: [    0.001390]   E0000-FFFFF write-protect
Feb 20 19:21:10 vinco kernel: [    0.001391] MTRR variable ranges enabled:
Feb 20 19:21:10 vinco kernel: [    0.001392]   0 base 0000000000 mask 7C00000000 write-back
Feb 20 19:21:10 vinco kernel: [    0.001392]   1 base 0400000000 mask 7FE0000000 write-back
Feb 20 19:21:10 vinco kernel: [    0.001393]   2 base 0420000000 mask 7FF0000000 write-back
Feb 20 19:21:10 vinco kernel: [    0.001394]   3 base 00E0000000 mask 7FE0000000 uncachable
Feb 20 19:21:10 vinco kernel: [    0.001394]   4 base 00D0000000 mask 7FF0000000 uncachable
Feb 20 19:21:10 vinco kernel: [    0.001395]   5 base 00CC000000 mask 7FFC000000 uncachable
Feb 20 19:21:10 vinco kernel: [    0.001395]   6 base 00CBC00000 mask 7FFFC00000 uncachable
Feb 20 19:21:10 vinco kernel: [    0.001396]   7 base 042F800000 mask 7FFF800000 uncachable
Feb 20 19:21:10 vinco kernel: [    0.001396]   8 base 042F400000 mask 7FFFC00000 uncachable
Feb 20 19:21:10 vinco kernel: [    0.001397]   9 base 042F200000 mask 7FFFE00000 uncachable
Feb 20 19:21:10 vinco kernel: [    0.001661] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
Feb 20 19:21:10 vinco kernel: [    0.001766] e820: update [mem 0xcbc00000-0xffffffff] usable ==> reserved
Feb 20 19:21:10 vinco kernel: [    0.001769] last_pfn = 0xcb000 max_arch_pfn = 0x400000000
Feb 20 19:21:10 vinco kernel: [    0.007737] found SMP MP-table at [mem 0x000fd8a0-0x000fd8af]
Feb 20 19:21:10 vinco kernel: [    0.007751] Using GB pages for direct mapping
Feb 20 19:21:10 vinco kernel: [    0.007753] BRK [0x186601000, 0x186601fff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.007754] BRK [0x186602000, 0x186602fff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.007754] BRK [0x186603000, 0x186603fff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.007774] BRK [0x186604000, 0x186604fff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.007775] BRK [0x186605000, 0x186605fff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.007861] BRK [0x186606000, 0x186606fff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.007876] BRK [0x186607000, 0x186607fff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.007906] BRK [0x186608000, 0x186608fff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.007920] BRK [0x186609000, 0x186609fff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.007932] BRK [0x18660a000, 0x18660afff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.007962] BRK [0x18660b000, 0x18660bfff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.008011] BRK [0x18660c000, 0x18660cfff] PGTABLE
Feb 20 19:21:10 vinco kernel: [    0.008166] RAMDISK: [mem 0x30e85000-0x34739fff]
Feb 20 19:21:10 vinco kernel: [    0.008171] ACPI: Early table checksum verification disabled
Feb 20 19:21:10 vinco kernel: [    0.008173] ACPI: RSDP 0x00000000C9E89000 000024 (v02 _ASUS_)
Feb 20 19:21:10 vinco kernel: [    0.008176] ACPI: XSDT 0x00000000C9E89088 00009C (v01 _ASUS_ Notebook 01072009 AMI  00010013)
Feb 20 19:21:10 vinco kernel: [    0.008180] ACPI: FACP 0x00000000C9E9CF38 00010C (v05 _ASUS_ Notebook 01072009 AMI  00010013)
Feb 20 19:21:10 vinco kernel: [    0.008184] ACPI: DSDT 0x00000000C9E89240 013CF2 (v02 _ASUS_ Notebook 00000012 INTL 20120711)
Feb 20 19:21:10 vinco kernel: [    0.008186] ACPI: FACS 0x00000000CAB03F80 000040
Feb 20 19:21:10 vinco kernel: [    0.008188] ACPI: APIC 0x00000000C9E9D048 000092 (v03 _ASUS_ Notebook 01072009 AMI  00010013)
Feb 20 19:21:10 vinco kernel: [    0.008189] ACPI: FPDT 0x00000000C9E9D0E0 000044 (v01 _ASUS_ Notebook 01072009 AMI  00010013)
Feb 20 19:21:10 vinco kernel: [    0.008191] ACPI: ECDT 0x00000000C9E9D128 0000C1 (v01 _ASUS_ Notebook 01072009 AMI. 00000005)
Feb 20 19:21:10 vinco kernel: [    0.008193] ACPI: SSDT 0x00000000C9E9D1F0 00019D (v01 Intel  zpodd    00001000 INTL 20120711)
Feb 20 19:21:10 vinco kernel: [    0.008195] ACPI: SSDT 0x00000000C9E9D390 000539 (v01 PmRef  Cpu0Ist  00003000 INTL 20120711)
Feb 20 19:21:10 vinco kernel: [    0.008197] ACPI: SSDT 0x00000000C9E9D8D0 000AD8 (v01 PmRef  CpuPm    00003000 INTL 20120711)
Feb 20 19:21:10 vinco kernel: [    0.008198] ACPI: MCFG 0x00000000C9E9E3A8 00003C (v01 _ASUS_ Notebook 01072009 MSFT 00000097)
Feb 20 19:21:10 vinco kernel: [    0.008200] ACPI: HPET 0x00000000C9E9E3E8 000038 (v01 _ASUS_ Notebook 01072009 AMI. 00000005)
Feb 20 19:21:10 vinco kernel: [    0.008202] ACPI: SSDT 0x00000000C9E9E420 000298 (v01 SataRe SataTabl 00001000 INTL 20120711)
Feb 20 19:21:10 vinco kernel: [    0.008204] ACPI: SSDT 0x00000000C9E9E6B8 004541 (v01 SaSsdt SaSsdt   00003000 INTL 20091112)
Feb 20 19:21:10 vinco kernel: [    0.008205] ACPI: SSDT 0x00000000C9EA2C00 001983 (v01 SgRef  SgPeg    00001000 INTL 20120711)
Feb 20 19:21:10 vinco kernel: [    0.008207] ACPI: DMAR 0x00000000C9EA4588 0000B8 (v01 INTEL  HSW      00000001 INTL 00000001)
Feb 20 19:21:10 vinco kernel: [    0.008209] ACPI: SSDT 0x00000000C9EA4640 0019CA (v01 OptRef OptTabl  00001000 INTL 20120711)
Feb 20 19:21:10 vinco kernel: [    0.008211] ACPI: MSDM 0x00000000C9ACDE18 000055 (v03 _ASUS_ Notebook 00000000 ASUS 00000001)
Feb 20 19:21:10 vinco kernel: [    0.008217] ACPI: Local APIC address 0xfee00000
Feb 20 19:21:10 vinco kernel: [    0.008281] No NUMA configuration found
Feb 20 19:21:10 vinco kernel: [    0.008281] Faking a node at [mem 0x0000000000000000-0x000000042f1fffff]
Feb 20 19:21:10 vinco kernel: [    0.008284] NODE_DATA(0) allocated [mem 0x42f1f9000-0x42f1fdfff]
Feb 20 19:21:10 vinco kernel: [    0.008308] Zone ranges:
Feb 20 19:21:10 vinco kernel: [    0.008309]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
Feb 20 19:21:10 vinco kernel: [    0.008310]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
Feb 20 19:21:10 vinco kernel: [    0.008310]   Normal   [mem 0x0000000100000000-0x000000042f1fffff]
Feb 20 19:21:10 vinco kernel: [    0.008311]   Device   empty
Feb 20 19:21:10 vinco kernel: [    0.008311] Movable zone start for each node
Feb 20 19:21:10 vinco kernel: [    0.008312] Early memory node ranges
Feb 20 19:21:10 vinco kernel: [    0.008313]   node   0: [mem 0x0000000000001000-0x0000000000057fff]
Feb 20 19:21:10 vinco kernel: [    0.008313]   node   0: [mem 0x0000000000059000-0x000000000009efff]
Feb 20 19:21:10 vinco kernel: [    0.008314]   node   0: [mem 0x0000000000100000-0x00000000b9754fff]
Feb 20 19:21:10 vinco kernel: [    0.008314]   node   0: [mem 0x00000000b975c000-0x00000000b9fd4fff]
Feb 20 19:21:10 vinco kernel: [    0.008315]   node   0: [mem 0x00000000ba276000-0x00000000c98c5fff]
Feb 20 19:21:10 vinco kernel: [    0.008315]   node   0: [mem 0x00000000c9acf000-0x00000000c9e00fff]
Feb 20 19:21:10 vinco kernel: [    0.008315]   node   0: [mem 0x00000000cafff000-0x00000000caffffff]
Feb 20 19:21:10 vinco kernel: [    0.008316]   node   0: [mem 0x0000000100000000-0x000000042f1fffff]
Feb 20 19:21:10 vinco kernel: [    0.008536] Zeroed struct page in unavailable ranges: 29970 pages
Feb 20 19:21:10 vinco kernel: [    0.008537] Initmem setup node 0 [mem 0x0000000000001000-0x000000042f1fffff]
Feb 20 19:21:10 vinco kernel: [    0.008538] On node 0 totalpages: 4164334
Feb 20 19:21:10 vinco kernel: [    0.008539]   DMA zone: 64 pages used for memmap
Feb 20 19:21:10 vinco kernel: [    0.008539]   DMA zone: 26 pages reserved
Feb 20 19:21:10 vinco kernel: [    0.008540]   DMA zone: 3997 pages, LIFO batch:0
Feb 20 19:21:10 vinco kernel: [    0.008577]   DMA32 zone: 12838 pages used for memmap
Feb 20 19:21:10 vinco kernel: [    0.008577]   DMA32 zone: 821585 pages, LIFO batch:63
Feb 20 19:21:10 vinco kernel: [    0.016419]   Normal zone: 52168 pages used for memmap
Feb 20 19:21:10 vinco kernel: [    0.016420]   Normal zone: 3338752 pages, LIFO batch:63
Feb 20 19:21:10 vinco kernel: [    0.044926] Reserving Intel graphics memory at [mem 0xcbe00000-0xcfdfffff]
Feb 20 19:21:10 vinco kernel: [    0.045094] ACPI: PM-Timer IO Port: 0x1808
Feb 20 19:21:10 vinco kernel: [    0.045096] ACPI: Local APIC address 0xfee00000
Feb 20 19:21:10 vinco kernel: [    0.045100] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
Feb 20 19:21:10 vinco kernel: [    0.045111] IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
Feb 20 19:21:10 vinco kernel: [    0.045112] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
Feb 20 19:21:10 vinco kernel: [    0.045113] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
Feb 20 19:21:10 vinco kernel: [    0.045114] ACPI: IRQ0 used by override.
Feb 20 19:21:10 vinco kernel: [    0.045115] ACPI: IRQ9 used by override.
Feb 20 19:21:10 vinco kernel: [    0.045116] Using ACPI (MADT) for SMP configuration information
Feb 20 19:21:10 vinco kernel: [    0.045117] ACPI: HPET id: 0x8086a701 base: 0xfed00000
Feb 20 19:21:10 vinco kernel: [    0.045120] smpboot: Allowing 8 CPUs, 0 hotplug CPUs
Feb 20 19:21:10 vinco kernel: [    0.045137] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
Feb 20 19:21:10 vinco kernel: [    0.045138] PM: Registered nosave memory: [mem 0x00058000-0x00058fff]
Feb 20 19:21:10 vinco kernel: [    0.045139] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
Feb 20 19:21:10 vinco kernel: [    0.045140] PM: Registered nosave memory: [mem 0x000a0000-0x000fffff]
Feb 20 19:21:10 vinco kernel: [    0.045141] PM: Registered nosave memory: [mem 0xb9755000-0xb975bfff]
Feb 20 19:21:10 vinco kernel: [    0.045142] PM: Registered nosave memory: [mem 0xb9fd5000-0xba275fff]
Feb 20 19:21:10 vinco kernel: [    0.045143] PM: Registered nosave memory: [mem 0xc98c6000-0xc9acefff]
Feb 20 19:21:10 vinco kernel: [    0.045144] PM: Registered nosave memory: [mem 0xc9e01000-0xcab05fff]
Feb 20 19:21:10 vinco kernel: [    0.045145] PM: Registered nosave memory: [mem 0xcab06000-0xcaf59fff]
Feb 20 19:21:10 vinco kernel: [    0.045145] PM: Registered nosave memory: [mem 0xcaf5a000-0xcaffefff]
Feb 20 19:21:10 vinco kernel: [    0.045146] PM: Registered nosave memory: [mem 0xcb000000-0xcbbfffff]
Feb 20 19:21:10 vinco kernel: [    0.045147] PM: Registered nosave memory: [mem 0xcbc00000-0xcfdfffff]
Feb 20 19:21:10 vinco kernel: [    0.045147] PM: Registered nosave memory: [mem 0xcfe00000-0xf7ffffff]
Feb 20 19:21:10 vinco kernel: [    0.045148] PM: Registered nosave memory: [mem 0xf8000000-0xfbffffff]
Feb 20 19:21:10 vinco kernel: [    0.045148] PM: Registered nosave memory: [mem 0xfc000000-0xfebfffff]
Feb 20 19:21:10 vinco kernel: [    0.045148] PM: Registered nosave memory: [mem 0xfec00000-0xfec00fff]
Feb 20 19:21:10 vinco kernel: [    0.045149] PM: Registered nosave memory: [mem 0xfec01000-0xfecfffff]
Feb 20 19:21:10 vinco kernel: [    0.045149] PM: Registered nosave memory: [mem 0xfed00000-0xfed03fff]
Feb 20 19:21:10 vinco kernel: [    0.045150] PM: Registered nosave memory: [mem 0xfed04000-0xfed1bfff]
Feb 20 19:21:10 vinco kernel: [    0.045150] PM: Registered nosave memory: [mem 0xfed1c000-0xfed1ffff]
Feb 20 19:21:10 vinco kernel: [    0.045150] PM: Registered nosave memory: [mem 0xfed20000-0xfedfffff]
Feb 20 19:21:10 vinco kernel: [    0.045151] PM: Registered nosave memory: [mem 0xfee00000-0xfee00fff]
Feb 20 19:21:10 vinco kernel: [    0.045151] PM: Registered nosave memory: [mem 0xfee01000-0xfeffffff]
Feb 20 19:21:10 vinco kernel: [    0.045152] PM: Registered nosave memory: [mem 0xff000000-0xffffffff]
Feb 20 19:21:10 vinco kernel: [    0.045153] [mem 0xcfe00000-0xf7ffffff] available for PCI devices
Feb 20 19:21:10 vinco kernel: [    0.045154] Booting paravirtualized kernel on bare hardware
Feb 20 19:21:10 vinco kernel: [    0.045157] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
Feb 20 19:21:10 vinco kernel: [    0.112576] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:8 nr_node_ids:1
Feb 20 19:21:10 vinco kernel: [    0.112741] percpu: Embedded 53 pages/cpu s178584 r8192 d30312 u262144
Feb 20 19:21:10 vinco kernel: [    0.112746] pcpu-alloc: s178584 r8192 d30312 u262144 alloc=1*2097152
Feb 20 19:21:10 vinco kernel: [    0.112747] pcpu-alloc: [0] 0 1 2 3 4 5 6 7 
Feb 20 19:21:10 vinco kernel: [    0.112766] Built 1 zonelists, mobility grouping on.  Total pages: 4099238
Feb 20 19:21:10 vinco kernel: [    0.112766] Policy zone: Normal
Feb 20 19:21:10 vinco kernel: [    0.112767] Kernel command line: BOOT_IMAGE=/vmlinuz-5.4.0-4-amd64 root=UUID=795ee075-978f-4245-9dad-ecccd37080d8 ro quiet apparmor=1 security=apparmor
Feb 20 19:21:10 vinco kernel: [    0.113510] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear)
Feb 20 19:21:10 vinco kernel: [    0.113853] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
Feb 20 19:21:10 vinco kernel: [    0.113909] mem auto-init: stack:off, heap alloc:off, heap free:off
Feb 20 19:21:10 vinco kernel: [    0.116680] Calgary: detecting Calgary via BIOS EBDA area
Feb 20 19:21:10 vinco kernel: [    0.116681] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
Feb 20 19:21:10 vinco kernel: [    0.152090] Memory: 16022816K/16657336K available (10243K kernel code, 1197K rwdata, 3736K rodata, 1672K init, 2048K bss, 634520K reserved, 0K cma-reserved)
Feb 20 19:21:10 vinco kernel: [    0.152190] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
Feb 20 19:21:10 vinco kernel: [    0.152199] Kernel/User page tables isolation: enabled
Feb 20 19:21:10 vinco kernel: [    0.152209] ftrace: allocating 33946 entries in 133 pages
Feb 20 19:21:10 vinco kernel: [    0.161759] rcu: Hierarchical RCU implementation.
Feb 20 19:21:10 vinco kernel: [    0.161760] rcu: 	RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=8.
Feb 20 19:21:10 vinco kernel: [    0.161761] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
Feb 20 19:21:10 vinco kernel: [    0.161761] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=8
Feb 20 19:21:10 vinco kernel: [    0.163854] NR_IRQS: 33024, nr_irqs: 488, preallocated irqs: 16
Feb 20 19:21:10 vinco kernel: [    0.164030] random: crng done (trusting CPU's manufacturer)
Feb 20 19:21:10 vinco kernel: [    0.164046] Console: colour dummy device 80x25
Feb 20 19:21:10 vinco kernel: [    0.164050] printk: console [tty0] enabled
Feb 20 19:21:10 vinco kernel: [    0.164061] ACPI: Core revision 20190816
Feb 20 19:21:10 vinco kernel: [    0.164183] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484882848 ns
Feb 20 19:21:10 vinco kernel: [    0.164194] APIC: Switch to symmetric I/O mode setup
Feb 20 19:21:10 vinco kernel: [    0.164195] DMAR: Host address width 39
Feb 20 19:21:10 vinco kernel: [    0.164196] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
Feb 20 19:21:10 vinco kernel: [    0.164199] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a
Feb 20 19:21:10 vinco kernel: [    0.164200] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
Feb 20 19:21:10 vinco kernel: [    0.164202] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008020660462 ecap f010da
Feb 20 19:21:10 vinco kernel: [    0.164202] DMAR: RMRR base: 0x000000c9a56000 end: 0x000000c9a62fff
Feb 20 19:21:10 vinco kernel: [    0.164203] DMAR: RMRR base: 0x000000cbc00000 end: 0x000000cfdfffff
Feb 20 19:21:10 vinco kernel: [    0.164204] DMAR-IR: IOAPIC id 8 under DRHD base  0xfed91000 IOMMU 1
Feb 20 19:21:10 vinco kernel: [    0.164205] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
Feb 20 19:21:10 vinco kernel: [    0.164205] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
Feb 20 19:21:10 vinco kernel: [    0.164575] DMAR-IR: Enabled IRQ remapping in x2apic mode
Feb 20 19:21:10 vinco kernel: [    0.164576] x2apic enabled
Feb 20 19:21:10 vinco kernel: [    0.164581] Switched APIC routing to cluster x2apic.
Feb 20 19:21:10 vinco kernel: [    0.164953] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
Feb 20 19:21:10 vinco kernel: [    0.184195] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x23f41115f43, max_idle_ns: 440795273768 ns
Feb 20 19:21:10 vinco kernel: [    0.184198] Calibrating delay loop (skipped), value calculated using timer frequency.. 4988.53 BogoMIPS (lpj=9977064)
Feb 20 19:21:10 vinco kernel: [    0.184200] pid_max: default: 32768 minimum: 301
Feb 20 19:21:10 vinco kernel: [    0.188820] LSM: Security Framework initializing
Feb 20 19:21:10 vinco kernel: [    0.188825] Yama: disabled by default; enable with sysctl kernel.yama.*
Feb 20 19:21:10 vinco kernel: [    0.188843] AppArmor: AppArmor initialized
Feb 20 19:21:10 vinco kernel: [    0.188878] Mount-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
Feb 20 19:21:10 vinco kernel: [    0.188906] Mountpoint-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
Feb 20 19:21:10 vinco kernel: [    0.189089] mce: CPU0: Thermal monitoring enabled (TM1)
Feb 20 19:21:10 vinco kernel: [    0.189101] process: using mwait in idle threads
Feb 20 19:21:10 vinco kernel: [    0.189103] Last level iTLB entries: 4KB 1024, 2MB 1024, 4MB 1024
Feb 20 19:21:10 vinco kernel: [    0.189104] Last level dTLB entries: 4KB 1024, 2MB 1024, 4MB 1024, 1GB 4
Feb 20 19:21:10 vinco kernel: [    0.189106] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
Feb 20 19:21:10 vinco kernel: [    0.189107] Spectre V2 : Mitigation: Full generic retpoline
Feb 20 19:21:10 vinco kernel: [    0.189107] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
Feb 20 19:21:10 vinco kernel: [    0.189107] Spectre V2 : Enabling Restricted Speculation for firmware calls
Feb 20 19:21:10 vinco kernel: [    0.189108] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier
Feb 20 19:21:10 vinco kernel: [    0.189109] Spectre V2 : User space: Mitigation: STIBP via seccomp and prctl
Feb 20 19:21:10 vinco kernel: [    0.189110] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl and seccomp
Feb 20 19:21:10 vinco kernel: [    0.189112] MDS: Mitigation: Clear CPU buffers
Feb 20 19:21:10 vinco kernel: [    0.189242] Freeing SMP alternatives memory: 24K
Feb 20 19:21:10 vinco kernel: [    0.191378] TSC deadline timer enabled
Feb 20 19:21:10 vinco kernel: [    0.191380] smpboot: CPU0: Intel(R) Core(TM) i7-4710HQ CPU @ 2.50GHz (family: 0x6, model: 0x3c, stepping: 0x3)
Feb 20 19:21:10 vinco kernel: [    0.191453] Performance Events: PEBS fmt2+, Haswell events, 16-deep LBR, full-width counters, Intel PMU driver.
Feb 20 19:21:10 vinco kernel: [    0.191466] ... version:                3
Feb 20 19:21:10 vinco kernel: [    0.191467] ... bit width:              48
Feb 20 19:21:10 vinco kernel: [    0.191467] ... generic registers:      4
Feb 20 19:21:10 vinco kernel: [    0.191467] ... value mask:             0000ffffffffffff
Feb 20 19:21:10 vinco kernel: [    0.191468] ... max period:             00007fffffffffff
Feb 20 19:21:10 vinco kernel: [    0.191468] ... fixed-purpose events:   3
Feb 20 19:21:10 vinco kernel: [    0.191468] ... event mask:             000000070000000f
Feb 20 19:21:10 vinco kernel: [    0.191493] rcu: Hierarchical SRCU implementation.
Feb 20 19:21:10 vinco kernel: [    0.192090] NMI watchdog: Enabled. Permanently consumes one hw-PMU counter.
Feb 20 19:21:10 vinco kernel: [    0.192139] smp: Bringing up secondary CPUs ...
Feb 20 19:21:10 vinco kernel: [    0.192189] x86: Booting SMP configuration:
Feb 20 19:21:10 vinco kernel: [    0.192190] .... node  #0, CPUs:      #1 #2 #3 #4
Feb 20 19:21:10 vinco kernel: [    0.193660] MDS CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html for more details.
Feb 20 19:21:10 vinco kernel: [    0.193660]  #5 #6 #7
Feb 20 19:21:10 vinco kernel: [    0.193660] smp: Brought up 1 node, 8 CPUs
Feb 20 19:21:10 vinco kernel: [    0.193660] smpboot: Max logical packages: 1
Feb 20 19:21:10 vinco kernel: [    0.193660] smpboot: Total of 8 processors activated (39908.25 BogoMIPS)
Feb 20 19:21:10 vinco kernel: [    0.196510] devtmpfs: initialized
Feb 20 19:21:10 vinco kernel: [    0.196510] x86/mm: Memory block size: 128MB
Feb 20 19:21:10 vinco kernel: [    0.197362] PM: Registering ACPI NVS region [mem 0xb9755000-0xb975bfff] (28672 bytes)
Feb 20 19:21:10 vinco kernel: [    0.197362] PM: Registering ACPI NVS region [mem 0xc9e01000-0xcab05fff] (13651968 bytes)
Feb 20 19:21:10 vinco kernel: [    0.197362] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
Feb 20 19:21:10 vinco kernel: [    0.197362] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
Feb 20 19:21:10 vinco kernel: [    0.197362] pinctrl core: initialized pinctrl subsystem
Feb 20 19:21:10 vinco kernel: [    0.197362] NET: Registered protocol family 16
Feb 20 19:21:10 vinco kernel: [    0.197362] audit: initializing netlink subsys (disabled)
Feb 20 19:21:10 vinco kernel: [    0.197362] audit: type=2000 audit(1582219265.032:1): state=initialized audit_enabled=0 res=1
Feb 20 19:21:10 vinco kernel: [    0.197362] cpuidle: using governor ladder
Feb 20 19:21:10 vinco kernel: [    0.197362] cpuidle: using governor menu
Feb 20 19:21:10 vinco kernel: [    0.197362] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
Feb 20 19:21:10 vinco kernel: [    0.197362] ACPI: bus type PCI registered
Feb 20 19:21:10 vinco kernel: [    0.197362] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
Feb 20 19:21:10 vinco kernel: [    0.197362] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
Feb 20 19:21:10 vinco kernel: [    0.197362] PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in E820
Feb 20 19:21:10 vinco kernel: [    0.197362] pmd_set_huge: Cannot satisfy [mem 0xf8000000-0xf8200000] with a huge-page mapping due to MTRR override.
Feb 20 19:21:10 vinco kernel: [    0.197362] PCI: Using configuration type 1 for base access
Feb 20 19:21:10 vinco kernel: [    0.197362] core: PMU erratum BJ122, BV98, HSD29 worked around, HT is on
Feb 20 19:21:10 vinco kernel: [    0.197362] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
Feb 20 19:21:10 vinco kernel: [    0.197362] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
Feb 20 19:21:10 vinco kernel: [    0.197362] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
Feb 20 19:21:10 vinco kernel: [    0.316351] ACPI: Added _OSI(Module Device)
Feb 20 19:21:10 vinco kernel: [    0.316351] ACPI: Added _OSI(Processor Device)
Feb 20 19:21:10 vinco kernel: [    0.316351] ACPI: Added _OSI(3.0 _SCP Extensions)
Feb 20 19:21:10 vinco kernel: [    0.316351] ACPI: Added _OSI(Processor Aggregator Device)
Feb 20 19:21:10 vinco kernel: [    0.316351] ACPI: Added _OSI(Linux-Dell-Video)
Feb 20 19:21:10 vinco kernel: [    0.316351] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
Feb 20 19:21:10 vinco kernel: [    0.316351] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
Feb 20 19:21:10 vinco kernel: [    0.328639] ACPI: 8 ACPI AML tables successfully acquired and loaded
Feb 20 19:21:10 vinco kernel: [    0.329146] ACPI: EC: EC started
Feb 20 19:21:10 vinco kernel: [    0.329147] ACPI: EC: interrupt blocked
Feb 20 19:21:10 vinco kernel: [    0.329946] ACPI: \: Used as first EC
Feb 20 19:21:10 vinco kernel: [    0.329947] ACPI: \: GPE=0x19, EC_CMD/EC_SC=0x66, EC_DATA=0x62
Feb 20 19:21:10 vinco kernel: [    0.329947] ACPI: EC: Boot ECDT EC used to handle transactions
Feb 20 19:21:10 vinco kernel: [    0.330576] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
Feb 20 19:21:10 vinco kernel: [    0.333296] ACPI: Dynamic OEM Table Load:
Feb 20 19:21:10 vinco kernel: [    0.333300] ACPI: SSDT 0xFFFF9F661C7F2400 0003D3 (v01 PmRef  Cpu0Cst  00003001 INTL 20120711)
Feb 20 19:21:10 vinco kernel: [    0.334020] ACPI: Dynamic OEM Table Load:
Feb 20 19:21:10 vinco kernel: [    0.334023] ACPI: SSDT 0xFFFF9F661C08A800 0005AA (v01 PmRef  ApIst    00003000 INTL 20120711)
Feb 20 19:21:10 vinco kernel: [    0.334767] ACPI: Dynamic OEM Table Load:
Feb 20 19:21:10 vinco kernel: [    0.334769] ACPI: SSDT 0xFFFF9F661C7E9200 000119 (v01 PmRef  ApCst    00003000 INTL 20120711)
Feb 20 19:21:10 vinco kernel: [    0.336322] ACPI: Interpreter enabled
Feb 20 19:21:10 vinco kernel: [    0.336347] ACPI: (supports S0 S3 S4 S5)
Feb 20 19:21:10 vinco kernel: [    0.336348] ACPI: Using IOAPIC for interrupt routing
Feb 20 19:21:10 vinco kernel: [    0.336370] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
Feb 20 19:21:10 vinco kernel: [    0.336573] ACPI: Enabled 7 GPEs in block 00 to 3F
Feb 20 19:21:10 vinco kernel: [    0.340282] ACPI: Power Resource [PG00] (on)
Feb 20 19:21:10 vinco kernel: [    0.343983] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])
Feb 20 19:21:10 vinco kernel: [    0.343986] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
Feb 20 19:21:10 vinco kernel: [    0.344455] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug SHPCHotplug PME AER PCIeCapability LTR]
Feb 20 19:21:10 vinco kernel: [    0.344456] acpi PNP0A08:00: FADT indicates ASPM is unsupported, using BIOS configuration
Feb 20 19:21:10 vinco kernel: [    0.344737] PCI host bridge to bus 0000:00
Feb 20 19:21:10 vinco kernel: [    0.344739] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
Feb 20 19:21:10 vinco kernel: [    0.344740] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
Feb 20 19:21:10 vinco kernel: [    0.344741] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
Feb 20 19:21:10 vinco kernel: [    0.344741] pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000d3fff window]
Feb 20 19:21:10 vinco kernel: [    0.344742] pci_bus 0000:00: root bus resource [mem 0x000d4000-0x000d7fff window]
Feb 20 19:21:10 vinco kernel: [    0.344743] pci_bus 0000:00: root bus resource [mem 0x000d8000-0x000dbfff window]
Feb 20 19:21:10 vinco kernel: [    0.344743] pci_bus 0000:00: root bus resource [mem 0x000dc000-0x000dffff window]
Feb 20 19:21:10 vinco kernel: [    0.344744] pci_bus 0000:00: root bus resource [mem 0xcfe00000-0xfeafffff window]
Feb 20 19:21:10 vinco kernel: [    0.344745] pci_bus 0000:00: root bus resource [bus 00-3e]
Feb 20 19:21:10 vinco kernel: [    0.344751] pci 0000:00:00.0: [8086:0c04] type 00 class 0x060000
Feb 20 19:21:10 vinco kernel: [    0.344814] pci 0000:00:01.0: [8086:0c01] type 01 class 0x060400
Feb 20 19:21:10 vinco kernel: [    0.344846] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.344939] pci 0000:00:02.0: [8086:0416] type 00 class 0x030000
Feb 20 19:21:10 vinco kernel: [    0.344947] pci 0000:00:02.0: reg 0x10: [mem 0xf7400000-0xf77fffff 64bit]
Feb 20 19:21:10 vinco kernel: [    0.344951] pci 0000:00:02.0: reg 0x18: [mem 0xd0000000-0xdfffffff 64bit pref]
Feb 20 19:21:10 vinco kernel: [    0.344954] pci 0000:00:02.0: reg 0x20: [io  0xf000-0xf03f]
Feb 20 19:21:10 vinco kernel: [    0.344963] pci 0000:00:02.0: BAR 2: assigned to efifb
Feb 20 19:21:10 vinco kernel: [    0.345017] pci 0000:00:03.0: [8086:0c0c] type 00 class 0x040300
Feb 20 19:21:10 vinco kernel: [    0.345024] pci 0000:00:03.0: reg 0x10: [mem 0xf7a14000-0xf7a17fff 64bit]
Feb 20 19:21:10 vinco kernel: [    0.345104] pci 0000:00:14.0: [8086:8c31] type 00 class 0x0c0330
Feb 20 19:21:10 vinco kernel: [    0.345123] pci 0000:00:14.0: reg 0x10: [mem 0xf7a00000-0xf7a0ffff 64bit]
Feb 20 19:21:10 vinco kernel: [    0.345174] pci 0000:00:14.0: PME# supported from D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.345232] pci 0000:00:16.0: [8086:8c3a] type 00 class 0x078000
Feb 20 19:21:10 vinco kernel: [    0.345251] pci 0000:00:16.0: reg 0x10: [mem 0xf7a1e000-0xf7a1e00f 64bit]
Feb 20 19:21:10 vinco kernel: [    0.345305] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.345362] pci 0000:00:1a.0: [8086:8c2d] type 00 class 0x0c0320
Feb 20 19:21:10 vinco kernel: [    0.345381] pci 0000:00:1a.0: reg 0x10: [mem 0xf7a1c000-0xf7a1c3ff]
Feb 20 19:21:10 vinco kernel: [    0.345454] pci 0000:00:1a.0: PME# supported from D0 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.345516] pci 0000:00:1b.0: [8086:8c20] type 00 class 0x040300
Feb 20 19:21:10 vinco kernel: [    0.345533] pci 0000:00:1b.0: reg 0x10: [mem 0xf7a10000-0xf7a13fff 64bit]
Feb 20 19:21:10 vinco kernel: [    0.345593] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.345651] pci 0000:00:1c.0: [8086:8c10] type 01 class 0x060400
Feb 20 19:21:10 vinco kernel: [    0.345720] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.345736] pci 0000:00:1c.0: Enabling MPC IRBNCE
Feb 20 19:21:10 vinco kernel: [    0.345738] pci 0000:00:1c.0: Intel PCH root port ACS workaround enabled
Feb 20 19:21:10 vinco kernel: [    0.345822] pci 0000:00:1c.1: [8086:8c12] type 01 class 0x060400
Feb 20 19:21:10 vinco kernel: [    0.345910] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.345925] pci 0000:00:1c.1: Enabling MPC IRBNCE
Feb 20 19:21:10 vinco kernel: [    0.345927] pci 0000:00:1c.1: Intel PCH root port ACS workaround enabled
Feb 20 19:21:10 vinco kernel: [    0.346006] pci 0000:00:1c.2: [8086:8c14] type 01 class 0x060400
Feb 20 19:21:10 vinco kernel: [    0.346076] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.346090] pci 0000:00:1c.2: Enabling MPC IRBNCE
Feb 20 19:21:10 vinco kernel: [    0.346092] pci 0000:00:1c.2: Intel PCH root port ACS workaround enabled
Feb 20 19:21:10 vinco kernel: [    0.346175] pci 0000:00:1c.3: [8086:8c16] type 01 class 0x060400
Feb 20 19:21:10 vinco kernel: [    0.346244] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.346259] pci 0000:00:1c.3: Enabling MPC IRBNCE
Feb 20 19:21:10 vinco kernel: [    0.346261] pci 0000:00:1c.3: Intel PCH root port ACS workaround enabled
Feb 20 19:21:10 vinco kernel: [    0.346347] pci 0000:00:1d.0: [8086:8c26] type 00 class 0x0c0320
Feb 20 19:21:10 vinco kernel: [    0.346367] pci 0000:00:1d.0: reg 0x10: [mem 0xf7a1b000-0xf7a1b3ff]
Feb 20 19:21:10 vinco kernel: [    0.346441] pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.346504] pci 0000:00:1f.0: [8086:8c49] type 00 class 0x060100
Feb 20 19:21:10 vinco kernel: [    0.346651] pci 0000:00:1f.2: [8086:8c03] type 00 class 0x010601
Feb 20 19:21:10 vinco kernel: [    0.346665] pci 0000:00:1f.2: reg 0x10: [io  0xf0b0-0xf0b7]
Feb 20 19:21:10 vinco kernel: [    0.346671] pci 0000:00:1f.2: reg 0x14: [io  0xf0a0-0xf0a3]
Feb 20 19:21:10 vinco kernel: [    0.346677] pci 0000:00:1f.2: reg 0x18: [io  0xf090-0xf097]
Feb 20 19:21:10 vinco kernel: [    0.346683] pci 0000:00:1f.2: reg 0x1c: [io  0xf080-0xf083]
Feb 20 19:21:10 vinco kernel: [    0.346689] pci 0000:00:1f.2: reg 0x20: [io  0xf060-0xf07f]
Feb 20 19:21:10 vinco kernel: [    0.346695] pci 0000:00:1f.2: reg 0x24: [mem 0xf7a1a000-0xf7a1a7ff]
Feb 20 19:21:10 vinco kernel: [    0.346725] pci 0000:00:1f.2: PME# supported from D3hot
Feb 20 19:21:10 vinco kernel: [    0.346778] pci 0000:00:1f.3: [8086:8c22] type 00 class 0x0c0500
Feb 20 19:21:10 vinco kernel: [    0.346794] pci 0000:00:1f.3: reg 0x10: [mem 0xf7a19000-0xf7a190ff 64bit]
Feb 20 19:21:10 vinco kernel: [    0.346811] pci 0000:00:1f.3: reg 0x20: [io  0xf040-0xf05f]
Feb 20 19:21:10 vinco kernel: [    0.346915] pci 0000:01:00.0: [10de:1392] type 00 class 0x030200
Feb 20 19:21:10 vinco kernel: [    0.346939] pci 0000:01:00.0: reg 0x10: [mem 0xf6000000-0xf6ffffff]
Feb 20 19:21:10 vinco kernel: [    0.346954] pci 0000:01:00.0: reg 0x14: [mem 0xe0000000-0xefffffff 64bit pref]
Feb 20 19:21:10 vinco kernel: [    0.346969] pci 0000:01:00.0: reg 0x1c: [mem 0xf0000000-0xf1ffffff 64bit pref]
Feb 20 19:21:10 vinco kernel: [    0.346980] pci 0000:01:00.0: reg 0x24: [io  0xe000-0xe07f]
Feb 20 19:21:10 vinco kernel: [    0.346990] pci 0000:01:00.0: reg 0x30: [mem 0xf7000000-0xf707ffff pref]
Feb 20 19:21:10 vinco kernel: [    0.347007] pci 0000:01:00.0: Enabling HDA controller
Feb 20 19:21:10 vinco kernel: [    0.347158] pci 0000:00:01.0: PCI bridge to [bus 01]
Feb 20 19:21:10 vinco kernel: [    0.347159] pci 0000:00:01.0:   bridge window [io  0xe000-0xefff]
Feb 20 19:21:10 vinco kernel: [    0.347161] pci 0000:00:01.0:   bridge window [mem 0xf6000000-0xf70fffff]
Feb 20 19:21:10 vinco kernel: [    0.347163] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xf1ffffff 64bit pref]
Feb 20 19:21:10 vinco kernel: [    0.347206] acpiphp: Slot [1] registered
Feb 20 19:21:10 vinco kernel: [    0.347210] pci 0000:00:1c.0: PCI bridge to [bus 02]
Feb 20 19:21:10 vinco kernel: [    0.347265] pci 0000:00:1c.1: PCI bridge to [bus 03]
Feb 20 19:21:10 vinco kernel: [    0.347361] pci 0000:04:00.0: [8086:08b1] type 00 class 0x028000
Feb 20 19:21:10 vinco kernel: [    0.347437] pci 0000:04:00.0: reg 0x10: [mem 0xf7900000-0xf7901fff 64bit]
Feb 20 19:21:10 vinco kernel: [    0.347702] pci 0000:04:00.0: PME# supported from D0 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.347901] pci 0000:00:1c.2: PCI bridge to [bus 04]
Feb 20 19:21:10 vinco kernel: [    0.347905] pci 0000:00:1c.2:   bridge window [mem 0xf7900000-0xf79fffff]
Feb 20 19:21:10 vinco kernel: [    0.347969] pci 0000:05:00.0: [10ec:5287] type 00 class 0xff0000
Feb 20 19:21:10 vinco kernel: [    0.347999] pci 0000:05:00.0: reg 0x10: [mem 0xf7815000-0xf7815fff]
Feb 20 19:21:10 vinco kernel: [    0.348059] pci 0000:05:00.0: reg 0x30: [mem 0xf7800000-0xf780ffff pref]
Feb 20 19:21:10 vinco kernel: [    0.348150] pci 0000:05:00.0: supports D1 D2
Feb 20 19:21:10 vinco kernel: [    0.348151] pci 0000:05:00.0: PME# supported from D1 D2 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.348258] pci 0000:05:00.1: [10ec:8168] type 00 class 0x020000
Feb 20 19:21:10 vinco kernel: [    0.348287] pci 0000:05:00.1: reg 0x10: [io  0xd000-0xd0ff]
Feb 20 19:21:10 vinco kernel: [    0.348314] pci 0000:05:00.1: reg 0x18: [mem 0xf7814000-0xf7814fff 64bit]
Feb 20 19:21:10 vinco kernel: [    0.348330] pci 0000:05:00.1: reg 0x20: [mem 0xf7810000-0xf7813fff 64bit]
Feb 20 19:21:10 vinco kernel: [    0.348429] pci 0000:05:00.1: supports D1 D2
Feb 20 19:21:10 vinco kernel: [    0.348430] pci 0000:05:00.1: PME# supported from D0 D1 D2 D3hot D3cold
Feb 20 19:21:10 vinco kernel: [    0.348559] pci 0000:00:1c.3: PCI bridge to [bus 05]
Feb 20 19:21:10 vinco kernel: [    0.348562] pci 0000:00:1c.3:   bridge window [io  0xd000-0xdfff]
Feb 20 19:21:10 vinco kernel: [    0.348564] pci 0000:00:1c.3:   bridge window [mem 0xf7800000-0xf78fffff]
Feb 20 19:21:10 vinco kernel: [    0.349132] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12)
Feb 20 19:21:10 vinco kernel: [    0.349166] ACPI: PCI Interrupt Link [LNKB] (IRQs *3 4 5 6 7 10 12)
Feb 20 19:21:10 vinco kernel: [    0.349198] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 *4 5 6 7 10 12)
Feb 20 19:21:10 vinco kernel: [    0.349229] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *10 12)
Feb 20 19:21:10 vinco kernel: [    0.349260] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 12) *0, disabled.
Feb 20 19:21:10 vinco kernel: [    0.349291] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 12) *0, disabled.
Feb 20 19:21:10 vinco kernel: [    0.349322] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 *5 6 7 10 12)
Feb 20 19:21:10 vinco kernel: [    0.349352] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 *10 12)
Feb 20 19:21:10 vinco kernel: [    0.349617] ACPI: EC: interrupt unblocked
Feb 20 19:21:10 vinco kernel: [    0.349624] ACPI: EC: event unblocked
Feb 20 19:21:10 vinco kernel: [    0.349641] ACPI: \_SB_.PCI0.LPCB.EC0_: GPE=0x19, EC_CMD/EC_SC=0x66, EC_DATA=0x62
Feb 20 19:21:10 vinco kernel: [    0.349642] ACPI: \_SB_.PCI0.LPCB.EC0_: Boot DSDT EC used to handle transactions and events
Feb 20 19:21:10 vinco kernel: [    0.349686] iommu: Default domain type: Translated 
Feb 20 19:21:10 vinco kernel: [    0.349694] pci 0000:00:02.0: vgaarb: setting as boot VGA device
Feb 20 19:21:10 vinco kernel: [    0.349694] pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
Feb 20 19:21:10 vinco kernel: [    0.349694] pci 0000:00:02.0: vgaarb: bridge control possible
Feb 20 19:21:10 vinco kernel: [    0.349694] vgaarb: loaded
Feb 20 19:21:10 vinco kernel: [    0.349694] EDAC MC: Ver: 3.0.0
Feb 20 19:21:10 vinco kernel: [    0.349694] Registered efivars operations
Feb 20 19:21:10 vinco kernel: [    0.349694] PCI: Using ACPI for IRQ routing
Feb 20 19:21:10 vinco kernel: [    0.349694] PCI: pci_cache_line_size set to 64 bytes
Feb 20 19:21:10 vinco kernel: [    0.349694] e820: reserve RAM buffer [mem 0x00058000-0x0005ffff]
Feb 20 19:21:10 vinco kernel: [    0.349694] e820: reserve RAM buffer [mem 0x0009f000-0x0009ffff]
Feb 20 19:21:10 vinco kernel: [    0.349694] e820: reserve RAM buffer [mem 0xb9755000-0xbbffffff]
Feb 20 19:21:10 vinco kernel: [    0.349694] e820: reserve RAM buffer [mem 0xb9fd5000-0xbbffffff]
Feb 20 19:21:10 vinco kernel: [    0.349694] e820: reserve RAM buffer [mem 0xc98c6000-0xcbffffff]
Feb 20 19:21:10 vinco kernel: [    0.349694] e820: reserve RAM buffer [mem 0xc9e01000-0xcbffffff]
Feb 20 19:21:10 vinco kernel: [    0.349694] e820: reserve RAM buffer [mem 0xcb000000-0xcbffffff]
Feb 20 19:21:10 vinco kernel: [    0.349694] e820: reserve RAM buffer [mem 0x42f200000-0x42fffffff]
Feb 20 19:21:10 vinco kernel: [    0.349902] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
Feb 20 19:21:10 vinco kernel: [    0.349905] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
Feb 20 19:21:10 vinco kernel: [    0.353219] clocksource: Switched to clocksource tsc-early
Feb 20 19:21:10 vinco kernel: [    0.359179] VFS: Disk quotas dquot_6.6.0
Feb 20 19:21:10 vinco kernel: [    0.359179] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
Feb 20 19:21:10 vinco kernel: [    0.359179] AppArmor: AppArmor Filesystem Enabled
Feb 20 19:21:10 vinco kernel: [    0.359179] pnp: PnP ACPI init
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:00: [mem 0xfed40000-0xfed44fff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: [io  0x0680-0x069f] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: [io  0xffff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: [io  0xffff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: [io  0xffff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: [io  0x1c00-0x1cfe] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: [io  0x1d00-0x1dfe] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: [io  0x1e00-0x1efe] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: [io  0x1f00-0x1ffe] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: [io  0x1800-0x18fe] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: [io  0x164e-0x164f] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
Feb 20 19:21:10 vinco kernel: [    0.359179] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:03: [io  0x1854-0x1857] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:03: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:04: [io  0x04d0-0x04d1] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active)
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:05: [io  0x0240-0x0259] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.359179] system 00:05: Plug and Play ACPI device, IDs PNP0c02 (active)
Feb 20 19:21:10 vinco kernel: [    0.359179] pnp 00:06: Plug and Play ACPI device, IDs ETD0108 SYN0a00 SYN0002 PNP0f03 PNP0f13 PNP0f12 (active)
Feb 20 19:21:10 vinco kernel: [    0.359179] pnp 00:07: Plug and Play ACPI device, IDs ATK3001 PNP030b (active)
Feb 20 19:21:10 vinco kernel: [    0.360254] system 00:08: [mem 0xfed1c000-0xfed1ffff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.360255] system 00:08: [mem 0xfed10000-0xfed17fff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.360256] system 00:08: [mem 0xfed18000-0xfed18fff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.360256] system 00:08: [mem 0xfed19000-0xfed19fff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.360257] system 00:08: [mem 0xf8000000-0xfbffffff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.360258] system 00:08: [mem 0xfed20000-0xfed3ffff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.360259] system 00:08: [mem 0xfed90000-0xfed93fff] could not be reserved
Feb 20 19:21:10 vinco kernel: [    0.360260] system 00:08: [mem 0xfed45000-0xfed8ffff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.360261] system 00:08: [mem 0xff000000-0xffffffff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.360262] system 00:08: [mem 0xfee00000-0xfeefffff] could not be reserved
Feb 20 19:21:10 vinco kernel: [    0.360263] system 00:08: [mem 0xf7fdf000-0xf7fdffff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.360264] system 00:08: [mem 0xf7fe0000-0xf7feffff] has been reserved
Feb 20 19:21:10 vinco kernel: [    0.360266] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (active)
Feb 20 19:21:10 vinco kernel: [    0.360323] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (active)
Feb 20 19:21:10 vinco kernel: [    0.360538] pnp: PnP ACPI: found 10 devices
Feb 20 19:21:10 vinco kernel: [    0.361314] thermal_sys: Registered thermal governor 'fair_share'
Feb 20 19:21:10 vinco kernel: [    0.361314] thermal_sys: Registered thermal governor 'bang_bang'
Feb 20 19:21:10 vinco kernel: [    0.361315] thermal_sys: Registered thermal governor 'step_wise'
Feb 20 19:21:10 vinco kernel: [    0.361315] thermal_sys: Registered thermal governor 'user_space'
Feb 20 19:21:10 vinco kernel: [    0.365806] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
Feb 20 19:21:10 vinco kernel: [    0.365828] pci 0000:00:1c.1: bridge window [io  0x1000-0x0fff] to [bus 03] add_size 1000
Feb 20 19:21:10 vinco kernel: [    0.365830] pci 0000:00:1c.1: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 03] add_size 200000 add_align 100000
Feb 20 19:21:10 vinco kernel: [    0.365831] pci 0000:00:1c.1: bridge window [mem 0x00100000-0x000fffff] to [bus 03] add_size 200000 add_align 100000
Feb 20 19:21:10 vinco kernel: [    0.365836] pci 0000:00:1c.1: BAR 14: assigned [mem 0xcfe00000-0xcfffffff]
Feb 20 19:21:10 vinco kernel: [    0.365839] pci 0000:00:1c.1: BAR 15: assigned [mem 0xf2000000-0xf21fffff 64bit pref]
Feb 20 19:21:10 vinco kernel: [    0.365841] pci 0000:00:1c.1: BAR 13: assigned [io  0x2000-0x2fff]
Feb 20 19:21:10 vinco kernel: [    0.365843] pci 0000:00:01.0: PCI bridge to [bus 01]
Feb 20 19:21:10 vinco kernel: [    0.365844] pci 0000:00:01.0:   bridge window [io  0xe000-0xefff]
Feb 20 19:21:10 vinco kernel: [    0.365846] pci 0000:00:01.0:   bridge window [mem 0xf6000000-0xf70fffff]
Feb 20 19:21:10 vinco kernel: [    0.365847] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xf1ffffff 64bit pref]
Feb 20 19:21:10 vinco kernel: [    0.365850] pci 0000:00:1c.0: PCI bridge to [bus 02]
Feb 20 19:21:10 vinco kernel: [    0.365858] pci 0000:00:1c.1: PCI bridge to [bus 03]
Feb 20 19:21:10 vinco kernel: [    0.365860] pci 0000:00:1c.1:   bridge window [io  0x2000-0x2fff]
Feb 20 19:21:10 vinco kernel: [    0.365864] pci 0000:00:1c.1:   bridge window [mem 0xcfe00000-0xcfffffff]
Feb 20 19:21:10 vinco kernel: [    0.365866] pci 0000:00:1c.1:   bridge window [mem 0xf2000000-0xf21fffff 64bit pref]
Feb 20 19:21:10 vinco kernel: [    0.365871] pci 0000:00:1c.2: PCI bridge to [bus 04]
Feb 20 19:21:10 vinco kernel: [    0.365875] pci 0000:00:1c.2:   bridge window [mem 0xf7900000-0xf79fffff]
Feb 20 19:21:10 vinco kernel: [    0.365881] pci 0000:00:1c.3: PCI bridge to [bus 05]
Feb 20 19:21:10 vinco kernel: [    0.365883] pci 0000:00:1c.3:   bridge window [io  0xd000-0xdfff]
Feb 20 19:21:10 vinco kernel: [    0.365886] pci 0000:00:1c.3:   bridge window [mem 0xf7800000-0xf78fffff]
Feb 20 19:21:10 vinco kernel: [    0.365893] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
Feb 20 19:21:10 vinco kernel: [    0.365894] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
Feb 20 19:21:10 vinco kernel: [    0.365894] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
Feb 20 19:21:10 vinco kernel: [    0.365895] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000d3fff window]
Feb 20 19:21:10 vinco kernel: [    0.365896] pci_bus 0000:00: resource 8 [mem 0x000d4000-0x000d7fff window]
Feb 20 19:21:10 vinco kernel: [    0.365896] pci_bus 0000:00: resource 9 [mem 0x000d8000-0x000dbfff window]
Feb 20 19:21:10 vinco kernel: [    0.365897] pci_bus 0000:00: resource 10 [mem 0x000dc000-0x000dffff window]
Feb 20 19:21:10 vinco kernel: [    0.365898] pci_bus 0000:00: resource 11 [mem 0xcfe00000-0xfeafffff window]
Feb 20 19:21:10 vinco kernel: [    0.365899] pci_bus 0000:01: resource 0 [io  0xe000-0xefff]
Feb 20 19:21:10 vinco kernel: [    0.365899] pci_bus 0000:01: resource 1 [mem 0xf6000000-0xf70fffff]
Feb 20 19:21:10 vinco kernel: [    0.365900] pci_bus 0000:01: resource 2 [mem 0xe0000000-0xf1ffffff 64bit pref]
Feb 20 19:21:10 vinco kernel: [    0.365901] pci_bus 0000:03: resource 0 [io  0x2000-0x2fff]
Feb 20 19:21:10 vinco kernel: [    0.365902] pci_bus 0000:03: resource 1 [mem 0xcfe00000-0xcfffffff]
Feb 20 19:21:10 vinco kernel: [    0.365902] pci_bus 0000:03: resource 2 [mem 0xf2000000-0xf21fffff 64bit pref]
Feb 20 19:21:10 vinco kernel: [    0.365903] pci_bus 0000:04: resource 1 [mem 0xf7900000-0xf79fffff]
Feb 20 19:21:10 vinco kernel: [    0.365904] pci_bus 0000:05: resource 0 [io  0xd000-0xdfff]
Feb 20 19:21:10 vinco kernel: [    0.365904] pci_bus 0000:05: resource 1 [mem 0xf7800000-0xf78fffff]
Feb 20 19:21:10 vinco kernel: [    0.365985] NET: Registered protocol family 2
Feb 20 19:21:10 vinco kernel: [    0.366070] tcp_listen_portaddr_hash hash table entries: 8192 (order: 5, 131072 bytes, linear)
Feb 20 19:21:10 vinco kernel: [    0.366087] TCP established hash table entries: 131072 (order: 8, 1048576 bytes, linear)
Feb 20 19:21:10 vinco kernel: [    0.366188] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
Feb 20 19:21:10 vinco kernel: [    0.366284] TCP: Hash tables configured (established 131072 bind 65536)
Feb 20 19:21:10 vinco kernel: [    0.366303] UDP hash table entries: 8192 (order: 6, 262144 bytes, linear)
Feb 20 19:21:10 vinco kernel: [    0.366329] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes, linear)
Feb 20 19:21:10 vinco kernel: [    0.366381] NET: Registered protocol family 1
Feb 20 19:21:10 vinco kernel: [    0.366384] NET: Registered protocol family 44
Feb 20 19:21:10 vinco kernel: [    0.366391] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
Feb 20 19:21:10 vinco kernel: [    0.366766] PCI: CLS 64 bytes, default 64
Feb 20 19:21:10 vinco kernel: [    0.366790] Trying to unpack rootfs image as initramfs...
Feb 20 19:21:10 vinco kernel: [    0.979201] Freeing initrd memory: 58068K
Feb 20 19:21:10 vinco kernel: [    0.979239] DMAR: No ATSR found
Feb 20 19:21:10 vinco kernel: [    0.979294] DMAR: dmar0: Using Queued invalidation
Feb 20 19:21:10 vinco kernel: [    0.979298] DMAR: dmar1: Using Queued invalidation
Feb 20 19:21:10 vinco kernel: [    1.052071] pci 0000:00:00.0: Adding to iommu group 0
Feb 20 19:21:10 vinco kernel: [    1.052119] pci 0000:00:01.0: Adding to iommu group 1
Feb 20 19:21:10 vinco kernel: [    1.056706] pci 0000:00:02.0: Adding to iommu group 2
Feb 20 19:21:10 vinco kernel: [    1.056753] pci 0000:00:02.0: Using iommu direct mapping
Feb 20 19:21:10 vinco kernel: [    1.056784] pci 0000:00:03.0: Adding to iommu group 3
Feb 20 19:21:10 vinco kernel: [    1.056840] pci 0000:00:14.0: Adding to iommu group 4
Feb 20 19:21:10 vinco kernel: [    1.056885] pci 0000:00:16.0: Adding to iommu group 5
Feb 20 19:21:10 vinco kernel: [    1.056940] pci 0000:00:1a.0: Adding to iommu group 6
Feb 20 19:21:10 vinco kernel: [    1.056984] pci 0000:00:1b.0: Adding to iommu group 7
Feb 20 19:21:10 vinco kernel: [    1.057024] pci 0000:00:1c.0: Adding to iommu group 8
Feb 20 19:21:10 vinco kernel: [    1.057068] pci 0000:00:1c.1: Adding to iommu group 9
Feb 20 19:21:10 vinco kernel: [    1.057112] pci 0000:00:1c.2: Adding to iommu group 10
Feb 20 19:21:10 vinco kernel: [    1.057150] pci 0000:00:1c.3: Adding to iommu group 11
Feb 20 19:21:10 vinco kernel: [    1.057208] pci 0000:00:1d.0: Adding to iommu group 12
Feb 20 19:21:10 vinco kernel: [    1.058361] pci 0000:00:1f.0: Adding to iommu group 13
Feb 20 19:21:10 vinco kernel: [    1.058370] pci 0000:00:1f.2: Adding to iommu group 13
Feb 20 19:21:10 vinco kernel: [    1.058378] pci 0000:00:1f.3: Adding to iommu group 13
Feb 20 19:21:10 vinco kernel: [    1.058386] pci 0000:01:00.0: Adding to iommu group 1
Feb 20 19:21:10 vinco kernel: [    1.058431] pci 0000:04:00.0: Adding to iommu group 14
Feb 20 19:21:10 vinco kernel: [    1.058491] pci 0000:05:00.0: Adding to iommu group 15
Feb 20 19:21:10 vinco kernel: [    1.058511] pci 0000:05:00.1: Adding to iommu group 15
Feb 20 19:21:10 vinco kernel: [    1.058548] DMAR: Intel(R) Virtualization Technology for Directed I/O
Feb 20 19:21:10 vinco kernel: [    1.060054] Initialise system trusted keyrings
Feb 20 19:21:10 vinco kernel: [    1.060061] Key type blacklist registered
Feb 20 19:21:10 vinco kernel: [    1.060080] workingset: timestamp_bits=40 max_order=22 bucket_order=0
Feb 20 19:21:10 vinco kernel: [    1.060917] zbud: loaded
Feb 20 19:21:10 vinco kernel: [    1.061086] Platform Keyring initialized
Feb 20 19:21:10 vinco kernel: [    1.061087] Key type asymmetric registered
Feb 20 19:21:10 vinco kernel: [    1.061088] Asymmetric key parser 'x509' registered
Feb 20 19:21:10 vinco kernel: [    1.061092] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
Feb 20 19:21:10 vinco kernel: [    1.061117] io scheduler mq-deadline registered
Feb 20 19:21:10 vinco kernel: [    1.061340] pcieport 0000:00:01.0: PME: Signaling with IRQ 26
Feb 20 19:21:10 vinco kernel: [    1.061460] pcieport 0000:00:1c.0: PME: Signaling with IRQ 27
Feb 20 19:21:10 vinco kernel: [    1.061597] pcieport 0000:00:1c.1: PME: Signaling with IRQ 28
Feb 20 19:21:10 vinco kernel: [    1.061614] pcieport 0000:00:1c.1: pciehp: Slot #1 AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+ Interlock- NoCompl+ LLActRep+
Feb 20 19:21:10 vinco kernel: [    1.061770] pcieport 0000:00:1c.2: PME: Signaling with IRQ 29
Feb 20 19:21:10 vinco kernel: [    1.061896] pcieport 0000:00:1c.3: PME: Signaling with IRQ 30
Feb 20 19:21:10 vinco kernel: [    1.061946] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
Feb 20 19:21:10 vinco kernel: [    1.061956] efifb: probing for efifb
Feb 20 19:21:10 vinco kernel: [    1.061970] efifb: framebuffer at 0xd0000000, using 3072k, total 3072k
Feb 20 19:21:10 vinco kernel: [    1.061971] efifb: mode is 1024x768x32, linelength=4096, pages=1
Feb 20 19:21:10 vinco kernel: [    1.061971] efifb: scrolling: redraw
Feb 20 19:21:10 vinco kernel: [    1.061972] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
Feb 20 19:21:10 vinco kernel: [    1.062030] Console: switching to colour frame buffer device 128x48
Feb 20 19:21:10 vinco kernel: [    1.063307] fb0: EFI VGA frame buffer device
Feb 20 19:21:10 vinco kernel: [    1.063313] intel_idle: MWAIT substates: 0x42120
Feb 20 19:21:10 vinco kernel: [    1.063313] intel_idle: v0.4.1 model 0x3C
Feb 20 19:21:10 vinco kernel: [    1.063529] intel_idle: lapic_timer_reliable_states 0xffffffff
Feb 20 19:21:10 vinco kernel: [    1.064261] thermal LNXTHERM:00: registered as thermal_zone0
Feb 20 19:21:10 vinco kernel: [    1.064261] ACPI: Thermal Zone [THRM] (56 C)
Feb 20 19:21:10 vinco kernel: [    1.064336] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Feb 20 19:21:10 vinco kernel: [    1.064651] Linux agpgart interface v0.103
Feb 20 19:21:10 vinco kernel: [    1.064684] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
Feb 20 19:21:10 vinco kernel: [    1.064684] AMD-Vi: AMD IOMMUv2 functionality not available on this system
Feb 20 19:21:10 vinco kernel: [    1.065133] i8042: PNP: PS/2 Controller [PNP030b:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12
Feb 20 19:21:10 vinco kernel: [    1.067834] i8042: Detected active multiplexing controller, rev 1.1
Feb 20 19:21:10 vinco kernel: [    1.070393] serio: i8042 KBD port at 0x60,0x64 irq 1
Feb 20 19:21:10 vinco kernel: [    1.070395] serio: i8042 AUX0 port at 0x60,0x64 irq 12
Feb 20 19:21:10 vinco kernel: [    1.070410] serio: i8042 AUX1 port at 0x60,0x64 irq 12
Feb 20 19:21:10 vinco kernel: [    1.070421] serio: i8042 AUX2 port at 0x60,0x64 irq 12
Feb 20 19:21:10 vinco kernel: [    1.070431] serio: i8042 AUX3 port at 0x60,0x64 irq 12
Feb 20 19:21:10 vinco kernel: [    1.070485] mousedev: PS/2 mouse device common for all mice
Feb 20 19:21:10 vinco kernel: [    1.070514] rtc_cmos 00:02: RTC can wake from S4
Feb 20 19:21:10 vinco kernel: [    1.070650] rtc_cmos 00:02: registered as rtc0
Feb 20 19:21:10 vinco kernel: [    1.070660] rtc_cmos 00:02: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
Feb 20 19:21:10 vinco kernel: [    1.070667] intel_pstate: Intel P-state driver initializing
Feb 20 19:21:10 vinco kernel: [    1.071326] ledtrig-cpu: registered to indicate activity on CPUs
Feb 20 19:21:10 vinco kernel: [    1.071638] drop_monitor: Initializing network drop monitor service
Feb 20 19:21:10 vinco kernel: [    1.072046] NET: Registered protocol family 10
Feb 20 19:21:10 vinco kernel: [    1.091568] Segment Routing with IPv6
Feb 20 19:21:10 vinco kernel: [    1.091590] mip6: Mobile IPv6
Feb 20 19:21:10 vinco kernel: [    1.091592] NET: Registered protocol family 17
Feb 20 19:21:10 vinco kernel: [    1.091741] mpls_gso: MPLS GSO support
Feb 20 19:21:10 vinco kernel: [    1.092258] microcode: sig=0x306c3, pf=0x20, revision=0x27
Feb 20 19:21:10 vinco kernel: [    1.092352] microcode: Microcode Update Driver: v2.2.
Feb 20 19:21:10 vinco kernel: [    1.092356] IPI shorthand broadcast: enabled
Feb 20 19:21:10 vinco kernel: [    1.092363] sched_clock: Marking stable (1092004421, 195325)->(1098656859, -6457113)
Feb 20 19:21:10 vinco kernel: [    1.092471] registered taskstats version 1
Feb 20 19:21:10 vinco kernel: [    1.092471] Loading compiled-in X.509 certificates
Feb 20 19:21:10 vinco kernel: [    1.110685] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
Feb 20 19:21:10 vinco kernel: [    1.125584] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
Feb 20 19:21:10 vinco kernel: [    1.125596] Loaded X.509 cert 'Debian Secure Boot Signer: 00a7468def'
Feb 20 19:21:10 vinco kernel: [    1.125611] zswap: loaded using pool lzo/zbud
Feb 20 19:21:10 vinco kernel: [    1.125777] Key type ._fscrypt registered
Feb 20 19:21:10 vinco kernel: [    1.125778] Key type .fscrypt registered
Feb 20 19:21:10 vinco kernel: [    1.125787] AppArmor: AppArmor sha1 policy hashing enabled
Feb 20 19:21:10 vinco kernel: [    1.125986] integrity: Loading X.509 certificate: UEFI:db
Feb 20 19:21:10 vinco kernel: [    1.126181] integrity: Loaded X.509 cert 'ASUSTeK Notebook SW Key Certificate: b8e581e4df77a5bb4282d5ccfc00c071'
Feb 20 19:21:10 vinco kernel: [    1.126181] integrity: Loading X.509 certificate: UEFI:db
Feb 20 19:21:10 vinco kernel: [    1.126372] integrity: Loaded X.509 cert 'ASUSTeK MotherBoard SW Key Certificate: da83b990422ebc8c441f8d8b039a65a2'
Feb 20 19:21:10 vinco kernel: [    1.126372] integrity: Loading X.509 certificate: UEFI:db
Feb 20 19:21:10 vinco kernel: [    1.126389] integrity: Loaded X.509 cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4'
Feb 20 19:21:10 vinco kernel: [    1.126390] integrity: Loading X.509 certificate: UEFI:db
Feb 20 19:21:10 vinco kernel: [    1.126404] integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53'
Feb 20 19:21:10 vinco kernel: [    1.126404] integrity: Loading X.509 certificate: UEFI:db
Feb 20 19:21:10 vinco kernel: [    1.126595] integrity: Loaded X.509 cert 'Canonical Ltd. Master Certificate Authority: ad91990bc22ab1f517048c23b6655a268e345a63'
Feb 20 19:21:10 vinco kernel: [    1.127213] rtc_cmos 00:02: setting system clock to 2020-02-20T17:21:06 UTC (1582219266)
Feb 20 19:21:10 vinco kernel: [    1.127872] Freeing unused kernel image memory: 1672K
Feb 20 19:21:10 vinco kernel: [    1.164311] Write protecting the kernel read-only data: 16384k
Feb 20 19:21:10 vinco kernel: [    1.165125] Freeing unused kernel image memory: 2036K
Feb 20 19:21:10 vinco kernel: [    1.165290] Freeing unused kernel image memory: 360K
Feb 20 19:21:10 vinco kernel: [    1.180057] x86/mm: Checked W+X mappings: passed, no W+X pages found.
Feb 20 19:21:10 vinco kernel: [    1.180058] x86/mm: Checking user space page tables
Feb 20 19:21:10 vinco kernel: [    1.186177] x86/mm: Checked W+X mappings: passed, no W+X pages found.
Feb 20 19:21:10 vinco kernel: [    1.186178] Run /init as init process
Feb 20 19:21:10 vinco kernel: [    1.238391] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input4
Feb 20 19:21:10 vinco kernel: [    1.238416] ACPI: Lid Switch [LID]
Feb 20 19:21:10 vinco kernel: [    1.238470] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input5
Feb 20 19:21:10 vinco kernel: [    1.238508] ACPI: Sleep Button [SLPB]
Feb 20 19:21:10 vinco kernel: [    1.238551] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input6
Feb 20 19:21:10 vinco kernel: [    1.238584] ACPI: Power Button [PWRF]
Feb 20 19:21:10 vinco kernel: [    1.246740] r8168: loading out-of-tree module taints kernel.
Feb 20 19:21:10 vinco kernel: [    1.246848] r8168: module verification failed: signature and/or required key missing - tainting kernel
Feb 20 19:21:10 vinco kernel: [    1.248057] r8168 Gigabit Ethernet driver 8.048.00-NAPI loaded
Feb 20 19:21:10 vinco kernel: [    1.248922] i801_smbus 0000:00:1f.3: SPD Write Disable is set
Feb 20 19:21:10 vinco kernel: [    1.248961] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt
Feb 20 19:21:10 vinco kernel: [    1.251446] ACPI Warning: SystemIO range 0x0000000000001828-0x000000000000182F conflicts with OpRegion 0x0000000000001800-0x000000000000184F (\GPIS) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251450] ACPI Warning: SystemIO range 0x0000000000001828-0x000000000000182F conflicts with OpRegion 0x0000000000001800-0x000000000000187F (\PMIO) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251454] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
Feb 20 19:21:10 vinco kernel: [    1.251457] ACPI Warning: SystemIO range 0x0000000000001C40-0x0000000000001C4F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C5F (\_SB.PCI0.PEG0.PEGP.GPR) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251460] ACPI Warning: SystemIO range 0x0000000000001C40-0x0000000000001C4F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C7F (\GPIO) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251463] ACPI Warning: SystemIO range 0x0000000000001C40-0x0000000000001C4F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C63 (\GP01) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251466] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
Feb 20 19:21:10 vinco kernel: [    1.251467] ACPI Warning: SystemIO range 0x0000000000001C30-0x0000000000001C3F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C5F (\_SB.PCI0.PEG0.PEGP.GPR) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251469] ACPI Warning: SystemIO range 0x0000000000001C30-0x0000000000001C3F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C7F (\GPIO) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251472] ACPI Warning: SystemIO range 0x0000000000001C30-0x0000000000001C3F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C63 (\GP01) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251475] ACPI Warning: SystemIO range 0x0000000000001C30-0x0000000000001C3F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C3F (\GPRL) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251478] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
Feb 20 19:21:10 vinco kernel: [    1.251478] ACPI Warning: SystemIO range 0x0000000000001C00-0x0000000000001C2F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C5F (\_SB.PCI0.PEG0.PEGP.GPR) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251481] ACPI Warning: SystemIO range 0x0000000000001C00-0x0000000000001C2F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C7F (\GPIO) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251484] ACPI Warning: SystemIO range 0x0000000000001C00-0x0000000000001C2F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C63 (\GP01) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251486] ACPI Warning: SystemIO range 0x0000000000001C00-0x0000000000001C2F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C3F (\GPRL) (20190816/utaddress-204)
Feb 20 19:21:10 vinco kernel: [    1.251489] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
Feb 20 19:21:10 vinco kernel: [    1.251490] lpc_ich: Resource conflict(s) found affecting gpio_ich
Feb 20 19:21:10 vinco kernel: [    1.259793] ACPI: bus type USB registered
Feb 20 19:21:10 vinco kernel: [    1.259810] usbcore: registered new interface driver usbfs
Feb 20 19:21:10 vinco kernel: [    1.259817] usbcore: registered new interface driver hub
Feb 20 19:21:10 vinco kernel: [    1.259849] usbcore: registered new device driver usb
Feb 20 19:21:10 vinco kernel: [    1.261897] r8168: This product is covered by one or more of the following patents: US6,570,884, US6,115,776, and US6,327,625.
Feb 20 19:21:10 vinco kernel: [    1.262929] SCSI subsystem initialized
Feb 20 19:21:10 vinco kernel: [    1.263911] r8168  Copyright (C) 2019  Realtek NIC software team <nicfae@realtek.com> 
Feb 20 19:21:10 vinco kernel: [    1.263911]  This program comes with ABSOLUTELY NO WARRANTY; for details, please see <http://www.gnu.org/licenses/>. 
Feb 20 19:21:10 vinco kernel: [    1.263911]  This is free software, and you are welcome to redistribute it under certain conditions; see <http://www.gnu.org/licenses/>. 
Feb 20 19:21:10 vinco kernel: [    1.264350] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Feb 20 19:21:10 vinco kernel: [    1.265216] ehci-pci: EHCI PCI platform driver
Feb 20 19:21:10 vinco kernel: [    1.266411] ehci-pci 0000:00:1a.0: EHCI Host Controller
Feb 20 19:21:10 vinco kernel: [    1.266416] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1
Feb 20 19:21:10 vinco kernel: [    1.266428] ehci-pci 0000:00:1a.0: debug port 2
Feb 20 19:21:10 vinco kernel: [    1.270348] ehci-pci 0000:00:1a.0: cache line size of 64 is not supported
Feb 20 19:21:10 vinco kernel: [    1.270381] ehci-pci 0000:00:1a.0: irq 16, io mem 0xf7a1c000
Feb 20 19:21:10 vinco kernel: [    1.276745] libata version 3.00 loaded.
Feb 20 19:21:10 vinco kernel: [    1.280523] r8168 0000:05:00.1 enp5s0f1: renamed from eth0
Feb 20 19:21:10 vinco kernel: [    1.282086] ahci 0000:00:1f.2: version 3.0
Feb 20 19:21:10 vinco kernel: [    1.282252] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 4 ports 6 Gbps 0x14 impl SATA mode
Feb 20 19:21:10 vinco kernel: [    1.282255] ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part ems apst 
Feb 20 19:21:10 vinco kernel: [    1.284210] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00
Feb 20 19:21:10 vinco kernel: [    1.284264] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
Feb 20 19:21:10 vinco kernel: [    1.284265] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Feb 20 19:21:10 vinco kernel: [    1.284266] usb usb1: Product: EHCI Host Controller
Feb 20 19:21:10 vinco kernel: [    1.284267] usb usb1: Manufacturer: Linux 5.4.0-4-amd64 ehci_hcd
Feb 20 19:21:10 vinco kernel: [    1.284267] usb usb1: SerialNumber: 0000:00:1a.0
Feb 20 19:21:10 vinco kernel: [    1.284356] hub 1-0:1.0: USB hub found
Feb 20 19:21:10 vinco kernel: [    1.284364] hub 1-0:1.0: 2 ports detected
Feb 20 19:21:10 vinco kernel: [    1.284464] xhci_hcd 0000:00:14.0: xHCI Host Controller
Feb 20 19:21:10 vinco kernel: [    1.284468] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
Feb 20 19:21:10 vinco kernel: [    1.285544] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0000000000009810
Feb 20 19:21:10 vinco kernel: [    1.285550] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
Feb 20 19:21:10 vinco kernel: [    1.285699] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
Feb 20 19:21:10 vinco kernel: [    1.285700] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Feb 20 19:21:10 vinco kernel: [    1.285700] usb usb2: Product: xHCI Host Controller
Feb 20 19:21:10 vinco kernel: [    1.285701] usb usb2: Manufacturer: Linux 5.4.0-4-amd64 xhci-hcd
Feb 20 19:21:10 vinco kernel: [    1.285702] usb usb2: SerialNumber: 0000:00:14.0
Feb 20 19:21:10 vinco kernel: [    1.285800] hub 2-0:1.0: USB hub found
Feb 20 19:21:10 vinco kernel: [    1.285816] hub 2-0:1.0: 14 ports detected
Feb 20 19:21:10 vinco kernel: [    1.288300] ehci-pci 0000:00:1d.0: EHCI Host Controller
Feb 20 19:21:10 vinco kernel: [    1.288305] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 3
Feb 20 19:21:10 vinco kernel: [    1.288316] ehci-pci 0000:00:1d.0: debug port 2
Feb 20 19:21:10 vinco kernel: [    1.288317] xhci_hcd 0000:00:14.0: xHCI Host Controller
Feb 20 19:21:10 vinco kernel: [    1.288320] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 4
Feb 20 19:21:10 vinco kernel: [    1.288322] xhci_hcd 0000:00:14.0: Host supports USB 3.0 SuperSpeed
Feb 20 19:21:10 vinco kernel: [    1.288350] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
Feb 20 19:21:10 vinco kernel: [    1.288350] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Feb 20 19:21:10 vinco kernel: [    1.288351] usb usb4: Product: xHCI Host Controller
Feb 20 19:21:10 vinco kernel: [    1.288352] usb usb4: Manufacturer: Linux 5.4.0-4-amd64 xhci-hcd
Feb 20 19:21:10 vinco kernel: [    1.288352] usb usb4: SerialNumber: 0000:00:14.0
Feb 20 19:21:10 vinco kernel: [    1.288424] hub 4-0:1.0: USB hub found
Feb 20 19:21:10 vinco kernel: [    1.288436] hub 4-0:1.0: 4 ports detected
Feb 20 19:21:10 vinco kernel: [    1.292233] ehci-pci 0000:00:1d.0: cache line size of 64 is not supported
Feb 20 19:21:10 vinco kernel: [    1.292245] ehci-pci 0000:00:1d.0: irq 23, io mem 0xf7a1b000
Feb 20 19:21:10 vinco kernel: [    1.292663] scsi host0: ahci
Feb 20 19:21:10 vinco kernel: [    1.292802] scsi host1: ahci
Feb 20 19:21:10 vinco kernel: [    1.292892] scsi host2: ahci
Feb 20 19:21:10 vinco kernel: [    1.292965] scsi host3: ahci
Feb 20 19:21:10 vinco kernel: [    1.293019] scsi host4: ahci
Feb 20 19:21:10 vinco kernel: [    1.293044] ata1: DUMMY
Feb 20 19:21:10 vinco kernel: [    1.293045] ata2: DUMMY
Feb 20 19:21:10 vinco kernel: [    1.293047] ata3: SATA max UDMA/133 abar m2048@0xf7a1a000 port 0xf7a1a200 irq 33
Feb 20 19:21:10 vinco kernel: [    1.293047] ata4: DUMMY
Feb 20 19:21:10 vinco kernel: [    1.293049] ata5: SATA max UDMA/133 abar m2048@0xf7a1a000 port 0xf7a1a300 irq 33
Feb 20 19:21:10 vinco kernel: [    1.308231] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00
Feb 20 19:21:10 vinco kernel: [    1.308494] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
Feb 20 19:21:10 vinco kernel: [    1.308496] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Feb 20 19:21:10 vinco kernel: [    1.308496] usb usb3: Product: EHCI Host Controller
Feb 20 19:21:10 vinco kernel: [    1.308497] usb usb3: Manufacturer: Linux 5.4.0-4-amd64 ehci_hcd
Feb 20 19:21:10 vinco kernel: [    1.308498] usb usb3: SerialNumber: 0000:00:1d.0
Feb 20 19:21:10 vinco kernel: [    1.308668] hub 3-0:1.0: USB hub found
Feb 20 19:21:10 vinco kernel: [    1.308692] hub 3-0:1.0: 2 ports detected
Feb 20 19:21:10 vinco kernel: [    1.342843] i915 0000:00:02.0: VT-d active for gfx access
Feb 20 19:21:10 vinco kernel: [    1.342845] checking generic (d0000000 300000) vs hw (d0000000 10000000)
Feb 20 19:21:10 vinco kernel: [    1.342846] fb0: switching to inteldrmfb from EFI VGA
Feb 20 19:21:10 vinco kernel: [    1.342895] Console: switching to colour dummy device 80x25
Feb 20 19:21:10 vinco kernel: [    1.342920] i915 0000:00:02.0: vgaarb: deactivate vga console
Feb 20 19:21:10 vinco kernel: [    1.343131] i915 0000:00:02.0: DMAR active, disabling use of stolen memory
Feb 20 19:21:10 vinco kernel: [    1.343529] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
Feb 20 19:21:10 vinco kernel: [    1.343530] [drm] Driver supports precise vblank timestamp query.
Feb 20 19:21:10 vinco kernel: [    1.343724] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Feb 20 19:21:10 vinco kernel: [    1.357918] [drm] Initialized i915 1.6.0 20190822 for 0000:00:02.0 on minor 0
Feb 20 19:21:10 vinco kernel: [    1.358658] [Firmware Bug]: ACPI(PEGP) defines _DOD but not _DOS
Feb 20 19:21:10 vinco kernel: [    1.360077] ACPI: Video Device [PEGP] (multi-head: yes  rom: yes  post: no)
Feb 20 19:21:10 vinco kernel: [    1.362768] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4f/LNXVIDEO:00/input/input9
Feb 20 19:21:10 vinco kernel: [    1.364078] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
Feb 20 19:21:10 vinco kernel: [    1.366659] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:01/input/input10
Feb 20 19:21:10 vinco kernel: [    1.376113] fbcon: i915drmfb (fb0) is primary device
Feb 20 19:21:10 vinco kernel: [    1.457552] battery: ACPI: Battery Slot [BAT0] (battery present)
Feb 20 19:21:10 vinco kernel: [    1.607393] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
Feb 20 19:21:10 vinco kernel: [    1.607416] ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Feb 20 19:21:10 vinco kernel: [    1.608258] ata5.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
Feb 20 19:21:10 vinco kernel: [    1.608261] ata5.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
Feb 20 19:21:10 vinco kernel: [    1.608263] ata5.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
Feb 20 19:21:10 vinco kernel: [    1.608640] ata5.00: supports DRM functions and may not be fully accessible
Feb 20 19:21:10 vinco kernel: [    1.609722] ata5.00: disabling queued TRIM support
Feb 20 19:21:10 vinco kernel: [    1.609725] ata5.00: ATA-9: Samsung SSD 850 EVO 1TB, EMT02B6Q, max UDMA/133
Feb 20 19:21:10 vinco kernel: [    1.609727] ata5.00: 1953525168 sectors, multi 1: LBA48 NCQ (depth 32), AA
Feb 20 19:21:10 vinco kernel: [    1.610867] ata3.00: ATAPI: TSSTcorp CDDVDW SU-228FB, AS00, max UDMA/100
Feb 20 19:21:10 vinco kernel: [    1.612519] ata5.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
Feb 20 19:21:10 vinco kernel: [    1.612522] ata5.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
Feb 20 19:21:10 vinco kernel: [    1.612524] ata5.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
Feb 20 19:21:10 vinco kernel: [    1.612893] ata5.00: supports DRM functions and may not be fully accessible
Feb 20 19:21:10 vinco kernel: [    1.613736] ata5.00: disabling queued TRIM support
Feb 20 19:21:10 vinco kernel: [    1.615562] ata5.00: configured for UDMA/133
Feb 20 19:21:10 vinco kernel: [    1.616037] ata3.00: configured for UDMA/100
Feb 20 19:21:10 vinco kernel: [    1.620284] usb 1-1: new high-speed USB device number 2 using ehci-pci
Feb 20 19:21:10 vinco kernel: [    1.624287] usb 2-3: new full-speed USB device number 2 using xhci_hcd
Feb 20 19:21:10 vinco kernel: [    1.625260] scsi 2:0:0:0: CD-ROM            TSSTcorp CDDVDW SU-228FB  AS00 PQ: 0 ANSI: 5
Feb 20 19:21:10 vinco kernel: [    1.648286] usb 3-1: new high-speed USB device number 2 using ehci-pci
Feb 20 19:21:10 vinco kernel: [    1.649297] usb 1-1: New USB device found, idVendor=8087, idProduct=8008, bcdDevice= 0.05
Feb 20 19:21:10 vinco kernel: [    1.649299] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Feb 20 19:21:10 vinco kernel: [    1.649762] hub 1-1:1.0: USB hub found
Feb 20 19:21:10 vinco kernel: [    1.649960] hub 1-1:1.0: 6 ports detected
Feb 20 19:21:10 vinco kernel: [    1.662212] scsi 4:0:0:0: Direct-Access     ATA      Samsung SSD 850  2B6Q PQ: 0 ANSI: 5
Feb 20 19:21:10 vinco kernel: [    1.677089] usb 3-1: New USB device found, idVendor=8087, idProduct=8000, bcdDevice= 0.05
Feb 20 19:21:10 vinco kernel: [    1.677092] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Feb 20 19:21:10 vinco kernel: [    1.677469] hub 3-1:1.0: USB hub found
Feb 20 19:21:10 vinco kernel: [    1.677539] hub 3-1:1.0: 8 ports detected
Feb 20 19:21:10 vinco kernel: [    1.775587] usb 2-3: New USB device found, idVendor=046d, idProduct=c52b, bcdDevice=12.03
Feb 20 19:21:10 vinco kernel: [    1.775589] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Feb 20 19:21:10 vinco kernel: [    1.775591] usb 2-3: Product: USB Receiver
Feb 20 19:21:10 vinco kernel: [    1.775592] usb 2-3: Manufacturer: Logitech
Feb 20 19:21:10 vinco kernel: [    1.787487] hidraw: raw HID events driver (C) Jiri Kosina
Feb 20 19:21:10 vinco kernel: [    1.793376] usbcore: registered new interface driver usbhid
Feb 20 19:21:10 vinco kernel: [    1.793377] usbhid: USB HID core driver
Feb 20 19:21:10 vinco kernel: [    1.795277] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0/0003:046D:C52B.0001/input/input14
Feb 20 19:21:10 vinco kernel: [    1.852505] hid-generic 0003:046D:C52B.0001: input,hidraw0: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:14.0-3/input0
Feb 20 19:21:10 vinco kernel: [    1.852912] input: Logitech USB Receiver Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.1/0003:046D:C52B.0002/input/input15
Feb 20 19:21:10 vinco kernel: [    1.853072] input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.1/0003:046D:C52B.0002/input/input16
Feb 20 19:21:10 vinco kernel: [    1.904287] usb 2-5: new full-speed USB device number 3 using xhci_hcd
Feb 20 19:21:10 vinco kernel: [    1.912351] input: Logitech USB Receiver System Control as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.1/0003:046D:C52B.0002/input/input17
Feb 20 19:21:10 vinco kernel: [    1.912537] hid-generic 0003:046D:C52B.0002: input,hiddev0,hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-3/input1
Feb 20 19:21:10 vinco kernel: [    1.912920] hid-generic 0003:046D:C52B.0003: hiddev1,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-3/input2
Feb 20 19:21:10 vinco kernel: [    2.033731] psmouse serio4: elantech: assuming hardware version 4 (with firmware version 0x381fa2)
Feb 20 19:21:10 vinco kernel: [    2.045309] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-3/input2
Feb 20 19:21:10 vinco kernel: [    2.051268] psmouse serio4: elantech: Synaptics capabilities query result 0x10, 0x14, 0x0e.
Feb 20 19:21:10 vinco kernel: [    2.053513] usb 2-5: New USB device found, idVendor=8087, idProduct=07dc, bcdDevice= 0.01
Feb 20 19:21:10 vinco kernel: [    2.053516] usb 2-5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Feb 20 19:21:10 vinco kernel: [    2.070469] psmouse serio4: elantech: Elan sample query result 05, 1b, 64
Feb 20 19:21:10 vinco kernel: [    2.080303] tsc: Refined TSC clocksource calibration: 2494.228 MHz
Feb 20 19:21:10 vinco kernel: [    2.080316] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x23f3ed6cc7b, max_idle_ns: 440795302954 ns
Feb 20 19:21:10 vinco kernel: [    2.080357] clocksource: Switched to clocksource tsc
Feb 20 19:21:10 vinco kernel: [    2.155270] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio4/input/input13
Feb 20 19:21:10 vinco kernel: [    2.167416] input: Logitech Unifying Device. Wireless PID:101b Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.2/0003:046D:C52B.0003/0003:046D:101B.0004/input/input19
Feb 20 19:21:10 vinco kernel: [    2.168253] hid-generic 0003:046D:101B.0004: input,hidraw1: USB HID v1.11 Mouse [Logitech Unifying Device. Wireless PID:101b] on usb-0000:00:14.0-3/input2:1
Feb 20 19:21:10 vinco kernel: [    2.180251] usb 2-7: new high-speed USB device number 4 using xhci_hcd
Feb 20 19:21:10 vinco kernel: [    2.226413] input: Logitech M705 as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.2/0003:046D:C52B.0003/0003:046D:101B.0004/input/input23
Feb 20 19:21:10 vinco kernel: [    2.226634] logitech-hidpp-device 0003:046D:101B.0004: input,hidraw1: USB HID v1.11 Mouse [Logitech M705] on usb-0000:00:14.0-3/input2:1
Feb 20 19:21:10 vinco kernel: [    2.301552] usb 2-7: New USB device found, idVendor=13d3, idProduct=5188, bcdDevice= 8.14
Feb 20 19:21:10 vinco kernel: [    2.301555] usb 2-7: New USB device strings: Mfr=3, Product=1, SerialNumber=2
Feb 20 19:21:10 vinco kernel: [    2.301557] usb 2-7: Product: USB2.0 UVC HD Webcam
Feb 20 19:21:10 vinco kernel: [    2.301559] usb 2-7: Manufacturer: Azurewave
Feb 20 19:21:10 vinco kernel: [    2.301561] usb 2-7: SerialNumber: NULL
Feb 20 19:21:10 vinco kernel: [    2.651337] Console: switching to colour frame buffer device 240x67
Feb 20 19:21:10 vinco kernel: [    2.678780] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
Feb 20 19:21:10 vinco kernel: [    2.701421] sd 4:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
Feb 20 19:21:10 vinco kernel: [    2.701440] sd 4:0:0:0: [sda] Write Protect is off
Feb 20 19:21:10 vinco kernel: [    2.701443] sd 4:0:0:0: [sda] Mode Sense: 00 3a 00 00
Feb 20 19:21:10 vinco kernel: [    2.701470] sd 4:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Feb 20 19:21:10 vinco kernel: [    2.719105]  sda: sda1 sda2 sda3 sda4 sda6
Feb 20 19:21:10 vinco kernel: [    2.720366] sd 4:0:0:0: [sda] supports TCG Opal
Feb 20 19:21:10 vinco kernel: [    2.720369] sd 4:0:0:0: [sda] Attached SCSI disk
Feb 20 19:21:10 vinco kernel: [    2.754913] sr 2:0:0:0: [sr0] scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
Feb 20 19:21:10 vinco kernel: [    2.754916] cdrom: Uniform CD-ROM driver Revision: 3.20
Feb 20 19:21:10 vinco kernel: [    2.788759] sr 2:0:0:0: Attached scsi CD-ROM sr0
Feb 20 19:21:10 vinco kernel: [    3.156221] raid6: avx2x4   gen() 31323 MB/s
Feb 20 19:21:10 vinco kernel: [    3.224220] raid6: avx2x4   xor() 20496 MB/s
Feb 20 19:21:10 vinco kernel: [    3.292220] raid6: avx2x2   gen() 28575 MB/s
Feb 20 19:21:10 vinco kernel: [    3.360220] raid6: avx2x2   xor() 17658 MB/s
Feb 20 19:21:10 vinco kernel: [    3.428220] raid6: avx2x1   gen() 24388 MB/s
Feb 20 19:21:10 vinco kernel: [    3.496220] raid6: avx2x1   xor() 16209 MB/s
Feb 20 19:21:10 vinco kernel: [    3.564221] raid6: sse2x4   gen() 17600 MB/s
Feb 20 19:21:10 vinco kernel: [    3.632220] raid6: sse2x4   xor() 10875 MB/s
Feb 20 19:21:10 vinco kernel: [    3.700221] raid6: sse2x2   gen() 14764 MB/s
Feb 20 19:21:10 vinco kernel: [    3.768219] raid6: sse2x2   xor()  9633 MB/s
Feb 20 19:21:10 vinco kernel: [    3.836222] raid6: sse2x1   gen() 12411 MB/s
Feb 20 19:21:10 vinco kernel: [    3.904224] raid6: sse2x1   xor()  8422 MB/s
Feb 20 19:21:10 vinco kernel: [    3.904225] raid6: using algorithm avx2x4 gen() 31323 MB/s
Feb 20 19:21:10 vinco kernel: [    3.904225] raid6: .... xor() 20496 MB/s, rmw enabled
Feb 20 19:21:10 vinco kernel: [    3.904226] raid6: using avx2x2 recovery algorithm
Feb 20 19:21:10 vinco kernel: [    3.909997] xor: automatically using best checksumming function   avx       
Feb 20 19:21:10 vinco kernel: [    3.951697] Btrfs loaded, crc32c=crc32c-intel
Feb 20 19:21:10 vinco kernel: [    4.116179] PM: Image not found (code -22)
Feb 20 19:21:10 vinco kernel: [    4.199940] EXT4-fs (sda4): mounted filesystem with ordered data mode. Opts: (null)
Feb 20 19:21:10 vinco kernel: [    4.564921] EXT4-fs (sda4): re-mounted. Opts: errors=remount-ro
Feb 20 19:21:10 vinco kernel: [    4.573903] lp: driver loaded but no devices found
Feb 20 19:21:10 vinco kernel: [    4.578084] ppdev: user-space parallel port driver
Feb 20 19:21:10 vinco kernel: [    4.710685] input: Asus Wireless Radio Control as /devices/LNXSYSTM:00/LNXSYBUS:00/ATK4002:00/input/input24
Feb 20 19:21:10 vinco kernel: [    4.712168] ACPI: AC Adapter [AC0] (on-line)
Feb 20 19:21:10 vinco kernel: [    4.804457] EDAC ie31200: No ECC support
Feb 20 19:21:10 vinco kernel: [    4.806118] EFI Variables Facility v0.08 2004-May-17
Feb 20 19:21:10 vinco kernel: [    4.806595] sr 2:0:0:0: Attached scsi generic sg0 type 5
Feb 20 19:21:10 vinco kernel: [    4.806687] sd 4:0:0:0: Attached scsi generic sg1 type 0
Feb 20 19:21:10 vinco kernel: [    4.807197] input: PC Speaker as /devices/platform/pcspkr/input/input25
Feb 20 19:21:10 vinco kernel: [    4.807861] iTCO_vendor_support: vendor-support=0
Feb 20 19:21:10 vinco kernel: [    4.810605] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
Feb 20 19:21:10 vinco kernel: [    4.810643] iTCO_wdt: Found a Lynx Point TCO device (Version=2, TCOBASE=0x1860)
Feb 20 19:21:10 vinco kernel: [    4.812158] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
Feb 20 19:21:10 vinco kernel: [    4.814992] asus_wmi: ASUS WMI generic driver loaded
Feb 20 19:21:10 vinco kernel: [    4.816361] asus_wmi: Initialization: 0x1
Feb 20 19:21:10 vinco kernel: [    4.816396] asus_wmi: BIOS WMI version: 7.9
Feb 20 19:21:10 vinco kernel: [    4.816442] asus_wmi: SFUN value: 0x6a0877
Feb 20 19:21:10 vinco kernel: [    4.816444] asus-nb-wmi asus-nb-wmi: Detected ATK, not ASUSWMI, use DSTS
Feb 20 19:21:10 vinco kernel: [    4.816446] asus-nb-wmi asus-nb-wmi: Detected ATK, enable event queue
Feb 20 19:21:10 vinco kernel: [    4.817884] input: Asus WMI hotkeys as /devices/platform/asus-nb-wmi/input/input26
Feb 20 19:21:10 vinco kernel: [    4.828773] RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 655360 ms ovfl timer
Feb 20 19:21:10 vinco kernel: [    4.828774] RAPL PMU: hw unit of domain pp0-core 2^-14 Joules
Feb 20 19:21:10 vinco kernel: [    4.828775] RAPL PMU: hw unit of domain package 2^-14 Joules
Feb 20 19:21:10 vinco kernel: [    4.828775] RAPL PMU: hw unit of domain dram 2^-14 Joules
Feb 20 19:21:10 vinco kernel: [    4.828776] RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules
Feb 20 19:21:10 vinco kernel: [    4.834469] pstore: Using crash dump compression: deflate
Feb 20 19:21:10 vinco kernel: [    4.839856] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.839938] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.840014] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.840090] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.840166] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.840243] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.840468] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.840677] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.840757] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.840829] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.840904] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.840981] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.841052] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.841125] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.841197] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.841275] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.841633] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.841781] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.842016] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.845879] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.848046] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.848172] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.848395] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.848515] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.848592] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.848670] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.848747] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.848824] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.848896] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.848969] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.849049] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.849128] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.849633] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.849704] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.850886] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.850971] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.851039] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.851608] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.851673] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.851735] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.851799] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.851865] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.851926] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.852750] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.854821] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.854898] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.856146] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.856234] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.857483] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.857564] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.858219] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.858870] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.858948] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.859583] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.859668] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.859742] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.859800] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.859853] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.859906] pstore: crypto_comp_decompress failed, ret = -22!
Feb 20 19:21:10 vinco kernel: [    4.859938] pstore: Registered efi as persistent store backend
Feb 20 19:21:10 vinco kernel: [    4.865564] mc: Linux media interface: v0.10
Feb 20 19:21:10 vinco kernel: [    4.913726] videodev: Linux video capture interface: v2.00
Feb 20 19:21:10 vinco kernel: [    4.925068] cryptd: max_cpu_qlen set to 1000
Feb 20 19:21:10 vinco kernel: [    4.932438] Intel(R) Wireless WiFi driver for Linux
Feb 20 19:21:10 vinco kernel: [    4.932439] Copyright(c) 2003- 2015 Intel Corporation
Feb 20 19:21:10 vinco kernel: [    4.936380] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Feb 20 19:21:10 vinco kernel: [    4.937436] AVX2 version of gcm_enc/dec engaged.
Feb 20 19:21:10 vinco kernel: [    4.937437] AES CTR mode by8 optimization enabled
Feb 20 19:21:10 vinco kernel: [    4.940813] uvcvideo: Found UVC 1.00 device USB2.0 UVC HD Webcam (13d3:5188)
Feb 20 19:21:10 vinco kernel: [    4.944040] alg: No test for fips(ansi_cprng) (fips_ansi_cprng)
Feb 20 19:21:10 vinco kernel: [    4.944508] iwlwifi 0000:04:00.0: firmware: direct-loading firmware iwlwifi-7260-17.ucode
Feb 20 19:21:10 vinco kernel: [    4.944718] iwlwifi 0000:04:00.0: loaded firmware version 17.3216344376.0 op_mode iwlmvm
Feb 20 19:21:10 vinco kernel: [    4.952173] uvcvideo 2-7:1.0: Entity type for entity Extension 4 was not initialized!
Feb 20 19:21:10 vinco kernel: [    4.952175] uvcvideo 2-7:1.0: Entity type for entity Processing 2 was not initialized!
Feb 20 19:21:10 vinco kernel: [    4.952176] uvcvideo 2-7:1.0: Entity type for entity Camera 1 was not initialized!
Feb 20 19:21:10 vinco kernel: [    4.952268] input: USB2.0 UVC HD Webcam: USB2.0 UV as /devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/input/input27
Feb 20 19:21:10 vinco kernel: [    4.952336] usbcore: registered new interface driver uvcvideo
Feb 20 19:21:10 vinco kernel: [    4.952337] USB Video Class driver (1.1.1)
Feb 20 19:21:10 vinco kernel: [    4.985700] Adding 15625212k swap on /dev/sda3.  Priority:-2 extents:1 across:15625212k SSFS
Feb 20 19:21:10 vinco kernel: [    4.997813] EXT4-fs (sda2): mounting ext2 file system using the ext4 subsystem
Feb 20 19:21:10 vinco kernel: [    5.000344] EXT4-fs (sda2): mounted filesystem without journal. Opts: (null)
Feb 20 19:21:10 vinco kernel: [    5.025470] EXT4-fs (sda6): mounted filesystem with ordered data mode. Opts: (null)
Feb 20 19:21:10 vinco kernel: [    5.032670] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input28
Feb 20 19:21:10 vinco kernel: [    5.032709] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input29
Feb 20 19:21:10 vinco kernel: [    5.032741] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input30
Feb 20 19:21:10 vinco kernel: [    5.032774] input: HDA Intel HDMI HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.0/sound/card0/input31
Feb 20 19:21:10 vinco kernel: [    5.032806] input: HDA Intel HDMI HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:03.0/sound/card0/input32
Feb 20 19:21:10 vinco kernel: [    5.118744] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC668: line_outs=2 (0x14/0x1a/0x0/0x0/0x0) type:speaker
Feb 20 19:21:10 vinco kernel: [    5.118747] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Feb 20 19:21:10 vinco kernel: [    5.118759] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
Feb 20 19:21:10 vinco kernel: [    5.118760] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
Feb 20 19:21:10 vinco kernel: [    5.118761] snd_hda_codec_realtek hdaudioC1D0:    inputs:
Feb 20 19:21:10 vinco kernel: [    5.118762] snd_hda_codec_realtek hdaudioC1D0:      Headphone Mic=0x19
Feb 20 19:21:10 vinco kernel: [    5.118764] snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x1b
Feb 20 19:21:10 vinco kernel: [    5.118766] snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
Feb 20 19:21:10 vinco kernel: [    5.143037] input: HDA Intel PCH Headphone Mic as /devices/pci0000:00/0000:00:1b.0/sound/card1/input33
Feb 20 19:21:10 vinco kernel: [    5.145236] Bluetooth: Core ver 2.22
Feb 20 19:21:10 vinco kernel: [    5.145246] NET: Registered protocol family 31
Feb 20 19:21:10 vinco kernel: [    5.145246] Bluetooth: HCI device and connection manager initialized
Feb 20 19:21:10 vinco kernel: [    5.145249] Bluetooth: HCI socket layer initialized
Feb 20 19:21:10 vinco kernel: [    5.145250] Bluetooth: L2CAP socket layer initialized
Feb 20 19:21:10 vinco kernel: [    5.145253] Bluetooth: SCO socket layer initialized
Feb 20 19:21:10 vinco kernel: [    5.153748] iwlwifi 0000:04:00.0: Detected Intel(R) Dual Band Wireless N 7260, REV=0x144
Feb 20 19:21:10 vinco kernel: [    5.172059] iwlwifi 0000:04:00.0: base HW address: 48:51:b7:6b:7d:3a
Feb 20 19:21:10 vinco kernel: [    5.185075] audit: type=1400 audit(1582219270.553:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="aatest-nvidia_modprobe" pid=687 comm="apparmor_parser"
Feb 20 19:21:10 vinco kernel: [    5.185261] audit: type=1400 audit(1582219270.553:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=690 comm="apparmor_parser"
Feb 20 19:21:10 vinco kernel: [    5.185264] audit: type=1400 audit(1582219270.553:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=690 comm="apparmor_parser"
Feb 20 19:21:10 vinco kernel: [    5.185425] audit: type=1400 audit(1582219270.553:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="openbazaard2" pid=686 comm="apparmor_parser"
Feb 20 19:21:10 vinco kernel: [    5.185427] audit: type=1400 audit(1582219270.553:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="openbazaard2//ip" pid=686 comm="apparmor_parser"
Feb 20 19:21:10 vinco kernel: [    5.190214] audit: type=1400 audit(1582219270.557:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="mdnsd" pid=688 comm="apparmor_parser"
Feb 20 19:21:10 vinco kernel: [    5.272643] usbcore: registered new interface driver btusb
Feb 20 19:21:10 vinco kernel: [    5.297804] Bluetooth: hci0: read Intel version: 3707100180012d0d00
Feb 20 19:21:10 vinco kernel: [    5.298765] bluetooth hci0: firmware: direct-loading firmware intel/ibt-hw-37.7.10-fw-1.80.1.2d.d.bseq
Feb 20 19:21:10 vinco kernel: [    5.298768] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.1.2d.d.bseq
Feb 20 19:21:10 vinco kernel: [    5.378534] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
Feb 20 19:21:10 vinco kernel: [    5.381318] iwlwifi 0000:04:00.0 wlp4s0: renamed from wlan0
Feb 20 19:21:10 vinco kernel: [    5.471226] Bluetooth: hci0: unexpected event for opcode 0xfc2f
Feb 20 19:21:10 vinco kernel: [    5.486213] Bluetooth: hci0: Intel firmware patch completed and activated
Feb 20 19:21:10 vinco kernel: [    5.564715] bbswitch: version 0.8
Feb 20 19:21:10 vinco kernel: [    5.564721] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
Feb 20 19:21:10 vinco kernel: [    5.564727] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP
Feb 20 19:21:10 vinco kernel: [    5.564739] ACPI Warning: \_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20190816/nsarguments-59)
Feb 20 19:21:10 vinco kernel: [    5.564833] bbswitch: detected an Optimus _DSM function
Feb 20 19:21:10 vinco kernel: [    5.564912] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
Feb 20 19:21:10 vinco kernel: [    5.565565] bbswitch: disabling discrete graphics
Feb 20 19:21:10 vinco kernel: [    5.570239] intel_rapl_common: Found RAPL domain package
Feb 20 19:21:10 vinco kernel: [    5.570241] intel_rapl_common: Found RAPL domain core
Feb 20 19:21:10 vinco kernel: [    5.570241] intel_rapl_common: Found RAPL domain uncore
Feb 20 19:21:10 vinco kernel: [    5.570242] intel_rapl_common: Found RAPL domain dram
Feb 20 19:21:10 vinco kernel: [    5.570245] intel_rapl_common: RAPL package-0 domain package locked by BIOS
Feb 20 19:21:10 vinco kernel: [    5.570249] intel_rapl_common: RAPL package-0 domain dram locked by BIOS
Feb 20 19:21:10 vinco kernel: [    5.577983] IPMI message handler: version 39.2
Feb 20 19:21:10 vinco kernel: [    5.580068] ipmi device interface
Feb 20 19:21:11 vinco kernel: [    5.629143] nvidia: module license 'NVIDIA' taints kernel.
Feb 20 19:21:11 vinco kernel: [    5.629144] Disabling lock debugging due to kernel taint
Feb 20 19:21:11 vinco kernel: [    5.640210] nvidia-nvlink: Nvlink Core is being initialized, major device number 244
Feb 20 19:21:11 vinco kernel: [    5.640508] nvidia 0000:01:00.0: Refused to change power state, currently in D3
Feb 20 19:21:11 vinco kernel: [    5.640608] NVRM: This is a 64-bit BAR mapped above 4GB by the system
Feb 20 19:21:11 vinco kernel: [    5.640608] NVRM: BIOS or the Linux kernel, but the PCI bridge
Feb 20 19:21:11 vinco kernel: [    5.640608] NVRM: immediately upstream of this GPU does not define
Feb 20 19:21:11 vinco kernel: [    5.640608] NVRM: a matching prefetchable memory window.
Feb 20 19:21:11 vinco kernel: [    5.640608] NVRM: This may be due to a known Linux kernel bug.  Please
Feb 20 19:21:11 vinco kernel: [    5.640608] NVRM: see the README section on 64-bit BARs for additional
Feb 20 19:21:11 vinco kernel: [    5.640608] NVRM: information.
Feb 20 19:21:11 vinco kernel: [    5.640614] nvidia: probe of 0000:01:00.0 failed with error -1
Feb 20 19:21:11 vinco kernel: [    5.640634] NVRM: The NVIDIA probe routine failed for 1 device(s).
Feb 20 19:21:11 vinco kernel: [    5.640634] NVRM: None of the NVIDIA graphics adapters were initialized!
Feb 20 19:21:11 vinco kernel: [    5.649176] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Feb 20 19:21:11 vinco kernel: [    5.649177] Bluetooth: BNEP filters: protocol multicast
Feb 20 19:21:11 vinco kernel: [    5.649180] Bluetooth: BNEP socket layer initialized
Feb 20 19:21:11 vinco kernel: [    5.712407] nvidia-nvlink: Unregistered the Nvlink Core, major device number 244
Feb 20 19:21:11 vinco kernel: [    5.960180] enp5s0f1: 0xffffc0e740051000, 08:62:66:b3:2e:1c, IRQ 31
Feb 20 19:21:12 vinco kernel: [    7.087864] broken atomic modeset userspace detected, disabling atomic
Feb 20 19:21:14 vinco kernel: [    9.392232] r8168: enp5s0f1: link up
Feb 20 19:21:14 vinco kernel: [    9.392273] IPv6: ADDRCONF(NETDEV_CHANGE): enp5s0f1: link becomes ready
Feb 20 19:21:14 vinco kernel: [    9.427484] PPP generic driver version 2.4.2
Feb 20 19:21:14 vinco kernel: [    9.428159] NET: Registered protocol family 24
Feb 20 19:21:14 vinco kernel: [    9.433710] l2tp_core: L2TP core driver, V2.0
Feb 20 19:21:14 vinco kernel: [    9.435235] l2tp_netlink: L2TP netlink interface
Feb 20 19:21:14 vinco kernel: [    9.436835] l2tp_ppp: PPPoL2TP kernel driver, V2.0
Feb 20 19:21:14 vinco kernel: [    9.450166] vboxdrv: Found 8 processor cores
Feb 20 19:21:14 vinco kernel: [    9.452361] Initializing XFRM netlink socket
Feb 20 19:21:14 vinco kernel: [    9.468456] vboxdrv: TSC mode is Invariant, tentative frequency 2494226002 Hz
Feb 20 19:21:14 vinco kernel: [    9.468458] vboxdrv: Successfully loaded version 6.1.2_Debian (interface 0x002d0001)
Feb 20 19:21:14 vinco kernel: [    9.478056] VBoxNetFlt: Successfully started.
Feb 20 19:21:14 vinco kernel: [    9.485477] VBoxNetAdp: Successfully started.
Feb 20 19:21:20 vinco kernel: [   15.520313] r8168: enp5s0f1: link down
Feb 20 19:21:22 vinco kernel: [   17.312543] Bluetooth: RFCOMM TTY layer initialized
Feb 20 19:21:22 vinco kernel: [   17.312551] Bluetooth: RFCOMM socket layer initialized
Feb 20 19:21:22 vinco kernel: [   17.312555] Bluetooth: RFCOMM ver 1.11
Feb 20 19:21:24 vinco kernel: [   18.644190] r8168: enp5s0f1: link up
Feb 20 19:21:55 vinco kernel: [   50.021879] nf_conntrack: default automatic helper assignment has been turned off for security reasons and CT-based  firewall rule not found. Use the iptables CT target to attach helpers instead.
Feb 20 19:22:49 vinco kernel: [  103.860161] logitech-hidpp-device 0003:046D:101B.0004: HID++ 1.0 device connected.
Feb 20 19:22:49 vinco kernel: [  103.970188] logitech-hidpp-device 0003:046D:101B.0004: multiplier = 8
Feb 20 19:23:02 vinco kernel: [  116.512801] SUPR0GipMap: fGetGipCpu=0x1b
Feb 20 19:23:02 vinco kernel: [  117.269532] vboxdrv: 00000000b709ba0f VMMR0.r0
Feb 20 19:23:02 vinco kernel: [  117.381615] vboxdrv: 00000000a10569cf VBoxDDR0.r0
Feb 20 19:23:02 vinco kernel: [  117.426700] vboxdrv: 00000000b6b7684b VBoxEhciR0.r0
Feb 20 19:23:02 vinco kernel: [  117.429249] VMMR0InitVM: eflags=246 fKernelFeatures=0x4 (SUPKERNELFEATURES_SMAP=0)
Feb 20 19:24:54 vinco kernel: [  228.808802] ------------[ cut here ]------------
Feb 20 19:24:54 vinco kernel: [  228.808832] NETDEV WATCHDOG: enp5s0f1 (r8168): transmit queue 0 timed out
Feb 20 19:24:54 vinco kernel: [  228.808865] WARNING: CPU: 7 PID: 0 at net/sched/sch_generic.c:447 dev_watchdog+0x248/0x250
Feb 20 19:24:54 vinco kernel: [  228.808871] Modules linked in: xt_recent ipt_REJECT nf_reject_ipv4 xt_multiport xt_conntrack xt_hashlimit xt_addrtype xt_iface(OE) xt_mark nft_chain_nat xt_comment xt_CT xt_owner xt_tcpudp nft_compat nft_counter xt_NFLOG nf_log_ipv4 nf_log_common xt_LOG nf_nat_tftp nf_nat_snmp_basic nf_conntrack_snmp nf_nat_sip nf_nat_pptp nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat_amanda ts_kmp nf_conntrack_amanda nf_nat nf_conntrack_sane nf_conntrack_tftp nf_conntrack_sip nf_conntrack_pptp nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_broadcast nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables rfcomm vboxnetadp(OE) vboxnetflt(OE) xfrm_user xfrm_algo vboxdrv(OE) l2tp_ppp l2tp_netlink l2tp_core ip6_udp_tunnel udp_tunnel pppox ppp_generic slhc bnep nfnetlink_log nfnetlink ipmi_devintf ipmi_msghandler intel_rapl_msr intel_rapl_common bbswitch(OE) x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass btusb btrtl iwlmvm btbcm
Feb 20 19:24:54 vinco kernel: [  228.808935]  binfmt_misc btintel bluetooth crct10dif_pclmul nls_ascii ghash_clmulni_intel mac80211 nls_cp437 snd_hda_codec_realtek snd_hda_codec_generic vfat drbg ledtrig_audio libarc4 snd_hda_codec_hdmi fat uvcvideo aesni_intel iwlwifi videobuf2_vmalloc ansi_cprng crypto_simd videobuf2_memops videobuf2_v4l2 snd_hda_intel cryptd glue_helper snd_intel_nhlt videobuf2_common snd_hda_codec videodev snd_hda_core intel_cstate ecdh_generic ecc cfg80211 mc intel_uncore efi_pstore snd_hwdep snd_pcm snd_timer asus_nb_wmi joydev asus_wmi snd sparse_keymap iTCO_wdt rtsx_pci_ms iTCO_vendor_support pcspkr intel_rapl_perf serio_raw sg efivars soundcore memstick watchdog rfkill ie31200_edac evdev ac asus_wireless parport_pc ppdev lp parport efivarfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 btrfs xor zstd_decompress zstd_compress raid6_pq libcrc32c crc32c_generic sr_mod cdrom sd_mod hid_logitech_hidpp hid_logitech_dj hid_generic usbhid hid i915 rtsx_pci_sdmmc mmc_core i2c_algo_bit ahci
Feb 20 19:24:54 vinco kernel: [  228.809003]  drm_kms_helper libahci xhci_pci crc32_pclmul mxm_wmi libata xhci_hcd drm crc32c_intel ehci_pci ehci_hcd psmouse scsi_mod usbcore rtsx_pci lpc_ich i2c_i801 mfd_core r8168(OE) usb_common video wmi battery button
Feb 20 19:24:54 vinco kernel: [  228.809025] CPU: 7 PID: 0 Comm: swapper/7 Tainted: P           OE     5.4.0-4-amd64 #1 Debian 5.4.19-1
Feb 20 19:24:54 vinco kernel: [  228.809027] Hardware name: ASUSTeK COMPUTER INC. N551JM/N551JM, BIOS N551JM.205 02/13/2015
Feb 20 19:24:54 vinco kernel: [  228.809034] RIP: 0010:dev_watchdog+0x248/0x250
Feb 20 19:24:54 vinco kernel: [  228.809038] Code: 85 c0 75 e5 eb 9f 4c 89 ef c6 05 58 1d a8 00 01 e8 0d e4 fa ff 44 89 e1 4c 89 ee 48 c7 c7 f0 cc d2 9a 48 89 c2 e8 76 40 a0 ff <0f> 0b eb 80 0f 1f 40 00 0f 1f 44 00 00 41 57 41 56 49 89 d6 41 55
Feb 20 19:24:54 vinco kernel: [  228.809040] RSP: 0018:ffffc0e74020ce68 EFLAGS: 00010286
Feb 20 19:24:54 vinco kernel: [  228.809043] RAX: 0000000000000000 RBX: ffff9f660df8e200 RCX: 000000000000083f
Feb 20 19:24:54 vinco kernel: [  228.809044] RDX: 0000000000000000 RSI: 00000000000000f6 RDI: 000000000000083f
Feb 20 19:24:54 vinco kernel: [  228.809046] RBP: ffff9f660d30045c R08: ffff9f661edd7688 R09: 0000000000000004
Feb 20 19:24:54 vinco kernel: [  228.809048] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
Feb 20 19:24:54 vinco kernel: [  228.809049] R13: ffff9f660d300000 R14: ffff9f660d300480 R15: 0000000000000001
Feb 20 19:24:54 vinco kernel: [  228.809052] FS:  0000000000000000(0000) GS:ffff9f661edc0000(0000) knlGS:0000000000000000
Feb 20 19:24:54 vinco kernel: [  228.809054] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Feb 20 19:24:54 vinco kernel: [  228.809055] CR2: 00005f1110bf6da4 CR3: 0000000185e0a001 CR4: 00000000001626e0
Feb 20 19:24:54 vinco kernel: [  228.809057] Call Trace:
Feb 20 19:24:54 vinco kernel: [  228.809060]  <IRQ>
Feb 20 19:24:54 vinco kernel: [  228.809068]  ? pfifo_fast_enqueue+0x150/0x150
Feb 20 19:24:54 vinco kernel: [  228.809073]  call_timer_fn+0x2d/0x130
Feb 20 19:24:54 vinco kernel: [  228.809077]  __run_timers.part.0+0x16f/0x260
Feb 20 19:24:54 vinco kernel: [  228.809084]  ? tick_sched_handle+0x22/0x60
Feb 20 19:24:54 vinco kernel: [  228.809089]  ? tick_sched_timer+0x38/0x80
Feb 20 19:24:54 vinco kernel: [  228.809093]  ? tick_sched_do_timer+0x60/0x60
Feb 20 19:24:54 vinco kernel: [  228.809096]  run_timer_softirq+0x26/0x50
Feb 20 19:24:54 vinco kernel: [  228.809102]  __do_softirq+0xe6/0x2e9
Feb 20 19:24:54 vinco kernel: [  228.809111]  irq_exit+0xa6/0xb0
Feb 20 19:24:54 vinco kernel: [  228.809115]  smp_apic_timer_interrupt+0x76/0x130
Feb 20 19:24:54 vinco kernel: [  228.809118]  apic_timer_interrupt+0xf/0x20
Feb 20 19:24:54 vinco kernel: [  228.809120]  </IRQ>
Feb 20 19:24:54 vinco kernel: [  228.809126] RIP: 0010:cpuidle_enter_state+0xc4/0x450
Feb 20 19:24:54 vinco kernel: [  228.809129] Code: e8 b1 54 ad ff 80 7c 24 0f 00 74 17 9c 58 0f 1f 44 00 00 f6 c4 02 0f 85 61 03 00 00 31 ff e8 a3 74 b3 ff fb 66 0f 1f 44 00 00 <45> 85 e4 0f 88 8c 02 00 00 49 63 cc 4c 2b 6c 24 10 48 8d 04 49 48
Feb 20 19:24:54 vinco kernel: [  228.809131] RSP: 0018:ffffc0e7400cfe68 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
Feb 20 19:24:54 vinco kernel: [  228.809133] RAX: ffff9f661edea6c0 RBX: ffffffff9aeb92e0 RCX: 000000000000001f
Feb 20 19:24:54 vinco kernel: [  228.809135] RDX: 0000000000000000 RSI: 000000003351882d RDI: 0000000000000000
Feb 20 19:24:54 vinco kernel: [  228.809137] RBP: ffff9f661edf4a00 R08: 000000354610e2fa R09: 0000000000029fa0
Feb 20 19:24:54 vinco kernel: [  228.809138] R10: ffff9f661ede95a0 R11: ffff9f661ede9580 R12: 0000000000000005
Feb 20 19:24:54 vinco kernel: [  228.809140] R13: 000000354610e2fa R14: 0000000000000005 R15: ffff9f661caa8f00
Feb 20 19:24:54 vinco kernel: [  228.809145]  ? cpuidle_enter_state+0x9f/0x450
Feb 20 19:24:54 vinco kernel: [  228.809149]  cpuidle_enter+0x29/0x40
Feb 20 19:24:54 vinco kernel: [  228.809155]  do_idle+0x1dc/0x270
Feb 20 19:24:54 vinco kernel: [  228.809162]  cpu_startup_entry+0x19/0x20
Feb 20 19:24:54 vinco kernel: [  228.809168]  start_secondary+0x15f/0x1b0
Feb 20 19:24:54 vinco kernel: [  228.809174]  secondary_startup_64+0xa4/0xb0
Feb 20 19:24:54 vinco kernel: [  228.809179] ---[ end trace f2c0113df7c88e86 ]---
Feb 20 19:24:57 vinco kernel: [  231.448423] r8168: enp5s0f1: link up

^ permalink raw reply

* Re: [PATCH AUTOSEL 5.5 408/542] drm/amdgpu: add the lost mutex_init back
From: Sasha Levin @ 2020-02-20 17:36 UTC (permalink / raw)
  To: Alex Deucher
  Cc: Feifei Xu, xinhui pan, LKML, amd-gfx list,
	Maling list - DRI developers, Alex Deucher, for 3.8,
	Christian König
In-Reply-To: <CADnq5_MMLNtb=3LLHsYnXtONQf4NWNgV226w2=OFk3JpCRj3sA@mail.gmail.com>

On Fri, Feb 14, 2020 at 11:22:27AM -0500, Alex Deucher wrote:
>On Fri, Feb 14, 2020 at 10:57 AM Sasha Levin <sashal@kernel.org> wrote:
>>
>> From: "Pan, Xinhui" <Xinhui.Pan@amd.com>
>>
>> [ Upstream commit bd0522112332663e386df1b8642052463ea9b3b9 ]
>>
>> Initialize notifier_lock.
>>
>> Bug: https://gitlab.freedesktop.org/drm/amd/issues/1016
>> Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
>> Reviewed-by: Christian König <christian.koenig@amd.com>
>> Signed-off-by: xinhui pan <xinhui.pan@amd.com>
>> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
>> Signed-off-by: Sasha Levin <sashal@kernel.org>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index 332b9c24a2cd0..a2f788ad7e1c6 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -2797,6 +2797,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,
>>         mutex_init(&adev->notifier_lock);
>>         mutex_init(&adev->virt.dpm_mutex);
>>         mutex_init(&adev->psp.mutex);
>> +       mutex_init(&adev->notifier_lock);
>>
>
>This patch is not relevant here.  The same mutex is already
>initialized 3 lines above.

Now dropped, thank you.

-- 
Thanks,
Sasha
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply

* Re: [PULL 00/17] Trivial branch patches
From: Peter Maydell @ 2020-02-20 17:35 UTC (permalink / raw)
  To: Laurent Vivier
  Cc: Fam Zheng, Jason Wang, Michael Tokarev, QEMU Developers,
	Max Filippov, Gerd Hoffmann, Marek Vasut, Qemu-block,
	QEMU Trivial, Marcel Apfelbaum, Philippe Mathieu-Daudé,
	Laurent Vivier, Thomas Huth, Jiri Pirko, Eduardo Habkost,
	Alistair Francis, Yuval Shaia, Alex Williamson, qemu-arm,
	Richard Henderson, Kevin Wolf, Thomas Huth, Chris Wulff,
	Max Reitz, Paolo Bonzini
In-Reply-To: <20200219101612.1033925-1-laurent@vivier.eu>

On Wed, 19 Feb 2020 at 10:16, Laurent Vivier <laurent@vivier.eu> wrote:
>
> The following changes since commit 6c599282f8ab382fe59f03a6cae755b89561a7b3:
>
>   Merge remote-tracking branch 'remotes/armbru/tags/pull-monitor-2020-02-15-v2' into staging (2020-02-17 13:32:25 +0000)
>
> are available in the Git repository at:
>
>   git://github.com/vivier/qemu.git tags/trivial-branch-pull-request
>
> for you to fetch changes up to d1cb67841ca213802ee789957188ec87e8b7996d:
>
>   hw/xtensa/xtfpga:fix leak of fdevice tree blob (2020-02-19 10:33:38 +0100)
>
> ----------------------------------------------------------------
> Fix memory leak with fdt
> cosmetic change in code and logs
> update mailmap
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0
for any user-visible changes.

-- PMM

^ permalink raw reply

* Re: [PATCH AUTOSEL 5.5 408/542] drm/amdgpu: add the lost mutex_init back
From: Sasha Levin @ 2020-02-20 17:36 UTC (permalink / raw)
  To: Alex Deucher
  Cc: LKML, for 3.8, Feifei Xu, xinhui pan, amd-gfx list,
	Maling list - DRI developers, Alex Deucher, Christian König
In-Reply-To: <CADnq5_MMLNtb=3LLHsYnXtONQf4NWNgV226w2=OFk3JpCRj3sA@mail.gmail.com>

On Fri, Feb 14, 2020 at 11:22:27AM -0500, Alex Deucher wrote:
>On Fri, Feb 14, 2020 at 10:57 AM Sasha Levin <sashal@kernel.org> wrote:
>>
>> From: "Pan, Xinhui" <Xinhui.Pan@amd.com>
>>
>> [ Upstream commit bd0522112332663e386df1b8642052463ea9b3b9 ]
>>
>> Initialize notifier_lock.
>>
>> Bug: https://gitlab.freedesktop.org/drm/amd/issues/1016
>> Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
>> Reviewed-by: Christian König <christian.koenig@amd.com>
>> Signed-off-by: xinhui pan <xinhui.pan@amd.com>
>> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
>> Signed-off-by: Sasha Levin <sashal@kernel.org>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index 332b9c24a2cd0..a2f788ad7e1c6 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -2797,6 +2797,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,
>>         mutex_init(&adev->notifier_lock);
>>         mutex_init(&adev->virt.dpm_mutex);
>>         mutex_init(&adev->psp.mutex);
>> +       mutex_init(&adev->notifier_lock);
>>
>
>This patch is not relevant here.  The same mutex is already
>initialized 3 lines above.

Now dropped, thank you.

-- 
Thanks,
Sasha

^ permalink raw reply

* Re: [PATCH AUTOSEL 5.5 408/542] drm/amdgpu: add the lost mutex_init back
From: Sasha Levin @ 2020-02-20 17:36 UTC (permalink / raw)
  To: Alex Deucher
  Cc: Feifei Xu, xinhui pan, LKML, amd-gfx list,
	Maling list - DRI developers, Alex Deucher, for 3.8,
	Christian König
In-Reply-To: <CADnq5_MMLNtb=3LLHsYnXtONQf4NWNgV226w2=OFk3JpCRj3sA@mail.gmail.com>

On Fri, Feb 14, 2020 at 11:22:27AM -0500, Alex Deucher wrote:
>On Fri, Feb 14, 2020 at 10:57 AM Sasha Levin <sashal@kernel.org> wrote:
>>
>> From: "Pan, Xinhui" <Xinhui.Pan@amd.com>
>>
>> [ Upstream commit bd0522112332663e386df1b8642052463ea9b3b9 ]
>>
>> Initialize notifier_lock.
>>
>> Bug: https://gitlab.freedesktop.org/drm/amd/issues/1016
>> Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
>> Reviewed-by: Christian König <christian.koenig@amd.com>
>> Signed-off-by: xinhui pan <xinhui.pan@amd.com>
>> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
>> Signed-off-by: Sasha Levin <sashal@kernel.org>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index 332b9c24a2cd0..a2f788ad7e1c6 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -2797,6 +2797,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,
>>         mutex_init(&adev->notifier_lock);
>>         mutex_init(&adev->virt.dpm_mutex);
>>         mutex_init(&adev->psp.mutex);
>> +       mutex_init(&adev->notifier_lock);
>>
>
>This patch is not relevant here.  The same mutex is already
>initialized 3 lines above.

Now dropped, thank you.

-- 
Thanks,
Sasha
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply

* Re: [PATCH 0/3] KVM: arm64: Ask the compiler to __always_inline functions used by KVM at HYP
From: Ard Biesheuvel @ 2020-02-20 17:35 UTC (permalink / raw)
  To: James Morse
  Cc: Suzuki K Poulose, Marc Zyngier, linux-arm-kernel, Sami Tolvanen,
	Catalin Marinas, Will Deacon, kvmarm, Julien Thierry
In-Reply-To: <1ecedad2-1b3e-0d37-42e8-7022ac5a8370@arm.com>

On Thu, 20 Feb 2020 at 18:33, James Morse <james.morse@arm.com> wrote:
>
> Hi Ard,
>
> On 20/02/2020 17:04, Ard Biesheuvel wrote:
> > On Thu, 20 Feb 2020 at 17:58, James Morse <james.morse@arm.com> wrote:
> >> It turns out KVM relies on the inline hint being honoured by the compiler
> >> in quite a few more places than expected. Something about the Shadow Call
> >> Stack support[0] causes the compiler to avoid inline-ing and to place
> >> these functions outside the __hyp_text. This ruins KVM's day.
> >>
> >> Add the simon-says __always_inline annotation to all the static
> >> inlines that KVM calls from HYP code.
>
> > This isn't quite as yuck as I expected, fortunately, but it does beg
> > the question whether we shouldn't simply map the entire kernel at EL2
> > instead?
>
> If the kernel is big enough to need internal veneers (the 128M range?), these would
> certainly go horribly wrong because its running somewhere other than the relocation-time
> address. We would need a way of telling the linker to keep the bits of KVM close together...
>

Ah, of course, there is that as well ...

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply

* Re: [PATCH 0/3] KVM: arm64: Ask the compiler to __always_inline functions used by KVM at HYP
From: Ard Biesheuvel @ 2020-02-20 17:35 UTC (permalink / raw)
  To: James Morse
  Cc: Marc Zyngier, linux-arm-kernel, Sami Tolvanen, Catalin Marinas,
	Will Deacon, kvmarm
In-Reply-To: <1ecedad2-1b3e-0d37-42e8-7022ac5a8370@arm.com>

On Thu, 20 Feb 2020 at 18:33, James Morse <james.morse@arm.com> wrote:
>
> Hi Ard,
>
> On 20/02/2020 17:04, Ard Biesheuvel wrote:
> > On Thu, 20 Feb 2020 at 17:58, James Morse <james.morse@arm.com> wrote:
> >> It turns out KVM relies on the inline hint being honoured by the compiler
> >> in quite a few more places than expected. Something about the Shadow Call
> >> Stack support[0] causes the compiler to avoid inline-ing and to place
> >> these functions outside the __hyp_text. This ruins KVM's day.
> >>
> >> Add the simon-says __always_inline annotation to all the static
> >> inlines that KVM calls from HYP code.
>
> > This isn't quite as yuck as I expected, fortunately, but it does beg
> > the question whether we shouldn't simply map the entire kernel at EL2
> > instead?
>
> If the kernel is big enough to need internal veneers (the 128M range?), these would
> certainly go horribly wrong because its running somewhere other than the relocation-time
> address. We would need a way of telling the linker to keep the bits of KVM close together...
>

Ah, of course, there is that as well ...
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply

* Re: [PULL 00/17] Trivial branch patches
From: Peter Maydell @ 2020-02-20 17:35 UTC (permalink / raw)
  To: Laurent Vivier
  Cc: QEMU Developers, Kevin Wolf, Marcel Apfelbaum, Marek Vasut,
	Thomas Huth, Max Filippov, Jiri Pirko, qemu-arm, Alistair Francis,
	Gerd Hoffmann, Alex Williamson, Philippe Mathieu-Daudé,
	Richard Henderson, Jason Wang, QEMU Trivial, Laurent Vivier,
	Eduardo Habkost, Michael Tokarev, Edgar E. Iglesias, Yuval Shaia,
	Thomas Huth, Qemu-block, Chris Wulff, Max Reitz, Fam Zheng,
	Paolo Bonzini
In-Reply-To: <20200219101612.1033925-1-laurent@vivier.eu>

On Wed, 19 Feb 2020 at 10:16, Laurent Vivier <laurent@vivier.eu> wrote:
>
> The following changes since commit 6c599282f8ab382fe59f03a6cae755b89561a7b3:
>
>   Merge remote-tracking branch 'remotes/armbru/tags/pull-monitor-2020-02-15-v2' into staging (2020-02-17 13:32:25 +0000)
>
> are available in the Git repository at:
>
>   git://github.com/vivier/qemu.git tags/trivial-branch-pull-request
>
> for you to fetch changes up to d1cb67841ca213802ee789957188ec87e8b7996d:
>
>   hw/xtensa/xtfpga:fix leak of fdevice tree blob (2020-02-19 10:33:38 +0100)
>
> ----------------------------------------------------------------
> Fix memory leak with fdt
> cosmetic change in code and logs
> update mailmap
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0
for any user-visible changes.

-- PMM


^ permalink raw reply

* Re: [RFC PATCH] iommu/iova: Support limiting IOVA alignment
From: Robin Murphy @ 2020-02-20 17:35 UTC (permalink / raw)
  To: Liam Mark, Will Deacon
  Cc: Isaac J. Manjarres, Pratik Patel, linux-kernel, iommu,
	kernel-team
In-Reply-To: <alpine.DEB.2.10.2002191517150.636@lmark-linux.qualcomm.com>

On 19/02/2020 11:22 pm, Liam Mark wrote:
> On Wed, 19 Feb 2020, Will Deacon wrote:
> 
>> On Mon, Feb 17, 2020 at 04:46:14PM +0000, Robin Murphy wrote:
>>> On 14/02/2020 8:30 pm, Liam Mark wrote:
>>>>
>>>> When the IOVA framework applies IOVA alignment it aligns all
>>>> IOVAs to the smallest PAGE_SIZE order which is greater than or
>>>> equal to the requested IOVA size.
>>>>
>>>> We support use cases that requires large buffers (> 64 MB in
>>>> size) to be allocated and mapped in their stage 1 page tables.
>>>> However, with this alignment scheme we find ourselves running
>>>> out of IOVA space for 32 bit devices, so we are proposing this
>>>> config, along the similar vein as CONFIG_CMA_ALIGNMENT for CMA
>>>> allocations.
>>>
>>> As per [1], I'd really like to better understand the allocation patterns
>>> that lead to such a sparsely-occupied address space to begin with, given
>>> that the rbtree allocator is supposed to try to maintain locality as far as
>>> possible, and the rcaches should further improve on that. Are you also
>>> frequently cycling intermediate-sized buffers which are smaller than 64MB
>>> but still too big to be cached?  Are there a lot of non-power-of-two
>>> allocations?
>>
>> Right, information on the allocation pattern would help with this change
>> and also the choice of IOVA allocation algorithm. Without it, we're just
>> shooting in the dark.
>>
> 
> Thanks for the responses.
> 
> I am looking into how much of our allocation pattern details I can share.
> 
> My general understanding is that this issue occurs on a 32bit devices
> which have additional restrictions on the IOVA range they can use within those
> 32bits.
> 
> An example is a use case which involves allocating a lot of buffers ~80MB
> is size, the current algorithm will require an alignment of 128MB for
> those buffers. My understanding is that it simply can't accommodate the number of 80MB
> buffers that are required because the of amount of IOVA space which can't
> be used because of the 128MB alignment requirement.

OK, that's a case I can understand :)

>>>> Add CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT to limit the alignment of
>>>> IOVAs to some desired PAGE_SIZE order, specified by
>>>> CONFIG_IOMMU_IOVA_ALIGNMENT. This helps reduce the impact of
>>>> fragmentation caused by the current IOVA alignment scheme, and
>>>> gives better IOVA space utilization.
>>>
>>> Even if the general change did prove reasonable, this IOVA allocator is not
>>> owned by the DMA API, so entirely removing the option of strict
>>> size-alignment feels a bit uncomfortable. Personally I'd replace the bool
>>> argument with an actual alignment value to at least hand the authority out
>>> to individual callers.
>>>
>>> Furthermore, even in DMA API terms, is anyone really ever going to bother
>>> tuning that config? Since iommu-dma is supposed to be a transparent layer,
>>> arguably it shouldn't behave unnecessarily differently from CMA, so simply
>>> piggy-backing off CONFIG_CMA_ALIGNMENT would seem logical.
>>
>> Agreed, reusing CONFIG_CMA_ALIGNMENT makes a lot of sense here as callers
>> relying on natural alignment of DMA buffer allocations already have to
>> deal with that limitation. We could fix it as an optional parameter at
>> init time (init_iova_domain()), and have the DMA IOMMU implementation
>> pass it in there.
>>
> 
> My concern with using CONFIG_CMA_ALIGNMENT alignment is that for us this
> would either involve further fragmenting our CMA regions (moving our CMA
> max alignment from 1MB to max 2MB) or losing so of our 2MB IOVA block
> mappings (changing our IOVA max alignment form 2MB to 1MB).
> 
> At least for us CMA allocations are often not DMA mapped into stage 1 page
> tables so moving the CMA max alignment to 2MB in our case would, I think,
> only provide the disadvantage of having to increase the size our CMA
> regions to accommodate this large alignment (which isn’t optimal for
> memory utilization since CMA regions can't satisfy unmovable page
> allocations).
> 
> As an alternative would it be possible for the dma-iommu layer to use the
> size of the allocation and the domain pgsize_bitmap field to pick a max
> IOVA alignment, which it can pass in for that IOVA allocation, which will
> maximize block mappings but not waste IOVA space?

Given that we already have DMA_ATTR_ALOC_SINGLE_PAGES for video drivers 
and suchlike that know enough to know they want "large buffer" 
allocation behaviour, would it suffice to have a similar attribute that 
says "I'm not too fussed about alignment"? That way there's no visible 
change for anyone who doesn't opt in and might be relying on the 
existing behaviour, intentionally or otherwise.

Then if necessary, the implementation can consider both flags together 
to decide whether to try to round down to the next block size or just 
shove it in anywhere.

Robin.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply

* Re: [RFC PATCH] iommu/iova: Support limiting IOVA alignment
From: Robin Murphy @ 2020-02-20 17:35 UTC (permalink / raw)
  To: Liam Mark, Will Deacon
  Cc: Joerg Roedel, Isaac J. Manjarres, Pratik Patel, iommu,
	kernel-team, linux-kernel
In-Reply-To: <alpine.DEB.2.10.2002191517150.636@lmark-linux.qualcomm.com>

On 19/02/2020 11:22 pm, Liam Mark wrote:
> On Wed, 19 Feb 2020, Will Deacon wrote:
> 
>> On Mon, Feb 17, 2020 at 04:46:14PM +0000, Robin Murphy wrote:
>>> On 14/02/2020 8:30 pm, Liam Mark wrote:
>>>>
>>>> When the IOVA framework applies IOVA alignment it aligns all
>>>> IOVAs to the smallest PAGE_SIZE order which is greater than or
>>>> equal to the requested IOVA size.
>>>>
>>>> We support use cases that requires large buffers (> 64 MB in
>>>> size) to be allocated and mapped in their stage 1 page tables.
>>>> However, with this alignment scheme we find ourselves running
>>>> out of IOVA space for 32 bit devices, so we are proposing this
>>>> config, along the similar vein as CONFIG_CMA_ALIGNMENT for CMA
>>>> allocations.
>>>
>>> As per [1], I'd really like to better understand the allocation patterns
>>> that lead to such a sparsely-occupied address space to begin with, given
>>> that the rbtree allocator is supposed to try to maintain locality as far as
>>> possible, and the rcaches should further improve on that. Are you also
>>> frequently cycling intermediate-sized buffers which are smaller than 64MB
>>> but still too big to be cached?  Are there a lot of non-power-of-two
>>> allocations?
>>
>> Right, information on the allocation pattern would help with this change
>> and also the choice of IOVA allocation algorithm. Without it, we're just
>> shooting in the dark.
>>
> 
> Thanks for the responses.
> 
> I am looking into how much of our allocation pattern details I can share.
> 
> My general understanding is that this issue occurs on a 32bit devices
> which have additional restrictions on the IOVA range they can use within those
> 32bits.
> 
> An example is a use case which involves allocating a lot of buffers ~80MB
> is size, the current algorithm will require an alignment of 128MB for
> those buffers. My understanding is that it simply can't accommodate the number of 80MB
> buffers that are required because the of amount of IOVA space which can't
> be used because of the 128MB alignment requirement.

OK, that's a case I can understand :)

>>>> Add CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT to limit the alignment of
>>>> IOVAs to some desired PAGE_SIZE order, specified by
>>>> CONFIG_IOMMU_IOVA_ALIGNMENT. This helps reduce the impact of
>>>> fragmentation caused by the current IOVA alignment scheme, and
>>>> gives better IOVA space utilization.
>>>
>>> Even if the general change did prove reasonable, this IOVA allocator is not
>>> owned by the DMA API, so entirely removing the option of strict
>>> size-alignment feels a bit uncomfortable. Personally I'd replace the bool
>>> argument with an actual alignment value to at least hand the authority out
>>> to individual callers.
>>>
>>> Furthermore, even in DMA API terms, is anyone really ever going to bother
>>> tuning that config? Since iommu-dma is supposed to be a transparent layer,
>>> arguably it shouldn't behave unnecessarily differently from CMA, so simply
>>> piggy-backing off CONFIG_CMA_ALIGNMENT would seem logical.
>>
>> Agreed, reusing CONFIG_CMA_ALIGNMENT makes a lot of sense here as callers
>> relying on natural alignment of DMA buffer allocations already have to
>> deal with that limitation. We could fix it as an optional parameter at
>> init time (init_iova_domain()), and have the DMA IOMMU implementation
>> pass it in there.
>>
> 
> My concern with using CONFIG_CMA_ALIGNMENT alignment is that for us this
> would either involve further fragmenting our CMA regions (moving our CMA
> max alignment from 1MB to max 2MB) or losing so of our 2MB IOVA block
> mappings (changing our IOVA max alignment form 2MB to 1MB).
> 
> At least for us CMA allocations are often not DMA mapped into stage 1 page
> tables so moving the CMA max alignment to 2MB in our case would, I think,
> only provide the disadvantage of having to increase the size our CMA
> regions to accommodate this large alignment (which isn’t optimal for
> memory utilization since CMA regions can't satisfy unmovable page
> allocations).
> 
> As an alternative would it be possible for the dma-iommu layer to use the
> size of the allocation and the domain pgsize_bitmap field to pick a max
> IOVA alignment, which it can pass in for that IOVA allocation, which will
> maximize block mappings but not waste IOVA space?

Given that we already have DMA_ATTR_ALOC_SINGLE_PAGES for video drivers 
and suchlike that know enough to know they want "large buffer" 
allocation behaviour, would it suffice to have a similar attribute that 
says "I'm not too fussed about alignment"? That way there's no visible 
change for anyone who doesn't opt in and might be relying on the 
existing behaviour, intentionally or otherwise.

Then if necessary, the implementation can consider both flags together 
to decide whether to try to round down to the next block size or just 
shove it in anywhere.

Robin.

^ permalink raw reply

* Re: RFC: Split EPT huge pages in advance of dirty logging
From: Ben Gardon @ 2020-02-20 17:34 UTC (permalink / raw)
  To: Zhoujian (jay), Junaid Shahid
  Cc: Peter Xu, kvm@vger.kernel.org, qemu-devel@nongnu.org,
	pbonzini@redhat.com, dgilbert@redhat.com, quintela@redhat.com,
	Liujinsong (Paul), linfeng (M), wangxin (U), Huangweidong (C)
In-Reply-To: <B2D15215269B544CADD246097EACE7474BB03772@DGGEMM528-MBX.china.huawei.com>

On Thu, Feb 20, 2020 at 5:53 AM Zhoujian (jay) <jianjay.zhou@huawei.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Peter Xu [mailto:peterx@redhat.com]
> > Sent: Thursday, February 20, 2020 1:19 AM
> > To: Zhoujian (jay) <jianjay.zhou@huawei.com>
> > Cc: kvm@vger.kernel.org; qemu-devel@nongnu.org; pbonzini@redhat.com;
> > dgilbert@redhat.com; quintela@redhat.com; Liujinsong (Paul)
> > <liu.jinsong@huawei.com>; linfeng (M) <linfeng23@huawei.com>; wangxin (U)
> > <wangxinxin.wang@huawei.com>; Huangweidong (C)
> > <weidong.huang@huawei.com>
> > Subject: Re: RFC: Split EPT huge pages in advance of dirty logging
> >
> > On Wed, Feb 19, 2020 at 01:19:08PM +0000, Zhoujian (jay) wrote:
> > > Hi Peter,
> > >
> > > > -----Original Message-----
> > > > From: Peter Xu [mailto:peterx@redhat.com]
> > > > Sent: Wednesday, February 19, 2020 1:43 AM
> > > > To: Zhoujian (jay) <jianjay.zhou@huawei.com>
> > > > Cc: kvm@vger.kernel.org; qemu-devel@nongnu.org;
> > pbonzini@redhat.com;
> > > > dgilbert@redhat.com; quintela@redhat.com; Liujinsong (Paul)
> > > > <liu.jinsong@huawei.com>; linfeng (M) <linfeng23@huawei.com>;
> > > > wangxin (U) <wangxinxin.wang@huawei.com>; Huangweidong (C)
> > > > <weidong.huang@huawei.com>
> > > > Subject: Re: RFC: Split EPT huge pages in advance of dirty logging
> > > >
> > > > On Tue, Feb 18, 2020 at 01:13:47PM +0000, Zhoujian (jay) wrote:
> > > > > Hi all,
> > > > >
> > > > > We found that the guest will be soft-lockup occasionally when live
> > > > > migrating a 60 vCPU, 512GiB huge page and memory sensitive VM. The
> > > > > reason is clear, almost all of the vCPUs are waiting for the KVM
> > > > > MMU spin-lock to create 4K SPTEs when the huge pages are write
> > > > > protected. This
> > > > phenomenon is also described in this patch set:
> > > > > https://patchwork.kernel.org/cover/11163459/
> > > > > which aims to handle page faults in parallel more efficiently.
> > > > >
> > > > > Our idea is to use the migration thread to touch all of the guest
> > > > > memory in the granularity of 4K before enabling dirty logging. To
> > > > > be more specific, we split all the PDPE_LEVEL SPTEs into
> > > > > DIRECTORY_LEVEL SPTEs as the first step, and then split all the
> > > > > DIRECTORY_LEVEL SPTEs into
> > > > PAGE_TABLE_LEVEL SPTEs as the following step.
> > > >
> > > > IIUC, QEMU will prefer to use huge pages for all the anonymous
> > > > ramblocks (please refer to ram_block_add):
> > > >
> > > >         qemu_madvise(new_block->host, new_block->max_length,
> > > > QEMU_MADV_HUGEPAGE);
> > >
> > > Yes, you're right
> > >
> > > >
> > > > Another alternative I can think of is to add an extra parameter to
> > > > QEMU to explicitly disable huge pages (so that can even be
> > > > MADV_NOHUGEPAGE instead of MADV_HUGEPAGE).  However that
> > should also
> > > > drag down the performance for the whole lifecycle of the VM.
> > >
> > > From the performance point of view, it is better to keep the huge
> > > pages when the VM is not in the live migration state.
> > >
> > > > A 3rd option is to make a QMP
> > > > command to dynamically turn huge pages on/off for ramblocks globally.
> > >
> > > We're searching a dynamic method too.
> > > We plan to add two new flags for each memory slot, say
> > > KVM_MEM_FORCE_PT_DIRECTORY_PAGES and
> > > KVM_MEM_FORCE_PT_PAGE_TABLE_PAGES. These flags can be set through
> > > KVM_SET_USER_MEMORY_REGION ioctl.
> > >
> > > The mapping_level which is called by tdp_page_fault in the kernel side
> > > will return PT_DIRECTORY_LEVEL if the
> > KVM_MEM_FORCE_PT_DIRECTORY_PAGES
> > > flag of the memory slot is set, and return PT_PAGE_TABLE_LEVEL if the
> > > KVM_MEM_FORCE_PT_PAGE_TABLE_PAGES flag is set.
> > >
> > > The key steps to split the huge pages in advance of enabling dirty log
> > > is as follows:
> > > 1. The migration thread in user space uses
> > KVM_SET_USER_MEMORY_REGION
> > > ioctl to set the KVM_MEM_FORCE_PT_DIRECTORY_PAGES flag for each
> > memory
> > > slot.
> > > 2. The migration thread continues to use the KVM_SPLIT_HUGE_PAGES
> > > ioctl (which is newly added) to do the splitting of large pages in the
> > > kernel side.
> > > 3. A new vCPU is created temporally(do some initialization but will
> > > not
> > > run) to help to do the work, i.e. as the parameter of the tdp_page_fault.
> > > 4. Collect the GPA ranges of all the memory slots with the
> > > KVM_MEM_FORCE_PT_DIRECTORY_PAGES flag set.
> > > 5. Split the 1G huge pages(collected in step 4) into 2M by calling
> > > tdp_page_fault, since the mapping_level will return
> > > PT_DIRECTORY_LEVEL. Here is the main difference from the usual path
> > > which is caused by the Guest side(EPT violation/misconfig etc), we
> > > call it directly in the hypervisor side.
> > > 6. Do some cleanups, i.e. free the vCPU related resources 7. The
> > > KVM_SPLIT_HUGE_PAGES ioctl returned to the user space side.
> > > 8. Using KVM_MEM_FORCE_PT_PAGE_TABLE_PAGES instread of
> > > KVM_MEM_FORCE_PT_DIRECTORY_PAGES to repeat step 1 ~ step 7, in step
> > 5
> > > the 2M huge pages will be splitted into 4K pages.
> > > 9. Clear the KVM_MEM_FORCE_PT_DIRECTORY_PAGES and
> > > KVM_MEM_FORCE_PT_PAGE_TABLE_PAGES flags for each memory slot.
> > > 10. Then the migration thread calls the log_start ioctl to enable the
> > > dirty logging, and the remaining thing is the same.
> >
> > I'm not sure... I think it would be good if there is a way to have finer granularity
> > control on using huge pages for any process, then KVM can directly leverage
> > that because KVM page tables should always respect the mm configurations on
> > these (so e.g. when huge page split, KVM gets notifications via mmu notifiers).
> > Have you thought of such a more general way?
>
> I did have thought of this, if we split the huge pages into 4K of a process, I'm
> afraid it will not be workable for the huge pages sharing scenario, e.g. DPDK,
> SPDK etc. So, only split the EPT page table and keep the VM process page table
> (e.g. qemu) untouched is the goal.
>
> >
> > (And I just noticed that MADV_NOHUGEPAGE is only a hint to khugepaged
> > and probably won't split any huge page at all after madvise() returns..)
> > To tell the truth I'm still confused on how split of huge pages helped in your
> > case...
>
> I'm sorry if the meaning is not expressed clearly, and thanks for your patience.
>
> > If I read it right the test reduced some execution time from 9s to a
> > few ms after your splittion of huge pages.
>
> Yes
>
> > The thing is I don't see how split of
> > huge pages could solve the mmu_lock contention with the huge VM, because
> > IMO even if we split the huge pages into smaller ones, those pages should still
> > be write-protected and need merely the same number of page faults to resolve
> > when accessed/written? And I thought that should only be fixed with
> > solutions like what Ben has proposed with the MMU rework. Could you show
> > me what I've missed?
>
> Let me try to describe the reason of mmu_lock contention more clearly and the
> effort we tried to do...
> The huge VM only has EPT >= level 2 sptes, and level 1 sptes don't
> exist at the beginning. Write protect all the huge pages will trigger EPT
> violation to create level 1 sptes for all the vCPUs which want to write the
> content of the memory. Different vCPU write the different areas of
> the memory, but they need the same kvm->mmu_lock to create the level 1
> sptes, this situation will be worse if the number of vCPU and the memory of
> VM is large(in our case 60U512G), meanwhile the VM has
> memory-write-intensive work to do. In order to reduce the mmu_lock
> contention, we try to: write protect VM memory gradually in small chunks,
> such as 1G or 2M. Using a vCPU temporary creately by migration thread to
> split 1G to 2M as the first step, and to split 2M to 4K as the second step
> (this is a little hacking...and I do not know any side effect will be triggered
> indeed).
> Comparing to write protect all VM memory in one go, the write
> protected range is limited in this way and only the vCPUs write this limited
> range will be involved to take the mmu_lock. The contention will be reduced
> since the memory range is small and the number of vCPU involved is small
> too.
>
> Of course, it will take some extra time to split all the huge pages into 4K
> page before the real migration started, about 60s for 512G in my experiment.
>
> During the memory iterative copy phase, PML will do the dirty logging work
> (not write protected case for 4K), or IIRC using fast_page_fault to mark page
> dirty if PML is not supported, which case the mmu_lock does not needed.
>
> Regards,
> Jay Zhou

(Ah I top-posted I'm sorry. Re-sending at the bottom.)

FWIW, we currently do this eager splitting at Google for live
migration. When the log-dirty-memory flag is set on a memslot we
eagerly split all pages in the slot down to 4k granularity.
As Jay said, this does not cause crippling lock contention because the
vCPU page faults generated by write protection / splitting can be
resolved in the fast page fault path without acquiring the MMU lock.
I believe +Junaid Shahid tried to upstream this approach at some point
in the past, but the patch set didn't make it in. (This was before my
time, so I'm hoping he has a link.)
I haven't done the analysis to know if eager splitting is more or less
efficient with parallel slow-path page faults, but it's definitely
faster under the MMU lock.

^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.