linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Random panic in load_balance() with 3.16-rc
       [not found] <53C77BB8.6030804@daenzer.net>
@ 2014-07-17  7:58 ` Peter Zijlstra
  2014-07-18  9:29   ` Michel Dänzer
  0 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-17  7:58 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: Ingo Molnar, linux-kernel

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

On Thu, Jul 17, 2014 at 04:31:04PM +0900, Michel Dänzer wrote:
> 
> I've been running into the panic captured in the attached picture (hope
> it's legible) randomly while running 3.16-rc4 and -rc5. I haven't
> noticed any pattern as to when it happens; at least once it happened
> while the box was basically sitting idle.
> 
> dmesg, .config and /proc/cpuinfo attached as well; let me know if you
> need anything else.
> 

Does lkml.kernel.org/r/20140716145546.GA6922@wolff.to cure things?

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-17  7:58 ` Random panic in load_balance() with 3.16-rc Peter Zijlstra
@ 2014-07-18  9:29   ` Michel Dänzer
  2014-07-22  6:13     ` Michel Dänzer
  0 siblings, 1 reply; 83+ messages in thread
From: Michel Dänzer @ 2014-07-18  9:29 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Ingo Molnar, linux-kernel

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

On 17.07.2014 16:58, Peter Zijlstra wrote:
> On Thu, Jul 17, 2014 at 04:31:04PM +0900, Michel Dänzer wrote:
>>
>> I've been running into the panic captured in the attached picture (hope
>> it's legible) randomly while running 3.16-rc4 and -rc5. I haven't
>> noticed any pattern as to when it happens; at least once it happened
>> while the box was basically sitting idle.
>>
>> dmesg, .config and /proc/cpuinfo attached as well; let me know if you
>> need anything else.
> 
> Does lkml.kernel.org/r/20140716145546.GA6922@wolff.to cure things?

Yes, adding back

               cpumask_clear(sched_group_cpus(sg));

seems to do the trick, thanks.

There's a long weekend coming up for me, but after that I'll be happy to
test any better fix you guys come up with.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 234 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-18  9:29   ` Michel Dänzer
@ 2014-07-22  6:13     ` Michel Dänzer
  2014-07-23  3:53       ` Michel Dänzer
  0 siblings, 1 reply; 83+ messages in thread
From: Michel Dänzer @ 2014-07-22  6:13 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Ingo Molnar, linux-kernel

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

On 18.07.2014 18:29, Michel Dänzer wrote:
> On 17.07.2014 16:58, Peter Zijlstra wrote:
>> On Thu, Jul 17, 2014 at 04:31:04PM +0900, Michel Dänzer wrote:
>>>
>>> I've been running into the panic captured in the attached picture (hope
>>> it's legible) randomly while running 3.16-rc4 and -rc5. I haven't
>>> noticed any pattern as to when it happens; at least once it happened
>>> while the box was basically sitting idle.
>>>
>>> dmesg, .config and /proc/cpuinfo attached as well; let me know if you
>>> need anything else.
>>
>> Does lkml.kernel.org/r/20140716145546.GA6922@wolff.to cure things?
> 
> Yes, adding back
> 
>                cpumask_clear(sched_group_cpus(sg));
> 
> seems to do the trick, thanks.

I'm afraid it happened again with 3.16-rc5 plus the above change. It
seemed to last longer than before, but maybe that was just luck.

Going to try 3.16-rc6 now.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 234 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-22  6:13     ` Michel Dänzer
@ 2014-07-23  3:53       ` Michel Dänzer
  2014-07-23  4:21         ` Linus Torvalds
  0 siblings, 1 reply; 83+ messages in thread
From: Michel Dänzer @ 2014-07-23  3:53 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Ingo Molnar, linux-kernel, Linus Torvalds

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

On 22.07.2014 15:13, Michel Dänzer wrote:
> On 18.07.2014 18:29, Michel Dänzer wrote:
>> On 17.07.2014 16:58, Peter Zijlstra wrote:
>>> On Thu, Jul 17, 2014 at 04:31:04PM +0900, Michel Dänzer wrote:
>>>>
>>>> I've been running into the panic captured in the attached picture (hope
>>>> it's legible) randomly while running 3.16-rc4 and -rc5. I haven't
>>>> noticed any pattern as to when it happens; at least once it happened
>>>> while the box was basically sitting idle.
>>>>
>>>> dmesg, .config and /proc/cpuinfo attached as well; let me know if you
>>>> need anything else.
>>>
>>> Does lkml.kernel.org/r/20140716145546.GA6922@wolff.to cure things?
>>
>> Yes, adding back
>>
>>                cpumask_clear(sched_group_cpus(sg));
>>
>> seems to do the trick, thanks.
> 
> I'm afraid it happened again with 3.16-rc5 plus the above change. It
> seemed to last longer than before, but maybe that was just luck.
> 
> Going to try 3.16-rc6 now.

Just happened again with the same change on top of 3.16-rc6.

Are there any other potential fixes yet?

I hope this problem is on the radar as a showstopper for 3.16.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 234 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23  3:53       ` Michel Dänzer
@ 2014-07-23  4:21         ` Linus Torvalds
  2014-07-23  6:49           ` Peter Zijlstra
  0 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-23  4:21 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: Peter Zijlstra, Ingo Molnar, Linux Kernel Mailing List

On Tue, Jul 22, 2014 at 8:53 PM, Michel Dänzer <michel@daenzer.net> wrote:
>
> Just happened again with the same change on top of 3.16-rc6.

The (maybe) related bugzilla entry is just odd. Bruno Wolff reports
that the BUG_ON() in his added patch triggers:

+               cpumask_clear(sched_group_cpus(sg));
+               sg->sgc->capacity = 0;
+               BUG_ON(!cpumask_empty(sched_group_cpus(sg)));

where it *just* did a cpumask_clear(), and now the BUG_ON() triggers
that it's no longer empty?

That would imply an allocation error, but all the sched groups seem to
be properly allocated with the proper addition of cpumask_size().

And his config file even has NR_CPUS being 32, so it should be a
single word of bitmap, which triggers all the simple code.

Completely insane, in other words.

           Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23  4:21         ` Linus Torvalds
@ 2014-07-23  6:49           ` Peter Zijlstra
  2014-07-23  8:05             ` Michel Dänzer
  0 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23  6:49 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Michel Dänzer, Ingo Molnar, Linux Kernel Mailing List

On Tue, Jul 22, 2014 at 09:21:40PM -0700, Linus Torvalds wrote:
> On Tue, Jul 22, 2014 at 8:53 PM, Michel Dänzer <michel@daenzer.net> wrote:
> >
> > Just happened again with the same change on top of 3.16-rc6.
> 
> The (maybe) related bugzilla entry is just odd. Bruno Wolff reports
> that the BUG_ON() in his added patch triggers:
> 
> +               cpumask_clear(sched_group_cpus(sg));
> +               sg->sgc->capacity = 0;
> +               BUG_ON(!cpumask_empty(sched_group_cpus(sg)));
> 
> where it *just* did a cpumask_clear(), and now the BUG_ON() triggers
> that it's no longer empty?
> 
> That would imply an allocation error, but all the sched groups seem to
> be properly allocated with the proper addition of cpumask_size().
> 
> And his config file even has NR_CPUS being 32, so it should be a
> single word of bitmap, which triggers all the simple code.
> 
> Completely insane, in other words.

So we've had this other thread where the same happened:

 lkml.kernel.org/r/20140716145546.GA6922@wolff.to

(pointed Michel to that earlier)

And that seems to be sorted now (just found positive feedback in my
Inbox this morning), it was a question of the arch code supplying
completely 'broken' topology information, and the scheduler trusting it
too much.

The real fix in that thread is:

 lkml.kernel.org/r/20140722133514.GM12054@laptop.lan

And I'll also add this to make the scheduler less trusting:

 lkml.kernel.org/r/20140722094740.GJ12054@laptop.lan

Michael, that's not going to tell us what's wrong with your machine, as
you've not got the ancient dual P4 Xeon Bruno's got. Seeing how your
cpuinfo says:

model name      : AMD A10-7850K Radeon R7, 12 Compute Cores 4C+8G

but we can start the same debugging session I suppose.

Could you run with this patch on top:

 lkml.kernel.org/r/20140718101633.GP9918@twins.programming.kicks-ass.net

And provide us with the dmesg after boot?

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23  6:49           ` Peter Zijlstra
@ 2014-07-23  8:05             ` Michel Dänzer
  2014-07-23  8:28               ` Peter Zijlstra
  0 siblings, 1 reply; 83+ messages in thread
From: Michel Dänzer @ 2014-07-23  8:05 UTC (permalink / raw)
  To: Peter Zijlstra, Linus Torvalds; +Cc: Ingo Molnar, Linux Kernel Mailing List

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

On 23.07.2014 15:49, Peter Zijlstra wrote:
> On Tue, Jul 22, 2014 at 09:21:40PM -0700, Linus Torvalds wrote:
>> On Tue, Jul 22, 2014 at 8:53 PM, Michel Dänzer <michel@daenzer.net> wrote:
>>>
>>> Just happened again with the same change on top of 3.16-rc6.
>>
>> The (maybe) related bugzilla entry is just odd. Bruno Wolff reports
>> that the BUG_ON() in his added patch triggers:
>>
>> +               cpumask_clear(sched_group_cpus(sg));
>> +               sg->sgc->capacity = 0;
>> +               BUG_ON(!cpumask_empty(sched_group_cpus(sg)));
>>
>> where it *just* did a cpumask_clear(), and now the BUG_ON() triggers
>> that it's no longer empty?
>>
>> That would imply an allocation error, but all the sched groups seem to
>> be properly allocated with the proper addition of cpumask_size().
>>
>> And his config file even has NR_CPUS being 32, so it should be a
>> single word of bitmap, which triggers all the simple code.
>>
>> Completely insane, in other words.
> 
> So we've had this other thread where the same happened:
> 
>  lkml.kernel.org/r/20140716145546.GA6922@wolff.to
> 
> (pointed Michel to that earlier)
> 
> And that seems to be sorted now (just found positive feedback in my
> Inbox this morning), it was a question of the arch code supplying
> completely 'broken' topology information, and the scheduler trusting it
> too much.
> 
> The real fix in that thread is:
> 
>  lkml.kernel.org/r/20140722133514.GM12054@laptop.lan
> 
> And I'll also add this to make the scheduler less trusting:
> 
>  lkml.kernel.org/r/20140722094740.GJ12054@laptop.lan
> 
> Michael, that's not going to tell us what's wrong with your machine, as
> you've not got the ancient dual P4 Xeon Bruno's got. Seeing how your
> cpuinfo says:
> 
> model name      : AMD A10-7850K Radeon R7, 12 Compute Cores 4C+8G
> 
> but we can start the same debugging session I suppose.
> 
> Could you run with this patch on top:
> 
>  lkml.kernel.org/r/20140718101633.GP9918@twins.programming.kicks-ass.net
> 
> And provide us with the dmesg after boot?

Attached. No FAIL messages yet.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

[-- Attachment #2: dmesg.txt --]
[-- Type: text/plain, Size: 83535 bytes --]

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.16.0-rc6+ (daenzer@kaveri) (gcc version 4.9.0 (Debian 4.9.0-9) ) #146 SMP Wed Jul 23 16:58:12 JST 2014
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.16.0-rc6+ root=/dev/mapper/VG--Debian-LV--sid ro init=/bin/systemd quiet radeon.lockup_timeout=0
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000dcd1cfff] usable
[    0.000000] BIOS-e820: [mem 0x00000000dcd1d000-0x00000000dd154fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000dd155000-0x00000000dd164fff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000dd165000-0x00000000dd6d0fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000dd6d1000-0x00000000de50afff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000de50b000-0x00000000de565fff] type 20
[    0.000000] BIOS-e820: [mem 0x00000000de566000-0x00000000de566fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000de567000-0x00000000de76cfff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000de76d000-0x00000000deba6fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000deba7000-0x00000000deff3fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000deff4000-0x00000000deffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec01fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec10fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed80000-0x00000000fed8ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000021effffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] efi: EFI v32.31 by American Megatrends
[    0.000000] efi:  ACPI=0xdd15c000  ACPI 2.0=0xdd15c000  SMBIOS=0xf04c0  MPS=0xfd440 
[    0.000000] efi: mem00: type=3, attr=0xf, range=[0x0000000000000000-0x0000000000008000) (0MB)
[    0.000000] efi: mem01: type=7, attr=0xf, range=[0x0000000000008000-0x000000000005f000) (0MB)
[    0.000000] efi: mem02: type=4, attr=0xf, range=[0x000000000005f000-0x0000000000060000) (0MB)
[    0.000000] efi: mem03: type=3, attr=0xf, range=[0x0000000000060000-0x00000000000a0000) (0MB)
[    0.000000] efi: mem04: type=7, attr=0xf, range=[0x0000000000100000-0x0000000001000000) (15MB)
[    0.000000] efi: mem05: type=2, attr=0xf, range=[0x0000000001000000-0x0000000002aa5000) (26MB)
[    0.000000] efi: mem06: type=7, attr=0xf, range=[0x0000000002aa5000-0x00000000378b2000) (846MB)
[    0.000000] efi: mem07: type=2, attr=0xf, range=[0x00000000378b2000-0x0000000037c51000) (3MB)
[    0.000000] efi: mem08: type=7, attr=0xf, range=[0x0000000037c51000-0x0000000098307000) (1542MB)
[    0.000000] efi: mem09: type=2, attr=0xf, range=[0x0000000098307000-0x00000000cc1b1000) (830MB)
[    0.000000] efi: mem10: type=7, attr=0xf, range=[0x00000000cc1b1000-0x00000000cc1b7000) (0MB)
[    0.000000] efi: mem11: type=1, attr=0xf, range=[0x00000000cc1b7000-0x00000000cc1da000) (0MB)
[    0.000000] efi: mem12: type=7, attr=0xf, range=[0x00000000cc1da000-0x00000000cf4b7000) (50MB)
[    0.000000] efi: mem13: type=4, attr=0xf, range=[0x00000000cf4b7000-0x00000000cf567000) (0MB)
[    0.000000] efi: mem14: type=7, attr=0xf, range=[0x00000000cf567000-0x00000000cf56f000) (0MB)
[    0.000000] efi: mem15: type=4, attr=0xf, range=[0x00000000cf56f000-0x00000000cf595000) (0MB)
[    0.000000] efi: mem16: type=7, attr=0xf, range=[0x00000000cf595000-0x00000000cf5a1000) (0MB)
[    0.000000] efi: mem17: type=4, attr=0xf, range=[0x00000000cf5a1000-0x00000000cf5dc000) (0MB)
[    0.000000] efi: mem18: type=7, attr=0xf, range=[0x00000000cf5dc000-0x00000000cf5ed000) (0MB)
[    0.000000] efi: mem19: type=4, attr=0xf, range=[0x00000000cf5ed000-0x00000000cf61f000) (0MB)
[    0.000000] efi: mem20: type=7, attr=0xf, range=[0x00000000cf61f000-0x00000000cf633000) (0MB)
[    0.000000] efi: mem21: type=4, attr=0xf, range=[0x00000000cf633000-0x00000000cf639000) (0MB)
[    0.000000] efi: mem22: type=7, attr=0xf, range=[0x00000000cf639000-0x00000000cf642000) (0MB)
[    0.000000] efi: mem23: type=4, attr=0xf, range=[0x00000000cf642000-0x00000000cf66a000) (0MB)
[    0.000000] efi: mem24: type=7, attr=0xf, range=[0x00000000cf66a000-0x00000000cf67f000) (0MB)
[    0.000000] efi: mem25: type=4, attr=0xf, range=[0x00000000cf67f000-0x00000000cf6b7000) (0MB)
[    0.000000] efi: mem26: type=7, attr=0xf, range=[0x00000000cf6b7000-0x00000000cf6cf000) (0MB)
[    0.000000] efi: mem27: type=4, attr=0xf, range=[0x00000000cf6cf000-0x00000000cf6ea000) (0MB)
[    0.000000] efi: mem28: type=7, attr=0xf, range=[0x00000000cf6ea000-0x00000000cf6f7000) (0MB)
[    0.000000] efi: mem29: type=4, attr=0xf, range=[0x00000000cf6f7000-0x00000000cf713000) (0MB)
[    0.000000] efi: mem30: type=7, attr=0xf, range=[0x00000000cf713000-0x00000000cf71f000) (0MB)
[    0.000000] efi: mem31: type=4, attr=0xf, range=[0x00000000cf71f000-0x00000000cf7e9000) (0MB)
[    0.000000] efi: mem32: type=7, attr=0xf, range=[0x00000000cf7e9000-0x00000000cf7f1000) (0MB)
[    0.000000] efi: mem33: type=4, attr=0xf, range=[0x00000000cf7f1000-0x00000000cf817000) (0MB)
[    0.000000] efi: mem34: type=7, attr=0xf, range=[0x00000000cf817000-0x00000000cf823000) (0MB)
[    0.000000] efi: mem35: type=4, attr=0xf, range=[0x00000000cf823000-0x00000000cf85f000) (0MB)
[    0.000000] efi: mem36: type=7, attr=0xf, range=[0x00000000cf85f000-0x00000000cf870000) (0MB)
[    0.000000] efi: mem37: type=4, attr=0xf, range=[0x00000000cf870000-0x00000000cf8a2000) (0MB)
[    0.000000] efi: mem38: type=7, attr=0xf, range=[0x00000000cf8a2000-0x00000000cf8b6000) (0MB)
[    0.000000] efi: mem39: type=4, attr=0xf, range=[0x00000000cf8b6000-0x00000000cf8bd000) (0MB)
[    0.000000] efi: mem40: type=7, attr=0xf, range=[0x00000000cf8bd000-0x00000000cf8c6000) (0MB)
[    0.000000] efi: mem41: type=4, attr=0xf, range=[0x00000000cf8c6000-0x00000000cf8ed000) (0MB)
[    0.000000] efi: mem42: type=7, attr=0xf, range=[0x00000000cf8ed000-0x00000000cf902000) (0MB)
[    0.000000] efi: mem43: type=4, attr=0xf, range=[0x00000000cf902000-0x00000000cf939000) (0MB)
[    0.000000] efi: mem44: type=7, attr=0xf, range=[0x00000000cf939000-0x00000000cf951000) (0MB)
[    0.000000] efi: mem45: type=4, attr=0xf, range=[0x00000000cf951000-0x00000000cf982000) (0MB)
[    0.000000] efi: mem46: type=7, attr=0xf, range=[0x00000000cf982000-0x00000000cf998000) (0MB)
[    0.000000] efi: mem47: type=4, attr=0xf, range=[0x00000000cf998000-0x00000000cf9e8000) (0MB)
[    0.000000] efi: mem48: type=7, attr=0xf, range=[0x00000000cf9e8000-0x00000000cfa04000) (0MB)
[    0.000000] efi: mem49: type=4, attr=0xf, range=[0x00000000cfa04000-0x00000000cfa6a000) (0MB)
[    0.000000] efi: mem50: type=7, attr=0xf, range=[0x00000000cfa6a000-0x00000000cfa72000) (0MB)
[    0.000000] efi: mem51: type=4, attr=0xf, range=[0x00000000cfa72000-0x00000000cfa98000) (0MB)
[    0.000000] efi: mem52: type=7, attr=0xf, range=[0x00000000cfa98000-0x00000000cfaa4000) (0MB)
[    0.000000] efi: mem53: type=4, attr=0xf, range=[0x00000000cfaa4000-0x00000000cfadf000) (0MB)
[    0.000000] efi: mem54: type=7, attr=0xf, range=[0x00000000cfadf000-0x00000000cfaf0000) (0MB)
[    0.000000] efi: mem55: type=4, attr=0xf, range=[0x00000000cfaf0000-0x00000000cfb22000) (0MB)
[    0.000000] efi: mem56: type=7, attr=0xf, range=[0x00000000cfb22000-0x00000000cfb36000) (0MB)
[    0.000000] efi: mem57: type=4, attr=0xf, range=[0x00000000cfb36000-0x00000000cfb3c000) (0MB)
[    0.000000] efi: mem58: type=7, attr=0xf, range=[0x00000000cfb3c000-0x00000000cfb45000) (0MB)
[    0.000000] efi: mem59: type=4, attr=0xf, range=[0x00000000cfb45000-0x00000000cfb6d000) (0MB)
[    0.000000] efi: mem60: type=7, attr=0xf, range=[0x00000000cfb6d000-0x00000000cfb82000) (0MB)
[    0.000000] efi: mem61: type=4, attr=0xf, range=[0x00000000cfb82000-0x00000000cfbba000) (0MB)
[    0.000000] efi: mem62: type=7, attr=0xf, range=[0x00000000cfbba000-0x00000000cfbbc000) (0MB)
[    0.000000] efi: mem63: type=4, attr=0xf, range=[0x00000000cfbbc000-0x00000000cfcec000) (1MB)
[    0.000000] efi: mem64: type=7, attr=0xf, range=[0x00000000cfcec000-0x00000000cfcf4000) (0MB)
[    0.000000] efi: mem65: type=4, attr=0xf, range=[0x00000000cfcf4000-0x00000000cfd1a000) (0MB)
[    0.000000] efi: mem66: type=7, attr=0xf, range=[0x00000000cfd1a000-0x00000000cfd26000) (0MB)
[    0.000000] efi: mem67: type=4, attr=0xf, range=[0x00000000cfd26000-0x00000000cfd62000) (0MB)
[    0.000000] efi: mem68: type=7, attr=0xf, range=[0x00000000cfd62000-0x00000000cfd73000) (0MB)
[    0.000000] efi: mem69: type=4, attr=0xf, range=[0x00000000cfd73000-0x00000000cfda5000) (0MB)
[    0.000000] efi: mem70: type=7, attr=0xf, range=[0x00000000cfda5000-0x00000000cfdb9000) (0MB)
[    0.000000] efi: mem71: type=4, attr=0xf, range=[0x00000000cfdb9000-0x00000000cfdc2000) (0MB)
[    0.000000] efi: mem72: type=7, attr=0xf, range=[0x00000000cfdc2000-0x00000000cfdcb000) (0MB)
[    0.000000] efi: mem73: type=4, attr=0xf, range=[0x00000000cfdcb000-0x00000000cfdef000) (0MB)
[    0.000000] efi: mem74: type=7, attr=0xf, range=[0x00000000cfdef000-0x00000000cfe04000) (0MB)
[    0.000000] efi: mem75: type=4, attr=0xf, range=[0x00000000cfe04000-0x00000000cfe3c000) (0MB)
[    0.000000] efi: mem76: type=7, attr=0xf, range=[0x00000000cfe3c000-0x00000000cfe54000) (0MB)
[    0.000000] efi: mem77: type=4, attr=0xf, range=[0x00000000cfe54000-0x00000000cfe89000) (0MB)
[    0.000000] efi: mem78: type=7, attr=0xf, range=[0x00000000cfe89000-0x00000000cfe9f000) (0MB)
[    0.000000] efi: mem79: type=4, attr=0xf, range=[0x00000000cfe9f000-0x00000000cff6f000) (0MB)
[    0.000000] efi: mem80: type=7, attr=0xf, range=[0x00000000cff6f000-0x00000000cff77000) (0MB)
[    0.000000] efi: mem81: type=4, attr=0xf, range=[0x00000000cff77000-0x00000000cffa0000) (0MB)
[    0.000000] efi: mem82: type=7, attr=0xf, range=[0x00000000cffa0000-0x00000000cffa3000) (0MB)
[    0.000000] efi: mem83: type=4, attr=0xf, range=[0x00000000cffa3000-0x00000000d00c1000) (1MB)
[    0.000000] efi: mem84: type=7, attr=0xf, range=[0x00000000d00c1000-0x00000000d00c3000) (0MB)
[    0.000000] efi: mem85: type=4, attr=0xf, range=[0x00000000d00c3000-0x00000000d010d000) (0MB)
[    0.000000] efi: mem86: type=7, attr=0xf, range=[0x00000000d010d000-0x00000000d010e000) (0MB)
[    0.000000] efi: mem87: type=4, attr=0xf, range=[0x00000000d010e000-0x00000000d01f9000) (0MB)
[    0.000000] efi: mem88: type=7, attr=0xf, range=[0x00000000d01f9000-0x00000000d0201000) (0MB)
[    0.000000] efi: mem89: type=4, attr=0xf, range=[0x00000000d0201000-0x00000000d0348000) (1MB)
[    0.000000] efi: mem90: type=7, attr=0xf, range=[0x00000000d0348000-0x00000000d034b000) (0MB)
[    0.000000] efi: mem91: type=4, attr=0xf, range=[0x00000000d034b000-0x00000000d03a0000) (0MB)
[    0.000000] efi: mem92: type=7, attr=0xf, range=[0x00000000d03a0000-0x00000000d03a4000) (0MB)
[    0.000000] efi: mem93: type=4, attr=0xf, range=[0x00000000d03a4000-0x00000000d0491000) (0MB)
[    0.000000] efi: mem94: type=7, attr=0xf, range=[0x00000000d0491000-0x00000000d0499000) (0MB)
[    0.000000] efi: mem95: type=4, attr=0xf, range=[0x00000000d0499000-0x00000000d0595000) (0MB)
[    0.000000] efi: mem96: type=7, attr=0xf, range=[0x00000000d0595000-0x00000000d0596000) (0MB)
[    0.000000] efi: mem97: type=4, attr=0xf, range=[0x00000000d0596000-0x00000000d05df000) (0MB)
[    0.000000] efi: mem98: type=7, attr=0xf, range=[0x00000000d05df000-0x00000000d05e1000) (0MB)
[    0.000000] efi: mem99: type=4, attr=0xf, range=[0x00000000d05e1000-0x00000000d061b000) (0MB)
[    0.000000] efi: mem100: type=7, attr=0xf, range=[0x00000000d061b000-0x00000000d061c000) (0MB)
[    0.000000] efi: mem101: type=4, attr=0xf, range=[0x00000000d061c000-0x00000000d067e000) (0MB)
[    0.000000] efi: mem102: type=7, attr=0xf, range=[0x00000000d067e000-0x00000000d0683000) (0MB)
[    0.000000] efi: mem103: type=4, attr=0xf, range=[0x00000000d0683000-0x00000000d0715000) (0MB)
[    0.000000] efi: mem104: type=7, attr=0xf, range=[0x00000000d0715000-0x00000000d071d000) (0MB)
[    0.000000] efi: mem105: type=4, attr=0xf, range=[0x00000000d071d000-0x00000000d07ce000) (0MB)
[    0.000000] efi: mem106: type=7, attr=0xf, range=[0x00000000d07ce000-0x00000000d07d5000) (0MB)
[    0.000000] efi: mem107: type=4, attr=0xf, range=[0x00000000d07d5000-0x00000000d0818000) (0MB)
[    0.000000] efi: mem108: type=7, attr=0xf, range=[0x00000000d0818000-0x00000000d081c000) (0MB)
[    0.000000] efi: mem109: type=4, attr=0xf, range=[0x00000000d081c000-0x00000000d0866000) (0MB)
[    0.000000] efi: mem110: type=7, attr=0xf, range=[0x00000000d0866000-0x00000000d086c000) (0MB)
[    0.000000] efi: mem111: type=4, attr=0xf, range=[0x00000000d086c000-0x00000000d0888000) (0MB)
[    0.000000] efi: mem112: type=7, attr=0xf, range=[0x00000000d0888000-0x00000000d088a000) (0MB)
[    0.000000] efi: mem113: type=4, attr=0xf, range=[0x00000000d088a000-0x00000000d08bb000) (0MB)
[    0.000000] efi: mem114: type=7, attr=0xf, range=[0x00000000d08bb000-0x00000000d08bc000) (0MB)
[    0.000000] efi: mem115: type=4, attr=0xf, range=[0x00000000d08bc000-0x00000000d0920000) (0MB)
[    0.000000] efi: mem116: type=7, attr=0xf, range=[0x00000000d0920000-0x00000000d0921000) (0MB)
[    0.000000] efi: mem117: type=4, attr=0xf, range=[0x00000000d0921000-0x00000000d0d17000) (3MB)
[    0.000000] efi: mem118: type=7, attr=0xf, range=[0x00000000d0d17000-0x00000000d0d1d000) (0MB)
[    0.000000] efi: mem119: type=4, attr=0xf, range=[0x00000000d0d1d000-0x00000000d0e93000) (1MB)
[    0.000000] efi: mem120: type=7, attr=0xf, range=[0x00000000d0e93000-0x00000000d0e94000) (0MB)
[    0.000000] efi: mem121: type=4, attr=0xf, range=[0x00000000d0e94000-0x00000000d1163000) (2MB)
[    0.000000] efi: mem122: type=7, attr=0xf, range=[0x00000000d1163000-0x00000000d1165000) (0MB)
[    0.000000] efi: mem123: type=4, attr=0xf, range=[0x00000000d1165000-0x00000000d1171000) (0MB)
[    0.000000] efi: mem124: type=7, attr=0xf, range=[0x00000000d1171000-0x00000000d1172000) (0MB)
[    0.000000] efi: mem125: type=4, attr=0xf, range=[0x00000000d1172000-0x00000000d1877000) (7MB)
[    0.000000] efi: mem126: type=7, attr=0xf, range=[0x00000000d1877000-0x00000000d1879000) (0MB)
[    0.000000] efi: mem127: type=4, attr=0xf, range=[0x00000000d1879000-0x00000000dbf98000) (167MB)
[    0.000000] efi: mem128: type=7, attr=0xf, range=[0x00000000dbf98000-0x00000000dc54a000) (5MB)
[    0.000000] efi: mem129: type=2, attr=0xf, range=[0x00000000dc54a000-0x00000000dc556000) (0MB)
[    0.000000] efi: mem130: type=3, attr=0xf, range=[0x00000000dc556000-0x00000000dcd1d000) (7MB)
[    0.000000] efi: mem131: type=0, attr=0xf, range=[0x00000000dcd1d000-0x00000000dcdf5000) (0MB)
[    0.000000] efi: mem132: type=0, attr=0xf, range=[0x00000000dcdf5000-0x00000000dd155000) (3MB)
[    0.000000] efi: mem133: type=9, attr=0xf, range=[0x00000000dd155000-0x00000000dd15c000) (0MB)
[    0.000000] efi: mem134: type=9, attr=0xf, range=[0x00000000dd15c000-0x00000000dd165000) (0MB)
[    0.000000] efi: mem135: type=10, attr=0xf, range=[0x00000000dd165000-0x00000000dd484000) (3MB)
[    0.000000] efi: mem136: type=10, attr=0xf, range=[0x00000000dd484000-0x00000000dd6d1000) (2MB)
[    0.000000] efi: mem137: type=6, attr=0x800000000000000f, range=[0x00000000dd6d1000-0x00000000dddf2000) (7MB)
[    0.000000] efi: mem138: type=6, attr=0x800000000000000f, range=[0x00000000dddf2000-0x00000000de439000) (6MB)
[    0.000000] efi: mem139: type=6, attr=0x800000000000000f, range=[0x00000000de439000-0x00000000de43d000) (0MB)
[    0.000000] efi: mem140: type=6, attr=0x800000000000000f, range=[0x00000000de43d000-0x00000000de50b000) (0MB)
[    0.000000] efi: mem141: type=5, attr=0x800000000000000f, range=[0x00000000de50b000-0x00000000de51d000) (0MB)
[    0.000000] efi: mem142: type=5, attr=0x800000000000000f, range=[0x00000000de51d000-0x00000000de566000) (0MB)
[    0.000000] efi: mem143: type=4, attr=0xf, range=[0x00000000de566000-0x00000000de567000) (0MB)
[    0.000000] efi: mem144: type=10, attr=0xf, range=[0x00000000de567000-0x00000000de76d000) (2MB)
[    0.000000] efi: mem145: type=4, attr=0xf, range=[0x00000000de76d000-0x00000000de8bf000) (1MB)
[    0.000000] efi: mem146: type=3, attr=0xf, range=[0x00000000de8bf000-0x00000000deb65000) (2MB)
[    0.000000] efi: mem147: type=4, attr=0xf, range=[0x00000000deb65000-0x00000000deb7f000) (0MB)
[    0.000000] efi: mem148: type=3, attr=0xf, range=[0x00000000deb7f000-0x00000000deb9b000) (0MB)
[    0.000000] efi: mem149: type=4, attr=0xf, range=[0x00000000deb9b000-0x00000000deba7000) (0MB)
[    0.000000] efi: mem150: type=6, attr=0x800000000000000f, range=[0x00000000deba7000-0x00000000deff4000) (4MB)
[    0.000000] efi: mem151: type=4, attr=0xf, range=[0x00000000deff4000-0x00000000df000000) (0MB)
[    0.000000] efi: mem152: type=7, attr=0xf, range=[0x0000000100000000-0x000000021f000000) (4592MB)
[    0.000000] efi: mem153: type=11, attr=0x8000000000000001, range=[0x00000000fec00000-0x00000000fec01000) (0MB)
[    0.000000] efi: mem154: type=11, attr=0x8000000000000001, range=[0x00000000fec01000-0x00000000fec02000) (0MB)
[    0.000000] efi: mem155: type=11, attr=0x8000000000000001, range=[0x00000000fec10000-0x00000000fec11000) (0MB)
[    0.000000] efi: mem156: type=11, attr=0x8000000000000001, range=[0x00000000fed00000-0x00000000fed01000) (0MB)
[    0.000000] efi: mem157: type=11, attr=0x8000000000000001, range=[0x00000000fed80000-0x00000000fed81000) (0MB)
[    0.000000] efi: mem158: type=11, attr=0x8000000000000001, range=[0x00000000fed81000-0x00000000fed90000) (0MB)
[    0.000000] efi: mem159: type=11, attr=0x8000000000000001, range=[0x00000000ff000000-0x0000000100000000) (16MB)
[    0.000000] SMBIOS 2.7 present.
[    0.000000] DMI: System manufacturer System Product Name/A88X-PRO, BIOS 1001 04/01/2014
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] AGP: No AGP bridge found
[    0.000000] e820: last_pfn = 0x21f000 max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF write-through
[    0.000000]   C0000-CFFFF write-protect
[    0.000000]   D0000-DFFFF uncachable
[    0.000000]   E0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000000 mask FFFF80000000 write-back
[    0.000000]   1 base 000080000000 mask FFFFC0000000 write-back
[    0.000000]   2 base 0000C0000000 mask FFFFF0000000 write-back
[    0.000000]   3 base 0000D0000000 mask FFFFF8000000 write-back
[    0.000000]   4 base 0000D8000000 mask FFFFFC000000 write-back
[    0.000000]   5 base 0000DC000000 mask FFFFFE000000 write-back
[    0.000000]   6 base 0000DE000000 mask FFFFFF000000 write-back
[    0.000000]   7 disabled
[    0.000000] TOM2: 000000021f000000 aka 8688M
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] e820: update [mem 0xdf000000-0xffffffff] usable ==> reserved
[    0.000000] e820: last_pfn = 0xdf000 max_arch_pfn = 0x400000000
[    0.000000] found SMP MP-table at [mem 0x000fd770-0x000fd77f] mapped at [ffff8800000fd770]
[    0.000000] Base memory trampoline at [ffff880000098000] 98000 size 24576
[    0.000000] Using GB pages for direct mapping
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000]  [mem 0x00000000-0x000fffff] page 4k
[    0.000000] BRK [0x02980000, 0x02980fff] PGTABLE
[    0.000000] BRK [0x02981000, 0x02981fff] PGTABLE
[    0.000000] BRK [0x02982000, 0x02982fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0x21ee00000-0x21effffff]
[    0.000000]  [mem 0x21ee00000-0x21effffff] page 2M
[    0.000000] BRK [0x02983000, 0x02983fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0x21c000000-0x21edfffff]
[    0.000000]  [mem 0x21c000000-0x21edfffff] page 2M
[    0.000000] init_memory_mapping: [mem 0x200000000-0x21bffffff]
[    0.000000]  [mem 0x200000000-0x21bffffff] page 2M
[    0.000000] init_memory_mapping: [mem 0x00100000-0xdcd1cfff]
[    0.000000]  [mem 0x00100000-0x001fffff] page 4k
[    0.000000]  [mem 0x00200000-0x3fffffff] page 2M
[    0.000000]  [mem 0x40000000-0xbfffffff] page 1G
[    0.000000]  [mem 0xc0000000-0xdcbfffff] page 2M
[    0.000000]  [mem 0xdcc00000-0xdcd1cfff] page 4k
[    0.000000] init_memory_mapping: [mem 0xde566000-0xde566fff]
[    0.000000]  [mem 0xde566000-0xde566fff] page 4k
[    0.000000] BRK [0x02984000, 0x02984fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0xde76d000-0xdeba6fff]
[    0.000000]  [mem 0xde76d000-0xde7fffff] page 4k
[    0.000000]  [mem 0xde800000-0xde9fffff] page 2M
[    0.000000]  [mem 0xdea00000-0xdeba6fff] page 4k
[    0.000000] BRK [0x02985000, 0x02985fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0xdeff4000-0xdeffffff]
[    0.000000]  [mem 0xdeff4000-0xdeffffff] page 4k
[    0.000000] init_memory_mapping: [mem 0x100000000-0x1ffffffff]
[    0.000000]  [mem 0x100000000-0x1ffffffff] page 1G
[    0.000000] RAMDISK: [mem 0x378b2000-0x37c50fff]
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x00000000DD15C000 000024 (v02 ALASKA)
[    0.000000] ACPI: XSDT 0x00000000DD15C080 000074 (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI: FACP 0x00000000DD162CA0 00010C (v05 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI BIOS Warning (bug): Optional FADT field Pm2ControlBlock has zero address or length: 0x0000000000000000/0x1 (20140424/tbfadt-649)
[    0.000000] ACPI: DSDT 0x00000000DD15C188 006B16 (v02 ALASKA A M I    00000000 INTL 20051117)
[    0.000000] ACPI: FACS 0x00000000DD6C6080 000040
[    0.000000] ACPI: APIC 0x00000000DD162DB0 00007E (v03 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI: FPDT 0x00000000DD162E30 000044 (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI: MCFG 0x00000000DD162E78 00003C (v01 ALASKA A M I    01072009 MSFT 00010013)
[    0.000000] ACPI: CRAT 0x00000000DD163ED8 000528 (v01 AMD    BANTRY   00000001 AMD  00000001)
[    0.000000] ACPI: HPET 0x00000000DD162F10 000038 (v01 ALASKA A M I    01072009 AMI  00000005)
[    0.000000] ACPI: IVRS 0x00000000DD162F48 000078 (v02 AMD    BANTRY   00000001 AMD  00000000)
[    0.000000] ACPI: BGRT 0x00000000DD162FC0 000038 (v00 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI: SSDT 0x00000000DD162FF8 000B9C (v01 AMD    BANTRY   00000001 AMD  00000001)
[    0.000000] ACPI: SSDT 0x00000000DD163B98 00033B (v02 AMD    BANTRY   00000002 MSFT 04000000)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at [mem 0x0000000000000000-0x000000021effffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x21effffff]
[    0.000000]   NODE_DATA [mem 0x21eff7000-0x21effbfff]
[    0.000000]  [ffffea0000000000-ffffea00077fffff] PMD -> [ffff880216600000-ffff88021d7fffff] on node 0
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00001000-0x00ffffff]
[    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
[    0.000000]   Normal   [mem 0x100000000-0x21effffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00001000-0x0009ffff]
[    0.000000]   node   0: [mem 0x00100000-0xdcd1cfff]
[    0.000000]   node   0: [mem 0xde566000-0xde566fff]
[    0.000000]   node   0: [mem 0xde76d000-0xdeba6fff]
[    0.000000]   node   0: [mem 0xdeff4000-0xdeffffff]
[    0.000000]   node   0: [mem 0x100000000-0x21effffff]
[    0.000000] On node 0 totalpages: 2081027
[    0.000000]   DMA zone: 56 pages used for memmap
[    0.000000]   DMA zone: 26 pages reserved
[    0.000000]   DMA zone: 3999 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 12325 pages used for memmap
[    0.000000]   DMA32 zone: 901476 pages, LIFO batch:31
[    0.000000]   Normal zone: 16072 pages used for memmap
[    0.000000]   Normal zone: 1175552 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 33, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: IOAPIC (id[0x01] address[0xfec01000] gsi_base[24])
[    0.000000] IOAPIC[1]: apic_id 1, version 33, address 0xfec01000, GSI 24-55
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x10228210 base: 0xfed00000
[    0.000000] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.000000] nr_irqs_gsi: 72
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000fffff]
[    0.000000] PM: Registered nosave memory: [mem 0xdcd1d000-0xdd154fff]
[    0.000000] PM: Registered nosave memory: [mem 0xdd155000-0xdd164fff]
[    0.000000] PM: Registered nosave memory: [mem 0xdd165000-0xdd6d0fff]
[    0.000000] PM: Registered nosave memory: [mem 0xdd6d1000-0xde50afff]
[    0.000000] PM: Registered nosave memory: [mem 0xde50b000-0xde565fff]
[    0.000000] PM: Registered nosave memory: [mem 0xde567000-0xde76cfff]
[    0.000000] PM: Registered nosave memory: [mem 0xdeba7000-0xdeff3fff]
[    0.000000] PM: Registered nosave memory: [mem 0xdf000000-0xfebfffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfec00000-0xfec01fff]
[    0.000000] PM: Registered nosave memory: [mem 0xfec02000-0xfec0ffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfec10000-0xfec10fff]
[    0.000000] PM: Registered nosave memory: [mem 0xfec11000-0xfecfffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfed00000-0xfed00fff]
[    0.000000] PM: Registered nosave memory: [mem 0xfed01000-0xfed7ffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfed80000-0xfed8ffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfed90000-0xfeffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xff000000-0xffffffff]
[    0.000000] e820: [mem 0xdf000000-0xfebfffff] available for PCI devices
[    0.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:4 nr_node_ids:1
[    0.000000] PERCPU: Embedded 476 pages/cpu @ffff88021de00000 s1920832 r8192 d20672 u2097152
[    0.000000] pcpu-alloc: s1920832 r8192 d20672 u2097152 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 2052548
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.16.0-rc6+ root=/dev/mapper/VG--Debian-LV--sid ro init=/bin/systemd quiet radeon.lockup_timeout=0
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] xsave: enabled xstate_bv 0x7, cntxt size 0x340
[    0.000000] AGP: Checking aperture...
[    0.000000] AGP: No AGP bridge found
[    0.000000] AGP: Node 0: aperture [bus addr 0x00000000-0x01ffffff] (32MB)
[    0.000000] AGP: Your BIOS doesn't leave a aperture memory hole
[    0.000000] AGP: Please enable the IOMMU option in the BIOS setup
[    0.000000] AGP: This costs you 64MB of RAM
[    0.000000] AGP: Mapping aperture over RAM [mem 0xc4000000-0xc7ffffff] (65536KB)
[    0.000000] PM: Registered nosave memory: [mem 0xc4000000-0xc7ffffff]
[    0.000000] Memory: 7819496K/8324108K available (4001K kernel code, 826K rwdata, 2284K rodata, 2700K init, 14368K bss, 504612K reserved)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] 	RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS:33024 nr_irqs:1024 16
[    0.000000] Console: colour dummy device 80x25
[    0.000000] console [tty0] enabled
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.000000] ... MAX_LOCKDEP_CHAINS:      65536
[    0.000000] ... CHAINHASH_SIZE:          32768
[    0.000000]  memory used by lock dependency info: 8671 kB
[    0.000000]  per task-struct memory footprint: 2688 bytes
[    0.000000] hpet clockevent registered
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] tsc: Detected 4100.463 MHz processor
[    0.000003] Calibrating delay loop (skipped), value calculated using timer frequency.. 8200.92 BogoMIPS (lpj=16401852)
[    0.000005] pid_max: default: 32768 minimum: 301
[    0.000030] ACPI: Core revision 20140424
[    0.008056] ACPI: All ACPI Tables successfully acquired
[    0.264378] Security Framework initialized
[    0.264381] SELinux:  Disabled at boot.
[    0.265632] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes)
[    0.268018] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.268935] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes)
[    0.268958] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes)
[    0.269582] Initializing cgroup subsys devices
[    0.269608] Initializing cgroup subsys freezer
[    0.269621] Initializing cgroup subsys net_cls
[    0.269630] Initializing cgroup subsys blkio
[    0.269639] Initializing cgroup subsys net_prio
[    0.269679] tseg: 00df000000
[    0.269681] CPU: Physical Processor ID: 0
[    0.269682] CPU: Processor Core ID: 0
[    0.269684] mce: CPU supports 7 MCE banks
[    0.269689] LVT offset 1 assigned for vector 0xf9
[    0.269696] Last level iTLB entries: 4KB 512, 2MB 1024, 4MB 512
[    0.269696] Last level dTLB entries: 4KB 1024, 2MB 1024, 4MB 512, 1GB 0
[    0.269696] tlb_flushall_shift: 6
[    0.269798] Freeing SMP alternatives memory: 12K (ffffffff81b73000 - ffffffff81b76000)
[    0.280095] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.319825] smpboot: CPU0: AMD A10-7850K Radeon R7, 12 Compute Cores 4C+8G (fam: 15, model: 30, stepping: 01)
[    0.425951] Performance Events: Fam15h core perfctr, AMD PMU driver.
[    0.425961] ... version:                0
[    0.425962] ... bit width:              48
[    0.425963] ... generic registers:      6
[    0.425964] ... value mask:             0000ffffffffffff
[    0.425965] ... max period:             00007fffffffffff
[    0.425966] ... fixed-purpose events:   0
[    0.425967] ... event mask:             000000000000003f
[    0.426767] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[    0.427188] x86: Booting SMP configuration:
[    0.427190] .... node  #0, CPUs:      #1 #2 #3
[    0.467132] x86: Booted up 1 node, 4 CPUs
[    0.467136] smpboot: Total of 4 processors activated (32803.70 BogoMIPS)
[    0.467570] __sdt_alloc: allocated ffff8802155ea4c0 with cpus: 
[    0.467574] __sdt_alloc: allocated ffff8802155ea3c0 with cpus: 
[    0.467576] __sdt_alloc: allocated ffff8802155ea2c0 with cpus: 
[    0.467577] __sdt_alloc: allocated ffff8802155ea1c0 with cpus: 
[    0.467582] __sdt_alloc: allocated ffff8802155ea0c0 with cpus: 
[    0.467589] __sdt_alloc: allocated ffff880215798f40 with cpus: 
[    0.467591] __sdt_alloc: allocated ffff880215798e40 with cpus: 
[    0.467593] __sdt_alloc: allocated ffff880215798d40 with cpus: 
[    0.467599] __sdt_alloc: allocated ffff880215798c40 with cpus: 
[    0.467600] __sdt_alloc: allocated ffff880215798b40 with cpus: 
[    0.467602] __sdt_alloc: allocated ffff880215798a40 with cpus: 
[    0.467604] __sdt_alloc: allocated ffff880215798940 with cpus: 
[    0.467627] build_sched_domain: cpu: 0 level: SMT cpu_map: 0-3 tl->mask: 0-1
[    0.467629] build_sched_domain: cpu: 0 level: MC cpu_map: 0-3 tl->mask: 0-3
[    0.467631] build_sched_domain: cpu: 1 level: SMT cpu_map: 0-3 tl->mask: 0-1
[    0.467632] build_sched_domain: cpu: 1 level: MC cpu_map: 0-3 tl->mask: 0-3
[    0.467634] build_sched_domain: cpu: 2 level: SMT cpu_map: 0-3 tl->mask: 2-3
[    0.467635] build_sched_domain: cpu: 2 level: MC cpu_map: 0-3 tl->mask: 0-3
[    0.467637] build_sched_domain: cpu: 3 level: SMT cpu_map: 0-3 tl->mask: 2-3
[    0.467638] build_sched_domain: cpu: 3 level: MC cpu_map: 0-3 tl->mask: 0-3
[    0.467640] build_sched_groups: got group ffff8802155ea4c0 with cpus: 
[    0.467642] build_sched_groups: got group ffff8802155ea3c0 with cpus: 
[    0.467643] build_sched_groups: got group ffff8802155ea0c0 with cpus: 
[    0.467644] build_sched_groups: got group ffff880215798e40 with cpus: 
[    0.467646] build_sched_groups: got group ffff8802155ea2c0 with cpus: 
[    0.467647] build_sched_groups: got group ffff8802155ea1c0 with cpus: 
[    0.468285] devtmpfs: initialized
[    0.474492] PM: Registering ACPI NVS region [mem 0xdd165000-0xdd6d0fff] (5685248 bytes)
[    0.474688] PM: Registering ACPI NVS region [mem 0xde567000-0xde76cfff] (2121728 bytes)
[    0.475517] regulator-dummy: no parameters
[    0.475766] NET: Registered protocol family 16
[    0.476056] cpuidle: using governor ladder
[    0.476060] cpuidle: using governor menu
[    0.476125] ACPI: bus type PCI registered
[    0.476348] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
[    0.476350] PCI: not using MMCONFIG
[    0.476352] PCI: Using configuration type 1 for base access
[    0.476353] PCI: Using configuration type 1 for extended access
[    0.491522] ACPI: Added _OSI(Module Device)
[    0.491526] ACPI: Added _OSI(Processor Device)
[    0.491528] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.491529] ACPI: Added _OSI(Processor Aggregator Device)
[    0.499582] ACPI: Executed 1 blocks of module-level executable AML code
[    0.505694] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    0.506466] ACPI: Interpreter enabled
[    0.506473] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20140424/hwxface-580)
[    0.506477] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20140424/hwxface-580)
[    0.506512] ACPI: (supports S0 S3 S4 S5)
[    0.506514] ACPI: Using IOAPIC for interrupt routing
[    0.506693] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
[    0.506747] PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in ACPI motherboard resources
[    0.506847] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.508397] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    0.508850] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    0.509403] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    0.618719] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.618727] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[    0.619104] acpi PNP0A03:00: _OSC: platform does not support [PCIeHotplug PME]
[    0.619451] acpi PNP0A03:00: _OSC: OS now controls [AER PCIeCapability]
[    0.619887] acpi PNP0A03:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-3f] only partially covers this bridge
[    0.620033] PCI host bridge to bus 0000:00
[    0.620036] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.620038] pci_bus 0000:00: root bus resource [io  0x0000-0x03af]
[    0.620040] pci_bus 0000:00: root bus resource [io  0x03e0-0x0cf7]
[    0.620042] pci_bus 0000:00: root bus resource [io  0x03b0-0x03df]
[    0.620044] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
[    0.620046] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[    0.620048] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff]
[    0.620049] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xffffffff]
[    0.620077] pci 0000:00:00.0: [1022:1422] type 00 class 0x060000
[    0.620400] pci 0000:00:00.2: [1022:1423] type 00 class 0x080600
[    0.620708] pci 0000:00:02.0: [1022:1424] type 00 class 0x060000
[    0.620946] pci 0000:00:02.1: [1022:1425] type 01 class 0x060400
[    0.621040] pci 0000:00:02.1: PME# supported from D0 D3hot D3cold
[    0.621197] pci 0000:00:02.1: System wakeup disabled by ACPI
[    0.621327] pci 0000:00:03.0: [1022:1424] type 00 class 0x060000
[    0.621572] pci 0000:00:04.0: [1022:1424] type 00 class 0x060000
[    0.621856] pci 0000:00:10.0: [1022:7814] type 00 class 0x0c0330
[    0.621886] pci 0000:00:10.0: reg 0x10: [mem 0xfeb06000-0xfeb07fff 64bit]
[    0.622026] pci 0000:00:10.0: PME# supported from D0 D3hot D3cold
[    0.622160] pci 0000:00:10.0: System wakeup disabled by ACPI
[    0.622315] pci 0000:00:10.1: [1022:7814] type 00 class 0x0c0330
[    0.622344] pci 0000:00:10.1: reg 0x10: [mem 0xfeb04000-0xfeb05fff 64bit]
[    0.622482] pci 0000:00:10.1: PME# supported from D0 D3hot D3cold
[    0.622613] pci 0000:00:10.1: System wakeup disabled by ACPI
[    0.622750] pci 0000:00:11.0: [1022:7801] type 00 class 0x010601
[    0.622774] pci 0000:00:11.0: reg 0x10: [io  0xf040-0xf047]
[    0.622787] pci 0000:00:11.0: reg 0x14: [io  0xf030-0xf033]
[    0.622798] pci 0000:00:11.0: reg 0x18: [io  0xf020-0xf027]
[    0.622810] pci 0000:00:11.0: reg 0x1c: [io  0xf010-0xf013]
[    0.622822] pci 0000:00:11.0: reg 0x20: [io  0xf000-0xf00f]
[    0.622834] pci 0000:00:11.0: reg 0x24: [mem 0xfeb0c000-0xfeb0c7ff]
[    0.623096] pci 0000:00:12.0: [1022:7807] type 00 class 0x0c0310
[    0.623113] pci 0000:00:12.0: reg 0x10: [mem 0xfeb0b000-0xfeb0bfff]
[    0.623297] pci 0000:00:12.0: System wakeup disabled by ACPI
[    0.623435] pci 0000:00:12.2: [1022:7808] type 00 class 0x0c0320
[    0.623459] pci 0000:00:12.2: reg 0x10: [mem 0xfeb0a000-0xfeb0a0ff]
[    0.623568] pci 0000:00:12.2: supports D1 D2
[    0.623570] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot D3cold
[    0.623689] pci 0000:00:12.2: System wakeup disabled by ACPI
[    0.623817] pci 0000:00:13.0: [1022:7807] type 00 class 0x0c0310
[    0.623833] pci 0000:00:13.0: reg 0x10: [mem 0xfeb09000-0xfeb09fff]
[    0.624015] pci 0000:00:13.0: System wakeup disabled by ACPI
[    0.624142] pci 0000:00:13.2: [1022:7808] type 00 class 0x0c0320
[    0.624166] pci 0000:00:13.2: reg 0x10: [mem 0xfeb08000-0xfeb080ff]
[    0.624275] pci 0000:00:13.2: supports D1 D2
[    0.624276] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot D3cold
[    0.624394] pci 0000:00:13.2: System wakeup disabled by ACPI
[    0.624537] pci 0000:00:14.0: [1022:780b] type 00 class 0x0c0500
[    0.624815] pci 0000:00:14.2: [1022:780d] type 00 class 0x040300
[    0.624842] pci 0000:00:14.2: reg 0x10: [mem 0xfeb00000-0xfeb03fff 64bit]
[    0.624929] pci 0000:00:14.2: PME# supported from D0 D3hot D3cold
[    0.625047] pci 0000:00:14.2: System wakeup disabled by ACPI
[    0.625167] pci 0000:00:14.3: [1022:780e] type 00 class 0x060100
[    0.625451] pci 0000:00:14.4: [1022:780f] type 01 class 0x060401
[    0.625603] pci 0000:00:14.4: System wakeup disabled by ACPI
[    0.625733] pci 0000:00:15.0: [1022:43a0] type 01 class 0x060400
[    0.625842] pci 0000:00:15.0: supports D1 D2
[    0.625844] pci 0000:00:15.0: PME# supported from D0 D3hot D3cold
[    0.625973] pci 0000:00:15.0: System wakeup disabled by ACPI
[    0.626099] pci 0000:00:15.1: [1022:43a1] type 01 class 0x060400
[    0.626209] pci 0000:00:15.1: supports D1 D2
[    0.626210] pci 0000:00:15.1: PME# supported from D0 D3hot D3cold
[    0.626342] pci 0000:00:15.1: System wakeup disabled by ACPI
[    0.626467] pci 0000:00:15.2: [1022:43a2] type 01 class 0x060400
[    0.626576] pci 0000:00:15.2: supports D1 D2
[    0.626577] pci 0000:00:15.2: PME# supported from D0 D3hot D3cold
[    0.626703] pci 0000:00:15.2: System wakeup disabled by ACPI
[    0.626833] pci 0000:00:18.0: [1022:141a] type 00 class 0x060000
[    0.627058] pci 0000:00:18.1: [1022:141b] type 00 class 0x060000
[    0.627278] pci 0000:00:18.2: [1022:141c] type 00 class 0x060000
[    0.627509] pci 0000:00:18.3: [1022:141d] type 00 class 0x060000
[    0.627744] pci 0000:00:18.4: [1022:141e] type 00 class 0x060000
[    0.627962] pci 0000:00:18.5: [1022:141f] type 00 class 0x060000
[    0.628312] pci 0000:01:00.0: [1002:665c] type 00 class 0x030000
[    0.628335] pci 0000:01:00.0: reg 0x10: [mem 0xe0000000-0xefffffff 64bit pref]
[    0.628350] pci 0000:01:00.0: reg 0x18: [mem 0xf0000000-0xf07fffff 64bit pref]
[    0.628361] pci 0000:01:00.0: reg 0x20: [io  0xe000-0xe0ff]
[    0.628371] pci 0000:01:00.0: reg 0x24: [mem 0xfea00000-0xfea3ffff]
[    0.628381] pci 0000:01:00.0: reg 0x30: [mem 0xfea40000-0xfea5ffff pref]
[    0.628465] pci 0000:01:00.0: supports D1 D2
[    0.628467] pci 0000:01:00.0: PME# supported from D1 D2 D3hot
[    0.628652] pci 0000:01:00.1: [1002:0002] type 00 class 0x040300
[    0.628671] pci 0000:01:00.1: reg 0x10: [mem 0xfea60000-0xfea63fff 64bit]
[    0.628767] pci 0000:01:00.1: supports D1 D2
[    0.628960] pci 0000:00:02.1: PCI bridge to [bus 01]
[    0.628966] pci 0000:00:02.1:   bridge window [io  0xe000-0xefff]
[    0.628970] pci 0000:00:02.1:   bridge window [mem 0xfea00000-0xfeafffff]
[    0.628976] pci 0000:00:02.1:   bridge window [mem 0xe0000000-0xf07fffff 64bit pref]
[    0.629117] pci 0000:00:14.4: PCI bridge to [bus 02] (subtractive decode)
[    0.629128] pci 0000:00:14.4:   bridge window [io  0x0000-0x03af] (subtractive decode)
[    0.629130] pci 0000:00:14.4:   bridge window [io  0x03e0-0x0cf7] (subtractive decode)
[    0.629132] pci 0000:00:14.4:   bridge window [io  0x03b0-0x03df] (subtractive decode)
[    0.629133] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (subtractive decode)
[    0.629136] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bffff] (subtractive decode)
[    0.629138] pci 0000:00:14.4:   bridge window [mem 0x000c0000-0x000dffff] (subtractive decode)
[    0.629140] pci 0000:00:14.4:   bridge window [mem 0xe0000000-0xffffffff] (subtractive decode)
[    0.629257] pci 0000:00:15.0: PCI bridge to [bus 03]
[    0.629415] pci 0000:04:00.0: [1b21:1042] type 00 class 0x0c0330
[    0.629450] pci 0000:04:00.0: reg 0x10: [mem 0xfe900000-0xfe907fff 64bit]
[    0.629623] pci 0000:04:00.0: PME# supported from D3hot D3cold
[    0.635595] pci 0000:00:15.1: PCI bridge to [bus 04]
[    0.635608] pci 0000:00:15.1:   bridge window [mem 0xfe900000-0xfe9fffff]
[    0.635792] pci 0000:05:00.0: [10ec:8168] type 00 class 0x020000
[    0.635815] pci 0000:05:00.0: reg 0x10: [io  0xd000-0xd0ff]
[    0.635844] pci 0000:05:00.0: reg 0x18: [mem 0xfe800000-0xfe800fff 64bit]
[    0.635864] pci 0000:05:00.0: reg 0x20: [mem 0xf0900000-0xf0903fff 64bit pref]
[    0.635988] pci 0000:05:00.0: supports D1 D2
[    0.635990] pci 0000:05:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.636068] pci 0000:05:00.0: System wakeup disabled by ACPI
[    0.643602] pci 0000:00:15.2: PCI bridge to [bus 05]
[    0.643613] pci 0000:00:15.2:   bridge window [io  0xd000-0xdfff]
[    0.643618] pci 0000:00:15.2:   bridge window [mem 0xfe800000-0xfe8fffff]
[    0.643625] pci 0000:00:15.2:   bridge window [mem 0xf0900000-0xf09fffff 64bit pref]
[    0.644780] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 5 6 7 10 11 14 15) *0
[    0.644888] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 5 6 7 10 11 14 15) *0
[    0.644999] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 5 6 7 10 11 14 15) *0
[    0.645109] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 10 11 14 15) *0
[    0.645201] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 5 6 7 10 11 14 15) *0
[    0.645277] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 5 6 7 10 11 14 15) *0
[    0.645352] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 5 6 7 10 11 14 15) *0
[    0.645427] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 5 6 7 10 11 14 15) *0
[    0.645824] ACPI : EC: GPE = 0xa, I/O: command/status = 0x66, data = 0x62
[    0.646369] vgaarb: device added: PCI:0000:01:00.0,decodes=io+mem,owns=io+mem,locks=none
[    0.646375] vgaarb: loaded
[    0.646376] vgaarb: bridge control possible 0000:01:00.0
[    0.646752] PCI: Using ACPI for IRQ routing
[    0.649030] PCI: pci_cache_line_size set to 64 bytes
[    0.649133] e820: reserve RAM buffer [mem 0xdcd1d000-0xdfffffff]
[    0.649139] e820: reserve RAM buffer [mem 0xde567000-0xdfffffff]
[    0.649142] e820: reserve RAM buffer [mem 0xdeba7000-0xdfffffff]
[    0.649144] e820: reserve RAM buffer [mem 0xdf000000-0xdfffffff]
[    0.649145] e820: reserve RAM buffer [mem 0x21f000000-0x21fffffff]
[    0.649677] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.649681] hpet0: 3 comparators, 32-bit 14.318180 MHz counter
[    0.651859] Switched to clocksource hpet
[    0.663212] pnp: PnP ACPI init
[    0.663257] ACPI: bus type PNP registered
[    0.663463] system 00:00: [mem 0xf8000000-0xfbffffff] has been reserved
[    0.663482] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.663658] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.663834] system 00:02: [mem 0xfeb80000-0xfebfffff] has been reserved
[    0.663839] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.664120] system 00:03: [io  0x0290-0x029f] has been reserved
[    0.664125] system 00:03: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.664224] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.664451] system 00:05: [io  0x04d0-0x04d1] has been reserved
[    0.664456] system 00:05: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.664580] system 00:06: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.664956] pnp 00:07: [dma 0 disabled]
[    0.665062] pnp 00:07: Plug and Play ACPI device, IDs PNP0501 (active)
[    0.665490] system 00:08: [io  0x04d0-0x04d1] has been reserved
[    0.665493] system 00:08: [io  0x040b] has been reserved
[    0.665496] system 00:08: [io  0x04d6] has been reserved
[    0.665499] system 00:08: [io  0x0c00-0x0c01] has been reserved
[    0.665501] system 00:08: [io  0x0c14] has been reserved
[    0.665503] system 00:08: [io  0x0c50-0x0c51] has been reserved
[    0.665506] system 00:08: [io  0x0c52] has been reserved
[    0.665508] system 00:08: [io  0x0c6c] has been reserved
[    0.665510] system 00:08: [io  0x0c6f] has been reserved
[    0.665512] system 00:08: [io  0x0cd0-0x0cd1] has been reserved
[    0.665514] system 00:08: [io  0x0cd2-0x0cd3] has been reserved
[    0.665517] system 00:08: [io  0x0cd4-0x0cd5] has been reserved
[    0.665519] system 00:08: [io  0x0cd6-0x0cd7] has been reserved
[    0.665521] system 00:08: [io  0x0cd8-0x0cdf] has been reserved
[    0.665523] system 00:08: [io  0x0800-0x089f] could not be reserved
[    0.665526] system 00:08: [io  0x0b20-0x0b3f] has been reserved
[    0.665528] system 00:08: [io  0x0900-0x090f] has been reserved
[    0.665530] system 00:08: [io  0x0910-0x091f] has been reserved
[    0.665532] system 00:08: [io  0xfe00-0xfefe] has been reserved
[    0.665536] system 00:08: [mem 0xfec00000-0xfec00fff] could not be reserved
[    0.665538] system 00:08: [mem 0xfee00000-0xfee00fff] has been reserved
[    0.665541] system 00:08: [mem 0xfed80000-0xfed8ffff] has been reserved
[    0.665543] system 00:08: [mem 0xfed61000-0xfed70fff] has been reserved
[    0.665546] system 00:08: [mem 0xfec10000-0xfec10fff] has been reserved
[    0.665548] system 00:08: [mem 0xfed00000-0xfed00fff] could not be reserved
[    0.665551] system 00:08: [mem 0xff000000-0xffffffff] has been reserved
[    0.665555] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.665848] pnp: PnP ACPI: found 9 devices
[    0.665849] ACPI: bus type PNP unregistered
[    0.676214] pci 0000:00:02.1: PCI bridge to [bus 01]
[    0.676219] pci 0000:00:02.1:   bridge window [io  0xe000-0xefff]
[    0.676225] pci 0000:00:02.1:   bridge window [mem 0xfea00000-0xfeafffff]
[    0.676229] pci 0000:00:02.1:   bridge window [mem 0xe0000000-0xf07fffff 64bit pref]
[    0.676235] pci 0000:00:14.4: PCI bridge to [bus 02]
[    0.676249] pci 0000:00:15.0: PCI bridge to [bus 03]
[    0.676262] pci 0000:00:15.1: PCI bridge to [bus 04]
[    0.676268] pci 0000:00:15.1:   bridge window [mem 0xfe900000-0xfe9fffff]
[    0.676277] pci 0000:00:15.2: PCI bridge to [bus 05]
[    0.676280] pci 0000:00:15.2:   bridge window [io  0xd000-0xdfff]
[    0.676285] pci 0000:00:15.2:   bridge window [mem 0xfe800000-0xfe8fffff]
[    0.676289] pci 0000:00:15.2:   bridge window [mem 0xf0900000-0xf09fffff 64bit pref]
[    0.676297] pci_bus 0000:00: resource 4 [io  0x0000-0x03af]
[    0.676298] pci_bus 0000:00: resource 5 [io  0x03e0-0x0cf7]
[    0.676300] pci_bus 0000:00: resource 6 [io  0x03b0-0x03df]
[    0.676301] pci_bus 0000:00: resource 7 [io  0x0d00-0xffff]
[    0.676303] pci_bus 0000:00: resource 8 [mem 0x000a0000-0x000bffff]
[    0.676304] pci_bus 0000:00: resource 9 [mem 0x000c0000-0x000dffff]
[    0.676306] pci_bus 0000:00: resource 10 [mem 0xe0000000-0xffffffff]
[    0.676308] pci_bus 0000:01: resource 0 [io  0xe000-0xefff]
[    0.676309] pci_bus 0000:01: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.676311] pci_bus 0000:01: resource 2 [mem 0xe0000000-0xf07fffff 64bit pref]
[    0.676313] pci_bus 0000:02: resource 4 [io  0x0000-0x03af]
[    0.676314] pci_bus 0000:02: resource 5 [io  0x03e0-0x0cf7]
[    0.676316] pci_bus 0000:02: resource 6 [io  0x03b0-0x03df]
[    0.676317] pci_bus 0000:02: resource 7 [io  0x0d00-0xffff]
[    0.676319] pci_bus 0000:02: resource 8 [mem 0x000a0000-0x000bffff]
[    0.676320] pci_bus 0000:02: resource 9 [mem 0x000c0000-0x000dffff]
[    0.676322] pci_bus 0000:02: resource 10 [mem 0xe0000000-0xffffffff]
[    0.676323] pci_bus 0000:04: resource 1 [mem 0xfe900000-0xfe9fffff]
[    0.676325] pci_bus 0000:05: resource 0 [io  0xd000-0xdfff]
[    0.676326] pci_bus 0000:05: resource 1 [mem 0xfe800000-0xfe8fffff]
[    0.676328] pci_bus 0000:05: resource 2 [mem 0xf0900000-0xf09fffff 64bit pref]
[    0.676495] NET: Registered protocol family 2
[    0.677181] TCP established hash table entries: 65536 (order: 7, 524288 bytes)
[    0.678115] TCP bind hash table entries: 65536 (order: 10, 5242880 bytes)
[    0.681223] TCP: Hash tables configured (established 65536 bind 65536)
[    0.681297] TCP: reno registered
[    0.681421] UDP hash table entries: 4096 (order: 7, 786432 bytes)
[    0.681933] UDP-Lite hash table entries: 4096 (order: 7, 786432 bytes)
[    0.682613] NET: Registered protocol family 1
[    0.852864] pci 0000:01:00.0: Boot video device
[    0.853174] PCI: CLS 64 bytes, default 64
[    0.853369] Unpacking initramfs...
[    0.914792] Freeing initrd memory: 3708K (ffff8800378b2000 - ffff880037c51000)
[    1.029176] AMD-Vi: IOMMU performance counters supported
[    1.029402] pci 0000:00:00.2: can't derive routing for PCI INT A
[    1.029405] pci 0000:00:00.2: PCI INT A: no GSI
[    1.029882] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[    1.029884] AMD-Vi:  Extended features:  PPR GT IA PC
[    1.029929] pci 0000:00:00.2: irq 72 for MSI/MSI-X
[    1.037599] AMD-Vi: Using passthrough domain for device 0000:01:00.0
[    1.038463] AMD-Vi: Lazy IO/TLB flushing enabled
[    1.038923] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    1.038925] software IO TLB [mem 0xcb4b7000-0xcf4b7000] (64MB) mapped at [ffff8800cb4b7000-ffff8800cf4b6fff]
[    1.039521] perf: AMD NB counters detected
[    1.039542] perf: amd_iommu: Detected. (2 banks, 4 counters/bank)
[    1.039551] LVT offset 0 assigned for vector 0x400
[    1.039569] perf: AMD IBS detected (0x000001ff)
[    1.040375] futex hash table entries: 1024 (order: 5, 131072 bytes)
[    1.040433] Initialise system trusted keyring
[    1.040507] audit: initializing netlink subsys (disabled)
[    1.040570] audit: type=2000 audit(1406102416.688:1): initialized
[    1.041454] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.041527] zbud: loaded
[    1.041847] VFS: Disk quotas dquot_6.5.2
[    1.041877] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.042086] msgmni has been set to 15704
[    1.042608] alg: No test for stdrng (krng)
[    1.042661] bounce: pool size: 64 pages
[    1.042687] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.042698] io scheduler noop registered
[    1.042701] io scheduler deadline registered
[    1.042820] io scheduler cfq registered (default)
[    1.042823] start plist test
[    1.044206] end plist test
[    1.045517] GHES: HEST is not enabled!
[    1.045707] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.066224] 00:07: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    1.067420] Linux agpgart interface v0.103
[    1.067709] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    1.070109] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.070132] serio: i8042 AUX port at 0x60,0x64 irq 12
[    1.070640] mousedev: PS/2 mouse device common for all mice
[    1.070814] rtc_cmos 00:04: RTC can wake from S4
[    1.071059] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    1.071086] rtc_cmos 00:04: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
[    1.071126] ledtrig-cpu: registered to indicate activity on CPUs
[    1.071142] drop_monitor: Initializing network drop monitor service
[    1.071241] TCP: cubic registered
[    1.071352] NET: Registered protocol family 10
[    1.071888] mip6: Mobile IPv6
[    1.071899] NET: Registered protocol family 17
[    1.071923] Key type dns_resolver registered
[    1.072996] Loading compiled-in X.509 certificates
[    1.073029] registered taskstats version 1
[    1.074026] rtc_cmos 00:04: setting system clock to 2014-07-23 08:00:17 UTC (1406102417)
[    1.074204] PM: Hibernation image not present or could not be loaded.
[    1.077247] Freeing unused kernel memory: 2700K (ffffffff818d0000 - ffffffff81b73000)
[    1.077250] Write protecting the kernel read-only data: 8192k
[    1.077957] Freeing unused kernel memory: 84K (ffff8800013eb000 - ffff880001400000)
[    1.082375] Freeing unused kernel memory: 1812K (ffff88000163b000 - ffff880001800000)
[    1.100960] systemd-udevd[70]: starting version 204
[    1.142548] SCSI subsystem initialized
[    1.143663] libata version 3.00 loaded.
[    1.144652] ahci 0000:00:11.0: version 3.0
[    1.145200] ahci 0000:00:11.0: irq 73 for MSI/MSI-X
[    1.145363] ahci 0000:00:11.0: AHCI 0001.0300 32 slots 8 ports 6 Gbps 0xff impl SATA mode
[    1.145366] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio sxs 
[    1.149456] scsi0 : ahci
[    1.150745] scsi1 : ahci
[    1.151548] scsi2 : ahci
[    1.152216] scsi3 : ahci
[    1.153484] scsi4 : ahci
[    1.154277] scsi5 : ahci
[    1.154529] scsi6 : ahci
[    1.155197] scsi7 : ahci
[    1.156358] ata1: SATA max UDMA/133 abar m2048@0xfeb0c000 port 0xfeb0c100 irq 73
[    1.156362] ata2: SATA max UDMA/133 abar m2048@0xfeb0c000 port 0xfeb0c180 irq 73
[    1.156365] ata3: SATA max UDMA/133 abar m2048@0xfeb0c000 port 0xfeb0c200 irq 73
[    1.156368] ata4: SATA max UDMA/133 abar m2048@0xfeb0c000 port 0xfeb0c280 irq 73
[    1.156370] ata5: SATA max UDMA/133 abar m2048@0xfeb0c000 port 0xfeb0c300 irq 73
[    1.156372] ata6: SATA max UDMA/133 abar m2048@0xfeb0c000 port 0xfeb0c380 irq 73
[    1.156375] ata7: SATA max UDMA/133 abar m2048@0xfeb0c000 port 0xfeb0c400 irq 73
[    1.156377] ata8: SATA max UDMA/133 abar m2048@0xfeb0c000 port 0xfeb0c480 irq 73
[    1.476940] ata6: SATA link down (SStatus 0 SControl 300)
[    1.477095] ata2: SATA link down (SStatus 0 SControl 300)
[    1.477140] ata8: SATA link down (SStatus 0 SControl 300)
[    1.477201] ata4: SATA link down (SStatus 0 SControl 300)
[    1.477236] ata7: SATA link down (SStatus 0 SControl 300)
[    1.477270] ata5: SATA link down (SStatus 0 SControl 300)
[    1.649111] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    1.649239] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    1.649964] ata1.00: failed to get NCQ Send/Recv Log Emask 0x1
[    1.649968] ata1.00: ATA-9: Samsung SSD 840 PRO Series, DXM06B0Q, max UDMA/133
[    1.649970] ata1.00: 500118192 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    1.650255] ata1.00: failed to get NCQ Send/Recv Log Emask 0x1
[    1.650259] ata1.00: configured for UDMA/133
[    1.650505] ata3.00: ATA-8: ST500DM002-1BD142, KC43, max UDMA/133
[    1.650507] ata3.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    1.650847] scsi 0:0:0:0: Direct-Access     ATA      Samsung SSD 840  6B0Q PQ: 0 ANSI: 5
[    1.652041] ata3.00: configured for UDMA/133
[    1.652202] scsi 2:0:0:0: Direct-Access     ATA      ST500DM002-1BD14 KC43 PQ: 0 ANSI: 5
[    1.660511] sd 0:0:0:0: [sda] 500118192 512-byte logical blocks: (256 GB/238 GiB)
[    1.660550] sd 2:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[    1.660554] sd 2:0:0:0: [sdb] 4096-byte physical blocks
[    1.660681] sd 2:0:0:0: [sdb] Write Protect is off
[    1.660684] sd 2:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    1.660687] sd 0:0:0:0: [sda] Write Protect is off
[    1.660690] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    1.660733] sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    1.660741] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    1.663652]  sda: sda1 sda2 sda3 sda4 sda5
[    1.665090] sd 0:0:0:0: [sda] Attached SCSI disk
[    1.678011]  sdb: sdb1 sdb2 < sdb5 >
[    1.678973] sd 2:0:0:0: [sdb] Attached SCSI disk
[    1.861738] device-mapper: uevent: version 1.0.3
[    1.861991] device-mapper: ioctl: 4.27.0-ioctl (2013-10-30) initialised: dm-devel@redhat.com
[    1.866890] random: lvm urandom read with 42 bits of entropy available
[    1.981813] PM: Starting manual resume from disk
[    1.981820] PM: Hibernation image partition 254:1 present
[    1.981821] PM: Looking for hibernation image.
[    1.982091] PM: Image not found (code -22)
[    1.982093] PM: Hibernation image not present or could not be loaded.
[    1.996986] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
[    2.037486] tsc: Refined TSC clocksource calibration: 4100.302 MHz
[    2.065387] systemd[1]: systemd 208 running in system mode. (+PAM +LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ)
[    2.071807] systemd[1]: Inserted module 'autofs4'
[    2.072416] systemd[1]: Set hostname to <kaveri>.
[    2.157818] systemd[1]: Starting Syslog Socket.
[    2.157907] systemd[1]: Listening on Syslog Socket.
[    2.157919] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[    2.158080] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    2.158091] systemd[1]: Starting Remote File Systems (Pre).
[    2.158107] systemd[1]: Reached target Remote File Systems (Pre).
[    2.158117] systemd[1]: Starting Delayed Shutdown Socket.
[    2.158159] systemd[1]: Listening on Delayed Shutdown Socket.
[    2.158168] systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
[    2.158213] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[    2.158222] systemd[1]: Starting LVM2 metadata daemon socket.
[    2.158277] systemd[1]: Listening on LVM2 metadata daemon socket.
[    2.158296] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
[    2.158395] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    2.158403] systemd[1]: Starting Paths.
[    2.158418] systemd[1]: Reached target Paths.
[    2.158490] systemd[1]: Starting Arbitrary Executable File Formats File System Automount Point.
[    2.158821] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    2.158832] systemd[1]: Starting Journal Socket.
[    2.158956] systemd[1]: Listening on Journal Socket.
[    2.158968] systemd[1]: Starting Syslog.
[    2.158983] systemd[1]: Reached target Syslog.
[    2.159017] systemd[1]: Mounting Huge Pages File System...
[    2.160420] systemd[1]: Mounting POSIX Message Queue File System...
[    2.161850] systemd[1]: Started Set Up Additional Binary Formats.
[    2.164111] systemd[1]: Starting Load Kernel Modules...
[    2.165105] systemd[1]: Mounting Debug File System...
[    2.166849] systemd[1]: Starting Apply Kernel Variables...
[    2.168719] systemd[1]: Starting Create list of required static device nodes for the current kernel...
[    2.169807] systemd[1]: Starting Journal Service...
[    2.171223] systemd[1]: Started Journal Service.
[    2.172046] fuse init (API version 7.23)
[    2.182502] systemd-journald[183]: Vacuuming done, freed 0 bytes
[    2.272611] systemd-udevd[207]: starting version 204
[    2.343982] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2
[    2.344042] ACPI: Power Button [PWRB]
[    2.344212] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
[    2.344216] ACPI: Power Button [PWRF]
[    2.356941] ACPI: acpi_idle registered with cpuidle
[    2.357028] ACPI: Video Device [VGA1] (multi-head: yes  rom: no  post: no)
[    2.357124] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    2.357528] ACPI Error: [AFN7] Namespace lookup failure, AE_NOT_FOUND (20140424/psargs-359)
[    2.357534] ACPI Error: Method parse/execution failed [\_SB_.PCI0.PB21.VGA_.LCD_._BCM] (Node ffff88021d84b770), AE_NOT_FOUND (20140424/psparse-536)
[    2.357546] ACPI Error: Evaluating _BCM failed (20140424/video-384)
[    2.357847] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:03/LNXVIDEO:01/input/input4
[    2.370457] wmi: Mapper loaded
[    2.370998] ACPI: bus type USB registered
[    2.371082] usbcore: registered new interface driver usbfs
[    2.371149] usbcore: registered new interface driver hub
[    2.372488] usbcore: registered new device driver usb
[    2.380836] QUIRK: Enable AMD PLL fix
[    2.380876] xhci_hcd 0000:00:10.0: xHCI Host Controller
[    2.380991] xhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 1
[    2.381336] xhci_hcd 0000:00:10.0: irq 74 for MSI/MSI-X
[    2.381344] xhci_hcd 0000:00:10.0: irq 75 for MSI/MSI-X
[    2.381351] xhci_hcd 0000:00:10.0: irq 76 for MSI/MSI-X
[    2.381359] xhci_hcd 0000:00:10.0: irq 77 for MSI/MSI-X
[    2.381366] xhci_hcd 0000:00:10.0: irq 78 for MSI/MSI-X
[    2.385140] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    2.385144] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.385146] usb usb1: Product: xHCI Host Controller
[    2.385148] usb usb1: Manufacturer: Linux 3.16.0-rc6+ xhci_hcd
[    2.385151] usb usb1: SerialNumber: 0000:00:10.0
[    2.387051] acpi-cpufreq: overriding BIOS provided _PSD data
[    2.401247] hub 1-0:1.0: USB hub found
[    2.401328] hub 1-0:1.0: 2 ports detected
[    2.409901] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.410146] ehci-pci: EHCI PCI platform driver
[    2.410492] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
[    2.411030] [drm] Initialized drm 1.1.0 20060810
[    2.415093] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.437920] xhci_hcd 0000:00:10.0: xHCI Host Controller
[    2.437935] xhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 2
[    2.439573] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    2.439579] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.439581] usb usb2: Product: xHCI Host Controller
[    2.439584] usb usb2: Manufacturer: Linux 3.16.0-rc6+ xhci_hcd
[    2.439586] usb usb2: SerialNumber: 0000:00:10.0
[    2.446896] hub 2-0:1.0: USB hub found
[    2.446951] hub 2-0:1.0: 2 ports detected
[    2.447902] ehci-pci 0000:00:12.2: EHCI Host Controller
[    2.447921] ehci-pci 0000:00:12.2: new USB bus registered, assigned bus number 3
[    2.447928] ehci-pci 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[    2.447942] ehci-pci 0000:00:12.2: debug port 1
[    2.448054] ehci-pci 0000:00:12.2: irq 17, io mem 0xfeb0a000
[    2.458325] ehci-pci 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    2.458487] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[    2.458492] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.458495] usb usb3: Product: EHCI Host Controller
[    2.458498] usb usb3: Manufacturer: Linux 3.16.0-rc6+ ehci_hcd
[    2.458501] usb usb3: SerialNumber: 0000:00:12.2
[    2.460341] hub 3-0:1.0: USB hub found
[    2.460371] hub 3-0:1.0: 5 ports detected
[    2.462177] ehci-pci 0000:00:13.2: EHCI Host Controller
[    2.462197] ehci-pci 0000:00:13.2: new USB bus registered, assigned bus number 4
[    2.462207] ehci-pci 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[    2.462225] ehci-pci 0000:00:13.2: debug port 1
[    2.462281] ehci-pci 0000:00:13.2: irq 17, io mem 0xfeb08000
[    2.464503] [drm] radeon kernel modesetting enabled.
[    2.471977] [drm] initializing kernel modesetting (BONAIRE 0x1002:0x665C 0x1787:0x200F).
[    2.472009] [drm] register mmio base: 0xFEA00000
[    2.472010] [drm] register mmio size: 262144
[    2.472016] [drm] doorbell mmio base: 0xF0000000
[    2.472017] [drm] doorbell mmio size: 8388608
[    2.472118] radeon 0000:01:00.0: Invalid ROM contents
[    2.472218] ATOM BIOS: BONAIRE
[    2.472306] radeon 0000:01:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)
[    2.472308] radeon 0000:01:00.0: GTT: 1024M 0x0000000040000000 - 0x000000007FFFFFFF
[    2.472310] [drm] Detected VRAM RAM=1024M, BAR=256M
[    2.472311] [drm] RAM width 128bits DDR
[    2.473838] ehci-pci 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    2.475043] [TTM] Zone  kernel: Available graphics memory: 4022742 kiB
[    2.475046] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[    2.475048] [TTM] Initializing pool allocator
[    2.475081] [TTM] Initializing DMA pool allocator
[    2.475503] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002
[    2.475508] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.475511] usb usb4: Product: EHCI Host Controller
[    2.475514] usb usb4: Manufacturer: Linux 3.16.0-rc6+ ehci_hcd
[    2.475516] usb usb4: SerialNumber: 0000:00:13.2
[    2.478858] [drm] radeon: 1024M of VRAM memory ready
[    2.478863] [drm] radeon: 1024M of GTT memory ready.
[    2.478965] [drm] Loading BONAIRE Microcode
[    2.479971] hub 4-0:1.0: USB hub found
[    2.479997] hub 4-0:1.0: 5 ports detected
[    2.482162] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, revision 0
[    2.485085] ohci-pci: OHCI PCI platform driver
[    2.485546] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.488767] piix4_smbus 0000:00:14.0: Auxiliary SMBus Host Controller at 0xb20
[    2.489189] [drm] radeon/BONAIRE_mc2.bin: 31792 bytes
[    2.489322] sd 2:0:0:0: Attached scsi generic sg1 type 0
[    2.490056] [drm] Internal thermal controller with fan control
[    2.494742] [drm] probing gen 2 caps for device 1022:1425 = 733d03/e
[    2.495303] random: nonblocking pool is initialized
[    2.495425] xhci_hcd 0000:00:10.1: xHCI Host Controller
[    2.495447] xhci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 5
[    2.495737] xhci_hcd 0000:00:10.1: irq 79 for MSI/MSI-X
[    2.495750] xhci_hcd 0000:00:10.1: irq 80 for MSI/MSI-X
[    2.495762] xhci_hcd 0000:00:10.1: irq 81 for MSI/MSI-X
[    2.495772] xhci_hcd 0000:00:10.1: irq 82 for MSI/MSI-X
[    2.495783] xhci_hcd 0000:00:10.1: irq 83 for MSI/MSI-X
[    2.496246] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002
[    2.496250] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.496253] usb usb5: Product: xHCI Host Controller
[    2.496256] usb usb5: Manufacturer: Linux 3.16.0-rc6+ xhci_hcd
[    2.496258] usb usb5: SerialNumber: 0000:00:10.1
[    2.506828] [drm] radeon: dpm initialized
[    2.509104] [drm] Found VCE firmware/feedback version 40.2.2 / 15!
[    2.509149] [drm] GART: num cpu pages 262144, num gpu pages 262144
[    2.511131] hub 5-0:1.0: USB hub found
[    2.511195] hub 5-0:1.0: 2 ports detected
[    2.511344] [drm] probing gen 2 caps for device 1022:1425 = 733d03/e
[    2.511360] [drm] PCIE gen 3 link speeds already enabled
[    2.514643] [drm] PCIE GART of 1024M enabled (table at 0x000000000078B000).
[    2.514890] radeon 0000:01:00.0: WB enabled
[    2.514919] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff880212014c00
[    2.514922] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000040000c04 and cpu addr 0xffff880212014c04
[    2.514924] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000040000c08 and cpu addr 0xffff880212014c08
[    2.514926] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff880212014c0c
[    2.514928] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000040000c10 and cpu addr 0xffff880212014c10
[    2.515326] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000076c98 and cpu addr 0xffffc900055b6c98
[    2.515392] radeon 0000:01:00.0: fence driver on ring 6 use gpu addr 0x0000000040000c18 and cpu addr 0xffff880212014c18
[    2.515394] radeon 0000:01:00.0: fence driver on ring 7 use gpu addr 0x0000000040000c1c and cpu addr 0xffff880212014c1c
[    2.515399] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.515400] [drm] Driver supports precise vblank timestamp query.
[    2.515475] radeon 0000:01:00.0: irq 84 for MSI/MSI-X
[    2.515502] radeon 0000:01:00.0: radeon: using MSI.
[    2.515586] [drm] radeon: irq initialized.
[    2.516013] xhci_hcd 0000:00:10.1: xHCI Host Controller
[    2.516025] xhci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 6
[    2.516572] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003
[    2.516576] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.516579] usb usb6: Product: xHCI Host Controller
[    2.516581] usb usb6: Manufacturer: Linux 3.16.0-rc6+ xhci_hcd
[    2.516583] usb usb6: SerialNumber: 0000:00:10.1
[    2.526223] hub 6-0:1.0: USB hub found
[    2.526465] hub 6-0:1.0: 2 ports detected
[    2.527533] xhci_hcd 0000:04:00.0: xHCI Host Controller
[    2.527550] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 7
[    2.527957] [drm] ring test on 0 succeeded in 2 usecs
[    2.528073] [drm] ring test on 1 succeeded in 2 usecs
[    2.528104] [drm] ring test on 2 succeeded in 2 usecs
[    2.528254] [drm] ring test on 3 succeeded in 2 usecs
[    2.528264] [drm] ring test on 4 succeeded in 2 usecs
[    2.534483] EDAC MC: Ver: 3.0.0
[    2.538846] MCE: In-kernel MCE decoding enabled.
[    2.539718] AMD64 EDAC driver v3.4.0
[    2.539781] EDAC amd64: DRAM ECC disabled.
[    2.539787] EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
[    2.539787]  Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
[    2.539787]  (Note that use of the override may cause unknown side effects.)
[    2.546928] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    2.546956] r8169 0000:05:00.0: enabling device (0000 -> 0003)
[    2.554298] r8169 0000:05:00.0: irq 85 for MSI/MSI-X
[    2.554956] r8169 0000:05:00.0 eth0: RTL8168g/8111g at 0xffffc90005488000, d8:50:e6:4e:62:1d, XID 0c000800 IRQ 85
[    2.554959] r8169 0000:05:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
[    2.561619] microcode: CPU0: patch_level=0x06003104
[    2.561753] microcode: CPU1: patch_level=0x06003104
[    2.561768] microcode: CPU2: patch_level=0x06003104
[    2.561782] microcode: CPU3: patch_level=0x06003104
[    2.561933] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    2.569451] AVX version of gcm_enc/dec engaged.
[    2.573312] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
[    2.574227] [drm] ring test on 5 succeeded in 1 usecs
[    2.584279] [drm] UVD initialized successfully.
[    2.585115] ohci-pci 0000:00:12.0: OHCI PCI host controller
[    2.585130] ohci-pci 0000:00:12.0: new USB bus registered, assigned bus number 8
[    2.585229] ohci-pci 0000:00:12.0: irq 18, io mem 0xfeb0b000
[    2.585790] input: PC Speaker as /devices/platform/pcspkr/input/input6
[    2.587062] xhci_hcd 0000:04:00.0: irq 86 for MSI/MSI-X
[    2.587072] xhci_hcd 0000:04:00.0: irq 87 for MSI/MSI-X
[    2.587079] xhci_hcd 0000:04:00.0: irq 88 for MSI/MSI-X
[    2.587086] xhci_hcd 0000:04:00.0: irq 89 for MSI/MSI-X
[    2.587094] xhci_hcd 0000:04:00.0: irq 90 for MSI/MSI-X
[    2.587387] usb usb7: New USB device found, idVendor=1d6b, idProduct=0002
[    2.587390] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.587392] usb usb7: Product: xHCI Host Controller
[    2.587394] usb usb7: Manufacturer: Linux 3.16.0-rc6+ xhci_hcd
[    2.587396] usb usb7: SerialNumber: 0000:04:00.0
[    2.587954] hub 7-0:1.0: USB hub found
[    2.587974] hub 7-0:1.0: 2 ports detected
[    2.588000] Error: Driver 'pcspkr' is already registered, aborting...
[    2.588326] xhci_hcd 0000:04:00.0: xHCI Host Controller
[    2.588336] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 9
[    2.588443] usb usb9: New USB device found, idVendor=1d6b, idProduct=0003
[    2.588445] usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.588447] usb usb9: Product: xHCI Host Controller
[    2.588449] usb usb9: Manufacturer: Linux 3.16.0-rc6+ xhci_hcd
[    2.588450] usb usb9: SerialNumber: 0000:04:00.0
[    2.593400] hub 9-0:1.0: USB hub found
[    2.593420] hub 9-0:1.0: 2 ports detected
[    2.601848] alg: No test for crc32 (crc32-pclmul)
[    2.602448] sound hdaudioC0D0: ALC1150: SKU not ready 0x00000000
[    2.602988] sound hdaudioC0D0: autoconfig: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
[    2.602992] sound hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    2.602995] sound hdaudioC0D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[    2.602997] sound hdaudioC0D0:    mono: mono_out=0x0
[    2.602999] sound hdaudioC0D0:    dig-out=0x11/0x1e
[    2.603001] sound hdaudioC0D0:    inputs:
[    2.603005] sound hdaudioC0D0:      Front Mic=0x19
[    2.603009] sound hdaudioC0D0:      Rear Mic=0x18
[    2.603011] sound hdaudioC0D0:      Line=0x1a
[    2.612435] kvm: Nested Virtualization enabled
[    2.612442] kvm: Nested Paging enabled
[    2.617273] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/sound/card0/hdaudioC0D0/input7
[    2.623200] input: HD-Audio Generic Front Mic as /devices/pci0000:00/0000:00:14.2/sound/card0/input8
[    2.623381] input: HD-Audio Generic Rear Mic as /devices/pci0000:00/0000:00:14.2/sound/card0/input9
[    2.623505] input: HD-Audio Generic Line as /devices/pci0000:00/0000:00:14.2/sound/card0/input10
[    2.623787] input: HD-Audio Generic Line Out Front as /devices/pci0000:00/0000:00:14.2/sound/card0/input11
[    2.623900] input: HD-Audio Generic Line Out Surround as /devices/pci0000:00/0000:00:14.2/sound/card0/input12
[    2.624037] input: HD-Audio Generic Line Out CLFE as /devices/pci0000:00/0000:00:14.2/sound/card0/input13
[    2.624578] input: HD-Audio Generic Front Headphone as /devices/pci0000:00/0000:00:14.2/sound/card0/input14
[    2.643927] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001
[    2.643931] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.643933] usb usb8: Product: OHCI PCI host controller
[    2.643934] usb usb8: Manufacturer: Linux 3.16.0-rc6+ ohci_hcd
[    2.643936] usb usb8: SerialNumber: 0000:00:12.0
[    2.644355] hub 8-0:1.0: USB hub found
[    2.644374] hub 8-0:1.0: 5 ports detected
[    2.645188] ohci-pci 0000:00:13.0: OHCI PCI host controller
[    2.645203] ohci-pci 0000:00:13.0: new USB bus registered, assigned bus number 10
[    2.645261] ohci-pci 0000:00:13.0: irq 18, io mem 0xfeb09000
[    2.694199] [drm] ring test on 6 succeeded in 19 usecs
[    2.694210] [drm] ring test on 7 succeeded in 2 usecs
[    2.694212] [drm] VCE initialized successfully.
[    2.698142] [drm] ib test on ring 0 succeeded in 0 usecs
[    2.702449] usb usb10: New USB device found, idVendor=1d6b, idProduct=0001
[    2.702452] usb usb10: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.702454] usb usb10: Product: OHCI PCI host controller
[    2.702456] usb usb10: Manufacturer: Linux 3.16.0-rc6+ ohci_hcd
[    2.702458] usb usb10: SerialNumber: 0000:00:13.0
[    2.702731] [drm] ib test on ring 1 succeeded in 0 usecs
[    2.702887] [drm] ib test on ring 2 succeeded in 0 usecs
[    2.703063] [drm] ib test on ring 3 succeeded in 0 usecs
[    2.703247] [drm] ib test on ring 4 succeeded in 0 usecs
[    2.706323] FAT-fs (sda3): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[    2.719370] hub 10-0:1.0: USB hub found
[    2.719949] hub 10-0:1.0: 5 ports detected
[    2.726494] [drm] ib test on ring 5 succeeded
[    2.747564] [drm] ib test on ring 6 succeeded
[    2.748318] [drm] ib test on ring 7 succeeded
[    2.798435] [drm] Radeon Display Connectors
[    2.798439] [drm] Connector 0:
[    2.798441] [drm]   DP-1
[    2.798443] [drm]   HPD2
[    2.798446] [drm]   DDC: 0x6530 0x6530 0x6534 0x6534 0x6538 0x6538 0x653c 0x653c
[    2.798447] [drm]   Encoders:
[    2.798449] [drm]     DFP1: INTERNAL_UNIPHY2
[    2.798451] [drm] Connector 1:
[    2.798452] [drm]   HDMI-A-1
[    2.798454] [drm]   HPD3
[    2.798456] [drm]   DDC: 0x6550 0x6550 0x6554 0x6554 0x6558 0x6558 0x655c 0x655c
[    2.798457] [drm]   Encoders:
[    2.798459] [drm]     DFP2: INTERNAL_UNIPHY2
[    2.798460] [drm] Connector 2:
[    2.798462] [drm]   DVI-D-1
[    2.798463] [drm]   HPD1
[    2.798465] [drm]   DDC: 0x6560 0x6560 0x6564 0x6564 0x6568 0x6568 0x656c 0x656c
[    2.798466] [drm]   Encoders:
[    2.798468] [drm]     DFP3: INTERNAL_UNIPHY1
[    2.798469] [drm] Connector 3:
[    2.798471] [drm]   DVI-I-1
[    2.798472] [drm]   HPD6
[    2.798474] [drm]   DDC: 0x6580 0x6580 0x6584 0x6584 0x6588 0x6588 0x658c 0x658c
[    2.798475] [drm]   Encoders:
[    2.798477] [drm]     DFP4: INTERNAL_UNIPHY
[    2.798479] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[    2.798850] Adding 7999484k swap on /dev/mapper/VG--Debian-LV--swap.  Priority:-1 extents:1 across:7999484k SSFS
[    2.826216] usb 5-1: new low-speed USB device number 2 using xhci_hcd
[    2.851971] [drm] fb mappable at 0xE098E000
[    2.851975] [drm] vram apper at 0xE0000000
[    2.851977] [drm] size 8294400
[    2.851978] [drm] fb depth is 24
[    2.851980] [drm]    pitch is 7680
[    2.852915] fbcon: radeondrmfb (fb0) is primary device
[    2.876516] Console: switching to colour frame buffer device 240x67
[    2.885387] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[    2.885392] radeon 0000:01:00.0: registered panic notifier
[    2.895331] [drm] Initialized radeon 2.40.0 20080528 for 0000:01:00.0 on minor 0
[    2.895590] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[    2.895829] snd_hda_intel 0000:01:00.1: Handle VGA-switcheroo audio client
[    2.896061] snd_hda_intel 0000:01:00.1: irq 91 for MSI/MSI-X
[    2.949781] input: HD-Audio Generic HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:02.1/0000:01:00.1/sound/card1/input15
[    2.950515] input: HD-Audio Generic HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:02.1/0000:01:00.1/sound/card1/input16
[    2.951056] input: HD-Audio Generic HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:02.1/0000:01:00.1/sound/card1/input17
[    2.951475] input: HD-Audio Generic HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:02.1/0000:01:00.1/sound/card1/input18
[    2.951892] input: HD-Audio Generic HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:02.1/0000:01:00.1/sound/card1/input19
[    2.952337] input: HD-Audio Generic HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:02.1/0000:01:00.1/sound/card1/input20
[    2.988652] usb 5-1: New USB device found, idVendor=045e, idProduct=0752
[    2.988657] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.988660] usb 5-1: Product: Wired Keyboard 400
[    2.988662] usb 5-1: Manufacturer: Microsoft
[    2.989797] usb 5-1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[    3.019910] hidraw: raw HID events driver (C) Jiri Kosina
[    3.035148] usbcore: registered new interface driver usbhid
[    3.035152] usbhid: USB HID core driver
[    3.038597] input: Microsoft Wired Keyboard 400 as /devices/pci0000:00/0000:00:10.1/usb5/5-1/5-1:1.0/0003:045E:0752.0001/input/input21
[    3.038907] Switched to clocksource tsc
[    3.040287] hid-generic 0003:045E:0752.0001: input,hidraw0: USB HID v1.11 Keyboard [Microsoft Wired Keyboard 400] on usb-0000:00:10.1-1/input0
[    3.162907] usb 7-2: new low-speed USB device number 2 using xhci_hcd
[    3.438907] usb 7-2: New USB device found, idVendor=192f, idProduct=0416
[    3.438915] usb 7-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[    3.438920] usb 7-2: Product: USB Optical Mouse
[    3.439335] usb 7-2: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[    3.444337] input: USB Optical Mouse as /devices/pci0000:00/0000:00:15.1/0000:04:00.0/usb7/7-2/7-2:1.0/0003:192F:0416.0002/input/input22
[    3.445357] hid-generic 0003:192F:0416.0002: input,hidraw1: USB HID v1.11 Mouse [USB Optical Mouse] on usb-0000:04:00.0-2/input0
[    3.824436] EXT4-fs (dm-3): mounted filesystem with ordered data mode. Opts: errors=remount-ro
[    4.098927] EXT4-fs (dm-4): mounted filesystem with ordered data mode. Opts: errors=remount-ro
[    4.114831] systemd-journald[183]: Received request to flush runtime journal from PID 1
[    4.320549] RPC: Registered named UNIX socket transport module.
[    4.320553] RPC: Registered udp transport module.
[    4.320554] RPC: Registered tcp transport module.
[    4.320556] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    4.324118] FS-Cache: Loaded
[    4.331387] FS-Cache: Netfs 'nfs' registered for caching
[    4.340813] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    4.651452] Bluetooth: Core ver 2.19
[    4.651498] NET: Registered protocol family 31
[    4.651500] Bluetooth: HCI device and connection manager initialized
[    4.651565] Bluetooth: HCI socket layer initialized
[    4.651572] Bluetooth: L2CAP socket layer initialized
[    4.651597] Bluetooth: SCO socket layer initialized
[    4.663484] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.663488] Bluetooth: BNEP filters: protocol multicast
[    4.663499] Bluetooth: BNEP socket layer initialized
[    4.686224] r8169 0000:05:00.0 eth0: link down
[    4.686305] r8169 0000:05:00.0 eth0: link down
[    4.686462] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    7.471432] r8169 0000:05:00.0 eth0: link up
[    7.471453] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23  8:05             ` Michel Dänzer
@ 2014-07-23  8:28               ` Peter Zijlstra
  2014-07-23  9:25                 ` Peter Zijlstra
  0 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23  8:28 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 05:05:24PM +0900, Michel Dänzer wrote:
> On 23.07.2014 15:49, Peter Zijlstra wrote:
> Attached. No FAIL messages yet.

> [    0.467570] __sdt_alloc: allocated ffff8802155ea4c0 with cpus: 
> [    0.467574] __sdt_alloc: allocated ffff8802155ea3c0 with cpus: 
> [    0.467576] __sdt_alloc: allocated ffff8802155ea2c0 with cpus: 
> [    0.467577] __sdt_alloc: allocated ffff8802155ea1c0 with cpus: 
> [    0.467582] __sdt_alloc: allocated ffff8802155ea0c0 with cpus: 
> [    0.467589] __sdt_alloc: allocated ffff880215798f40 with cpus: 
> [    0.467591] __sdt_alloc: allocated ffff880215798e40 with cpus: 
> [    0.467593] __sdt_alloc: allocated ffff880215798d40 with cpus: 
> [    0.467599] __sdt_alloc: allocated ffff880215798c40 with cpus: 
> [    0.467600] __sdt_alloc: allocated ffff880215798b40 with cpus: 
> [    0.467602] __sdt_alloc: allocated ffff880215798a40 with cpus: 
> [    0.467604] __sdt_alloc: allocated ffff880215798940 with cpus: 
> [    0.467627] build_sched_domain: cpu: 0 level: SMT cpu_map: 0-3 tl->mask: 0-1
> [    0.467629] build_sched_domain: cpu: 0 level: MC cpu_map: 0-3 tl->mask: 0-3
> [    0.467631] build_sched_domain: cpu: 1 level: SMT cpu_map: 0-3 tl->mask: 0-1
> [    0.467632] build_sched_domain: cpu: 1 level: MC cpu_map: 0-3 tl->mask: 0-3
> [    0.467634] build_sched_domain: cpu: 2 level: SMT cpu_map: 0-3 tl->mask: 2-3
> [    0.467635] build_sched_domain: cpu: 2 level: MC cpu_map: 0-3 tl->mask: 0-3
> [    0.467637] build_sched_domain: cpu: 3 level: SMT cpu_map: 0-3 tl->mask: 2-3
> [    0.467638] build_sched_domain: cpu: 3 level: MC cpu_map: 0-3 tl->mask: 0-3
> [    0.467640] build_sched_groups: got group ffff8802155ea4c0 with cpus: 
> [    0.467642] build_sched_groups: got group ffff8802155ea3c0 with cpus: 
> [    0.467643] build_sched_groups: got group ffff8802155ea0c0 with cpus: 
> [    0.467644] build_sched_groups: got group ffff880215798e40 with cpus: 
> [    0.467646] build_sched_groups: got group ffff8802155ea2c0 with cpus: 
> [    0.467647] build_sched_groups: got group ffff8802155ea1c0 with cpus: 

Hmm, indeed. And given that I don't see how the cpumask_clear() can make
any difference for you. And your topology information is 'correct'.

Of course, the other thing that patch did is clear sgp->power (now
sgc->capacity). So does adding that back cure things for you?

If it does, we've got to go figure out what's wrong with the sgc
assignments or so.

---
 kernel/sched/core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 7bc599dc4aa4..0c83265cf7c6 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5857,6 +5857,7 @@ build_sched_groups(struct sched_domain *sd, int cpu)
 			continue;
 
 		group = get_group(i, sdd, &sg);
+		sg->sgc->capacity = 0;
 		cpumask_setall(sched_group_mask(sg));
 
 		for_each_cpu(j, span) {

^ permalink raw reply related	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23  8:28               ` Peter Zijlstra
@ 2014-07-23  9:25                 ` Peter Zijlstra
  2014-07-23  9:31                   ` Michel Dänzer
  0 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23  9:25 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 10:28:19AM +0200, Peter Zijlstra wrote:

> Of course, the other thing that patch did is clear sgp->power (now
> sgc->capacity). 

Hmm, re-reading the thread there isn't a clear confirmation its this
patch at all. Could you perhaps bisect this to either verify it is
indeed that patch we're talking about:

caffcdd8d27b ("sched: Do not zero sg->cpumask and sg->sgp->power in build_sched_groups()")

or find which patch is causing this.


^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23  9:25                 ` Peter Zijlstra
@ 2014-07-23  9:31                   ` Michel Dänzer
  2014-07-23  9:45                     ` Dietmar Eggemann
                                       ` (2 more replies)
  0 siblings, 3 replies; 83+ messages in thread
From: Michel Dänzer @ 2014-07-23  9:31 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List

On 23.07.2014 18:25, Peter Zijlstra wrote:
> On Wed, Jul 23, 2014 at 10:28:19AM +0200, Peter Zijlstra wrote:
> 
>> Of course, the other thing that patch did is clear sgp->power (now
>> sgc->capacity). 
> 
> Hmm, re-reading the thread there isn't a clear confirmation its this
> patch at all. Could you perhaps bisect this to either verify it is
> indeed that patch we're talking about:
> 
> caffcdd8d27b ("sched: Do not zero sg->cpumask and sg->sgp->power in build_sched_groups()")
> 
> or find which patch is causing this.

It can take a long time for the problem to occur, so I need to run at
least for one or two days to be at least somewhat sure a given kernel is
not affected.

I'll try reproducing the problem with your previous suggestions first,
but if I manage to do that, I guess there's no alternative to bisecting...


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23  9:31                   ` Michel Dänzer
@ 2014-07-23  9:45                     ` Dietmar Eggemann
  2014-07-23 11:11                       ` Peter Zijlstra
  2014-07-23 10:52                     ` Peter Zijlstra
  2014-07-24  7:18                     ` Michel Dänzer
  2 siblings, 1 reply; 83+ messages in thread
From: Dietmar Eggemann @ 2014-07-23  9:45 UTC (permalink / raw)
  To: Michel Dänzer, Peter Zijlstra
  Cc: Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List

On 23/07/14 10:31, Michel Dänzer wrote:
> On 23.07.2014 18:25, Peter Zijlstra wrote:
>> On Wed, Jul 23, 2014 at 10:28:19AM +0200, Peter Zijlstra wrote:
>>
>>> Of course, the other thing that patch did is clear sgp->power (now
>>> sgc->capacity). 
>>
>> Hmm, re-reading the thread there isn't a clear confirmation its this
>> patch at all. Could you perhaps bisect this to either verify it is
>> indeed that patch we're talking about:
>>
>> caffcdd8d27b ("sched: Do not zero sg->cpumask and sg->sgp->power in build_sched_groups()")
>>
>> or find which patch is causing this.
> 
> It can take a long time for the problem to occur, so I need to run at
> least for one or two days to be at least somewhat sure a given kernel is
> not affected.

Doesn't the picture showing the captured panic reveal more information.
Haven't seen it myself, I just saw Peter's reply to your email

https://lkml.org/lkml/2014/7/17/100

> 
> I'll try reproducing the problem with your previous suggestions first,
> but if I manage to do that, I guess there's no alternative to bisecting...
> 
> 



^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23  9:31                   ` Michel Dänzer
  2014-07-23  9:45                     ` Dietmar Eggemann
@ 2014-07-23 10:52                     ` Peter Zijlstra
  2014-07-24  7:18                     ` Michel Dänzer
  2 siblings, 0 replies; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 10:52 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 06:31:26PM +0900, Michel Dänzer wrote:
> On 23.07.2014 18:25, Peter Zijlstra wrote:
> > On Wed, Jul 23, 2014 at 10:28:19AM +0200, Peter Zijlstra wrote:
> > 
> >> Of course, the other thing that patch did is clear sgp->power (now
> >> sgc->capacity). 
> > 
> > Hmm, re-reading the thread there isn't a clear confirmation its this
> > patch at all. Could you perhaps bisect this to either verify it is
> > indeed that patch we're talking about:
> > 
> > caffcdd8d27b ("sched: Do not zero sg->cpumask and sg->sgp->power in build_sched_groups()")
> > 
> > or find which patch is causing this.
> 
> It can take a long time for the problem to occur, so I need to run at
> least for one or two days to be at least somewhat sure a given kernel is
> not affected.

Ah, ok, that's unfortunate :/

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23  9:45                     ` Dietmar Eggemann
@ 2014-07-23 11:11                       ` Peter Zijlstra
  2014-07-23 11:30                         ` Peter Zijlstra
  0 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 11:11 UTC (permalink / raw)
  To: Dietmar Eggemann
  Cc: Michel Dänzer, Linus Torvalds, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 10:45:46AM +0100, Dietmar Eggemann wrote:
> Doesn't the picture showing the captured panic reveal more information.
> Haven't seen it myself, I just saw Peter's reply to your email

Its a general protection fault from somewhere in load_balance(), I send
you the picture.

It would help to get addr2line of the RIP I suppose.

Michel provided a config, so lemme go try and build that, maybe my gcc
will generate similar code to his and the function offset is enough
clue.




^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 11:11                       ` Peter Zijlstra
@ 2014-07-23 11:30                         ` Peter Zijlstra
  2014-07-23 14:24                           ` Peter Zijlstra
  0 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 11:30 UTC (permalink / raw)
  To: Dietmar Eggemann
  Cc: Michel Dänzer, Linus Torvalds, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 01:11:10PM +0200, Peter Zijlstra wrote:
> On Wed, Jul 23, 2014 at 10:45:46AM +0100, Dietmar Eggemann wrote:
> > Doesn't the picture showing the captured panic reveal more information.
> > Haven't seen it myself, I just saw Peter's reply to your email
> 
> Its a general protection fault from somewhere in load_balance(), I send
> you the picture.
> 
> It would help to get addr2line of the RIP I suppose.
> 
> Michel provided a config, so lemme go try and build that, maybe my gcc
> will generate similar code to his and the function offset is enough
> clue.

So the code section says the faulting instruction is:

  f3 a5

followed by:

  48 89 c7 85 50 ff ff 

or so.

My compiled code is 'different', the function is shorter, but there's a
f3 a5 somewhere not too far short of +d7 at +a8. I have (objdump -SD):

    35a8:       f3 a5                   rep movsl %ds:(%rsi),%es:(%rdi)

        for_each_cpu_and(i, sched_group_cpus(group), env->cpus) {
                unsigned long capacity, capacity_factor, wl;
                enum fbq_type rt;

                rq = cpu_rq(i);
    35aa:       48 c7 c1 00 00 00 00    mov    $0x0,%rcx

And that's the only part that could possibly match.

That looks like the start of find_busiest_queue(). I'm not entirely sure
what the rep movsl is operating on, lemme try and figure that out.


^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 11:30                         ` Peter Zijlstra
@ 2014-07-23 14:24                           ` Peter Zijlstra
  2014-07-23 14:38                             ` Michel Dänzer
  2014-07-23 15:51                             ` Linus Torvalds
  0 siblings, 2 replies; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 14:24 UTC (permalink / raw)
  To: Dietmar Eggemann
  Cc: Michel Dänzer, Linus Torvalds, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 01:30:21PM +0200, Peter Zijlstra wrote:
> On Wed, Jul 23, 2014 at 01:11:10PM +0200, Peter Zijlstra wrote:
> > On Wed, Jul 23, 2014 at 10:45:46AM +0100, Dietmar Eggemann wrote:
> > > Doesn't the picture showing the captured panic reveal more information.
> > > Haven't seen it myself, I just saw Peter's reply to your email
> > 
> > Its a general protection fault from somewhere in load_balance(), I send
> > you the picture.
> > 
> > It would help to get addr2line of the RIP I suppose.
> > 
> > Michel provided a config, so lemme go try and build that, maybe my gcc
> > will generate similar code to his and the function offset is enough
> > clue.
> 
> So the code section says the faulting instruction is:
> 
>   f3 a5
> 
> followed by:
> 
>   48 89 c7 85 50 ff ff 
> 
> or so.
> 
> My compiled code is 'different', the function is shorter, but there's a
> f3 a5 somewhere not too far short of +d7 at +a8. I have (objdump -SD):
> 
>     35a8:       f3 a5                   rep movsl %ds:(%rsi),%es:(%rdi)
> 
>         for_each_cpu_and(i, sched_group_cpus(group), env->cpus) {
>                 unsigned long capacity, capacity_factor, wl;
>                 enum fbq_type rt;
> 
>                 rq = cpu_rq(i);
>     35aa:       48 c7 c1 00 00 00 00    mov    $0x0,%rcx
> 
> And that's the only part that could possibly match.
> 
> That looks like the start of find_busiest_queue(). I'm not entirely sure
> what the rep movsl is operating on, lemme try and figure that out.

Ah, this appears to be load_balance()'s:

	cpumask_copy(cpus, cpu_active_mask);

Which totally doesn't make sense, both src and dst are static storage.
Dst is the most interesting since its per-cpu storage, but still.

No way either of those should generate a #GP. Puzzled.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 14:24                           ` Peter Zijlstra
@ 2014-07-23 14:38                             ` Michel Dänzer
  2014-07-23 15:51                             ` Linus Torvalds
  1 sibling, 0 replies; 83+ messages in thread
From: Michel Dänzer @ 2014-07-23 14:38 UTC (permalink / raw)
  To: Peter Zijlstra, Dietmar Eggemann
  Cc: Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List

On 23.07.2014 23:24, Peter Zijlstra wrote:
> On Wed, Jul 23, 2014 at 01:30:21PM +0200, Peter Zijlstra wrote:
>> On Wed, Jul 23, 2014 at 01:11:10PM +0200, Peter Zijlstra wrote:
>>> On Wed, Jul 23, 2014 at 10:45:46AM +0100, Dietmar Eggemann wrote:
>>>> Doesn't the picture showing the captured panic reveal more information.
>>>> Haven't seen it myself, I just saw Peter's reply to your email
>>>
>>> Its a general protection fault from somewhere in load_balance(), I send
>>> you the picture.
>>>
>>> It would help to get addr2line of the RIP I suppose.
>>>
>>> Michel provided a config, so lemme go try and build that, maybe my gcc
>>> will generate similar code to his and the function offset is enough
>>> clue.
>>
>> So the code section says the faulting instruction is:
>>
>>   f3 a5
>>
>> followed by:
>>
>>   48 89 c7 85 50 ff ff 
>>
>> or so.
>>
>> My compiled code is 'different', the function is shorter, but there's a
>> f3 a5 somewhere not too far short of +d7 at +a8. I have (objdump -SD):
>>
>>     35a8:       f3 a5                   rep movsl %ds:(%rsi),%es:(%rdi)
>>
>>         for_each_cpu_and(i, sched_group_cpus(group), env->cpus) {
>>                 unsigned long capacity, capacity_factor, wl;
>>                 enum fbq_type rt;
>>
>>                 rq = cpu_rq(i);
>>     35aa:       48 c7 c1 00 00 00 00    mov    $0x0,%rcx
>>
>> And that's the only part that could possibly match.
>>
>> That looks like the start of find_busiest_queue(). I'm not entirely sure
>> what the rep movsl is operating on, lemme try and figure that out.
> 
> Ah, this appears to be load_balance()'s:
> 
> 	cpumask_copy(cpus, cpu_active_mask);

Right, according to addr2line it's the memcpy in bitmap_copy().


> Which totally doesn't make sense, both src and dst are static storage.
> Dst is the most interesting since its per-cpu storage, but still.
> 
> No way either of those should generate a #GP. Puzzled.

Could it be the memcpy length being off or something like that?


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 14:24                           ` Peter Zijlstra
  2014-07-23 14:38                             ` Michel Dänzer
@ 2014-07-23 15:51                             ` Linus Torvalds
       [not found]                               ` <20140723155526.GW3935@laptop>
  1 sibling, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-23 15:51 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 7:24 AM, Peter Zijlstra <peterz@infradead.org> wrote:
>
> No way either of those should generate a #GP. Puzzled.

I haven't seen the full oops, can you forward the screenshot? The
exact register state might give some clues.

             Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
       [not found]                               ` <20140723155526.GW3935@laptop>
@ 2014-07-23 16:54                                 ` Linus Torvalds
  2014-07-23 17:03                                   ` Peter Zijlstra
                                                     ` (2 more replies)
  0 siblings, 3 replies; 83+ messages in thread
From: Linus Torvalds @ 2014-07-23 16:54 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

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

On Wed, Jul 23, 2014 at 8:55 AM, Peter Zijlstra <peterz@infradead.org> wrote:
>>
>> I haven't seen the full oops, can you forward the screenshot? The
>> exact register state might give some clues.
>
> Sure, here goes.

So the length is fine, and the disassembly shows that it is fixed (16
32-bit words - why the heck does it use "movsl" rather than "movsq",
whatever).

The problem is %rdi, which has the value ffff10043c803e8c, which isn't
canonical. Which is why it GP-faults.

That value is loaded from the stack:

        mov    -0x88(%rbp),%rdi

so apparently the original "__get_cpu_var(load_balance_mask)" is
already corrupted, or something has corrupted it on the stack since
loading (but that looks unlikely).

And I wonder if I have a clue. Look, load_balance_mask is a
"cpumask_var_t", but I don't see a "alloc_cpumask_var()" for it.
That's broken with CONFIG_CPUMASK_OFFSTACK.

I think you actually want "load_balance_mask" to be a "struct cpumask *", no?

Alternatively, keep it a "cpumask_var_t", but then you need to use
__get_cpu_pointer() to get the address of it, and use
"alloc_cpumask_var()" to allocate area for the OFFSTACK case.

TOTALLY UNTESTED AND PROBABLY PURE CRAP PATCH ATTACHED.

WARNING! WARNING! WARNING! This is just looking at the code, not
really knowing it, and saying "that looks really really wrong". Maybe
I'm full of shit.

                Linus

[-- Attachment #2: patch.diff --]
[-- Type: text/plain, Size: 1293 bytes --]

 kernel/sched/core.c | 2 +-
 kernel/sched/fair.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index bc1638b33449..6980b7ad6da1 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6852,7 +6852,7 @@ struct task_group root_task_group;
 LIST_HEAD(task_groups);
 #endif
 
-DECLARE_PER_CPU(cpumask_var_t, load_balance_mask);
+DECLARE_PER_CPU(struct cpumask *, load_balance_mask);
 
 void __init sched_init(void)
 {
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index fea7d3335e1f..ef84a37ba19a 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6421,7 +6421,7 @@ static struct rq *find_busiest_queue(struct lb_env *env,
 #define MAX_PINNED_INTERVAL	512
 
 /* Working cpumask for load_balance and load_balance_newidle. */
-DEFINE_PER_CPU(cpumask_var_t, load_balance_mask);
+DEFINE_PER_CPU(struct cpumask *, load_balance_mask);
 
 static int need_active_balance(struct lb_env *env)
 {
@@ -6490,7 +6490,7 @@ static int load_balance(int this_cpu, struct rq *this_rq,
 	struct sched_group *group;
 	struct rq *busiest;
 	unsigned long flags;
-	struct cpumask *cpus = __get_cpu_var(load_balance_mask);
+	struct cpumask *cpus = __this_cpu_read(load_balance_mask);
 
 	struct lb_env env = {
 		.sd		= sd,

^ permalink raw reply related	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 16:54                                 ` Linus Torvalds
@ 2014-07-23 17:03                                   ` Peter Zijlstra
  2014-07-23 17:12                                     ` Linus Torvalds
  2014-07-23 17:04                                   ` Peter Zijlstra
  2014-07-23 18:23                                   ` Peter Zijlstra
  2 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 17:03 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 09:54:23AM -0700, Linus Torvalds wrote:
> On Wed, Jul 23, 2014 at 8:55 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> >>
> >> I haven't seen the full oops, can you forward the screenshot? The
> >> exact register state might give some clues.
> >
> > Sure, here goes.
> 
> So the length is fine, and the disassembly shows that it is fixed (16
> 32-bit words - why the heck does it use "movsl" rather than "movsq",
> whatever).
> 
> The problem is %rdi, which has the value ffff10043c803e8c, which isn't
> canonical. Which is why it GP-faults.
> 
> That value is loaded from the stack:
> 
>         mov    -0x88(%rbp),%rdi
> 
> so apparently the original "__get_cpu_var(load_balance_mask)" is
> already corrupted, or something has corrupted it on the stack since
> loading (but that looks unlikely).
> 
> And I wonder if I have a clue. Look, load_balance_mask is a
> "cpumask_var_t", but I don't see a "alloc_cpumask_var()" for it.
> That's broken with CONFIG_CPUMASK_OFFSTACK.

kernel/sched/core.c:sched_init()

plays horrible allocation tricks.. which I suppose we should clean up,
sched_init() appears to be called late enough to use regular per-cpu
allocations.

> I think you actually want "load_balance_mask" to be a "struct cpumask *", no?
> 
> Alternatively, keep it a "cpumask_var_t", but then you need to use
> __get_cpu_pointer() to get the address of it, and use
> "alloc_cpumask_var()" to allocate area for the OFFSTACK case.

I'm always terminally confused on that interface.. but this code hasn't
changed in a long while and I would expect other crashes if this was
really funky like that.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 16:54                                 ` Linus Torvalds
  2014-07-23 17:03                                   ` Peter Zijlstra
@ 2014-07-23 17:04                                   ` Peter Zijlstra
  2014-07-23 17:15                                     ` Linus Torvalds
  2014-07-23 18:23                                   ` Peter Zijlstra
  2 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 17:04 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 09:54:23AM -0700, Linus Torvalds wrote:

> So the length is fine, and the disassembly shows that it is fixed (16
> 32-bit words - why the heck does it use "movsl" rather than "movsq",
> whatever).

Which is exactly right btw, he's got CONFIG_NR_CPUS=512 and 8*4*16=512.


^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 17:03                                   ` Peter Zijlstra
@ 2014-07-23 17:12                                     ` Linus Torvalds
  2014-07-23 17:26                                       ` Linus Torvalds
                                                         ` (2 more replies)
  0 siblings, 3 replies; 83+ messages in thread
From: Linus Torvalds @ 2014-07-23 17:12 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 10:03 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Wed, Jul 23, 2014 at 09:54:23AM -0700, Linus Torvalds wrote:
>>
>> And I wonder if I have a clue. Look, load_balance_mask is a
>> "cpumask_var_t", but I don't see a "alloc_cpumask_var()" for it.
>> That's broken with CONFIG_CPUMASK_OFFSTACK.
>
> kernel/sched/core.c:sched_init()
>
> plays horrible allocation tricks..

No it does not. It allocates a cpumask. Nothing more. If you think it
allocates a "cpumask_var()", you are wrong.

I agree that the code is an unreadable mess, but that's what
"cpumask_size()" is: the minimum required size of the bitmask in a
cpumask.

A cpumask_var is TOTALLY DIFFERENT. It's *either* a cpumask _or_ just
a pointer to an externally allocated cpumask.

sched_init() definitely does _not_ allocate a cpumask_var.

                Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 17:04                                   ` Peter Zijlstra
@ 2014-07-23 17:15                                     ` Linus Torvalds
  2014-07-23 18:25                                       ` Peter Zijlstra
  0 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-23 17:15 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 10:04 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Wed, Jul 23, 2014 at 09:54:23AM -0700, Linus Torvalds wrote:
>
>> So the length is fine, and the disassembly shows that it is fixed (16
>> 32-bit words - why the heck does it use "movsl" rather than "movsq",
>> whatever).
>
> Which is exactly right btw, he's got CONFIG_NR_CPUS=512 and 8*4*16=512.

That's not my point. Why the f*ck does it use "movsl", when "movsq"
should work as well or better.

Then it should use a count of 8. Because 8*8*8 is also 512 bits.

Of course, with the enhanced string instructions, it's quite possible
that "movsb" with a count of 64 (64*8) is the best option.

Anyway, my gcc version creates a series of 8 "movq" pairs instead,
which will beat all other cases, at the cost of much bigger code
footprint.

              Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 17:12                                     ` Linus Torvalds
@ 2014-07-23 17:26                                       ` Linus Torvalds
  2014-07-23 18:25                                         ` Peter Zijlstra
  2014-07-23 18:07                                       ` Linus Torvalds
  2014-07-23 18:24                                       ` Peter Zijlstra
  2 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-23 17:26 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 10:12 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> sched_init() definitely does _not_ allocate a cpumask_var.

Side note: another good rule of thumb for per-cpu variables is:

 - if you use __get_cpu_var() without taking the address of it, you're
doing something wrong and stupid.

The whole - and really *only* - point of __get_cpu_var is to get the
address of a a cpu variable. If you want to read the *value* of the
variable, you should use "this_cpu_read()", which can use things like
special instructions or segments to read the percpu area.

I agree that the interface is not all that great, there's historical
baggage there. We would have been better off with
"__this_cpu_ptr(var)" instead of "&__get_cpu_var(var)". But that
"__get_cpu_var()" is the old way of doing things (predating the new
and better "this_cpu_read/write/ops()" stuff), which is why we have
that odd interface with "&__get_cpu_var()".

           Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 17:12                                     ` Linus Torvalds
  2014-07-23 17:26                                       ` Linus Torvalds
@ 2014-07-23 18:07                                       ` Linus Torvalds
  2014-07-23 18:31                                         ` Peter Zijlstra
  2014-07-23 18:24                                       ` Peter Zijlstra
  2 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-23 18:07 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 10:12 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> A cpumask_var is TOTALLY DIFFERENT. It's *either* a cpumask _or_ just
> a pointer to an externally allocated cpumask.
>
> sched_init() definitely does _not_ allocate a cpumask_var.

I take that back. It does end up allocating it properly, it just
avoids all the correct abstractions.

In general, the rule of thumb should be:

 - stack allocations should use "cpumask_var_t cpus" and they
absolutely *have* to be paired with an "alloc_cpumask_var(&cpus,
GFP_KERNEL)". Having a "struct cpumask" on stack is very wrong.

 - random single nonstack allocations should probably just use a plain
"struct cpumask" (or cpumask_t, but we really shouldn't use typedef's
unless they actively abstract some per-config *changing* type).

 - dynamic allocations that are size-conscious (because there's a lot
of them) should allocate a "struct cpumask *" by using
"cpumask_size()". They have a pointer anyway, they allocate things
dynamically anyway, extra indirection through a cpumask_var_t would
just be unnecessary.

 - *static* per-cpu allocations might want to use "cpumask_var_t" (to
avoid having a full "struct cpumask_t") along with doing a
"zalloc_cpumask_var_node(..)" for each cpu.

sched_init() follows that last pattern, except it open-codes that
zalloc_cpumask_var_node() in an odd way that confused me.

So I take my patch back. It's wrong, because it only allocates that
cpumask_size() if CONFIG_CPUMASK_OFFSTACK is true.

Ugh, that code really is unreadable.

               Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 16:54                                 ` Linus Torvalds
  2014-07-23 17:03                                   ` Peter Zijlstra
  2014-07-23 17:04                                   ` Peter Zijlstra
@ 2014-07-23 18:23                                   ` Peter Zijlstra
  2 siblings, 0 replies; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 18:23 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 09:54:23AM -0700, Linus Torvalds wrote:
> Alternatively, keep it a "cpumask_var_t", but then you need to use
> __get_cpu_pointer() to get the address of it, and use
> "alloc_cpumask_var()" to allocate area for the OFFSTACK case.
> 
> TOTALLY UNTESTED AND PROBABLY PURE CRAP PATCH ATTACHED.
> 
> WARNING! WARNING! WARNING! This is just looking at the code, not
> really knowing it, and saying "that looks really really wrong". Maybe
> I'm full of shit.

If we're doing that, then we also need to unconditionally allocate
memory for that pointer.

The below is something that seems to be consistent and uses struct
cpumask * as you suggest.

Still wondering how the heck any of that worked and didn't generate more
crashing.

---
 kernel/sched/core.c | 17 +++++++----------
 kernel/sched/fair.c |  4 ++--
 2 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 7bc599dc4aa4..976d520587a8 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6867,7 +6867,7 @@ struct task_group root_task_group;
 LIST_HEAD(task_groups);
 #endif
 
-DECLARE_PER_CPU(cpumask_var_t, load_balance_mask);
+DECLARE_PER_CPU(struct cpumask *, load_balance_mask);
 
 void __init sched_init(void)
 {
@@ -6880,9 +6880,6 @@ void __init sched_init(void)
 #ifdef CONFIG_RT_GROUP_SCHED
 	alloc_size += 2 * nr_cpu_ids * sizeof(void **);
 #endif
-#ifdef CONFIG_CPUMASK_OFFSTACK
-	alloc_size += num_possible_cpus() * cpumask_size();
-#endif
 	if (alloc_size) {
 		ptr = (unsigned long)kzalloc(alloc_size, GFP_NOWAIT);
 
@@ -6902,12 +6899,12 @@ void __init sched_init(void)
 		ptr += nr_cpu_ids * sizeof(void **);
 
 #endif /* CONFIG_RT_GROUP_SCHED */
-#ifdef CONFIG_CPUMASK_OFFSTACK
-		for_each_possible_cpu(i) {
-			per_cpu(load_balance_mask, i) = (void *)ptr;
-			ptr += cpumask_size();
-		}
-#endif /* CONFIG_CPUMASK_OFFSTACK */
+	}
+
+	for_each_possible_cpu(i) {
+		per_cpu(load_balance_mask, i) = kzalloc_node(cpumask_size(),
+							     GFP_NOWAIT,
+							     cpu_to_node(i));
 	}
 
 	init_rt_bandwidth(&def_rt_bandwidth,
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 45943b2fa82b..e4d939dc1084 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6469,7 +6469,7 @@ static struct rq *find_busiest_queue(struct lb_env *env,
 #define MAX_PINNED_INTERVAL	512
 
 /* Working cpumask for load_balance and load_balance_newidle. */
-DEFINE_PER_CPU(cpumask_var_t, load_balance_mask);
+DEFINE_PER_CPU(struct cpumask *, load_balance_mask);
 
 static int need_active_balance(struct lb_env *env)
 {
@@ -6538,7 +6538,7 @@ static int load_balance(int this_cpu, struct rq *this_rq,
 	struct sched_group *group;
 	struct rq *busiest;
 	unsigned long flags;
-	struct cpumask *cpus = __get_cpu_var(load_balance_mask);
+	struct cpumask *cpus = this_cpu_read(load_balance_mask);
 
 	struct lb_env env = {
 		.sd		= sd,

^ permalink raw reply related	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 17:12                                     ` Linus Torvalds
  2014-07-23 17:26                                       ` Linus Torvalds
  2014-07-23 18:07                                       ` Linus Torvalds
@ 2014-07-23 18:24                                       ` Peter Zijlstra
  2 siblings, 0 replies; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 18:24 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 10:12:35AM -0700, Linus Torvalds wrote:
> On Wed, Jul 23, 2014 at 10:03 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> > On Wed, Jul 23, 2014 at 09:54:23AM -0700, Linus Torvalds wrote:
> >>
> >> And I wonder if I have a clue. Look, load_balance_mask is a
> >> "cpumask_var_t", but I don't see a "alloc_cpumask_var()" for it.
> >> That's broken with CONFIG_CPUMASK_OFFSTACK.
> >
> > kernel/sched/core.c:sched_init()
> >
> > plays horrible allocation tricks..
> 
> No it does not. It allocates a cpumask. Nothing more. If you think it
> allocates a "cpumask_var()", you are wrong.

I was merely saying 'something' got allocated, but yes I'll agree its
not a cpumask_var_t thingy.

> I agree that the code is an unreadable mess, but that's what
> "cpumask_size()" is: the minimum required size of the bitmask in a
> cpumask.

Latest patch cures at least this part of that mess.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 17:26                                       ` Linus Torvalds
@ 2014-07-23 18:25                                         ` Peter Zijlstra
  2014-07-23 18:35                                           ` Linus Torvalds
  0 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 18:25 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 10:26:21AM -0700, Linus Torvalds wrote:
> On Wed, Jul 23, 2014 at 10:12 AM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > sched_init() definitely does _not_ allocate a cpumask_var.
> 
> Side note: another good rule of thumb for per-cpu variables is:
> 
>  - if you use __get_cpu_var() without taking the address of it, you're
> doing something wrong and stupid.
> 
> The whole - and really *only* - point of __get_cpu_var is to get the
> address of a a cpu variable. If you want to read the *value* of the
> variable, you should use "this_cpu_read()", which can use things like
> special instructions or segments to read the percpu area.

I think this code predates all the this_cpu* magic. But yes, agreed.

> I agree that the interface is not all that great, there's historical
> baggage there. We would have been better off with
> "__this_cpu_ptr(var)" instead of "&__get_cpu_var(var)". But that
> "__get_cpu_var()" is the old way of doing things (predating the new
> and better "this_cpu_read/write/ops()" stuff), which is why we have
> that odd interface with "&__get_cpu_var()".

I think there's a whole bunch of patches by Christoph Lameter, queued by
TJ that remove all __get_cpu_var usage and eventually the interface.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 17:15                                     ` Linus Torvalds
@ 2014-07-23 18:25                                       ` Peter Zijlstra
  0 siblings, 0 replies; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 18:25 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 10:15:23AM -0700, Linus Torvalds wrote:
> On Wed, Jul 23, 2014 at 10:04 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> > On Wed, Jul 23, 2014 at 09:54:23AM -0700, Linus Torvalds wrote:
> >
> >> So the length is fine, and the disassembly shows that it is fixed (16
> >> 32-bit words - why the heck does it use "movsl" rather than "movsq",
> >> whatever).
> >
> > Which is exactly right btw, he's got CONFIG_NR_CPUS=512 and 8*4*16=512.
> 
> That's not my point. Why the f*ck does it use "movsl", when "movsq"
> should work as well or better.

Agreed, big question there. I was merely pointing out that the value is
consistent with his .config.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 18:07                                       ` Linus Torvalds
@ 2014-07-23 18:31                                         ` Peter Zijlstra
  0 siblings, 0 replies; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 18:31 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 11:07:40AM -0700, Linus Torvalds wrote:

>  - *static* per-cpu allocations might want to use "cpumask_var_t" (to
> avoid having a full "struct cpumask_t") along with doing a
> "zalloc_cpumask_var_node(..)" for each cpu.
> 
> sched_init() follows that last pattern, except it open-codes that
> zalloc_cpumask_var_node() in an odd way that confused me.
> 
> So I take my patch back. It's wrong, because it only allocates that
> cpumask_size() if CONFIG_CPUMASK_OFFSTACK is true.

What it doesn't do is keep the allocation on the right node, so killing
that stuff is helping more than just readability.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 18:25                                         ` Peter Zijlstra
@ 2014-07-23 18:35                                           ` Linus Torvalds
  2014-07-23 18:41                                             ` Peter Zijlstra
  0 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-23 18:35 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 11:25 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Wed, Jul 23, 2014 at 10:26:21AM -0700, Linus Torvalds wrote:
>>
>> The whole - and really *only* - point of __get_cpu_var is to get the
>> address of a a cpu variable. If you want to read the *value* of the
>> variable, you should use "this_cpu_read()", which can use things like
>> special instructions or segments to read the percpu area.
>
> I think this code predates all the this_cpu* magic. But yes, agreed.

It turns out - now that I've stared at the code for much too long for
my own sanity - that this code actually depends very subtly on
"__get_cpu_var()".

And not in good ways.

So what happens is that the games that "cpumask_var_t" plays in order
to make code work correctly with both on-stack and off-stack
configurations are really toxic to good per-cpu use.

For the off-stack case, a cpumask_var_t is a pointer to the real
allocation, and using "__get_cpu_var()" is very suboptimal, because it
gets that pointer by following the percpu offset explicitly. So we
load the percpu offset, then we load the offset to "load_balance_mask"
within that, and then we load the pointer off that. We'd be much
better off using "this_cpu_read()", which can just use the percpu area
directly to read the pointer.

HOWEVER.

For the direct case, a "cpumask_var_t" is an array, exactly so that
accessing it will just return the address of it, so that you can get
the "struct cpumask *" directly.  And there the whole dance with
adding the percpu offset is actually the right thing, because what you
want is the address to the percpu area. And you cannot use
"this_cpu_read()", because that wants to read the _value_, which is
not what we want at all.

Ugh. So it's not just the initialization that is subtle, the use of
those per-cpu "cpumask_var_t" is sadly suboptimal too.

But the code does appear to be correct. It just is messy, avoids the
proper abstractions, and generates suboptimal code for the off-stack
case.

               Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 18:35                                           ` Linus Torvalds
@ 2014-07-23 18:41                                             ` Peter Zijlstra
  2014-07-23 18:55                                               ` Linus Torvalds
  0 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 18:41 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 11:35:06AM -0700, Linus Torvalds wrote:
> But the code does appear to be correct. It just is messy, avoids the
> proper abstractions, and generates suboptimal code for the off-stack
> case.

OK, that leaves us agreeing we want to clean that up, but still no
closer to explaining WTH happened on Michel's machine. Weird that.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 18:41                                             ` Peter Zijlstra
@ 2014-07-23 18:55                                               ` Linus Torvalds
  2014-07-23 19:02                                                 ` Peter Zijlstra
  0 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-23 18:55 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 11:41 AM, Peter Zijlstra <peterz@infradead.org> wrote:
>
> OK, that leaves us agreeing we want to clean that up, but still no
> closer to explaining WTH happened on Michel's machine. Weird that.

So looking at that destination pointer value (ffff10043c803e8c), it
*looks* like a pointer. Almost. If it was 0xffff80.. instead of
0xffff10.. it would probably be a fine pointer.

Can you send me the config? I'm wondering what else might be close to
that load_balance_mask percpu allocation, that migth perhaps have
overflowed and written a stray byte into the pointer or something?

                  Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 18:55                                               ` Linus Torvalds
@ 2014-07-23 19:02                                                 ` Peter Zijlstra
  2014-07-23 19:20                                                   ` Linus Torvalds
  0 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-23 19:02 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

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

On Wed, Jul 23, 2014 at 11:55:42AM -0700, Linus Torvalds wrote:
> On Wed, Jul 23, 2014 at 11:41 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > OK, that leaves us agreeing we want to clean that up, but still no
> > closer to explaining WTH happened on Michel's machine. Weird that.
> 
> So looking at that destination pointer value (ffff10043c803e8c), it
> *looks* like a pointer. Almost. If it was 0xffff80.. instead of
> 0xffff10.. it would probably be a fine pointer.
> 
> Can you send me the config? I'm wondering what else might be close to
> that load_balance_mask percpu allocation, that migth perhaps have
> overflowed and written a stray byte into the pointer or something?

Here goes..

[-- Attachment #2: michel-config.txt --]
[-- Type: text/plain, Size: 133060 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 3.16.0-rc5 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_FHANDLE=y
# CONFIG_USELIB is not set
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_DOMAIN=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y

#
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_RCU_STALL_COMMON=y
CONFIG_CONTEXT_TRACKING=y
# CONFIG_RCU_USER_QS is not set
# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FANOUT_EXACT is not set
CONFIG_RCU_FAST_NO_HZ=y
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_RCU_NOCB_CPU is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
# CONFIG_NUMA_BALANCING is not set
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
# CONFIG_MEMCG is not set
# CONFIG_CGROUP_HUGETLB is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
# CONFIG_USER_NS is not set
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_PCI_QUIRKS=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
# CONFIG_SLUB is not set
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_KPROBES=y
# CONFIG_JUMP_LABEL is not set
CONFIG_OPTPROBES=y
CONFIG_UPROBES=y
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_KRETPROBES=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
# CONFIG_CC_STACKPROTECTOR is not set
CONFIG_CC_STACKPROTECTOR_NONE=y
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
# CONFIG_CC_STACKPROTECTOR_STRONG is not set
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
# CONFIG_BLK_DEV_THROTTLING is not set
# CONFIG_BLK_CMDLINE_PARSER is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not set
# CONFIG_ACORN_PARTITION_EESOX is not set
CONFIG_ACORN_PARTITION_ICS=y
# CONFIG_ACORN_PARTITION_ADFS is not set
# CONFIG_ACORN_PARTITION_POWERTEC is not set
CONFIG_ACORN_PARTITION_RISCIX=y
# CONFIG_AIX_PARTITION is not set
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not set
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=m
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_USE_QUEUE_RWLOCK=y
CONFIG_QUEUE_RWLOCK=y
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_ZONE_DMA=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
# CONFIG_X86_INTEL_LPSS is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_HYPERVISOR_GUEST is not set
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=512
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_COUNT=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=m
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_I8K=m
CONFIG_MICROCODE=m
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
# CONFIG_MICROCODE_INTEL_EARLY is not set
# CONFIG_MICROCODE_AMD_EARLY is not set
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_MEMORY_ISOLATION=y
# CONFIG_MOVABLE_NODE is not set
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
# CONFIG_BALLOON_COMPACTION is not set
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_NEED_BOUNCE_POOL=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
CONFIG_CLEANCACHE=y
CONFIG_FRONTSWAP=y
# CONFIG_CMA is not set
CONFIG_ZBUD=y
CONFIG_ZSWAP=y
CONFIG_ZSMALLOC=y
# CONFIG_PGTABLE_MAPPING is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
CONFIG_EFI=y
# CONFIG_EFI_STUB is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
# CONFIG_KEXEC_JUMP is not set
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_RANDOMIZE_BASE=y
CONFIG_RANDOMIZE_BASE_MAX_OFFSET=0x40000000
CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM_RUNTIME=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_DPM_WATCHDOG is not set
# CONFIG_PM_TRACE_RTC is not set
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
# CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_HOTPLUG_MEMORY is not set
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=y
# CONFIG_ACPI_CUSTOM_METHOD is not set
# CONFIG_ACPI_BGRT is not set
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
# CONFIG_ACPI_APEI_EINJ is not set
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
# CONFIG_ACPI_EXTLOG is not set
CONFIG_SFI=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=m
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

#
# x86 CPU frequency scaling drivers
#
# CONFIG_X86_INTEL_PSTATE is not set
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ_CPB=y
CONFIG_X86_POWERNOW_K8=m
CONFIG_X86_AMD_FREQ_SENSITIVITY=m
CONFIG_X86_SPEEDSTEP_CENTRINO=m
# CONFIG_X86_P4_CLOCKMOD is not set

#
# shared options
#
# CONFIG_X86_SPEEDSTEP_LIB is not set

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
# CONFIG_INTEL_IDLE is not set

#
# Memory power savings
#
CONFIG_I7300_IDLE_IOAT_CHANNEL=y
CONFIG_I7300_IDLE=m

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
# CONFIG_PCIE_ECRC is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
CONFIG_PCI_STUB=m
CONFIG_HT_IRQ=y
CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y

#
# PCI host controller drivers
#
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_PCCARD=m
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=m
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=m
CONFIG_I82092=m
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_RAPIDIO is not set
CONFIG_X86_SYSFB=y

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=m
CONFIG_COREDUMP=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
# CONFIG_X86_X32 is not set
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_KEYS_COMPAT=y
CONFIG_X86_DEV_DMA_OPS=y
CONFIG_IOSF_MBI=m
CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=m
CONFIG_UNIX=y
CONFIG_UNIX_DIAG=m
CONFIG_XFRM=y
CONFIG_XFRM_ALGO=m
CONFIG_XFRM_USER=m
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IP_TUNNEL=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
# CONFIG_NET_IPVTI is not set
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_INET_UDP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=y
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
# CONFIG_IPV6_VTI is not set
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
# CONFIG_NETLABEL is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_NF_NAT_PROTO_DCCP=m
CONFIG_NF_NAT_PROTO_UDPLITE=m
CONFIG_NF_NAT_PROTO_SCTP=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_SIP=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=m
CONFIG_NFT_EXTHDR=m
CONFIG_NFT_META=m
CONFIG_NFT_CT=m
CONFIG_NFT_RBTREE=m
CONFIG_NFT_HASH=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_NAT=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_REJECT_INET=m
CONFIG_NFT_COMPAT=m
CONFIG_NETFILTER_XTABLES=m

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_SET=m

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_HMARK=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NETMAP=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ECN=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_NETFILTER_XT_MATCH_L2TP=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_NFACCT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPMARK=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETIFACE=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=m

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_NF_TABLES_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NF_TABLES_ARP=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_RPFILTER=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_SYNPROXY=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT_IPV4=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_TABLES_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_TARGET_SYNPROXY=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_NF_NAT_IPV6=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_IP6_NF_TARGET_NPT=m

#
# DECnet: Netfilter Configuration
#
CONFIG_DECNET_NF_GRABULATOR=m
CONFIG_NF_TABLES_BRIDGE=m
# CONFIG_NFT_BRIDGE_META is not set
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m

#
# DCCP CCIDs Configuration
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_TFRC_LIB=y

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_NET_DCCPPROBE=m
CONFIG_IP_SCTP=m
CONFIG_NET_SCTPPROBE=m
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_RDS=m
CONFIG_RDS_RDMA=m
CONFIG_RDS_TCP=m
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=m
CONFIG_TIPC_PORTS=8191
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=m
CONFIG_L2TP_ETH=m
CONFIG_STP=m
CONFIG_GARP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_BRIDGE_VLAN_FILTERING is not set
CONFIG_HAVE_NET_DSA=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
# CONFIG_VLAN_8021Q_MVRP is not set
CONFIG_DECNET=m
# CONFIG_DECNET_ROUTER is not set
CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
# CONFIG_X25 is not set
CONFIG_LAPB=m
CONFIG_PHONET=m
CONFIG_IEEE802154=m
# CONFIG_IEEE802154_6LOWPAN is not set
# CONFIG_MAC802154 is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_NET_SCH_FQ=m
CONFIG_NET_SCH_HHF=m
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=y
# CONFIG_NET_CLS_BPF is not set
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
# CONFIG_NET_EMATCH_CANID is not set
# CONFIG_NET_EMATCH_IPSET is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=m
CONFIG_BATMAN_ADV_BLA=y
# CONFIG_BATMAN_ADV_DAT is not set
# CONFIG_BATMAN_ADV_NC is not set
# CONFIG_BATMAN_ADV_MCAST is not set
# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_OPENVSWITCH is not set
# CONFIG_VSOCKETS is not set
CONFIG_NETLINK_MMAP=y
CONFIG_NETLINK_DIAG=m
# CONFIG_NET_MPLS_GSO is not set
# CONFIG_HSR is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_JIT=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_NET_TCPPROBE is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=m
# CONFIG_AX25_DAMA_SLAVE is not set
CONFIG_NETROM=m
CONFIG_ROSE=m

#
# AX.25 network device drivers
#
CONFIG_MKISS=m
CONFIG_6PACK=m
CONFIG_BPQETHER=m
CONFIG_BAYCOM_SER_FDX=m
CONFIG_BAYCOM_SER_HDX=m
CONFIG_BAYCOM_PAR=m
CONFIG_YAM=m
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
# CONFIG_CAN_GW is not set

#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=m
CONFIG_CAN_SLCAN=m
CONFIG_CAN_DEV=m
CONFIG_CAN_CALC_BITTIMING=y
# CONFIG_CAN_LEDS is not set
CONFIG_CAN_SJA1000=m
# CONFIG_CAN_SJA1000_ISA is not set
# CONFIG_CAN_SJA1000_PLATFORM is not set
# CONFIG_CAN_EMS_PCMCIA is not set
CONFIG_CAN_EMS_PCI=m
# CONFIG_CAN_PEAK_PCMCIA is not set
# CONFIG_CAN_PEAK_PCI is not set
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_PLX_PCI=m
# CONFIG_CAN_C_CAN is not set
# CONFIG_CAN_CC770 is not set

#
# CAN SPI interfaces
#
CONFIG_CAN_MCP251X=m

#
# CAN USB interfaces
#
CONFIG_CAN_EMS_USB=m
CONFIG_CAN_ESD_USB2=m
# CONFIG_CAN_GS_USB is not set
# CONFIG_CAN_KVASER_USB is not set
# CONFIG_CAN_PEAK_USB is not set
# CONFIG_CAN_8DEV_USB is not set
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SOFTING_CS=m
# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_IRDA=m

#
# IrDA protocols
#
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
# CONFIG_IRDA_ULTRA is not set

#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
# CONFIG_IRDA_DEBUG is not set

#
# Infrared-port device drivers
#

#
# SIR device drivers
#
CONFIG_IRTTY_SIR=m

#
# Dongle support
#
CONFIG_DONGLE=y
CONFIG_ESI_DONGLE=m
CONFIG_ACTISYS_DONGLE=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TOIM3232_DONGLE=m
CONFIG_LITELINK_DONGLE=m
CONFIG_MA600_DONGLE=m
CONFIG_GIRBIL_DONGLE=m
CONFIG_MCP2120_DONGLE=m
CONFIG_OLD_BELKIN_DONGLE=m
CONFIG_ACT200L_DONGLE=m
CONFIG_KINGSUN_DONGLE=m
CONFIG_KSDAZZLE_DONGLE=m
CONFIG_KS959_DONGLE=m

#
# FIR device drivers
#
CONFIG_USB_IRDA=m
CONFIG_SIGMATEL_FIR=m
CONFIG_NSC_FIR=m
CONFIG_WINBOND_FIR=m
CONFIG_SMC_IRCC_FIR=m
CONFIG_ALI_FIR=m
CONFIG_VLSI_FIR=m
CONFIG_VIA_FIR=m
CONFIG_MCS_FIR=m
CONFIG_BT=m
# CONFIG_BT_6LOWPAN is not set
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
# CONFIG_BT_HCIUART_3WIRE is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIDTL1=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_BT_ATH3K=m
CONFIG_BT_WILINK=m
CONFIG_AF_RXRPC=m
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=m
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
CONFIG_LIB80211_CRYPT_TKIP=m
# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_WIMAX=m
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL_REGULATOR is not set
# CONFIG_RFKILL_GPIO is not set
CONFIG_NET_9P=m
CONFIG_NET_9P_VIRTIO=m
CONFIG_NET_9P_RDMA=m
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
# CONFIG_NFC is not set
CONFIG_HAVE_BPF_JIT=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
CONFIG_DMA_SHARED_BUFFER=y

#
# Bus devices
#
CONFIG_CONNECTOR=m
CONFIG_MTD=m
# CONFIG_MTD_TESTS is not set
CONFIG_MTD_REDBOOT_PARTS=m
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
# CONFIG_MTD_CMDLINE_PARTS is not set
CONFIG_MTD_AR7_PARTS=m

#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=m
CONFIG_MTD_BLOCK=m
CONFIG_MTD_BLOCK_RO=m
CONFIG_FTL=m
CONFIG_NFTL=m
CONFIG_NFTL_RW=y
CONFIG_INFTL=m
CONFIG_RFD_FTL=m
CONFIG_SSFDC=m
# CONFIG_SM_FTL is not set
CONFIG_MTD_OOPS=m
CONFIG_MTD_SWAP=m

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=m
CONFIG_MTD_JEDECPROBE=m
CONFIG_MTD_GEN_PROBE=m
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=m
CONFIG_MTD_CFI_AMDSTD=m
CONFIG_MTD_CFI_STAA=m
CONFIG_MTD_CFI_UTIL=m
CONFIG_MTD_RAM=m
CONFIG_MTD_ROM=m
CONFIG_MTD_ABSENT=m

#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=m
# CONFIG_MTD_PHYSMAP_COMPAT is not set
CONFIG_MTD_SBC_GXX=m
# CONFIG_MTD_AMD76XROM is not set
# CONFIG_MTD_ICHXROM is not set
# CONFIG_MTD_ESB2ROM is not set
# CONFIG_MTD_CK804XROM is not set
# CONFIG_MTD_SCB2_FLASH is not set
CONFIG_MTD_NETtel=m
# CONFIG_MTD_L440GX is not set
CONFIG_MTD_PCI=m
CONFIG_MTD_PCMCIA=m
# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
# CONFIG_MTD_GPIO_ADDR is not set
CONFIG_MTD_INTEL_VR_NOR=m
CONFIG_MTD_PLATRAM=m
# CONFIG_MTD_LATCH_ADDR is not set

#
# Self-contained MTD device drivers
#
CONFIG_MTD_PMC551=m
# CONFIG_MTD_PMC551_BUGFIX is not set
# CONFIG_MTD_PMC551_DEBUG is not set
CONFIG_MTD_DATAFLASH=m
# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
# CONFIG_MTD_DATAFLASH_OTP is not set
CONFIG_MTD_SST25L=m
CONFIG_MTD_SLRAM=m
CONFIG_MTD_PHRAM=m
CONFIG_MTD_MTDRAM=m
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTDRAM_ERASE_SIZE=128
CONFIG_MTD_BLOCK2MTD=m

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
CONFIG_MTD_NAND_ECC=m
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=m
# CONFIG_MTD_NAND_ECC_BCH is not set
CONFIG_MTD_SM_COMMON=m
# CONFIG_MTD_NAND_DENALI is not set
# CONFIG_MTD_NAND_GPIO is not set
CONFIG_MTD_NAND_IDS=m
CONFIG_MTD_NAND_RICOH=m
CONFIG_MTD_NAND_DISKONCHIP=m
# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
# CONFIG_MTD_NAND_DOCG4 is not set
CONFIG_MTD_NAND_CAFE=m
CONFIG_MTD_NAND_NANDSIM=m
CONFIG_MTD_NAND_PLATFORM=m
CONFIG_MTD_ONENAND=m
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
CONFIG_MTD_ONENAND_GENERIC=m
# CONFIG_MTD_ONENAND_OTP is not set
CONFIG_MTD_ONENAND_2X_PROGRAM=y

#
# LPDDR & LPDDR2 PCM memory drivers
#
CONFIG_MTD_LPDDR=m
CONFIG_MTD_QINFO_PROBE=m
# CONFIG_MTD_SPI_NOR is not set
CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
# CONFIG_MTD_UBI_BLOCK is not set
CONFIG_PARPORT=m
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_AX88796=m
CONFIG_PARPORT_1284=y
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
CONFIG_BLK_DEV_FD=m
CONFIG_PARIDE=m

#
# Parallel IDE high-level drivers
#
CONFIG_PARIDE_PD=m
CONFIG_PARIDE_PCD=m
CONFIG_PARIDE_PF=m
CONFIG_PARIDE_PT=m
CONFIG_PARIDE_PG=m

#
# Parallel IDE protocol modules
#
CONFIG_PARIDE_ATEN=m
CONFIG_PARIDE_BPCK=m
CONFIG_PARIDE_COMM=m
CONFIG_PARIDE_DSTR=m
CONFIG_PARIDE_FIT2=m
CONFIG_PARIDE_FIT3=m
CONFIG_PARIDE_EPAT=m
# CONFIG_PARIDE_EPATC8 is not set
CONFIG_PARIDE_EPIA=m
CONFIG_PARIDE_FRIQ=m
CONFIG_PARIDE_FRPW=m
CONFIG_PARIDE_KBIC=m
CONFIG_PARIDE_KTTI=m
CONFIG_PARIDE_ON20=m
CONFIG_PARIDE_ON26=m
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=m
CONFIG_ZRAM_LZ4_COMPRESS=y
# CONFIG_ZRAM_DEBUG is not set
CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_CISS_SCSI_TAPE=y
CONFIG_BLK_DEV_DAC960=m
CONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_DRBD=m
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_NVME is not set
# CONFIG_BLK_DEV_SKD is not set
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
# CONFIG_BLK_DEV_XIP is not set
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_RBD=m
# CONFIG_BLK_DEV_RSXX is not set

#
# Misc devices
#
CONFIG_SENSORS_LIS3LV02D=m
CONFIG_AD525X_DPOT=m
CONFIG_AD525X_DPOT_I2C=m
CONFIG_AD525X_DPOT_SPI=m
# CONFIG_DUMMY_IRQ is not set
CONFIG_IBM_ASM=m
CONFIG_PHANTOM=m
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
CONFIG_ICS932S401=m
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_HP_ILO=m
CONFIG_APDS9802ALS=m
CONFIG_ISL29003=m
CONFIG_ISL29020=m
CONFIG_SENSORS_TSL2550=m
CONFIG_SENSORS_BH1780=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_APDS990X=m
CONFIG_HMC6352=m
CONFIG_DS1682=m
CONFIG_TI_DAC7512=m
# CONFIG_BMP085_I2C is not set
# CONFIG_BMP085_SPI is not set
# CONFIG_USB_SWITCH_FSA9480 is not set
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m

#
# EEPROM support
#
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
CONFIG_CB710_DEBUG_ASSUMPTIONS=y

#
# Texas Instruments shared transport line discipline
#
CONFIG_TI_ST=m
CONFIG_SENSORS_LIS3_I2C=m

#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not set
# CONFIG_INTEL_MEI is not set
# CONFIG_INTEL_MEI_ME is not set
# CONFIG_INTEL_MEI_TXE is not set
# CONFIG_VMWARE_VMCI is not set

#
# Intel MIC Host Driver
#
# CONFIG_INTEL_MIC_HOST is not set

#
# Intel MIC Card Driver
#
# CONFIG_INTEL_MIC_CARD is not set
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
CONFIG_HAVE_IDE=y
CONFIG_IDE=m

#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_ATAPI=y
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_IDE_GD=m
CONFIG_IDE_GD_ATA=y
CONFIG_IDE_GD_ATAPI=y
# CONFIG_BLK_DEV_IDECS is not set
CONFIG_BLK_DEV_DELKIN=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
CONFIG_BLK_DEV_IDETAPE=m
# CONFIG_BLK_DEV_IDEACPI is not set
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_PROC_FS=y

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=m
# CONFIG_BLK_DEV_PLATFORM is not set
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPNP=m
CONFIG_BLK_DEV_IDEDMA_SFF=y

#
# PCI IDE chipsets support
#
CONFIG_BLK_DEV_IDEPCI=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_GENERIC is not set
CONFIG_BLK_DEV_OPTI621=m
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
CONFIG_BLK_DEV_HPT366=m
# CONFIG_BLK_DEV_JMICRON is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
CONFIG_BLK_DEV_IT8172=m
CONFIG_BLK_DEV_IT8213=m
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
CONFIG_BLK_DEV_TRM290=m
# CONFIG_BLK_DEV_VIA82CXXX is not set
CONFIG_BLK_DEV_TC86C001=m
CONFIG_BLK_DEV_IDEDMA=y

#
# SCSI device support
#
CONFIG_SCSI_MOD=m
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_PROC_FS is not set

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
CONFIG_ISCSI_BOOT_SYSFS=m
CONFIG_SCSI_CXGB3_ISCSI=m
CONFIG_SCSI_CXGB4_ISCSI=m
CONFIG_SCSI_BNX2_ISCSI=m
CONFIG_SCSI_BNX2X_FCOE=m
CONFIG_BE2ISCSI=m
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
CONFIG_SCSI_3W_SAS=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
CONFIG_AIC7XXX_DEBUG_ENABLE=y
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=15000
CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
CONFIG_SCSI_MVSAS=m
# CONFIG_SCSI_MVSAS_DEBUG is not set
# CONFIG_SCSI_MVSAS_TASKLET is not set
# CONFIG_SCSI_MVUMI is not set
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_ARCMSR=m
# CONFIG_SCSI_ESAS2R is not set
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
# CONFIG_SCSI_MPT2SAS_LOGGING is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_UFSHCD is not set
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_FLASHPOINT is not set
CONFIG_VMWARE_PVSCSI=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
CONFIG_FCOE_FNIC=m
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_EATA=m
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
CONFIG_SCSI_ISCI=m
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
CONFIG_SCSI_INIA100=m
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=m
# CONFIG_SCSI_IPR_TRACE is not set
# CONFIG_SCSI_IPR_DUMP is not set
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
# CONFIG_TCM_QLA2XXX is not set
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC390T=m
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_PMCRAID=m
CONFIG_SCSI_PM8001=m
CONFIG_SCSI_SRP=m
CONFIG_SCSI_BFA_FC=m
# CONFIG_SCSI_VIRTIO is not set
# CONFIG_SCSI_CHELSIO_FCOE is not set
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m
CONFIG_SCSI_DH=m
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
CONFIG_SCSI_OSD_INITIATOR=m
CONFIG_SCSI_OSD_ULD=m
CONFIG_SCSI_OSD_DPRINT_SENSE=1
# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
# CONFIG_SATA_ZPODD is not set
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
# CONFIG_SATA_AHCI_PLATFORM is not set
CONFIG_SATA_INIC162X=m
CONFIG_SATA_ACARD_AHCI=m
CONFIG_SATA_SIL24=m
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
CONFIG_PDC_ADMA=m
CONFIG_SATA_QSTOR=m
CONFIG_SATA_SX4=m
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=m
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m
CONFIG_SATA_SVW=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=m

#
# PATA SFF controllers with BMDMA
#
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=m
CONFIG_PATA_ARTOP=m
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_ATP867X=m
CONFIG_PATA_CMD64X=m
# CONFIG_PATA_CYPRESS is not set
CONFIG_PATA_EFAR=m
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
CONFIG_PATA_IT821X=m
CONFIG_PATA_JMICRON=m
CONFIG_PATA_MARVELL=m
CONFIG_PATA_NETCELL=m
# CONFIG_PATA_NINJA32 is not set
CONFIG_PATA_NS87415=m
CONFIG_PATA_OLDPIIX=m
# CONFIG_PATA_OPTIDMA is not set
CONFIG_PATA_PDC2027X=m
CONFIG_PATA_PDC_OLD=m
# CONFIG_PATA_RADISYS is not set
CONFIG_PATA_RDC=m
CONFIG_PATA_SCH=m
CONFIG_PATA_SERVERWORKS=m
CONFIG_PATA_SIL680=m
CONFIG_PATA_SIS=m
CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
CONFIG_PATA_MPIIX=m
CONFIG_PATA_NS87410=m
# CONFIG_PATA_OPTI is not set
CONFIG_PATA_PCMCIA=m
CONFIG_PATA_RZ1000=m

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=m
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BCACHE=m
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
# CONFIG_DM_THIN_PROVISIONING is not set
# CONFIG_DM_CACHE is not set
# CONFIG_DM_ERA is not set
CONFIG_DM_MIRROR=m
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_RAID=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
# CONFIG_DM_VERITY is not set
# CONFIG_DM_SWITCH is not set
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_TCM_FC=m
# CONFIG_ISCSI_TARGET is not set
# CONFIG_SBP_TARGET is not set
CONFIG_FUSION=y
CONFIG_FUSION_SPI=m
CONFIG_FUSION_FC=m
CONFIG_FUSION_SAS=m
CONFIG_FUSION_MAX_SGE=128
CONFIG_FUSION_CTL=m
CONFIG_FUSION_LAN=m
# CONFIG_FUSION_LOGGING is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
CONFIG_I2O=m
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
CONFIG_I2O_EXT_ADAPTEC_DMA64=y
CONFIG_I2O_CONFIG=m
CONFIG_I2O_CONFIG_OLD_IOCTL=y
CONFIG_I2O_BUS=m
CONFIG_I2O_BLOCK=m
CONFIG_I2O_SCSI=m
CONFIG_I2O_PROC=m
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_MII=m
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
CONFIG_EQUALIZER=m
CONFIG_NET_FC=y
CONFIG_IFB=m
# CONFIG_NET_TEAM is not set
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_VXLAN is not set
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_VIRTIO_NET=m
# CONFIG_NLMON is not set
CONFIG_SUNGEM_PHY=m
CONFIG_ARCNET=m
CONFIG_ARCNET_1201=m
CONFIG_ARCNET_1051=m
CONFIG_ARCNET_RAW=m
CONFIG_ARCNET_CAP=m
CONFIG_ARCNET_COM90xx=m
CONFIG_ARCNET_COM90xxIO=m
CONFIG_ARCNET_RIM_I=m
CONFIG_ARCNET_COM20020=m
CONFIG_ARCNET_COM20020_PCI=m
CONFIG_ARCNET_COM20020_CS=m
CONFIG_ATM_DRIVERS=y
CONFIG_ATM_DUMMY=m
CONFIG_ATM_TCP=m
CONFIG_ATM_LANAI=m
CONFIG_ATM_ENI=m
# CONFIG_ATM_ENI_DEBUG is not set
# CONFIG_ATM_ENI_TUNE_BURST is not set
CONFIG_ATM_FIRESTREAM=m
CONFIG_ATM_ZATM=m
# CONFIG_ATM_ZATM_DEBUG is not set
CONFIG_ATM_NICSTAR=m
CONFIG_ATM_NICSTAR_USE_SUNI=y
CONFIG_ATM_NICSTAR_USE_IDT77105=y
CONFIG_ATM_IDT77252=m
# CONFIG_ATM_IDT77252_DEBUG is not set
# CONFIG_ATM_IDT77252_RCV_ALL is not set
CONFIG_ATM_IDT77252_USE_SUNI=y
CONFIG_ATM_AMBASSADOR=m
# CONFIG_ATM_AMBASSADOR_DEBUG is not set
CONFIG_ATM_HORIZON=m
# CONFIG_ATM_HORIZON_DEBUG is not set
CONFIG_ATM_IA=m
# CONFIG_ATM_IA_DEBUG is not set
CONFIG_ATM_FORE200E=m
# CONFIG_ATM_FORE200E_USE_TASKLET is not set
CONFIG_ATM_FORE200E_TX_RETRY=16
CONFIG_ATM_FORE200E_DEBUG=0
CONFIG_ATM_HE=m
CONFIG_ATM_HE_USE_SUNI=y
CONFIG_ATM_SOLOS=m

#
# CAIF transport drivers
#
CONFIG_VHOST_NET=m
# CONFIG_VHOST_SCSI is not set
CONFIG_VHOST_RING=m
CONFIG_VHOST=m

#
# Distributed Switch Architecture drivers
#
# CONFIG_NET_DSA_MV88E6XXX is not set
# CONFIG_NET_DSA_MV88E6060 is not set
# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
# CONFIG_NET_DSA_MV88E6131 is not set
# CONFIG_NET_DSA_MV88E6123_61_65 is not set
CONFIG_ETHERNET=y
CONFIG_MDIO=m
CONFIG_NET_VENDOR_3COM=y
CONFIG_PCMCIA_3C574=m
CONFIG_PCMCIA_3C589=m
CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMD=y
CONFIG_AMD8111_ETH=m
CONFIG_PCNET32=m
CONFIG_PCMCIA_NMCLAN=m
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
CONFIG_ATL2=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_ALX=m
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
# CONFIG_BNX2X_SRIOV is not set
CONFIG_NET_VENDOR_BROCADE=y
CONFIG_BNA=m
# CONFIG_NET_CALXEDA_XGMAC is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T3=m
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=m
# CONFIG_CX_ECAT is not set
CONFIG_DNET=m
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
CONFIG_DE2104X_DSL=0
CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set
CONFIG_TULIP_NAPI=y
CONFIG_TULIP_NAPI_HW_MITIGATION=y
CONFIG_DE4X5=m
CONFIG_WINBOND_840=m
CONFIG_DM9102=m
CONFIG_ULI526X=m
CONFIG_PCMCIA_XIRCOM=m
CONFIG_NET_VENDOR_DLINK=y
CONFIG_DL2K=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_NET_VENDOR_EMULEX=y
CONFIG_BE2NET=m
CONFIG_NET_VENDOR_EXAR=y
CONFIG_S2IO=m
CONFIG_VXGE=m
# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
CONFIG_NET_VENDOR_FUJITSU=y
CONFIG_PCMCIA_FMVJ18X=m
CONFIG_NET_VENDOR_HP=y
CONFIG_HP100=m
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IGB=m
# CONFIG_IGB_HWMON is not set
CONFIG_IGB_DCA=y
CONFIG_IGBVF=m
CONFIG_IXGB=m
CONFIG_IXGBE=m
# CONFIG_IXGBE_HWMON is not set
CONFIG_IXGBE_DCA=y
CONFIG_IXGBE_DCB=y
CONFIG_IXGBEVF=m
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
CONFIG_NET_VENDOR_I825XX=y
CONFIG_IP1000=m
CONFIG_JME=m
CONFIG_NET_VENDOR_MARVELL=y
# CONFIG_MVMDIO is not set
CONFIG_SKGE=m
# CONFIG_SKGE_DEBUG is not set
# CONFIG_SKGE_GENESIS is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_NET_VENDOR_MELLANOX=y
CONFIG_MLX4_EN=m
# CONFIG_MLX4_EN_DCB is not set
CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
# CONFIG_MLX5_CORE is not set
CONFIG_NET_VENDOR_MICREL=y
CONFIG_KS8842=m
CONFIG_KS8851=m
CONFIG_KS8851_MLL=m
CONFIG_KSZ884X_PCI=m
CONFIG_NET_VENDOR_MICROCHIP=y
CONFIG_ENC28J60=m
# CONFIG_ENC28J60_WRITEVERIFY is not set
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=m
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=m
CONFIG_NS83820=m
CONFIG_NET_VENDOR_8390=y
CONFIG_PCMCIA_AXNET=m
CONFIG_NE2K_PCI=m
CONFIG_PCMCIA_PCNET=m
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=m
CONFIG_NET_VENDOR_OKI=y
CONFIG_ETHOC=m
# CONFIG_NET_PACKET_ENGINE is not set
CONFIG_NET_VENDOR_QLOGIC=y
CONFIG_QLA3XXX=m
CONFIG_QLCNIC=m
CONFIG_QLCNIC_SRIOV=y
CONFIG_QLCNIC_DCB=y
CONFIG_QLCNIC_HWMON=y
CONFIG_QLGE=m
CONFIG_NETXEN_NIC=m
CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_ATP is not set
CONFIG_8139CP=m
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=m
# CONFIG_SH_ETH is not set
CONFIG_NET_VENDOR_RDC=y
CONFIG_R6040=m
CONFIG_NET_VENDOR_SAMSUNG=y
# CONFIG_SXGBE_ETH is not set
CONFIG_NET_VENDOR_SEEQ=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_SC92031=m
CONFIG_NET_VENDOR_SIS=y
CONFIG_SIS900=m
CONFIG_SIS190=m
CONFIG_SFC=m
CONFIG_SFC_MTD=y
# CONFIG_SFC_MCDI_MON is not set
# CONFIG_SFC_SRIOV is not set
CONFIG_NET_VENDOR_SMSC=y
CONFIG_PCMCIA_SMC91C92=m
CONFIG_EPIC100=m
CONFIG_SMSC911X=m
# CONFIG_SMSC911X_ARCH_HOOKS is not set
CONFIG_SMSC9420=m
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_STMMAC_ETH is not set
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NIU=m
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=m
CONFIG_NET_VENDOR_TI=y
CONFIG_TLAN=m
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
CONFIG_VIA_VELOCITY=m
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_NET_VENDOR_XIRCOM=y
CONFIG_PCMCIA_XIRC2PS=m
CONFIG_FDDI=y
CONFIG_DEFXX=m
# CONFIG_DEFXX_MMIO is not set
CONFIG_SKFP=m
CONFIG_HIPPI=y
CONFIG_ROADRUNNER=m
# CONFIG_ROADRUNNER_LARGE_RINGS is not set
CONFIG_NET_SB1000=m
CONFIG_PHYLIB=m

#
# MII PHY device drivers
#
# CONFIG_AT803X_PHY is not set
CONFIG_AMD_PHY=m
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_BCM7XXX_PHY=m
# CONFIG_BCM87XX_PHY is not set
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MICREL_PHY=m
CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_GPIO is not set
# CONFIG_MICREL_KS8995MA is not set
CONFIG_PLIP=m
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=m
CONFIG_PPPOE=m
CONFIG_PPTP=m
CONFIG_PPPOL2TP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_SLIP=m
CONFIG_SLHC=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y

#
# USB Network Adapters
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
# CONFIG_USB_RTL8152 is not set
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
# CONFIG_USB_NET_AX88179_178A is not set
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_CDC_NCM=m
# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
# CONFIG_USB_NET_CDC_MBIM is not set
CONFIG_USB_NET_DM9601=m
# CONFIG_USB_NET_SR9700 is not set
# CONFIG_USB_NET_SR9800 is not set
CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
CONFIG_USB_NET_KALMIA=m
# CONFIG_USB_NET_QMI_WWAN is not set
CONFIG_USB_HSO=m
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
CONFIG_USB_VL600=m
CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=m
CONFIG_LIBERTAS_THINFIRM=m
# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_AIRO=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m
CONFIG_PCMCIA_ATMEL=m
CONFIG_AT76C50X_USB=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_WL3501=m
# CONFIG_PRISM54 is not set
CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_RTL8180=m
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
CONFIG_ADM8211=m
CONFIG_MAC80211_HWSIM=m
CONFIG_MWL8K=m
# CONFIG_ATH_CARDS is not set
CONFIG_B43=m
CONFIG_B43_BCMA=y
CONFIG_B43_SSB=y
CONFIG_B43_BUSES_BCMA_AND_SSB=y
# CONFIG_B43_BUSES_BCMA is not set
# CONFIG_B43_BUSES_SSB is not set
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
CONFIG_B43_SDIO=y
CONFIG_B43_BCMA_PIO=y
CONFIG_B43_PIO=y
CONFIG_B43_PHY_N=y
CONFIG_B43_PHY_LP=y
# CONFIG_B43_PHY_HT is not set
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_HWRNG=y
CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
# CONFIG_BRCMSMAC is not set
# CONFIG_BRCMFMAC is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_HOSTAP_CS=m
# CONFIG_IPW2100 is not set
CONFIG_IPW2200=m
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
CONFIG_LIBIPW=m
# CONFIG_LIBIPW_DEBUG is not set
# CONFIG_IWLWIFI is not set
CONFIG_IWLEGACY=m
CONFIG_IWL4965=m
CONFIG_IWL3945=m

#
# iwl3945 / iwl4965 Debugging Options
#
# CONFIG_IWLEGACY_DEBUG is not set
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
CONFIG_LIBERTAS_CS=m
CONFIG_LIBERTAS_SDIO=m
CONFIG_LIBERTAS_SPI=m
# CONFIG_LIBERTAS_DEBUG is not set
CONFIG_LIBERTAS_MESH=y
CONFIG_HERMES=m
# CONFIG_HERMES_PRISM is not set
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=m
CONFIG_TMD_HERMES=m
CONFIG_NORTEL_HERMES=m
CONFIG_PCMCIA_HERMES=m
CONFIG_PCMCIA_SPECTRUM=m
CONFIG_ORINOCO_USB=m
CONFIG_P54_COMMON=m
CONFIG_P54_USB=m
CONFIG_P54_PCI=m
CONFIG_P54_SPI=m
# CONFIG_P54_SPI_DEFAULT_EEPROM is not set
CONFIG_P54_LEDS=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
CONFIG_RT2500PCI=m
CONFIG_RT61PCI=m
CONFIG_RT2800PCI=m
CONFIG_RT2800PCI_RT33XX=y
CONFIG_RT2800PCI_RT35XX=y
CONFIG_RT2800PCI_RT53XX=y
CONFIG_RT2800PCI_RT3290=y
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
CONFIG_RT2800USB=m
CONFIG_RT2800USB_RT33XX=y
CONFIG_RT2800USB_RT35XX=y
# CONFIG_RT2800USB_RT3573 is not set
CONFIG_RT2800USB_RT53XX=y
# CONFIG_RT2800USB_RT55XX is not set
# CONFIG_RT2800USB_UNKNOWN is not set
CONFIG_RT2800_LIB=m
CONFIG_RT2800_LIB_MMIO=m
CONFIG_RT2X00_LIB_MMIO=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
# CONFIG_RTL_CARDS is not set
# CONFIG_WL_TI is not set
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
CONFIG_MWIFIEX=m
CONFIG_MWIFIEX_SDIO=m
# CONFIG_MWIFIEX_PCIE is not set
# CONFIG_MWIFIEX_USB is not set
# CONFIG_CW1200 is not set
# CONFIG_RSI_91X is not set

#
# WiMAX Wireless Broadband devices
#
CONFIG_WIMAX_I2400M=m
CONFIG_WIMAX_I2400M_USB=m
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
CONFIG_WAN=y
CONFIG_LANMEDIA=m
CONFIG_HDLC=m
CONFIG_HDLC_RAW=m
CONFIG_HDLC_RAW_ETH=m
CONFIG_HDLC_CISCO=m
CONFIG_HDLC_FR=m
CONFIG_HDLC_PPP=m
# CONFIG_HDLC_X25 is not set
CONFIG_PCI200SYN=m
CONFIG_WANXL=m
# CONFIG_PC300TOO is not set
CONFIG_FARSYNC=m
CONFIG_DSCC4=m
CONFIG_DSCC4_PCISYNC=y
CONFIG_DSCC4_PCI_RST=y
CONFIG_DLCI=m
CONFIG_DLCI_MAX=8
CONFIG_SBNI=m
# CONFIG_SBNI_MULTILINE is not set
CONFIG_IEEE802154_DRIVERS=m
CONFIG_IEEE802154_FAKEHARD=m
CONFIG_VMXNET3=m
CONFIG_ISDN=y
# CONFIG_ISDN_I4L is not set
CONFIG_ISDN_CAPI=m
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_CAPI20=m
CONFIG_ISDN_CAPI_MIDDLEWARE=y

#
# CAPI hardware drivers
#
CONFIG_CAPI_AVM=y
CONFIG_ISDN_DRV_AVMB1_B1PCI=m
CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
CONFIG_ISDN_DRV_AVMB1_T1PCI=m
CONFIG_ISDN_DRV_AVMB1_C4=m
CONFIG_CAPI_EICON=y
CONFIG_ISDN_DIVAS=m
CONFIG_ISDN_DIVAS_BRIPCI=y
CONFIG_ISDN_DIVAS_PRIPCI=y
CONFIG_ISDN_DIVAS_DIVACAPI=m
CONFIG_ISDN_DIVAS_USERIDI=m
CONFIG_ISDN_DIVAS_MAINT=m
CONFIG_ISDN_DRV_GIGASET=m
CONFIG_GIGASET_CAPI=y
# CONFIG_GIGASET_DUMMYLL is not set
CONFIG_GIGASET_BASE=m
CONFIG_GIGASET_M105=m
CONFIG_GIGASET_M101=m
# CONFIG_GIGASET_DEBUG is not set
CONFIG_HYSDN=m
CONFIG_HYSDN_CAPI=y
CONFIG_MISDN=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_L1OIP=m

#
# mISDN hardware drivers
#
CONFIG_MISDN_HFCPCI=m
CONFIG_MISDN_HFCMULTI=m
CONFIG_MISDN_HFCUSB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_SPEEDFAX=m
CONFIG_MISDN_INFINEON=m
CONFIG_MISDN_W6692=m
# CONFIG_MISDN_NETJET is not set
CONFIG_MISDN_IPAC=m
CONFIG_MISDN_ISAR=m

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_SPARSEKMAP=m
# CONFIG_INPUT_MATRIXKMAP is not set

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ADP5588=m
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1070 is not set
CONFIG_KEYBOARD_QT2160=m
CONFIG_KEYBOARD_LKKBD=m
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
CONFIG_KEYBOARD_LM8323=m
# CONFIG_KEYBOARD_LM8333 is not set
CONFIG_KEYBOARD_MAX7359=m
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
CONFIG_KEYBOARD_NEWTON=m
CONFIG_KEYBOARD_OPENCORES=m
CONFIG_KEYBOARD_STOWAWAY=m
CONFIG_KEYBOARD_SUNKBD=m
CONFIG_KEYBOARD_XTKBD=m
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
# CONFIG_MOUSE_CYAPA is not set
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_MOUSE_GPIO is not set
CONFIG_MOUSE_SYNAPTICS_I2C=m
# CONFIG_MOUSE_SYNAPTICS_USB is not set
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
CONFIG_JOYSTICK_ADI=m
CONFIG_JOYSTICK_COBRA=m
CONFIG_JOYSTICK_GF2K=m
CONFIG_JOYSTICK_GRIP=m
CONFIG_JOYSTICK_GRIP_MP=m
CONFIG_JOYSTICK_GUILLEMOT=m
CONFIG_JOYSTICK_INTERACT=m
CONFIG_JOYSTICK_SIDEWINDER=m
CONFIG_JOYSTICK_TMDC=m
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=y
CONFIG_JOYSTICK_IFORCE_232=y
CONFIG_JOYSTICK_WARRIOR=m
CONFIG_JOYSTICK_MAGELLAN=m
CONFIG_JOYSTICK_SPACEORB=m
CONFIG_JOYSTICK_SPACEBALL=m
CONFIG_JOYSTICK_STINGER=m
CONFIG_JOYSTICK_TWIDJOY=m
CONFIG_JOYSTICK_ZHENHUA=m
CONFIG_JOYSTICK_DB9=m
CONFIG_JOYSTICK_GAMECON=m
CONFIG_JOYSTICK_TURBOGRAFX=m
# CONFIG_JOYSTICK_AS5011 is not set
CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_JOYSTICK_WALKERA0701=m
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
CONFIG_TABLET_USB_GTCO=m
CONFIG_TABLET_USB_HANWANG=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_WACOM=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_AD7877=m
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_FUJITSU=m
# CONFIG_TOUCHSCREEN_ILI210X is not set
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MMS114 is not set
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
# CONFIG_TOUCHSCREEN_PIXCIR is not set
CONFIG_TOUCHSCREEN_WM97XX=m
CONFIG_TOUCHSCREEN_WM9705=y
CONFIG_TOUCHSCREEN_WM9712=y
CONFIG_TOUCHSCREEN_WM9713=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
# CONFIG_TOUCHSCREEN_TSC2005 is not set
CONFIG_TOUCHSCREEN_TSC2007=m
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_SUR40 is not set
CONFIG_TOUCHSCREEN_TPS6507X=m
# CONFIG_TOUCHSCREEN_ZFORCE is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_BMA150 is not set
CONFIG_INPUT_PCSPKR=m
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MPU3050 is not set
CONFIG_INPUT_APANEL=m
# CONFIG_INPUT_GP2A is not set
# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
CONFIG_INPUT_ATLAS_BTNS=m
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
# CONFIG_INPUT_KXTJ9 is not set
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m
CONFIG_INPUT_PCF50633_PMU=m
# CONFIG_INPUT_PCF8574 is not set
CONFIG_INPUT_PWM_BEEPER=m
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_IMS_PCU is not set
# CONFIG_INPUT_CMA3000 is not set
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_ROCKETPORT=m
CONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set
CONFIG_MOXA_INTELLIO=m
CONFIG_MOXA_SMARTIO=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYNCLINK_GT=m
CONFIG_NOZOMI=m
CONFIG_ISI=m
CONFIG_N_HDLC=m
CONFIG_N_GSM=m
# CONFIG_TRACE_SINK is not set
# CONFIG_DEVKMEM is not set

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y
# CONFIG_SERIAL_8250_DW is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_MAX3100=m
# CONFIG_SERIAL_MAX310X is not set
CONFIG_SERIAL_MFD_HSU=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_IFX6X60 is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
CONFIG_HVC_DRIVER=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
# CONFIG_IPMI_SI_PROBE_DEFAULTS is not set
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM_TPM=m
CONFIG_NVRAM=m
CONFIG_R3964=m
CONFIG_APPLICOM=m

#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=m
CONFIG_CARDMAN_4000=m
CONFIG_CARDMAN_4040=m
CONFIG_IPWIRELESS=m
CONFIG_MWAVE=m
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=m
CONFIG_TCG_TIS=m
# CONFIG_TCG_TIS_I2C_ATMEL is not set
CONFIG_TCG_TIS_I2C_INFINEON=m
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
# CONFIG_TCG_ST33_I2C is not set
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_ISCH=m
# CONFIG_I2C_ISMT is not set
CONFIG_I2C_PIIX4=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m

#
# ACPI drivers
#
CONFIG_I2C_SCMI=m

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_GPIO is not set
CONFIG_I2C_OCORES=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PXA_PCI is not set
CONFIG_I2C_SIMTEC=m
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m

#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_STUB=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
CONFIG_SPI_BITBANG=m
CONFIG_SPI_BUTTERFLY=m
# CONFIG_SPI_GPIO is not set
CONFIG_SPI_LM70_LLP=m
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
CONFIG_SPI_TLE62X0=m
# CONFIG_SPMI is not set
# CONFIG_HSI is not set

#
# PPS support
#
CONFIG_PPS=m
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=m

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_DEVRES=y
CONFIG_GPIO_ACPI=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set

#
# Memory mapped GPIO drivers:
#
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_IT8761E is not set
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_ICH is not set
# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_LYNXPOINT is not set

#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_ADP5588 is not set

#
# PCI GPIO expanders:
#
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_AMD8111=m
# CONFIG_GPIO_INTEL_MID is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_RDC321X is not set

#
# SPI GPIO expanders:
#
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set

#
# AC97 GPIO expanders:
#

#
# LPC GPIO expanders:
#

#
# MODULbus GPIO expanders:
#

#
# USB GPIO expanders:
#
CONFIG_W1=m
CONFIG_W1_CON=y

#
# 1-wire Bus Masters
#
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
# CONFIG_W1_MASTER_DS1WM is not set
# CONFIG_W1_MASTER_GPIO is not set

#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
# CONFIG_W1_SLAVE_DS2408 is not set
# CONFIG_W1_SLAVE_DS2413 is not set
# CONFIG_W1_SLAVE_DS2423 is not set
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
# CONFIG_W1_SLAVE_DS2433_CRC is not set
CONFIG_W1_SLAVE_DS2760=m
# CONFIG_W1_SLAVE_DS2780 is not set
# CONFIG_W1_SLAVE_DS2781 is not set
# CONFIG_W1_SLAVE_DS28E04 is not set
CONFIG_W1_SLAVE_BQ27000=m
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=m
# CONFIG_TEST_POWER is not set
CONFIG_BATTERY_DS2760=m
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
CONFIG_BATTERY_DS2782=m
# CONFIG_BATTERY_SBS is not set
CONFIG_BATTERY_BQ27x00=m
CONFIG_BATTERY_BQ27X00_I2C=y
CONFIG_BATTERY_BQ27X00_PLATFORM=y
CONFIG_BATTERY_MAX17040=m
# CONFIG_BATTERY_MAX17042 is not set
CONFIG_CHARGER_PCF50633=m
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24190 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_SMB347 is not set
CONFIG_POWER_RESET=y
# CONFIG_POWER_AVS is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_AD7314=m
CONFIG_SENSORS_AD7414=m
CONFIG_SENSORS_AD7418=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADT7X10=m
CONFIG_SENSORS_ADT7310=m
# CONFIG_SENSORS_ADT7410 is not set
CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
CONFIG_SENSORS_FAM15H_POWER=m
CONFIG_SENSORS_APPLESMC=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
CONFIG_SENSORS_FSCHMD=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_G762=m
# CONFIG_SENSORS_GPIO_FAN is not set
# CONFIG_SENSORS_HIH6130 is not set
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IT87=m
# CONFIG_SENSORS_JC42 is not set
CONFIG_SENSORS_LINEAGE=m
CONFIG_SENSORS_LTC2945=m
CONFIG_SENSORS_LTC4151=m
CONFIG_SENSORS_LTC4215=m
CONFIG_SENSORS_LTC4222=m
CONFIG_SENSORS_LTC4245=m
CONFIG_SENSORS_LTC4260=m
CONFIG_SENSORS_LTC4261=m
CONFIG_SENSORS_MAX1111=m
CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
# CONFIG_SENSORS_MAX197 is not set
CONFIG_SENSORS_MAX6639=m
CONFIG_SENSORS_MAX6642=m
CONFIG_SENSORS_MAX6650=m
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_HTU21 is not set
# CONFIG_SENSORS_MCP3021 is not set
CONFIG_SENSORS_ADCXX=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM70=m
CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_NTC_THERMISTOR=m
# CONFIG_SENSORS_NCT6683 is not set
CONFIG_SENSORS_NCT6775=m
CONFIG_SENSORS_PCF8591=m
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_SHT15 is not set
CONFIG_SENSORS_SHT21=m
# CONFIG_SENSORS_SHTC1 is not set
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_EMC1403=m
# CONFIG_SENSORS_EMC2103 is not set
CONFIG_SENSORS_EMC6W201=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SCH56XX_COMMON=m
CONFIG_SENSORS_SCH5627=m
CONFIG_SENSORS_SCH5636=m
# CONFIG_SENSORS_SMM665 is not set
CONFIG_SENSORS_ADC128D818=m
CONFIG_SENSORS_ADS1015=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_AMC6821=m
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_TMP102=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
# CONFIG_SENSORS_W83795_FANCTRL is not set
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m

#
# ACPI drivers
#
CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=m
CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_PKG_TEMP_THERMAL=m
# CONFIG_ACPI_INT3403_THERMAL is not set
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# Texas Instruments thermal drivers
#
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
CONFIG_F71808E_WDT=m
CONFIG_SP5100_TCO=m
CONFIG_SBC_FITPC2_WATCHDOG=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m
CONFIG_IBMASR=m
CONFIG_WAFER_WDT=m
CONFIG_I6300ESB_WDT=m
# CONFIG_IE6XX_WDT is not set
CONFIG_ITCO_WDT=m
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_IT8712F_WDT=m
CONFIG_IT87_WDT=m
# CONFIG_HP_WATCHDOG is not set
CONFIG_SC1200_WDT=m
CONFIG_PC87413_WDT=m
CONFIG_NV_TCO=m
CONFIG_60XX_WDT=m
CONFIG_CPU5_WDT=m
CONFIG_SMSC_SCH311X_WDT=m
CONFIG_SMSC37B787_WDT=m
# CONFIG_VIA_WDT is not set
CONFIG_W83627HF_WDT=m
CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
# CONFIG_MEN_A21_WDT is not set

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=m
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
# CONFIG_SSB_DRIVER_GPIO is not set
CONFIG_BCMA_POSSIBLE=y

#
# Broadcom specific AMBA
#
CONFIG_BCMA=m
CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
# CONFIG_BCMA_HOST_PCI is not set
# CONFIG_BCMA_HOST_SOC is not set
# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
# CONFIG_BCMA_DRIVER_GPIO is not set
# CONFIG_BCMA_DEBUG is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
CONFIG_HTC_PASIC3=m
CONFIG_LPC_ICH=m
CONFIG_LPC_SCH=m
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
CONFIG_MFD_PCF50633=m
CONFIG_PCF50633_ADC=m
CONFIG_PCF50633_GPIO=m
# CONFIG_UCB1400_CORE is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RTSX_PCI is not set
# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_SI476X_CORE is not set
CONFIG_MFD_SM501=m
# CONFIG_MFD_SM501_GPIO is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TI_AM335X_TSCADC is not set
# CONFIG_MFD_LP3943 is not set
# CONFIG_TPS6105X is not set
CONFIG_TPS65010=m
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TPS65218 is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TIMBERDALE is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM831X_SPI is not set
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
CONFIG_REGULATOR_USERSPACE_CONSUMER=m
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_FAN53555 is not set
CONFIG_REGULATOR_GPIO=m
# CONFIG_REGULATOR_ISL6271A is not set
CONFIG_REGULATOR_LP3971=m
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_LP872X is not set
# CONFIG_REGULATOR_LP8755 is not set
# CONFIG_REGULATOR_LTC3589 is not set
CONFIG_REGULATOR_MAX1586=m
CONFIG_REGULATOR_MAX8649=m
CONFIG_REGULATOR_MAX8660=m
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MAX8973 is not set
CONFIG_REGULATOR_PCF50633=m
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
CONFIG_REGULATOR_TPS65023=m
CONFIG_REGULATOR_TPS6507X=m
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_MEDIA_SUPPORT=m

#
# Multimedia core support
#
# CONFIG_MEDIA_CAMERA_SUPPORT is not set
# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
# CONFIG_MEDIA_RADIO_SUPPORT is not set
# CONFIG_MEDIA_RC_SUPPORT is not set
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
# CONFIG_TTPCI_EEPROM is not set

#
# Media drivers
#
# CONFIG_MEDIA_USB_SUPPORT is not set
# CONFIG_MEDIA_PCI_SUPPORT is not set

#
# Supported MMC/SDIO adapters
#
# CONFIG_CYPRESS_FIRMWARE is not set

#
# Media ancillary drivers (tuners, sensors, i2c, frontends)
#

#
# Customise DVB Frontends
#
CONFIG_DVB_TUNER_DIB0070=m
CONFIG_DVB_TUNER_DIB0090=m

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_SIS=y
CONFIG_AGP_VIA=y
CONFIG_INTEL_GTT=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_SWITCHEROO=y

#
# Direct Rendering Manager
#
CONFIG_DRM=m
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_KMS_FB_HELPER=y
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_TTM=m

#
# I2C encoder or helper chips
#
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_I2C_NXP_TDA998X is not set
CONFIG_DRM_PTN3460=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
# CONFIG_DRM_RADEON_UMS is not set
CONFIG_DRM_NOUVEAU=m
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
# CONFIG_DRM_I810 is not set
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
# CONFIG_DRM_I915_FBDEV is not set
# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
CONFIG_DRM_VMWGFX=m
CONFIG_DRM_VMWGFX_FBCON=y
# CONFIG_DRM_GMA500 is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_BOCHS is not set

#
# Frame buffer Devices
#
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=m
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_HECUBA=m
CONFIG_FB_SVGALIB=m
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=m
CONFIG_FB_PM2=m
CONFIG_FB_PM2_FIFO_DISCONNECT=y
CONFIG_FB_CYBER2000=m
CONFIG_FB_CYBER2000_DDC=y
CONFIG_FB_ARC=m
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=m
CONFIG_FB_UVESA=m
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_FB_N411=m
CONFIG_FB_HGA=m
# CONFIG_FB_OPENCORES is not set
CONFIG_FB_S1D13XXX=m
CONFIG_FB_NVIDIA=m
# CONFIG_FB_NVIDIA_I2C is not set
# CONFIG_FB_NVIDIA_DEBUG is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
CONFIG_FB_LE80578=m
CONFIG_FB_CARILLO_RANCH=m
CONFIG_FB_MATROX=m
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=m
CONFIG_FB_MATROX_MAVEN=m
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set
CONFIG_FB_ATY128=m
CONFIG_FB_ATY128_BACKLIGHT=y
CONFIG_FB_ATY=m
CONFIG_FB_ATY_CT=y
# CONFIG_FB_ATY_GENERIC_LCD is not set
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_S3=m
CONFIG_FB_S3_DDC=y
CONFIG_FB_SAVAGE=m
# CONFIG_FB_SAVAGE_I2C is not set
# CONFIG_FB_SAVAGE_ACCEL is not set
CONFIG_FB_SIS=m
CONFIG_FB_SIS_300=y
CONFIG_FB_SIS_315=y
CONFIG_FB_VIA=m
# CONFIG_FB_VIA_DIRECT_PROCFS is not set
CONFIG_FB_VIA_X_COMPATIBILITY=y
CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
# CONFIG_FB_3DFX_ACCEL is not set
CONFIG_FB_3DFX_I2C=y
CONFIG_FB_VOODOO1=m
CONFIG_FB_VT8623=m
CONFIG_FB_TRIDENT=m
CONFIG_FB_ARK=m
CONFIG_FB_PM3=m
# CONFIG_FB_CARMINE is not set
CONFIG_FB_SM501=m
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
CONFIG_FB_VIRTUAL=m
CONFIG_FB_METRONOME=m
CONFIG_FB_MB862XX=m
CONFIG_FB_MB862XX_PCI_GDC=y
CONFIG_FB_MB862XX_I2C=y
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
# CONFIG_FB_SIMPLE is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_PWM is not set
CONFIG_BACKLIGHT_APPLE=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_PCF50633 is not set
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_LP855X is not set
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
CONFIG_VGASTATE=m
CONFIG_HDMI=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_LOGO is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
# CONFIG_SND_SEQUENCER_OSS is not set
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_KCTL_JACK=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_OPL3_LIB_SEQ=m
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
CONFIG_SND_EMU10K1_SEQ=m
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
CONFIG_SND_PCSP=m
CONFIG_SND_DUMMY=m
CONFIG_SND_ALOOP=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_MTS64=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m
CONFIG_SND_PORTMAN2X4=m
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
CONFIG_SND_SB_COMMON=m
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=m
CONFIG_SND_ALS300=m
CONFIG_SND_ALS4000=m
CONFIG_SND_ALI5451=m
CONFIG_SND_ASIHPI=m
CONFIG_SND_ATIIXP=m
CONFIG_SND_ATIIXP_MODEM=m
CONFIG_SND_AU8810=m
CONFIG_SND_AU8820=m
CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
CONFIG_SND_AZT3328=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
CONFIG_SND_CA0106=m
CONFIG_SND_CMIPCI=m
CONFIG_SND_OXYGEN_LIB=m
CONFIG_SND_OXYGEN=m
CONFIG_SND_CS4281=m
CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_GINA20=m
CONFIG_SND_LAYLA20=m
CONFIG_SND_DARLA24=m
CONFIG_SND_GINA24=m
CONFIG_SND_LAYLA24=m
CONFIG_SND_MONA=m
CONFIG_SND_MIA=m
CONFIG_SND_ECHO3G=m
CONFIG_SND_INDIGO=m
CONFIG_SND_INDIGOIO=m
CONFIG_SND_INDIGODJ=m
CONFIG_SND_INDIGOIOX=m
CONFIG_SND_INDIGODJX=m
CONFIG_SND_EMU10K1=m
CONFIG_SND_EMU10K1X=m
CONFIG_SND_ENS1370=m
CONFIG_SND_ENS1371=m
CONFIG_SND_ES1938=m
CONFIG_SND_ES1968=m
CONFIG_SND_ES1968_INPUT=y
CONFIG_SND_FM801=m
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
CONFIG_SND_ICE1712=m
CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
CONFIG_SND_LOLA=m
CONFIG_SND_LX6464ES=m
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAESTRO3_INPUT=y
CONFIG_SND_MIXART=m
CONFIG_SND_NM256=m
CONFIG_SND_PCXHR=m
CONFIG_SND_RIPTIDE=m
CONFIG_SND_RME32=m
CONFIG_SND_RME96=m
CONFIG_SND_RME9652=m
CONFIG_SND_SONICVIBES=m
CONFIG_SND_TRIDENT=m
CONFIG_SND_VIA82XX=m
CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m

#
# HD-Audio
#
CONFIG_SND_HDA=m
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PREALLOC_SIZE=64
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_INPUT_JACK=y
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=m
CONFIG_SND_HDA_CODEC_ANALOG=m
CONFIG_SND_HDA_CODEC_SIGMATEL=m
CONFIG_SND_HDA_CODEC_VIA=m
CONFIG_SND_HDA_CODEC_HDMI=m
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_CODEC_CIRRUS=m
CONFIG_SND_HDA_CODEC_CONEXANT=m
CONFIG_SND_HDA_CODEC_CA0110=m
CONFIG_SND_HDA_CODEC_CA0132=m
# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set
CONFIG_SND_HDA_CODEC_CMEDIA=m
CONFIG_SND_HDA_CODEC_SI3054=m
CONFIG_SND_HDA_GENERIC=m
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_USB_UA101=m
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=m
CONFIG_SND_USB_6FIRE=m
# CONFIG_SND_USB_HIFACE is not set
# CONFIG_SND_BCD2000 is not set
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=m
# CONFIG_SND_DICE is not set
CONFIG_SND_FIREWIRE_SPEAKERS=m
CONFIG_SND_ISIGHT=m
# CONFIG_SND_SCS1X is not set
# CONFIG_SND_FIREWORKS is not set
# CONFIG_SND_BEBOB is not set
CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m

#
# HID support
#
CONFIG_HID=m
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=m

#
# Special HID drivers
#
CONFIG_HID_A4TECH=m
CONFIG_HID_ACRUX=m
# CONFIG_HID_ACRUX_FF is not set
CONFIG_HID_APPLE=m
# CONFIG_HID_APPLEIR is not set
# CONFIG_HID_AUREAL is not set
CONFIG_HID_BELKIN=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_PRODIKEYS=m
# CONFIG_HID_CP2112 is not set
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=m
CONFIG_HID_ELECOM=m
# CONFIG_HID_ELO is not set
CONFIG_HID_EZKEY=m
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_HUION is not set
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
CONFIG_HID_UCLOGIC=m
CONFIG_HID_WALTOP=m
CONFIG_HID_GYRATION=m
# CONFIG_HID_ICADE is not set
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
# CONFIG_HID_LENOVO_TPKBD is not set
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
CONFIG_HID_NTRIG=m
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=m
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LEDS=y
# CONFIG_HID_PRIMAX is not set
CONFIG_HID_ROCCAT=m
# CONFIG_HID_SAITEK is not set
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
CONFIG_SONY_FF=y
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEELSERIES is not set
CONFIG_HID_SUNPLUS=m
# CONFIG_HID_RMI is not set
CONFIG_HID_GREENASIA=m
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=m
CONFIG_SMARTJOYPLUS_FF=y
# CONFIG_HID_TIVO is not set
CONFIG_HID_TOPSEED=m
# CONFIG_HID_THINGM is not set
CONFIG_HID_THRUSTMASTER=m
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_WACOM=m
# CONFIG_HID_WIIMOTE is not set
# CONFIG_HID_XINMO is not set
CONFIG_HID_ZEROPLUS=m
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=m
# CONFIG_HID_SENSOR_HUB is not set

#
# USB HID support
#
CONFIG_USB_HID=m
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y

#
# I2C HID support
#
# CONFIG_I2C_HID is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=m
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=m
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_FSM is not set
CONFIG_USB_MON=m
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=m
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=m
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OXU210HP_HCD is not set
CONFIG_USB_ISP116X_HCD=m
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
# CONFIG_USB_FUSBH200_HCD is not set
# CONFIG_USB_FOTG210_HCD is not set
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_OHCI_HCD_PCI=m
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_U132_HCD=m
CONFIG_USB_SL811_HCD=m
# CONFIG_USB_SL811_HCD_ISO is not set
CONFIG_USB_SL811_CS=m
CONFIG_USB_R8A66597_HCD=m
CONFIG_USB_WHCI_HCD=m
CONFIG_USB_HWA_HCD=m
# CONFIG_USB_HCD_BCMA is not set
# CONFIG_USB_HCD_SSB is not set
# CONFIG_USB_HCD_TEST_MODE is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_WDM=m
CONFIG_USB_TMC=m

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_REALTEK=m
CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_DATAFAB=m
CONFIG_USB_STORAGE_FREECOM=m
CONFIG_USB_STORAGE_ISD200=m
CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STORAGE_SDDR09=m
CONFIG_USB_STORAGE_SDDR55=m
CONFIG_USB_STORAGE_JUMPSHOT=m
CONFIG_USB_STORAGE_ALAUDA=m
CONFIG_USB_STORAGE_ONETOUCH=m
CONFIG_USB_STORAGE_KARMA=m
CONFIG_USB_STORAGE_CYPRESS_ATACB=m
CONFIG_USB_STORAGE_ENE_UB6250=m
# CONFIG_USB_UAS is not set

#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_CHIPIDEA is not set

#
# USB port drivers
#
CONFIG_USB_USS720=m
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_SIMPLE is not set
CONFIG_USB_SERIAL_AIRCABLE=m
CONFIG_USB_SERIAL_ARK3116=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
# CONFIG_USB_SERIAL_F81232 is not set
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
CONFIG_USB_SERIAL_QCAUX=m
CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SAFE=m
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
# CONFIG_USB_SERIAL_XSENS_MT is not set
# CONFIG_USB_SERIAL_WISHBONE is not set
# CONFIG_USB_SERIAL_ZTE is not set
CONFIG_USB_SERIAL_SSU100=m
# CONFIG_USB_SERIAL_QT2 is not set
CONFIG_USB_SERIAL_DEBUG=m

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
CONFIG_USB_ADUTUX=m
CONFIG_USB_SEVSEG=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_LED=m
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_CYTHERM=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
CONFIG_USB_TEST=m
# CONFIG_USB_EHSET_TEST_FIXTURE is not set
CONFIG_USB_ISIGHTFW=m
CONFIG_USB_YUREX=m
CONFIG_USB_EZUSB_FX2=m
# CONFIG_USB_HSIC_USB3503 is not set
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
CONFIG_USB_UEAGLEATM=m
CONFIG_USB_XUSBATM=m

#
# USB Physical Layer drivers
#
# CONFIG_USB_PHY is not set
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_SAMSUNG_USB2PHY is not set
# CONFIG_SAMSUNG_USB3PHY is not set
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_USB_ISP1301 is not set
# CONFIG_USB_GADGET is not set
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
CONFIG_UWB_I1480U=m
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_CLKGATE is not set

#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
# CONFIG_MMC_SDHCI_ACPI is not set
CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SPI=m
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_CB710=m
CONFIG_MMC_VIA_SDMMC=m
CONFIG_MMC_VUB300=m
CONFIG_MMC_USHC=m
# CONFIG_MMC_USDHI6ROL0 is not set
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set

#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
CONFIG_MSPRO_BLOCK=m
# CONFIG_MS_BLOCK is not set

#
# MemoryStick Host Controller Drivers
#
CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MEMSTICK_JMICRON_38X=m
CONFIG_MEMSTICK_R592=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3642 is not set
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA9532_GPIO is not set
# CONFIG_LEDS_GPIO is not set
CONFIG_LEDS_LP3944=m
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_LP5562 is not set
# CONFIG_LEDS_LP8501 is not set
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
# CONFIG_LEDS_PCA963X is not set
CONFIG_LEDS_DAC124S085=m
# CONFIG_LEDS_PWM is not set
CONFIG_LEDS_REGULATOR=m
CONFIG_LEDS_BD2802=m
CONFIG_LEDS_INTEL_SS4200=m
CONFIG_LEDS_LT3593=m
CONFIG_LEDS_DELL_NETBOOKS=m
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_LM355x is not set

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_IDE_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_CPU=y
# CONFIG_LEDS_TRIGGER_GPIO is not set
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m

#
# iptables trigger is under Netfilter config (LED target)
#
CONFIG_LEDS_TRIGGER_TRANSIENT=y
# CONFIG_LEDS_TRIGGER_CAMERA is not set
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_MTHCA_DEBUG=y
CONFIG_INFINIBAND_IPATH=m
CONFIG_INFINIBAND_QIB=m
# CONFIG_INFINIBAND_QIB_DCA is not set
CONFIG_INFINIBAND_AMSO1100=m
# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB4=m
CONFIG_MLX4_INFINIBAND=m
# CONFIG_MLX5_INFINIBAND is not set
CONFIG_INFINIBAND_NES=m
# CONFIG_INFINIBAND_NES_DEBUG is not set
# CONFIG_INFINIBAND_OCRDMA is not set
CONFIG_INFINIBAND_IPOIB=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
CONFIG_INFINIBAND_SRP=m
# CONFIG_INFINIBAND_SRPT is not set
CONFIG_INFINIBAND_ISER=m
CONFIG_EDAC=y
CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=m
# CONFIG_EDAC_MCE_INJ is not set
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_AMD64=m
# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
CONFIG_EDAC_I3200=m
CONFIG_EDAC_X38=m
CONFIG_EDAC_I5400=m
CONFIG_EDAC_I7CORE=m
CONFIG_EDAC_I5000=m
CONFIG_EDAC_I5100=m
CONFIG_EDAC_I7300=m
# CONFIG_EDAC_SBRIDGE is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
CONFIG_RTC_DRV_DS1307=m
CONFIG_RTC_DRV_DS1374=m
CONFIG_RTC_DRV_DS1672=m
# CONFIG_RTC_DRV_DS3232 is not set
CONFIG_RTC_DRV_MAX6900=m
CONFIG_RTC_DRV_RS5C372=m
CONFIG_RTC_DRV_ISL1208=m
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_ISL12057 is not set
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_PCF2127=m
# CONFIG_RTC_DRV_PCF8523 is not set
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
# CONFIG_RTC_DRV_M41T80_WDT is not set
CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_S35390A=m
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
CONFIG_RTC_DRV_M41T94=m
CONFIG_RTC_DRV_DS1305=m
# CONFIG_RTC_DRV_DS1343 is not set
# CONFIG_RTC_DRV_DS1347 is not set
CONFIG_RTC_DRV_DS1390=m
CONFIG_RTC_DRV_MAX6902=m
CONFIG_RTC_DRV_R9701=m
CONFIG_RTC_DRV_RS5C348=m
CONFIG_RTC_DRV_DS3234=m
CONFIG_RTC_DRV_PCF2123=m
# CONFIG_RTC_DRV_RX4581 is not set
# CONFIG_RTC_DRV_MCP795 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m
CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_RP5C01=m
CONFIG_RTC_DRV_V3020=m
# CONFIG_RTC_DRV_DS2404 is not set
CONFIG_RTC_DRV_PCF50633=m

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_MOXART is not set
# CONFIG_RTC_DRV_XGENE is not set

#
# HID Sensor RTC drivers
#
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
# CONFIG_INTEL_MID_DMAC is not set
CONFIG_INTEL_IOATDMA=m
# CONFIG_DW_DMAC_CORE is not set
# CONFIG_DW_DMAC is not set
# CONFIG_DW_DMAC_PCI is not set
CONFIG_DMA_ENGINE=y
CONFIG_DMA_ACPI=y

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DMA_ENGINE_RAID=y
CONFIG_DCA=m
# CONFIG_AUXDISPLAY is not set
CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV_GENIRQ=m
# CONFIG_UIO_DMEM_GENIRQ is not set
CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
CONFIG_UIO_NETX=m
# CONFIG_UIO_MF624 is not set
# CONFIG_VFIO is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO=m

#
# Virtio drivers
#
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_BALLOON=m
# CONFIG_VIRTIO_MMIO is not set

#
# Microsoft Hyper-V guest support
#
CONFIG_STAGING=y
CONFIG_ET131X=m
# CONFIG_SLICOSS is not set
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_HOST=m
# CONFIG_USBIP_DEBUG is not set
# CONFIG_W35UND is not set
CONFIG_PRISM2_USB=m
CONFIG_COMEDI=m
# CONFIG_COMEDI_DEBUG is not set
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
# CONFIG_COMEDI_MISC_DRIVERS is not set
# CONFIG_COMEDI_ISA_DRIVERS is not set
# CONFIG_COMEDI_PCI_DRIVERS is not set
# CONFIG_COMEDI_PCMCIA_DRIVERS is not set
# CONFIG_COMEDI_USB_DRIVERS is not set
CONFIG_COMEDI_8255=m
# CONFIG_PANEL is not set
CONFIG_RTL8192U=m
# CONFIG_RTLLIB is not set
CONFIG_R8712U=m
# CONFIG_R8188EU is not set
# CONFIG_R8192EE is not set
# CONFIG_R8723AU is not set
# CONFIG_R8821AE is not set
# CONFIG_RTS5208 is not set
# CONFIG_TRANZPORT is not set
# CONFIG_IDE_PHISON is not set
# CONFIG_LINE6_USB is not set
# CONFIG_USB_SERIAL_QUATECH2 is not set
# CONFIG_VT6655 is not set
CONFIG_VT6656=m
# CONFIG_DX_SEP is not set
# CONFIG_WLAGS49_H2 is not set
# CONFIG_WLAGS49_H25 is not set
# CONFIG_CRYSTALHD is not set
# CONFIG_CXT1E1 is not set
# CONFIG_FB_XGI is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_USB_ENESTORAGE is not set
# CONFIG_BCM_WIMAX is not set
# CONFIG_FT1000 is not set

#
# Speakup console speech
#
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
CONFIG_STAGING_MEDIA=y

#
# Android
#
# CONFIG_ANDROID is not set
# CONFIG_USB_WPAN_HCD is not set
# CONFIG_WIMAX_GDM72XX is not set
# CONFIG_LTE_GDM724X is not set
# CONFIG_NET_VENDOR_SILICOM is not set
# CONFIG_CED1401 is not set
# CONFIG_DGRP is not set
# CONFIG_FIREWIRE_SERIAL is not set
# CONFIG_MTD_SPINAND_MT29F is not set
# CONFIG_LUSTRE_FS is not set
# CONFIG_XILLYBUS is not set
# CONFIG_DGNC is not set
# CONFIG_DGAP is not set
# CONFIG_GS_FPGABOOT is not set
CONFIG_CRYPTO_SKEIN=y
CONFIG_CRYPTO_THREEFISH=y
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
# CONFIG_ALIENWARE_WMI is not set
CONFIG_ASUS_LAPTOP=m
CONFIG_DELL_LAPTOP=m
CONFIG_DELL_WMI=m
CONFIG_DELL_WMI_AIO=m
# CONFIG_DELL_SMO8800 is not set
CONFIG_FUJITSU_LAPTOP=m
# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_AMILO_RFKILL is not set
CONFIG_HP_ACCEL=m
# CONFIG_HP_WIRELESS is not set
CONFIG_HP_WMI=m
CONFIG_MSI_LAPTOP=m
CONFIG_PANASONIC_LAPTOP=m
CONFIG_COMPAL_LAPTOP=m
CONFIG_SONY_LAPTOP=m
CONFIG_SONYPI_COMPAT=y
CONFIG_IDEAPAD_LAPTOP=m
CONFIG_THINKPAD_ACPI=m
CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
# CONFIG_THINKPAD_ACPI_DEBUG is not set
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_SENSORS_HDAPS=m
# CONFIG_INTEL_MENLOW is not set
CONFIG_ACPI_WMI=m
CONFIG_MSI_WMI=m
CONFIG_TOPSTAR_LAPTOP=m
CONFIG_ACPI_TOSHIBA=m
CONFIG_TOSHIBA_BT_RFKILL=m
CONFIG_ACPI_CMPC=m
CONFIG_INTEL_IPS=m
# CONFIG_IBM_RTL is not set
CONFIG_SAMSUNG_LAPTOP=m
CONFIG_MXM_WMI=m
CONFIG_INTEL_OAKTRAIL=m
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_APPLE_GMUX is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_PVPANIC is not set
# CONFIG_CHROME_PLATFORMS is not set

#
# SOC (System On Chip) specific Drivers
#

#
# Hardware Spinlock drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# CONFIG_SH_TIMER_CMT is not set
# CONFIG_SH_TIMER_MTU2 is not set
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not set
# CONFIG_MAILBOX is not set
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_AMD_IOMMU=y
# CONFIG_AMD_IOMMU_STATS is not set
CONFIG_AMD_IOMMU_V2=m
# CONFIG_INTEL_IOMMU is not set
# CONFIG_IRQ_REMAP is not set

#
# Remoteproc drivers
#
# CONFIG_STE_MODEM_RPROC is not set

#
# Rpmsg drivers
#
CONFIG_PM_DEVFREQ=y

#
# DEVFREQ Governors
#
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
CONFIG_DEVFREQ_GOV_POWERSAVE=y
CONFIG_DEVFREQ_GOV_USERSPACE=y

#
# DEVFREQ Drivers
#
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
# CONFIG_NTB is not set
# CONFIG_VME_BUS is not set
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
# CONFIG_PWM_LPSS is not set
# CONFIG_IPACK_BUS is not set
# CONFIG_RESET_CONTROLLER is not set
# CONFIG_FMC is not set

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
# CONFIG_BCM_KONA_USB2_PHY is not set
# CONFIG_PHY_SAMSUNG_USB2 is not set
# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set

#
# Firmware Drivers
#
CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DELL_RBU=m
CONFIG_DCDBAS=m
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
# CONFIG_GOOGLE_FIRMWARE is not set

#
# EFI (Extensible Firmware Interface) Support
#
CONFIG_EFI_VARS=m
# CONFIG_EFI_VARS_PSTORE is not set
CONFIG_EFI_RUNTIME_MAP=y
CONFIG_UEFI_CPER=y

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
# CONFIG_OCFS2_DEBUG_FS is not set
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
CONFIG_NILFS2_FS=m
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_CUSE=m

#
# Caches
#
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
# CONFIG_FSCACHE_HISTOGRAM is not set
# CONFIG_FSCACHE_DEBUG is not set
# CONFIG_FSCACHE_OBJECT_LIST is not set
CONFIG_CACHEFILES=m
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
CONFIG_ADFS_FS=m
# CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=m
CONFIG_ECRYPT_FS=m
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_HFSPLUS_FS_POSIX_ACL=y
CONFIG_BEFS_FS=m
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=m
CONFIG_EFS_FS=m
CONFIG_JFFS2_FS=m
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=m
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_LOGFS=m
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_FILE_CACHE=y
# CONFIG_SQUASHFS_FILE_DIRECT is not set
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_VXFS_FS=m
CONFIG_MINIX_FS=m
CONFIG_OMFS_FS=m
# CONFIG_HPFS_FS is not set
CONFIG_QNX4FS_FS=m
# CONFIG_QNX6FS_FS is not set
CONFIG_ROMFS_FS=m
# CONFIG_ROMFS_BACKED_BY_BLOCK is not set
# CONFIG_ROMFS_BACKED_BY_MTD is not set
CONFIG_ROMFS_BACKED_BY_BOTH=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_ROMFS_ON_MTD=y
CONFIG_PSTORE=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_RAM is not set
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
CONFIG_EXOFS_FS=m
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_F2FS_FS is not set
CONFIG_EFIVAR_FS=m
CONFIG_ORE=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
CONFIG_NFS_V3=m
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
# CONFIG_NFS_SWAP is not set
# CONFIG_NFS_V4_1 is not set
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
# CONFIG_NFSD_V4_SECURITY_LABEL is not set
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_SUNRPC_DEBUG is not set
CONFIG_SUNRPC_XPRT_RDMA_CLIENT=m
CONFIG_SUNRPC_XPRT_RDMA_SERVER=m
CONFIG_CEPH_FS=m
# CONFIG_CEPH_FSCACHE is not set
# CONFIG_CEPH_FS_POSIX_ACL is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_ACL=y
# CONFIG_CIFS_DEBUG is not set
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_SMB2 is not set
CONFIG_CIFS_FSCACHE=y
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
CONFIG_NCPFS_STRONG=y
CONFIG_NCPFS_NFS_NS=y
CONFIG_NCPFS_OS2_NS=y
# CONFIG_NCPFS_SMALLDOS is not set
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
# CONFIG_AFS_DEBUG is not set
CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
# CONFIG_9P_FS_SECURITY is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
# CONFIG_NLS_MAC_ICELAND is not set
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
CONFIG_DLM_DEBUG=y

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
CONFIG_BOOT_PRINTK_DELAY=y
# CONFIG_DYNAMIC_DEBUG is not set

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_DEBUG_KERNEL=y

#
# Memory Debugging
#
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_DEBUG_SHIRQ=y

#
# Debug Lockups and Hangs
#
CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_DEBUG_RT_MUTEXES=y
# CONFIG_RT_MUTEX_TESTER is not set
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_LOCK_STAT=y
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
CONFIG_TRACE_IRQFLAGS=y
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_LIST is not set
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set

#
# RCU Debugging
#
# CONFIG_PROVE_RCU is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_TORTURE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_LATENCYTOP=y
CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_FTRACE_SYSCALLS is not set
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
CONFIG_BLK_DEV_IO_TRACE=y
# CONFIG_KPROBE_EVENT is not set
CONFIG_UPROBE_EVENT=y
CONFIG_PROBE_EVENTS=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set

#
# Runtime Testing
#
# CONFIG_LKDTM is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_TEST_MODULE is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_EARLY_PRINTK_EFI is not set
# CONFIG_X86_PTDUMP is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_DEBUG_SET_MODULE_RONX=y
# CONFIG_DEBUG_NX_TEST is not set
CONFIG_DOUBLEFAULT=y
# CONFIG_DEBUG_TLBFLUSH is not set
# CONFIG_IOMMU_DEBUG is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_NMI_SELFTEST is not set
# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_PERSISTENT_KEYRINGS is not set
# CONFIG_BIG_KEYS is not set
# CONFIG_TRUSTED_KEYS is not set
CONFIG_ENCRYPTED_KEYS=m
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
CONFIG_LSM_MMAP_MIN_ADDR=65536
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
# CONFIG_SECURITY_SMACK is not set
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_YAMA is not set
# CONFIG_IMA is not set
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="selinux"
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ABLK_HELPER=m
CONFIG_CRYPTO_GLUE_HELPER_X86=m

#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m

#
# Block modes
#
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m

#
# Hash modes
#
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m

#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF=m
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA1_SSSE3=m
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m

#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set
CONFIG_CRYPTO_CAST6=m
# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_LZ4=m
CONFIG_CRYPTO_LZ4HC=m

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=m
CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=m
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
CONFIG_ASYMMETRIC_KEY_TYPE=m
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
CONFIG_PUBLIC_KEY_ALGO_RSA=m
CONFIG_X509_CERTIFICATE_PARSER=m
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
# CONFIG_KVM_MMU_AUDIT is not set
CONFIG_KVM_DEVICE_ASSIGNMENT=y
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_PERCPU_RWSEM=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_CRC8=m
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=m
CONFIG_LZ4HC_COMPRESS=m
CONFIG_LZ4_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_DEC16=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_BTREE=y
CONFIG_INTERVAL_TREE=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
CONFIG_CLZ_TAB=y
CONFIG_CORDIC=m
CONFIG_DDR=y
CONFIG_MPILIB=m
CONFIG_OID_REGISTRY=m
CONFIG_UCS2_STRING=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 19:02                                                 ` Peter Zijlstra
@ 2014-07-23 19:20                                                   ` Linus Torvalds
  2014-07-24  1:43                                                     ` Michel Dänzer
  0 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-23 19:20 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Dietmar Eggemann, Michel Dänzer, Ingo Molnar,
	Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 12:02 PM, Peter Zijlstra <peterz@infradead.org> wrote:
>
> Here goes..

Oh. So this doesn't have CPUMASK_OFFSTACK set at all, so the pointer
has never been loaded from memory in the first place. The calculation
has been (for me) something like

        movq    $load_balance_mask, %rax
        add %gs:this_cpu_off, %rax

and then gcc is being stupid and saving it to the frame and reloading
it for no good reason (at least for me it *also* saved the value in
%rbx in order to save it into "env.cpus", and the stack spill seems to
be just moronic).

In Michel's oops, %rbx doesn't contain the pointer any more, though,
so he clearly does have a different compiler. His frame offsets are
rather different too ("-136(%rbp)" vs "-168(%rbp)") so looking at
whether possibly some stack frame got overwritten is clearly very
compiler-specific.

Michel, mind doing

    make kernel/sched/fair.s

and sending us the resulting file?

              Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23 19:20                                                   ` Linus Torvalds
@ 2014-07-24  1:43                                                     ` Michel Dänzer
  2014-07-24 18:47                                                       ` Linus Torvalds
  0 siblings, 1 reply; 83+ messages in thread
From: Michel Dänzer @ 2014-07-24  1:43 UTC (permalink / raw)
  To: Linus Torvalds, Peter Zijlstra
  Cc: Dietmar Eggemann, Ingo Molnar, Linux Kernel Mailing List

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

On 24.07.2014 04:20, Linus Torvalds wrote:
> On Wed, Jul 23, 2014 at 12:02 PM, Peter Zijlstra <peterz@infradead.org> wrote:
>>
>> Here goes..
> 
> Oh. So this doesn't have CPUMASK_OFFSTACK set at all, so the pointer
> has never been loaded from memory in the first place. The calculation
> has been (for me) something like
> 
>         movq    $load_balance_mask, %rax
>         add %gs:this_cpu_off, %rax
> 
> and then gcc is being stupid and saving it to the frame and reloading
> it for no good reason (at least for me it *also* saved the value in
> %rbx in order to save it into "env.cpus", and the stack spill seems to
> be just moronic).
> 
> In Michel's oops, %rbx doesn't contain the pointer any more, though,
> so he clearly does have a different compiler. His frame offsets are
> rather different too ("-136(%rbp)" vs "-168(%rbp)") so looking at
> whether possibly some stack frame got overwritten is clearly very
> compiler-specific.
> 
> Michel, mind doing
> 
>     make kernel/sched/fair.s
> 
> and sending us the resulting file?

Here it is, gzipped, hope that's okay.

Note that my tree is now based on 3.16-rc6.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

[-- Attachment #2: fair.s.gz --]
[-- Type: application/gzip, Size: 187696 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-23  9:31                   ` Michel Dänzer
  2014-07-23  9:45                     ` Dietmar Eggemann
  2014-07-23 10:52                     ` Peter Zijlstra
@ 2014-07-24  7:18                     ` Michel Dänzer
  2014-07-24  7:51                       ` Peter Zijlstra
  2 siblings, 1 reply; 83+ messages in thread
From: Michel Dänzer @ 2014-07-24  7:18 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List

On 23.07.2014 18:31, Michel Dänzer wrote:
> On 23.07.2014 18:25, Peter Zijlstra wrote:
>> On Wed, Jul 23, 2014 at 10:28:19AM +0200, Peter Zijlstra wrote:
>>
>>> Of course, the other thing that patch did is clear sgp->power (now
>>> sgc->capacity). 
>>
>> Hmm, re-reading the thread there isn't a clear confirmation its this
>> patch at all. Could you perhaps bisect this to either verify it is
>> indeed that patch we're talking about:
>>
>> caffcdd8d27b ("sched: Do not zero sg->cpumask and sg->sgp->power in build_sched_groups()")
>>
>> or find which patch is causing this.
> 
> It can take a long time for the problem to occur, so I need to run at
> least for one or two days to be at least somewhat sure a given kernel is
> not affected.
> 
> I'll try reproducing the problem with your previous suggestions first,

Just happened again, with your robustness patch and setting
sg->sgc->capacity = 0.

> but if I manage to do that, I guess there's no alternative to bisecting...

I hope the assembly output I sent earlier helps, I'm afraid bisecting
this could be painful.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-24  7:18                     ` Michel Dänzer
@ 2014-07-24  7:51                       ` Peter Zijlstra
  2014-07-24  9:55                         ` Peter Zijlstra
  0 siblings, 1 reply; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-24  7:51 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List

On Thu, Jul 24, 2014 at 04:18:48PM +0900, Michel Dänzer wrote:
> On 23.07.2014 18:31, Michel Dänzer wrote:
> > On 23.07.2014 18:25, Peter Zijlstra wrote:
> >> On Wed, Jul 23, 2014 at 10:28:19AM +0200, Peter Zijlstra wrote:
> >>
> >>> Of course, the other thing that patch did is clear sgp->power (now
> >>> sgc->capacity). 
> >>
> >> Hmm, re-reading the thread there isn't a clear confirmation its this
> >> patch at all. Could you perhaps bisect this to either verify it is
> >> indeed that patch we're talking about:
> >>
> >> caffcdd8d27b ("sched: Do not zero sg->cpumask and sg->sgp->power in build_sched_groups()")
> >>
> >> or find which patch is causing this.
> > 
> > It can take a long time for the problem to occur, so I need to run at
> > least for one or two days to be at least somewhat sure a given kernel is
> > not affected.
> > 
> > I'll try reproducing the problem with your previous suggestions first,
> 
> Just happened again, with your robustness patch and setting
> sg->sgc->capacity = 0.

Yeah, that pretty much confirms its not that patch :/

> > but if I manage to do that, I guess there's no alternative to bisecting...
> 
> I hope the assembly output I sent earlier helps, I'm afraid bisecting
> this could be painful.

Yeah, lemme go have a look...

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-24  7:51                       ` Peter Zijlstra
@ 2014-07-24  9:55                         ` Peter Zijlstra
  0 siblings, 0 replies; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-24  9:55 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List

On Thu, Jul 24, 2014 at 09:51:57AM +0200, Peter Zijlstra wrote:
> > I hope the assembly output I sent earlier helps, I'm afraid bisecting
> > this could be painful.
> 
> Yeah, lemme go have a look...

So I'm not seeing it, the cpus value is kept at -136(%rbp), so
-128(%rbp) comes after and that's struct lb_env env. And -140(%rbp)
comes before and that ends up being @idle.

The compiler likes to spill for sure, but aside from stupid I don't
see it doing wrong in the relatively short code from function start to
the rep movsl.

It does a rep stosl on -128(%rbp) and then fills it out, but none of
that looks to stomp on our -136(%rbp) value. And the -140(%rbp) thing is
only written to once, and while that is done after the 136 thing its a
single movl and that's not going to clobber anything.

And the fault happens before we pass @env around, so there no chance
someone writes before it either.

So I'm still entirely clueless..

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-24  1:43                                                     ` Michel Dänzer
@ 2014-07-24 18:47                                                       ` Linus Torvalds
  2014-07-24 18:59                                                         ` Peter Zijlstra
                                                                           ` (2 more replies)
  0 siblings, 3 replies; 83+ messages in thread
From: Linus Torvalds @ 2014-07-24 18:47 UTC (permalink / raw)
  To: Michel Dänzer, Jakub Jelinek
  Cc: Peter Zijlstra, Dietmar Eggemann, Ingo Molnar, Linux Kernel Mailing List

On Wed, Jul 23, 2014 at 6:43 PM, Michel Dänzer <michel@daenzer.net> wrote:
>>
>> Michel, mind doing
>>
>>     make kernel/sched/fair.s
>>
>> and sending us the resulting file?
>
> Here it is, gzipped, hope that's okay.
>
> Note that my tree is now based on 3.16-rc6.

Ok, so I'm looking at the code generation and your compiler is pure
and utter *shit*.

Adding Jakub to the cc, because gcc-4.9.0 seems to be terminally broken.

Lookie here, your compiler does some absolutely insane things with the
spilling, including spilling a *constant*. For chrissake, that
compiler shouldn't have been allowed to graduate from kindergarten.
We're talking "sloth that was dropped on the head as a baby" level
retardation levels here:

        ...
        movq    $load_balance_mask, -136(%rbp)  #, %sfp
        subq    $184, %rsp      #,
        movq    (%rdx), %rax    # sd_22(D)->parent, sd_parent
        movl    %edi, -144(%rbp)        # this_cpu, %sfp
        movl    %ecx, -140(%rbp)        # idle, %sfp
        movq    %r8, -200(%rbp) # continue_balancing, %sfp
        movq    %rax, -184(%rbp)        # sd_parent, %sfp
        movq    -136(%rbp), %rax        # %sfp, tcp_ptr__
#APP
        add %gs:this_cpu_off, %rax      # this_cpu_off, tcp_ptr__
#NO_APP
        ...

Note the contents of -136(%rbp). Seriously. That's an
_immediate_constant_ that the compiler is spilling.

Somebody needs to raise that as a gcc bug. Because it damn well is
some seriously crazy shit.

However, that constant spilling part just counts as "too stupid to
live". The real bug is this:

        movq    $load_balance_mask, -136(%rbp)  #, %sfp
        subq    $184, %rsp      #,

where gcc creates the stack frame *after* having already used it to
save that constant *deep* below the stack frame.

The x86-64 ABI specifies a 128-byte red-zone under the stack pointer,
and this is ok by that limit. It looks like it's illegal (136 > 128),
but the fact is, we've had four "pushq"s to update %rsp since loading
the frame pointer, so it's just *barely* legal with the red-zoning.

But we build the kernel with -mno-red-zone. We do *not* follow the
x86-64 ABI wrt redzoning, because we *cannot*: interrupts while in
kernel mode *will* use the stack without a redzone. So that
"-mno-red-zone" is not some "optional guideline". It's a hard and
harsh requirement for the kernel, and gcc-4.9 is a buggy piece of shit
for ignoring it. And your bug happens becuase you happen to hit an
interrupt _just_ in that single instruction window (or perhaps hit
some other similar case and corrupted kernel data structures earlier).

Now, I suspect that this redzoning bug might actually be related to
the fact that gcc is stupid in spilling a constant. I would not be
surprised if there is some liveness analysis going on to decide *when*
to insert the stack decrement, and constants are being ignored because
clearly liveness isn't an issue for a constant value. So the two bugs
("stupid constant spilling" and "invalid use or red zone stack") go
hand in hand. But who knows.

Anyway, this is not a kernel bug. This is your compiler creating
completely broken code. We may need to add a warning to make sure
nobody compiles with gcc-4.9.0, and the Debian people should probably
downgrate their shiny new compiler.

Jakub, any ideas?

                      Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-24 18:47                                                       ` Linus Torvalds
@ 2014-07-24 18:59                                                         ` Peter Zijlstra
  2014-07-25  1:25                                                         ` Michel Dänzer
  2014-07-25  6:48                                                         ` Jakub Jelinek
  2 siblings, 0 replies; 83+ messages in thread
From: Peter Zijlstra @ 2014-07-24 18:59 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Michel Dänzer, Jakub Jelinek, Dietmar Eggemann, Ingo Molnar,
	Linux Kernel Mailing List

On Thu, Jul 24, 2014 at 11:47:17AM -0700, Linus Torvalds wrote:
> However, that constant spilling part just counts as "too stupid to
> live". The real bug is this:
> 
>         movq    $load_balance_mask, -136(%rbp)  #, %sfp
>         subq    $184, %rsp      #,
> 
> where gcc creates the stack frame *after* having already used it to
> save that constant *deep* below the stack frame.
> 
> The x86-64 ABI specifies a 128-byte red-zone under the stack pointer,
> and this is ok by that limit. It looks like it's illegal (136 > 128),
> but the fact is, we've had four "pushq"s to update %rsp since loading
> the frame pointer, so it's just *barely* legal with the red-zoning.
> 
> But we build the kernel with -mno-red-zone. We do *not* follow the
> x86-64 ABI wrt redzoning, because we *cannot*: interrupts while in
> kernel mode *will* use the stack without a redzone. So that
> "-mno-red-zone" is not some "optional guideline". It's a hard and
> harsh requirement for the kernel, and gcc-4.9 is a buggy piece of shit
> for ignoring it. And your bug happens becuase you happen to hit an
> interrupt _just_ in that single instruction window (or perhaps hit
> some other similar case and corrupted kernel data structures earlier).

Ooh, shiny, I so missed all that (also didn't know about red-zones
etc..).

Glad this got sorted.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-24 18:47                                                       ` Linus Torvalds
  2014-07-24 18:59                                                         ` Peter Zijlstra
@ 2014-07-25  1:25                                                         ` Michel Dänzer
  2014-07-25  2:33                                                           ` Linus Torvalds
                                                                             ` (3 more replies)
  2014-07-25  6:48                                                         ` Jakub Jelinek
  2 siblings, 4 replies; 83+ messages in thread
From: Michel Dänzer @ 2014-07-25  1:25 UTC (permalink / raw)
  To: Linus Torvalds, Jakub Jelinek
  Cc: Linux Kernel Mailing List, Debian GCC Maintainers, Debian Kernel Team

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

[ Adding the Debian kernel and gcc teams to Cc ]

On 25.07.2014 03:47, Linus Torvalds wrote:
> On Wed, Jul 23, 2014 at 6:43 PM, Michel Dänzer <michel@daenzer.net> wrote:
>>>
>>> Michel, mind doing
>>>
>>>     make kernel/sched/fair.s
>>>
>>> and sending us the resulting file?
>>
>> Here it is, gzipped, hope that's okay.
>>
>> Note that my tree is now based on 3.16-rc6.
> 
> Ok, so I'm looking at the code generation and your compiler is pure
> and utter *shit*.
> 
> Adding Jakub to the cc, because gcc-4.9.0 seems to be terminally broken.
> 
> Lookie here, your compiler does some absolutely insane things with the
> spilling, including spilling a *constant*. For chrissake, that
> compiler shouldn't have been allowed to graduate from kindergarten.
> We're talking "sloth that was dropped on the head as a baby" level
> retardation levels here:
> 
>         ...
>         movq    $load_balance_mask, -136(%rbp)  #, %sfp
>         subq    $184, %rsp      #,
>         movq    (%rdx), %rax    # sd_22(D)->parent, sd_parent
>         movl    %edi, -144(%rbp)        # this_cpu, %sfp
>         movl    %ecx, -140(%rbp)        # idle, %sfp
>         movq    %r8, -200(%rbp) # continue_balancing, %sfp
>         movq    %rax, -184(%rbp)        # sd_parent, %sfp
>         movq    -136(%rbp), %rax        # %sfp, tcp_ptr__
> #APP
>         add %gs:this_cpu_off, %rax      # this_cpu_off, tcp_ptr__
> #NO_APP
>         ...
> 
> Note the contents of -136(%rbp). Seriously. That's an
> _immediate_constant_ that the compiler is spilling.
> 
> Somebody needs to raise that as a gcc bug. Because it damn well is
> some seriously crazy shit.
> 
> However, that constant spilling part just counts as "too stupid to
> live". The real bug is this:
> 
>         movq    $load_balance_mask, -136(%rbp)  #, %sfp
>         subq    $184, %rsp      #,
> 
> where gcc creates the stack frame *after* having already used it to
> save that constant *deep* below the stack frame.
> 
> The x86-64 ABI specifies a 128-byte red-zone under the stack pointer,
> and this is ok by that limit. It looks like it's illegal (136 > 128),
> but the fact is, we've had four "pushq"s to update %rsp since loading
> the frame pointer, so it's just *barely* legal with the red-zoning.
> 
> But we build the kernel with -mno-red-zone. We do *not* follow the
> x86-64 ABI wrt redzoning, because we *cannot*: interrupts while in
> kernel mode *will* use the stack without a redzone. So that
> "-mno-red-zone" is not some "optional guideline". It's a hard and
> harsh requirement for the kernel, and gcc-4.9 is a buggy piece of shit
> for ignoring it. And your bug happens becuase you happen to hit an
> interrupt _just_ in that single instruction window (or perhaps hit
> some other similar case and corrupted kernel data structures earlier).
> 
> Now, I suspect that this redzoning bug might actually be related to
> the fact that gcc is stupid in spilling a constant. I would not be
> surprised if there is some liveness analysis going on to decide *when*
> to insert the stack decrement, and constants are being ignored because
> clearly liveness isn't an issue for a constant value. So the two bugs
> ("stupid constant spilling" and "invalid use or red zone stack") go
> hand in hand. But who knows.
> 
> Anyway, this is not a kernel bug. This is your compiler creating
> completely broken code. We may need to add a warning to make sure
> nobody compiles with gcc-4.9.0, and the Debian people should probably
> downgrate their shiny new compiler.

Attached is fair.s from Debian gcc 4.8.3-5. Does that look better? I'm
going to try reproducing the problem with a kernel built by that now.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

[-- Attachment #2: fair.s-4.8.3-5.gz --]
[-- Type: application/gzip, Size: 185309 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  1:25                                                         ` Michel Dänzer
@ 2014-07-25  2:33                                                           ` Linus Torvalds
  2014-07-25  2:50                                                             ` Nick Krause
  2014-07-25  2:36                                                           ` Nick Krause
                                                                             ` (2 subsequent siblings)
  3 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-25  2:33 UTC (permalink / raw)
  To: Michel Dänzer
  Cc: Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Thu, Jul 24, 2014 at 6:25 PM, Michel Dänzer <michel@daenzer.net> wrote:
>
> Attached is fair.s from Debian gcc 4.8.3-5. Does that look better? I'm
> going to try reproducing the problem with a kernel built by that now.

This looks better. For roughly that same code sequence it does
(ignoring the debug line and cfi information):

        subq    $184, %rsp      #,
        movq    (%r12), %rax    # sd_22(D)->parent, sd_parent
        movl    %edi, -156(%rbp)        # this_cpu, %sfp
        movl    %ecx, -160(%rbp)        # idle, %sfp
        movq    %r8, -184(%rbp) # continue_balancing, %sfp
        movq    %rax, -176(%rbp)        # sd_parent, %sfp
        movq    $load_balance_mask, %rax        #, tcp_ptr__
#APP
        add %gs:this_cpu_off, %rax      # this_cpu_off, tcp_ptr__
#NO_APP

so it updates the stack pointer before any spills, and it also doesn't
spill that constant value.

I still have no idea why it does the 4-byte rep stosl/movsl thing, but
that's a whole separate guessing game and might have something to do
with the fact that you do CONFIG_CC_OPTIMIZE_FOR_SIZE and the 4-byte
form is one byte smaller.

I'm a big believer in not blowing up the I$ footprint, and I have to
admit to pushing that myself a few years ago, but gcc does some rather
bad things with '-Os', so it's not actually suggested for the kernel
any more. I wish there was some middle ground model that cared about
size, but not to exclusion of everything else. The string instructions
are not good for performance when it's a compile-time known small
size.

                 Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  1:25                                                         ` Michel Dänzer
  2014-07-25  2:33                                                           ` Linus Torvalds
@ 2014-07-25  2:36                                                           ` Nick Krause
  2014-07-25  3:55                                                           ` Alexei Starovoitov
  2014-07-26 18:02                                                           ` Steven Chamberlain
  3 siblings, 0 replies; 83+ messages in thread
From: Nick Krause @ 2014-07-25  2:36 UTC (permalink / raw)
  To: Michel Dänzer
  Cc: Linus Torvalds, Jakub Jelinek, Linux Kernel Mailing List,
	Debian GCC Maintainers, Debian Kernel Team

On Thu, Jul 24, 2014 at 9:25 PM, Michel Dänzer <michel@daenzer.net> wrote:
> [ Adding the Debian kernel and gcc teams to Cc ]
>
> On 25.07.2014 03:47, Linus Torvalds wrote:
>> On Wed, Jul 23, 2014 at 6:43 PM, Michel Dänzer <michel@daenzer.net> wrote:
>>>>
>>>> Michel, mind doing
>>>>
>>>>     make kernel/sched/fair.s
>>>>
>>>> and sending us the resulting file?
>>>
>>> Here it is, gzipped, hope that's okay.
>>>
>>> Note that my tree is now based on 3.16-rc6.
>>
>> Ok, so I'm looking at the code generation and your compiler is pure
>> and utter *shit*.
>>
>> Adding Jakub to the cc, because gcc-4.9.0 seems to be terminally broken.
>>
>> Lookie here, your compiler does some absolutely insane things with the
>> spilling, including spilling a *constant*. For chrissake, that
>> compiler shouldn't have been allowed to graduate from kindergarten.
>> We're talking "sloth that was dropped on the head as a baby" level
>> retardation levels here:
>>
>>         ...
>>         movq    $load_balance_mask, -136(%rbp)  #, %sfp
>>         subq    $184, %rsp      #,
>>         movq    (%rdx), %rax    # sd_22(D)->parent, sd_parent
>>         movl    %edi, -144(%rbp)        # this_cpu, %sfp
>>         movl    %ecx, -140(%rbp)        # idle, %sfp
>>         movq    %r8, -200(%rbp) # continue_balancing, %sfp
>>         movq    %rax, -184(%rbp)        # sd_parent, %sfp
>>         movq    -136(%rbp), %rax        # %sfp, tcp_ptr__
>> #APP
>>         add %gs:this_cpu_off, %rax      # this_cpu_off, tcp_ptr__
>> #NO_APP
>>         ...
>>
>> Note the contents of -136(%rbp). Seriously. That's an
>> _immediate_constant_ that the compiler is spilling.
>>
>> Somebody needs to raise that as a gcc bug. Because it damn well is
>> some seriously crazy shit.
>>
>> However, that constant spilling part just counts as "too stupid to
>> live". The real bug is this:
>>
>>         movq    $load_balance_mask, -136(%rbp)  #, %sfp
>>         subq    $184, %rsp      #,
>>
>> where gcc creates the stack frame *after* having already used it to
>> save that constant *deep* below the stack frame.
>>
>> The x86-64 ABI specifies a 128-byte red-zone under the stack pointer,
>> and this is ok by that limit. It looks like it's illegal (136 > 128),
>> but the fact is, we've had four "pushq"s to update %rsp since loading
>> the frame pointer, so it's just *barely* legal with the red-zoning.
>>
>> But we build the kernel with -mno-red-zone. We do *not* follow the
>> x86-64 ABI wrt redzoning, because we *cannot*: interrupts while in
>> kernel mode *will* use the stack without a redzone. So that
>> "-mno-red-zone" is not some "optional guideline". It's a hard and
>> harsh requirement for the kernel, and gcc-4.9 is a buggy piece of shit
>> for ignoring it. And your bug happens becuase you happen to hit an
>> interrupt _just_ in that single instruction window (or perhaps hit
>> some other similar case and corrupted kernel data structures earlier).
>>
>> Now, I suspect that this redzoning bug might actually be related to
>> the fact that gcc is stupid in spilling a constant. I would not be
>> surprised if there is some liveness analysis going on to decide *when*
>> to insert the stack decrement, and constants are being ignored because
>> clearly liveness isn't an issue for a constant value. So the two bugs
>> ("stupid constant spilling" and "invalid use or red zone stack") go
>> hand in hand. But who knows.
>>
>> Anyway, this is not a kernel bug. This is your compiler creating
>> completely broken code. We may need to add a warning to make sure
>> nobody compiles with gcc-4.9.0, and the Debian people should probably
>> downgrate their shiny new compiler.
>
> Attached is fair.s from Debian gcc 4.8.3-5. Does that look better? I'm
> going to try reproducing the problem with a kernel built by that now.
>
>
> --
> Earthling Michel Dänzer                           http://www.amd.com
> Libre software enthusiast                      Mesa and X developer

Hey guys,
I am new so please bear with me here but I can build test this on
Ubuntu 14.04 with gcc 4.8.1.
I am wondering through after only speed reading these messages , if
you can just give me
a one line summary of what I need to be looking for :).
Nick

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  2:33                                                           ` Linus Torvalds
@ 2014-07-25  2:50                                                             ` Nick Krause
  0 siblings, 0 replies; 83+ messages in thread
From: Nick Krause @ 2014-07-25  2:50 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Michel Dänzer, Jakub Jelinek, Linux Kernel Mailing List,
	Debian GCC Maintainers, Debian Kernel Team

On Thu, Jul 24, 2014 at 10:33 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Thu, Jul 24, 2014 at 6:25 PM, Michel Dänzer <michel@daenzer.net> wrote:
>>
>> Attached is fair.s from Debian gcc 4.8.3-5. Does that look better? I'm
>> going to try reproducing the problem with a kernel built by that now.
>
> This looks better. For roughly that same code sequence it does
> (ignoring the debug line and cfi information):
>
>         subq    $184, %rsp      #,
>         movq    (%r12), %rax    # sd_22(D)->parent, sd_parent
>         movl    %edi, -156(%rbp)        # this_cpu, %sfp
>         movl    %ecx, -160(%rbp)        # idle, %sfp
>         movq    %r8, -184(%rbp) # continue_balancing, %sfp
>         movq    %rax, -176(%rbp)        # sd_parent, %sfp
>         movq    $load_balance_mask, %rax        #, tcp_ptr__
> #APP
>         add %gs:this_cpu_off, %rax      # this_cpu_off, tcp_ptr__
> #NO_APP
>
> so it updates the stack pointer before any spills, and it also doesn't
> spill that constant value.
>
> I still have no idea why it does the 4-byte rep stosl/movsl thing, but
> that's a whole separate guessing game and might have something to do
> with the fact that you do CONFIG_CC_OPTIMIZE_FOR_SIZE and the 4-byte
> form is one byte smaller.
>
> I'm a big believer in not blowing up the I$ footprint, and I have to
> admit to pushing that myself a few years ago, but gcc does some rather
> bad things with '-Os', so it's not actually suggested for the kernel
> any more. I wish there was some middle ground model that cared about
> size, but not to exclusion of everything else. The string instructions
> are not good for performance when it's a compile-time known small
> size.
>
>                  Linus
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


Seems better after looking at it too, seems I don't need to test this and this
bug is in gcc 4.9 related versions.
Cheers Nick

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  1:25                                                         ` Michel Dänzer
  2014-07-25  2:33                                                           ` Linus Torvalds
  2014-07-25  2:36                                                           ` Nick Krause
@ 2014-07-25  3:55                                                           ` Alexei Starovoitov
  2014-07-25  4:00                                                             ` Nick Krause
  2014-07-25 14:02                                                             ` Steven Rostedt
  2014-07-26 18:02                                                           ` Steven Chamberlain
  3 siblings, 2 replies; 83+ messages in thread
From: Alexei Starovoitov @ 2014-07-25  3:55 UTC (permalink / raw)
  To: Michel Dänzer
  Cc: Linus Torvalds, Jakub Jelinek, Linux Kernel Mailing List,
	Debian GCC Maintainers, Debian Kernel Team

On Fri, Jul 25, 2014 at 10:25:03AM +0900, Michel Dänzer wrote:
> [ Adding the Debian kernel and gcc teams to Cc ]
> 
> >         movq    $load_balance_mask, -136(%rbp)  #, %sfp
> >         subq    $184, %rsp      #,
> > 
> > Anyway, this is not a kernel bug. This is your compiler creating
> > completely broken code. We may need to add a warning to make sure
> > nobody compiles with gcc-4.9.0, and the Debian people should probably
> > downgrate their shiny new compiler.
> 
> Attached is fair.s from Debian gcc 4.8.3-5. Does that look better? I'm
> going to try reproducing the problem with a kernel built by that now.

4.8 and 4.7 don't hit the problem on this test.
4.9 with -O2 compiles this file ok. 4.9 with -Os triggers it.

-mno-red-zone only affected prologue emition in gcc. This part didn't
change between the releases. So the bug is quite deep.
What seems to be happening is that 2nd pass of instruction scheduler
(after emit prologue and reg alloc) is ignoring barrier properties
of 'subq $184, %rsp' and moving 'movq $.., -136(%rbp)' instruction
ahead of it. afaik rtl sched was never aware of 'red-zone'.
As an ex-compiler guy, I'm worried that this bug exists in earlier
releases. rtl backend guys need to take a serious look at it.
imo this is very serious bug, since broken red-zone is extremelly
hard to debug.
There are two weak test in gcc testsuite related to -mno-red-zone,
but not a single test that actually check that it is doing
the right thing. It is scary. I hope I'm wrong with this analysis.


^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  3:55                                                           ` Alexei Starovoitov
@ 2014-07-25  4:00                                                             ` Nick Krause
  2014-07-25 14:02                                                             ` Steven Rostedt
  1 sibling, 0 replies; 83+ messages in thread
From: Nick Krause @ 2014-07-25  4:00 UTC (permalink / raw)
  To: Alexei Starovoitov
  Cc: Michel Dänzer, Linus Torvalds, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Thu, Jul 24, 2014 at 11:55 PM, Alexei Starovoitov <ast@kernel.org> wrote:
> On Fri, Jul 25, 2014 at 10:25:03AM +0900, Michel Dänzer wrote:
>> [ Adding the Debian kernel and gcc teams to Cc ]
>>
>> >         movq    $load_balance_mask, -136(%rbp)  #, %sfp
>> >         subq    $184, %rsp      #,
>> >
>> > Anyway, this is not a kernel bug. This is your compiler creating
>> > completely broken code. We may need to add a warning to make sure
>> > nobody compiles with gcc-4.9.0, and the Debian people should probably
>> > downgrate their shiny new compiler.
>>
>> Attached is fair.s from Debian gcc 4.8.3-5. Does that look better? I'm
>> going to try reproducing the problem with a kernel built by that now.
>
> 4.8 and 4.7 don't hit the problem on this test.
> 4.9 with -O2 compiles this file ok. 4.9 with -Os triggers it.
>
> -mno-red-zone only affected prologue emition in gcc. This part didn't
> change between the releases. So the bug is quite deep.
> What seems to be happening is that 2nd pass of instruction scheduler
> (after emit prologue and reg alloc) is ignoring barrier properties
> of 'subq $184, %rsp' and moving 'movq $.., -136(%rbp)' instruction
> ahead of it. afaik rtl sched was never aware of 'red-zone'.
> As an ex-compiler guy, I'm worried that this bug exists in earlier
> releases. rtl backend guys need to take a serious look at it.
> imo this is very serious bug, since broken red-zone is extremelly
> hard to debug.
> There are two weak test in gcc testsuite related to -mno-red-zone,
> but not a single test that actually check that it is doing
> the right thing. It is scary. I hope I'm wrong with this analysis.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

Alexi,
Thanks for replying and sending this email to the Debian developers,
seems to me a very serious issue with gcc. I don't known much about
compilers but I trust your experience here.
Nick

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-24 18:47                                                       ` Linus Torvalds
  2014-07-24 18:59                                                         ` Peter Zijlstra
  2014-07-25  1:25                                                         ` Michel Dänzer
@ 2014-07-25  6:48                                                         ` Jakub Jelinek
  2014-07-25  8:15                                                           ` Linus Torvalds
  2 siblings, 1 reply; 83+ messages in thread
From: Jakub Jelinek @ 2014-07-25  6:48 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Michel Dänzer, Peter Zijlstra, Dietmar Eggemann,
	Ingo Molnar, Linux Kernel Mailing List

On Thu, Jul 24, 2014 at 11:47:17AM -0700, Linus Torvalds wrote:
> Adding Jakub to the cc, because gcc-4.9.0 seems to be terminally broken.
...
> Jakub, any ideas?

Can I ask anyone involved in this for preprocessed source and all gcc command
line options to reproduce it, best in the form of a http://gcc.gnu.org/bugzilla/
bugreport?

Thanks.

	Jakub

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  6:48                                                         ` Jakub Jelinek
@ 2014-07-25  8:15                                                           ` Linus Torvalds
  2014-07-25  9:03                                                             ` Michel Dänzer
  0 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-25  8:15 UTC (permalink / raw)
  To: Jakub Jelinek
  Cc: Michel Dänzer, Peter Zijlstra, Dietmar Eggemann,
	Ingo Molnar, Linux Kernel Mailing List

On Thu, Jul 24, 2014 at 11:48 PM, Jakub Jelinek <jakub@redhat.com> wrote:
>
> Can I ask anyone involved in this for preprocessed source and all gcc command
> line options to reproduce it, best in the form of a http://gcc.gnu.org/bugzilla/
> bugreport?

I've created bug 61904 for this:

  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61904

Note that I don't personally have a reproducer (my machine has
gcc-4.8.3, and I don't see the same behavior), but I included the
incorrect fair.s file that Michel sent me (which has all the command
line options in it), and a pre-processed "fair.i" source file that I
generated and that *should* match the configuration that was the
source for that result. So there might be some version/configuration
skew there between the two files, but I think they match.

Holler if you cannot reproduce the problem based on that.

            Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  8:15                                                           ` Linus Torvalds
@ 2014-07-25  9:03                                                             ` Michel Dänzer
  2014-07-25  9:21                                                               ` Markus Trippelsdorf
  0 siblings, 1 reply; 83+ messages in thread
From: Michel Dänzer @ 2014-07-25  9:03 UTC (permalink / raw)
  To: Linus Torvalds, Jakub Jelinek
  Cc: Peter Zijlstra, Dietmar Eggemann, Ingo Molnar, Linux Kernel Mailing List

On 25.07.2014 17:15, Linus Torvalds wrote:
> On Thu, Jul 24, 2014 at 11:48 PM, Jakub Jelinek <jakub@redhat.com> wrote:
>>
>> Can I ask anyone involved in this for preprocessed source and all gcc command
>> line options to reproduce it, best in the form of a http://gcc.gnu.org/bugzilla/
>> bugreport?
> 
> I've created bug 61904 for this:
> 
>   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61904
> 
> Note that I don't personally have a reproducer (my machine has
> gcc-4.8.3, and I don't see the same behavior), but I included the
> incorrect fair.s file that Michel sent me (which has all the command
> line options in it), and a pre-processed "fair.i" source file that I
> generated and that *should* match the configuration that was the
> source for that result. So there might be some version/configuration
> skew there between the two files, but I think they match.

Thank you Linus for tracking down the problem and filing the bug report!
I would have done the latter as well, but I could only have channeled
your analysis anyway. :)


> Holler if you cannot reproduce the problem based on that.

Likewise. I can create a GCC bugzilla account and add myself to the CC
list if that helps.

FWIW though, the fair.i file you attached is basically identical to what
I'm getting, the only difference being a handful of file path strings.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  9:03                                                             ` Michel Dänzer
@ 2014-07-25  9:21                                                               ` Markus Trippelsdorf
  2014-07-25  9:42                                                                 ` Markus Trippelsdorf
  0 siblings, 1 reply; 83+ messages in thread
From: Markus Trippelsdorf @ 2014-07-25  9:21 UTC (permalink / raw)
  To: Michel Dänzer
  Cc: Linus Torvalds, Jakub Jelinek, Peter Zijlstra, Dietmar Eggemann,
	Ingo Molnar, Linux Kernel Mailing List

On 2014.07.25 at 18:03 +0900, Michel Dänzer wrote:
> On 25.07.2014 17:15, Linus Torvalds wrote:
> > On Thu, Jul 24, 2014 at 11:48 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> >>
> >> Can I ask anyone involved in this for preprocessed source and all gcc command
> >> line options to reproduce it, best in the form of a http://gcc.gnu.org/bugzilla/
> >> bugreport?
> > 
> > I've created bug 61904 for this:
> > 
> >   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61904
> > 
> > Note that I don't personally have a reproducer (my machine has
> > gcc-4.8.3, and I don't see the same behavior), but I included the
> > incorrect fair.s file that Michel sent me (which has all the command
> > line options in it), and a pre-processed "fair.i" source file that I
> > generated and that *should* match the configuration that was the
> > source for that result. So there might be some version/configuration
> > skew there between the two files, but I think they match.
> 
> Thank you Linus for tracking down the problem and filing the bug report!
> I would have done the latter as well, but I could only have channeled
> your analysis anyway. :)
> 
> 
> > Holler if you cannot reproduce the problem based on that.
> 
> Likewise. I can create a GCC bugzilla account and add myself to the CC
> list if that helps.
> 
> FWIW though, the fair.i file you attached is basically identical to what
> I'm getting, the only difference being a handful of file path strings.

Unfortunately I cannot reproduce the issue. Please post your complete
compiler invocation while also adding -v to the options.

-- 
Markus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  9:21                                                               ` Markus Trippelsdorf
@ 2014-07-25  9:42                                                                 ` Markus Trippelsdorf
  0 siblings, 0 replies; 83+ messages in thread
From: Markus Trippelsdorf @ 2014-07-25  9:42 UTC (permalink / raw)
  To: Michel Dänzer
  Cc: Linus Torvalds, Jakub Jelinek, Peter Zijlstra, Dietmar Eggemann,
	Ingo Molnar, Linux Kernel Mailing List

On 2014.07.25 at 11:21 +0200, Markus Trippelsdorf wrote:
> On 2014.07.25 at 18:03 +0900, Michel Dänzer wrote:
> > On 25.07.2014 17:15, Linus Torvalds wrote:
> > > On Thu, Jul 24, 2014 at 11:48 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> > >>
> > >> Can I ask anyone involved in this for preprocessed source and all gcc command
> > >> line options to reproduce it, best in the form of a http://gcc.gnu.org/bugzilla/
> > >> bugreport?
> > > 
> > > I've created bug 61904 for this:
> > > 
> > >   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61904
> > > 
> > > Note that I don't personally have a reproducer (my machine has
> > > gcc-4.8.3, and I don't see the same behavior), but I included the
> > > incorrect fair.s file that Michel sent me (which has all the command
> > > line options in it), and a pre-processed "fair.i" source file that I
> > > generated and that *should* match the configuration that was the
> > > source for that result. So there might be some version/configuration
> > > skew there between the two files, but I think they match.
> > 
> > Thank you Linus for tracking down the problem and filing the bug report!
> > I would have done the latter as well, but I could only have channeled
> > your analysis anyway. :)
> > 
> > 
> > > Holler if you cannot reproduce the problem based on that.
> > 
> > Likewise. I can create a GCC bugzilla account and add myself to the CC
> > list if that helps.
> > 
> > FWIW though, the fair.i file you attached is basically identical to what
> > I'm getting, the only difference being a handful of file path strings.
> 
> Unfortunately I cannot reproduce the issue. Please post your complete
> compiler invocation while also adding -v to the options.

The bug only happens for CONFIG_DEBUG_INFO !CONFIG_DEBUG_INFO_REDUCED
configurations. 

-- 
Markus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  3:55                                                           ` Alexei Starovoitov
  2014-07-25  4:00                                                             ` Nick Krause
@ 2014-07-25 14:02                                                             ` Steven Rostedt
  2014-07-25 18:29                                                               ` Linus Torvalds
  1 sibling, 1 reply; 83+ messages in thread
From: Steven Rostedt @ 2014-07-25 14:02 UTC (permalink / raw)
  To: Alexei Starovoitov
  Cc: Michel Dänzer, Linus Torvalds, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Thu, Jul 24, 2014 at 08:55:28PM -0700, Alexei Starovoitov wrote:
> 
> -mno-red-zone only affected prologue emition in gcc. This part didn't
> change between the releases. So the bug is quite deep.
> What seems to be happening is that 2nd pass of instruction scheduler
> (after emit prologue and reg alloc) is ignoring barrier properties
> of 'subq $184, %rsp' and moving 'movq $.., -136(%rbp)' instruction
> ahead of it. afaik rtl sched was never aware of 'red-zone'.
> As an ex-compiler guy, I'm worried that this bug exists in earlier
> releases. rtl backend guys need to take a serious look at it.
> imo this is very serious bug, since broken red-zone is extremelly
> hard to debug.

But wouldn't it be rather trivial to run a static analyzer on the final
vmlinux to make sure there are no red zones? I mean, you would only need
to read each function and check to make sure that the offset of rbp is
within the change of rsp, wouldn't you?

Almost seems like an objdump -rd into a perl script could do this.

-- Steve


> There are two weak test in gcc testsuite related to -mno-red-zone,
> but not a single test that actually check that it is doing
> the right thing. It is scary. I hope I'm wrong with this analysis.
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25 14:02                                                             ` Steven Rostedt
@ 2014-07-25 18:29                                                               ` Linus Torvalds
  2014-07-25 19:10                                                                 ` Steven Rostedt
                                                                                   ` (3 more replies)
  0 siblings, 4 replies; 83+ messages in thread
From: Linus Torvalds @ 2014-07-25 18:29 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Alexei Starovoitov, Michel Dänzer, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Fri, Jul 25, 2014 at 7:02 AM, Steven Rostedt <rostedt@goodmis.org> wrote:
>
> But wouldn't it be rather trivial to run a static analyzer on the final
> vmlinux to make sure there are no red zones? I mean, you would only need
> to read each function and check to make sure that the offset of rbp is
> within the change of rsp, wouldn't you?
>
> Almost seems like an objdump -rd into a perl script could do this.

I'm sure it's possible, but it sounds potentially complicated. It's
not like the function prologue is fixed, and gcc will create code
(including conditional branches etc) before the whole frame setup if
there are simple things that can be done purely with the
callee-clobbered registers etc.

Some simple pattern to make sure that the "sub $frame-size,%rsp" comes
before any accesses to (%rbp) (when frame pointers are enabled)
*might* work, but it might also end up missing things.

You want to try?

             Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25 18:29                                                               ` Linus Torvalds
@ 2014-07-25 19:10                                                                 ` Steven Rostedt
  2014-07-25 20:01                                                                 ` Linus Torvalds
                                                                                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 83+ messages in thread
From: Steven Rostedt @ 2014-07-25 19:10 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Alexei Starovoitov, Michel Dänzer, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Fri, 25 Jul 2014 11:29:06 -0700
Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, Jul 25, 2014 at 7:02 AM, Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > But wouldn't it be rather trivial to run a static analyzer on the final
> > vmlinux to make sure there are no red zones? I mean, you would only need
> > to read each function and check to make sure that the offset of rbp is
> > within the change of rsp, wouldn't you?
> >
> > Almost seems like an objdump -rd into a perl script could do this.
> 
> I'm sure it's possible, but it sounds potentially complicated. It's
> not like the function prologue is fixed, and gcc will create code
> (including conditional branches etc) before the whole frame setup if
> there are simple things that can be done purely with the
> callee-clobbered registers etc.
> 
> Some simple pattern to make sure that the "sub $frame-size,%rsp" comes
> before any accesses to (%rbp) (when frame pointers are enabled)
> *might* work, but it might also end up missing things.
> 
> You want to try?
> 

Yeah, I could write something up. I probably wont get to it for a week
or two, but it shouldn't be too hard.

As you said, it will probably miss the complex cases where gcc finishes
the frame later in the function or with branches and such. But at least
it should be able to catch any totally retard set up. I compiled
Michel's file and I'll make sure that it at least catches that:

    3572:       48 c7 85 78 ff ff ff    movq   $0x0,-0x88(%rbp)
    3579:       00 00 00 00 
                        3579: R_X86_64_32S      load_balance_mask
    357d:       48 81 ec b8 00 00 00    sub    $0xb8,%rsp


-- Steve



^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25 18:29                                                               ` Linus Torvalds
  2014-07-25 19:10                                                                 ` Steven Rostedt
@ 2014-07-25 20:01                                                                 ` Linus Torvalds
  2014-07-25 20:13                                                                   ` Steven Rostedt
  2014-07-25 21:25                                                                   ` Jakub Jelinek
  2014-07-26 18:28                                                                 ` Linus Torvalds
  2014-08-05  3:19                                                                 ` Steven Rostedt
  3 siblings, 2 replies; 83+ messages in thread
From: Linus Torvalds @ 2014-07-25 20:01 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Alexei Starovoitov, Michel Dänzer, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Fri, Jul 25, 2014 at 11:29 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Some simple pattern to make sure that the "sub $frame-size,%rsp" comes
> before any accesses to (%rbp) (when frame pointers are enabled)
> *might* work, but it might also end up missing things.

You're going to have a hard time doing that pattern. Just for fun, I
did something really quick in awk:

    />:/ { state = 0 }
    /%rsp,%rbp/ { state = 1 }
    /\$.*rsp/ { state = 2 }
    /lea/ { next }
    /\(%rbp\)/ { if (state == 1) print "Error: " $0; state = 2; }

which is incomprehensible line noise, but it's a trivial state machine
where "beginning of function" starts state 0, "mov %rsp,%rbp" starts
state 1 ("have frame pointer in function"), sub/add constant of %rsp
starts state 2 ("created frame"), and then we ignore "lea" (because we
don't follow address calculations off %rbp) and error out if we see an
access through %rbp in a function with a frame pointer but without a
frame created.

That thing is excessively stupid, in other words, but hey, it's good
to see "ok, what does that tell us".

And what it tells me is that gcc does some crazy things.

For example, gcc will not create a small stack frame with "sub
$8,%rsp". No, what gcc does is to use a random "push" instruction.
Fair enough, but that really makes things much harder to see. Here's
an example:

  ffffffff813143a3 <dock_notify>:
  ffffffff813143a3:       55                      push   %rbp
  ffffffff813143a4:       48 89 e5                mov    %rsp,%rbp
  ffffffff813143a7:       41 57                   push   %r15
  ffffffff813143a9:       41 56                   push   %r14
  ffffffff813143ab:       49 89 fe                mov    %rdi,%r14
  ffffffff813143ae:       41 55                   push   %r13
  ffffffff813143b0:       41 89 f5                mov    %esi,%r13d
  ffffffff813143b3:       41 54                   push   %r12
  ffffffff813143b5:       53                      push   %rbx
  ffffffff813143b6:       51                      push   %rcx
  ...
  ffffffff81314501:       48 8b 7e 08             mov    0x8(%rsi),%rdi
  ffffffff81314505:       48 89 75 d0             mov    %rsi,-0x30(%rbp)
  ffffffff81314509:       e8 5f d1 ff ff          callq
ffffffff8131166d <acpi_bus_scan>
  ffffffff8131450e:       85 c0                   test   %eax,%eax
  ...
  ffffffff813145d6:       5a                      pop    %rdx
  ffffffff813145d7:       5b                      pop    %rbx
  ffffffff813145d8:       44 89 e0                mov    %r12d,%eax
  ffffffff813145db:       41 5c                   pop    %r12
  ffffffff813145dd:       41 5d                   pop    %r13
  ffffffff813145df:       41 5e                   pop    %r14
  ffffffff813145e1:       41 5f                   pop    %r15
  ffffffff813145e3:       5d                      pop    %rbp
  ffffffff813145e4:       c3                      retq

note the use (deep down in the function) of -0x30(%rbp), and note how
it does "pop %rdx" twice to undo the "push %rcx". It was just to
allocate space.

So you definitely have to track the actual stack pointer updates, not
just the patterns of add/sub to %rsp.

                Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25 20:01                                                                 ` Linus Torvalds
@ 2014-07-25 20:13                                                                   ` Steven Rostedt
  2014-07-25 21:25                                                                   ` Jakub Jelinek
  1 sibling, 0 replies; 83+ messages in thread
From: Steven Rostedt @ 2014-07-25 20:13 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Alexei Starovoitov, Michel Dänzer, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Fri, 25 Jul 2014 13:01:11 -0700
Linus Torvalds <torvalds@linux-foundation.org> wrote:


> For example, gcc will not create a small stack frame with "sub
> $8,%rsp". No, what gcc does is to use a random "push" instruction.
> Fair enough, but that really makes things much harder to see. Here's
> an example:
> 
>   ffffffff813143a3 <dock_notify>:
>   ffffffff813143a3:       55                      push   %rbp
>   ffffffff813143a4:       48 89 e5                mov    %rsp,%rbp
>   ffffffff813143a7:       41 57                   push   %r15
>   ffffffff813143a9:       41 56                   push   %r14
>   ffffffff813143ab:       49 89 fe                mov    %rdi,%r14
>   ffffffff813143ae:       41 55                   push   %r13
>   ffffffff813143b0:       41 89 f5                mov    %esi,%r13d
>   ffffffff813143b3:       41 54                   push   %r12
>   ffffffff813143b5:       53                      push   %rbx
>   ffffffff813143b6:       51                      push   %rcx
>   ...
>   ffffffff81314501:       48 8b 7e 08             mov    0x8(%rsi),%rdi
>   ffffffff81314505:       48 89 75 d0             mov    %rsi,-0x30(%rbp)
>   ffffffff81314509:       e8 5f d1 ff ff          callq
> ffffffff8131166d <acpi_bus_scan>
>   ffffffff8131450e:       85 c0                   test   %eax,%eax
>   ...
>   ffffffff813145d6:       5a                      pop    %rdx
>   ffffffff813145d7:       5b                      pop    %rbx
>   ffffffff813145d8:       44 89 e0                mov    %r12d,%eax
>   ffffffff813145db:       41 5c                   pop    %r12
>   ffffffff813145dd:       41 5d                   pop    %r13
>   ffffffff813145df:       41 5e                   pop    %r14
>   ffffffff813145e1:       41 5f                   pop    %r15
>   ffffffff813145e3:       5d                      pop    %rbp
>   ffffffff813145e4:       c3                      retq
> 
> note the use (deep down in the function) of -0x30(%rbp), and note how
> it does "pop %rdx" twice to undo the "push %rcx". It was just to
> allocate space.

I don't see a pop %rdx twice. Sure you're not suffering from a little
dyslexia? ;-)  But I do get your point. The rdx is popped where the rcx
was, and both are useless, as rcx and rdx are volatile regs.


> 
> So you definitely have to track the actual stack pointer updates, not
> just the patterns of add/sub to %rsp.

With Perl that would be rather trivial. I'm more concerned with branch
logic. I'll see if I can include some simple branch logic too to
flatten paths. But I wont really know the depth of this until I start
hacking at it.

-- Steve




^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25 20:01                                                                 ` Linus Torvalds
  2014-07-25 20:13                                                                   ` Steven Rostedt
@ 2014-07-25 21:25                                                                   ` Jakub Jelinek
  1 sibling, 0 replies; 83+ messages in thread
From: Jakub Jelinek @ 2014-07-25 21:25 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Steven Rostedt, Alexei Starovoitov, Michel Dänzer,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Fri, Jul 25, 2014 at 01:01:11PM -0700, Linus Torvalds wrote:
> For example, gcc will not create a small stack frame with "sub
> $8,%rsp". No, what gcc does is to use a random "push" instruction.
> Fair enough, but that really makes things much harder to see. Here's
> an example:

That is because for -Os, push is certainly shorter than sub $8,%rsp.

If you want to test for this gcc bug in the kernel, supposedly one should
just take the short testcase from the GCC PR, try to compile it and see if
you e.g. get a -fcompare-debug -Os failure with the testcase.
In that case, you could instead of giving up completely just
-fno-var-tracking-assignments.

	Jakub

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25  1:25                                                         ` Michel Dänzer
                                                                             ` (2 preceding siblings ...)
  2014-07-25  3:55                                                           ` Alexei Starovoitov
@ 2014-07-26 18:02                                                           ` Steven Chamberlain
  2014-07-29  9:20                                                             ` Michel Dänzer
  3 siblings, 1 reply; 83+ messages in thread
From: Steven Chamberlain @ 2014-07-26 18:02 UTC (permalink / raw)
  To: Michel Dänzer
  Cc: Debian GCC Maintainers, Debian Kernel Team, linux-kernel

Hi Michel,

On 25/07/14 02:25, Michel Dänzer wrote:
> Attached is fair.s from Debian gcc 4.8.3-5. Does that look better? I'm
> going to try reproducing the problem with a kernel built by that now.

It looks like gcc-4.9 Debian package version 4.9.1-2 available in
sid/jessie may have already fixed this (though Debian's buildd systems
may not have been updated with it yet).  If you are able to test with
that version and let us know, that would be wonderful.

Thank you,
Regards,
-- 
Steven Chamberlain
steven@pyro.eu.org

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25 18:29                                                               ` Linus Torvalds
  2014-07-25 19:10                                                                 ` Steven Rostedt
  2014-07-25 20:01                                                                 ` Linus Torvalds
@ 2014-07-26 18:28                                                                 ` Linus Torvalds
  2014-07-26 18:39                                                                   ` Linus Torvalds
  2014-08-05  3:19                                                                 ` Steven Rostedt
  3 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-26 18:28 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Alexei Starovoitov, Michel Dänzer, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Fri, Jul 25, 2014 at 11:29 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> I'm sure it's possible, but it sounds potentially complicated.

Hmm. The bugzilla entry just taught me a new gcc flag:
"-fcompare-debug". That apparently makes gcc compile things twice,
once with debugging and once without, and verify that the result is
the same.

And you can enable it for the whole kernel build with just a simple

    export GCC_COMPARE_DEBUG=1

before doing the build.

It actually results in a failure for me even on my standard small
localized kernel build, even with gcc-4.8.3. I get a compare failure
for (at least) fs/ext4/inode.c.

That's a bit worrisome. I haven't actually checked if the code
generation differs in significant ways yet..

             Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 18:28                                                                 ` Linus Torvalds
@ 2014-07-26 18:39                                                                   ` Linus Torvalds
  2014-07-26 19:35                                                                     ` Markus Trippelsdorf
  0 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-26 18:39 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Alexei Starovoitov, Michel Dänzer, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Sat, Jul 26, 2014 at 11:28 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> That's a bit worrisome. I haven't actually checked if the code
> generation differs in significant ways yet..

Nope. Just three instructions that got re-ordered from ABC to CAB in a
way that makes no difference. But just the knowledge that "-g" affects
code generation is nasty.  And with "allmodconfig" my build fails
almost immediately (failures on at least arch/x86/kernel/process_64.c,
kernel/exit.c and mm/vmalloc.c in that case. I was too lazy to check
what the differences were).

Does anybody have current gcc build and can verify that current gcc
tip passes the kernel compile with that

    export GCC_COMPARE_DEBUG=1

thing?

              Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 18:39                                                                   ` Linus Torvalds
@ 2014-07-26 19:35                                                                     ` Markus Trippelsdorf
  2014-07-26 19:55                                                                       ` Theodore Ts'o
  2014-07-26 19:56                                                                       ` Linus Torvalds
  0 siblings, 2 replies; 83+ messages in thread
From: Markus Trippelsdorf @ 2014-07-26 19:35 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Steven Rostedt, Alexei Starovoitov, Michel Dänzer,
	Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On 2014.07.26 at 11:39 -0700, Linus Torvalds wrote:
> On Sat, Jul 26, 2014 at 11:28 AM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > That's a bit worrisome. I haven't actually checked if the code
> > generation differs in significant ways yet..
> 
> Nope. Just three instructions that got re-ordered from ABC to CAB in a
> way that makes no difference. But just the knowledge that "-g" affects
> code generation is nasty.  And with "allmodconfig" my build fails
> almost immediately (failures on at least arch/x86/kernel/process_64.c,
> kernel/exit.c and mm/vmalloc.c in that case. I was too lazy to check
> what the differences were).
> 
> Does anybody have current gcc build and can verify that current gcc
> tip passes the kernel compile with that
> 
>     export GCC_COMPARE_DEBUG=1
> 
> thing?

The fs/ext4/inode.c issue is a variant of the gcc bug and isn't fixed
yet. I will open a bug report. The kernel/exit.c issue is already fixed,
see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801 for a reduced
testcase. 

But fortunately the workaround for the new inode.c bug is the same as
for the original bug: -fno-var-tracking-assignments. 

It would make sense to enabled it unconditionally for all debug
configurations for now.

-- 
Markus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 19:35                                                                     ` Markus Trippelsdorf
@ 2014-07-26 19:55                                                                       ` Theodore Ts'o
  2014-07-26 20:20                                                                         ` Markus Trippelsdorf
  2014-07-26 19:56                                                                       ` Linus Torvalds
  1 sibling, 1 reply; 83+ messages in thread
From: Theodore Ts'o @ 2014-07-26 19:55 UTC (permalink / raw)
  To: Markus Trippelsdorf
  Cc: Linus Torvalds, Steven Rostedt, Alexei Starovoitov,
	Michel Dänzer, Jakub Jelinek, Linux Kernel Mailing List,
	Debian GCC Maintainers, Debian Kernel Team

On Sat, Jul 26, 2014 at 09:35:57PM +0200, Markus Trippelsdorf wrote:
> 
> But fortunately the workaround for the new inode.c bug is the same as
> for the original bug: -fno-var-tracking-assignments. 
> 
> It would make sense to enabled it unconditionally for all debug
> configurations for now.

What's the downside of enabling this unconditionally on a compiler
with the bug fixed?  I assume a certain amount of optimization will
lost, but is it significant/measurable?

					- Ted

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 19:35                                                                     ` Markus Trippelsdorf
  2014-07-26 19:55                                                                       ` Theodore Ts'o
@ 2014-07-26 19:56                                                                       ` Linus Torvalds
  2014-07-26 20:03                                                                         ` Linus Torvalds
                                                                                           ` (2 more replies)
  1 sibling, 3 replies; 83+ messages in thread
From: Linus Torvalds @ 2014-07-26 19:56 UTC (permalink / raw)
  To: Markus Trippelsdorf
  Cc: Steven Rostedt, Alexei Starovoitov, Michel Dänzer,
	Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

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

On Sat, Jul 26, 2014 at 12:35 PM, Markus Trippelsdorf
<markus@trippelsdorf.de> wrote:
>
> But fortunately the workaround for the new inode.c bug is the same as
> for the original bug: -fno-var-tracking-assignments.
>
> It would make sense to enabled it unconditionally for all debug
> configurations for now.

So how is code generation affected - if at all? Does the whole
"var-tracking-assignments" thing *only* matter for debug information?

Also, when was it introduced as an option? Can we just unconditionally
enable it, or do we need to be careful about gcc versions?

I'd *like* a debug kernel to not differ significantly from a non-debug
kernel. Most sane kernel developers (where "sane" is "me" by
definition) do not tend to use debug kernels, because the debug
overhead is absolutely disgustingly enormous at build time. But if we
then have most users using distro kernels that had debug info enabled,
it would be sad if code generation differences are huge.

So I'd prefer to just unconditionally add that
"-fno-var-tracking-assignments" to the build.

I just tested it on one file (fs/dcache.c) and it made no difference
at all for my non-debug build. Is this expected?

Because if the only effect of "-fno-var-tracking-assignments" is
potentially slightly worse debug information for variables, I'll
enable it in a jiffy if it fixes this code generation bug. But I'd
like to get that confirmed.

Finally, for CONFIG_DEBUG_INFO_REDUCED, we already use
"-fno-var-tracking". Is that a stronger version that also disables
"var-tracking-assignments"?

Also, Michel - can you try  this patch if you still have your
gcc-4.9.0 install, and send me the resulting fair.s file again?

                        Linus

[-- Attachment #2: patch.diff --]
[-- Type: text/plain, Size: 377 bytes --]

 Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index 6b2774145d66..5147f3f23504 100644
--- a/Makefile
+++ b/Makefile
@@ -688,6 +688,8 @@ KBUILD_CFLAGS	+= -fomit-frame-pointer
 endif
 endif
 
+KBUILD_CFLAGS   += $(call cc-option, -fno-var-tracking-assignments)
+
 ifdef CONFIG_DEBUG_INFO
 KBUILD_CFLAGS	+= -g
 KBUILD_AFLAGS	+= -Wa,-gdwarf-2

^ permalink raw reply related	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 19:56                                                                       ` Linus Torvalds
@ 2014-07-26 20:03                                                                         ` Linus Torvalds
  2014-07-26 20:19                                                                         ` Markus Trippelsdorf
  2014-07-28  3:47                                                                         ` Michel Dänzer
  2 siblings, 0 replies; 83+ messages in thread
From: Linus Torvalds @ 2014-07-26 20:03 UTC (permalink / raw)
  To: Markus Trippelsdorf
  Cc: Steven Rostedt, Alexei Starovoitov, Michel Dänzer,
	Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Sat, Jul 26, 2014 at 12:56 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Also, Michel - can you try  this patch if you still have your
> gcc-4.9.0 install, and send me the resulting fair.s file again?

Hmm. The good news is that with that patch, the GCC_COMPARE_DEBUG
build succeeds. At least for my small local config.

So I think that's the answer for now, although I'll wait to hear about
any possible non-debug downsides..

              Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 19:56                                                                       ` Linus Torvalds
  2014-07-26 20:03                                                                         ` Linus Torvalds
@ 2014-07-26 20:19                                                                         ` Markus Trippelsdorf
  2014-07-26 20:39                                                                           ` Linus Torvalds
  2014-07-28  3:47                                                                         ` Michel Dänzer
  2 siblings, 1 reply; 83+ messages in thread
From: Markus Trippelsdorf @ 2014-07-26 20:19 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Steven Rostedt, Alexei Starovoitov, Michel Dänzer,
	Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On 2014.07.26 at 12:56 -0700, Linus Torvalds wrote:
> On Sat, Jul 26, 2014 at 12:35 PM, Markus Trippelsdorf
> <markus@trippelsdorf.de> wrote:
> >
> > But fortunately the workaround for the new inode.c bug is the same as
> > for the original bug: -fno-var-tracking-assignments.
> >
> > It would make sense to enabled it unconditionally for all debug
> > configurations for now.
> 
> So how is code generation affected - if at all? Does the whole
> "var-tracking-assignments" thing *only* matter for debug information?

Yes. It should only affect the quality of the debugging information.
If code generation is affected it is a compiler bug.

> Also, when was it introduced as an option? Can we just unconditionally
> enable it, or do we need to be careful about gcc versions?

Git blame says it was introduced:  Wed Sep 2 02:42:21 2009.

> I'd *like* a debug kernel to not differ significantly from a non-debug
> kernel. Most sane kernel developers (where "sane" is "me" by
> definition) do not tend to use debug kernels, because the debug
> overhead is absolutely disgustingly enormous at build time. But if we
> then have most users using distro kernels that had debug info enabled,
> it would be sad if code generation differences are huge.
> 
> So I'd prefer to just unconditionally add that
> "-fno-var-tracking-assignments" to the build.
> 
> I just tested it on one file (fs/dcache.c) and it made no difference
> at all for my non-debug build. Is this expected?

Yes. The option only affects -g builds.

> Because if the only effect of "-fno-var-tracking-assignments" is
> potentially slightly worse debug information for variables, I'll
> enable it in a jiffy if it fixes this code generation bug. But I'd
> like to get that confirmed.
> 
> Finally, for CONFIG_DEBUG_INFO_REDUCED, we already use
> "-fno-var-tracking". Is that a stronger version that also disables
> "var-tracking-assignments"?

Yes.

So, the option should only be enabled for debugging builds. Something
like the following should be sufficient:

diff --git a/Makefile b/Makefile
index 6b2774145d66..037b78d0f407 100644
--- a/Makefile
+++ b/Makefile
@@ -689,7 +689,7 @@ endif
 endif
 
 ifdef CONFIG_DEBUG_INFO
-KBUILD_CFLAGS	+= -g
+KBUILD_CFLAGS	+= -g -fno-var-tracking-assignments
 KBUILD_AFLAGS	+= -Wa,-gdwarf-2
 endif
 
-- 
Markus

^ permalink raw reply related	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 19:55                                                                       ` Theodore Ts'o
@ 2014-07-26 20:20                                                                         ` Markus Trippelsdorf
  2014-07-26 22:08                                                                           ` Jakub Jelinek
  0 siblings, 1 reply; 83+ messages in thread
From: Markus Trippelsdorf @ 2014-07-26 20:20 UTC (permalink / raw)
  To: Theodore Ts'o, Linus Torvalds, Steven Rostedt,
	Alexei Starovoitov, Michel Dänzer, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On 2014.07.26 at 15:55 -0400, Theodore Ts'o wrote:
> On Sat, Jul 26, 2014 at 09:35:57PM +0200, Markus Trippelsdorf wrote:
> > 
> > But fortunately the workaround for the new inode.c bug is the same as
> > for the original bug: -fno-var-tracking-assignments. 
> > 
> > It would make sense to enabled it unconditionally for all debug
> > configurations for now.
> 
> What's the downside of enabling this unconditionally on a compiler
> with the bug fixed?  I assume a certain amount of optimization will
> lost, but is it significant/measurable?

Only the quality of the debug info would suffer a bit.

-- 
Markus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 20:19                                                                         ` Markus Trippelsdorf
@ 2014-07-26 20:39                                                                           ` Linus Torvalds
  2014-07-28 12:26                                                                             ` Frank Ch. Eigler
  0 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-26 20:39 UTC (permalink / raw)
  To: Markus Trippelsdorf
  Cc: Steven Rostedt, Alexei Starovoitov, Michel Dänzer,
	Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Sat, Jul 26, 2014 at 1:19 PM, Markus Trippelsdorf
<markus@trippelsdorf.de> wrote:
>
> Yes. The option only affects -g builds.

Ok, good. I'll wait a bit to hopefully get confirmation from Michel's
setup, but this does seem to be the solution.

> So, the option should only be enabled for debugging builds. Something
> like the following should be sufficient:

Actually, I prefer my patch that did it with cc-option checking, and
does it unconditionally.

Because if we do it even for non-debug builds - where it ostensibly
shouldn't matter - we then have that GCC_COMPARE_DEBUG thing working
regardless of configuration.

                Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 20:20                                                                         ` Markus Trippelsdorf
@ 2014-07-26 22:08                                                                           ` Jakub Jelinek
  0 siblings, 0 replies; 83+ messages in thread
From: Jakub Jelinek @ 2014-07-26 22:08 UTC (permalink / raw)
  To: Markus Trippelsdorf
  Cc: Theodore Ts'o, Linus Torvalds, Steven Rostedt,
	Alexei Starovoitov, Michel Dänzer,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Sat, Jul 26, 2014 at 10:20:55PM +0200, Markus Trippelsdorf wrote:
> On 2014.07.26 at 15:55 -0400, Theodore Ts'o wrote:
> > On Sat, Jul 26, 2014 at 09:35:57PM +0200, Markus Trippelsdorf wrote:
> > > 
> > > But fortunately the workaround for the new inode.c bug is the same as
> > > for the original bug: -fno-var-tracking-assignments. 
> > > 
> > > It would make sense to enabled it unconditionally for all debug
> > > configurations for now.
> > 
> > What's the downside of enabling this unconditionally on a compiler
> > with the bug fixed?  I assume a certain amount of optimization will
> > lost, but is it significant/measurable?
> 
> Only the quality of the debug info would suffer a bit.

Which for various tools that use kernel's debug info is a significant
difference.
So adding the option even for fixed gcc is undesirable (and, tracking
gcc version numbers only is not enough, I guess most of the distro gccs
will backport the fix soon).

This PR is the first -fcompare-debug wrong-code in the last few years
I remember. There are -fcompare-debug failures from time to time, but
usually they are just that either there is insignificant code change or
no change at all, just changes in the text dump files -fcompare-debug
uses to check whether there might be code differences or not.
GCC's stated goal is that -g should not affect code generation, so we
treat all such differences as bugs, but most of the time they aren't
breaking anything.

	Jakub

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 19:56                                                                       ` Linus Torvalds
  2014-07-26 20:03                                                                         ` Linus Torvalds
  2014-07-26 20:19                                                                         ` Markus Trippelsdorf
@ 2014-07-28  3:47                                                                         ` Michel Dänzer
  2014-07-28 16:48                                                                           ` Linus Torvalds
  2 siblings, 1 reply; 83+ messages in thread
From: Michel Dänzer @ 2014-07-28  3:47 UTC (permalink / raw)
  To: Linus Torvalds, Markus Trippelsdorf
  Cc: Steven Rostedt, Alexei Starovoitov, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

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

On 27.07.2014 04:56, Linus Torvalds wrote:
> 
> Also, Michel - can you try  this patch if you still have your
> gcc-4.9.0 install, and send me the resulting fair.s file again?

Attached.

I also verified that this patch fixes the compilation of fair.c with
GCC_COMPARE_DEBUG=1.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

[-- Attachment #2: fair.s-4.9.1-1-patch.gz --]
[-- Type: application/gzip, Size: 170822 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 20:39                                                                           ` Linus Torvalds
@ 2014-07-28 12:26                                                                             ` Frank Ch. Eigler
  2014-07-28 13:10                                                                               ` Theodore Ts'o
  2014-07-28 16:45                                                                               ` Linus Torvalds
  0 siblings, 2 replies; 83+ messages in thread
From: Frank Ch. Eigler @ 2014-07-28 12:26 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Markus Trippelsdorf, Steven Rostedt, Alexei Starovoitov,
	=?UTF-8?Q?Michel_D=C3=A4nzer?=,
	Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team


torvalds wrote:

> [...]
> Actually, I prefer my patch that did it with cc-option checking, and
> does it unconditionally.
>
> Because if we do it even for non-debug builds - where it ostensibly
> shouldn't matter - we then have that GCC_COMPARE_DEBUG thing working
> regardless of configuration.

Please note that the data produced by "-g -fvar-tracking" is consumed
by tools like systemtap, perf, crash, and makes a significant
difference to the observability of debug AND non-debug kernels.  (The
presence of compiled-in DEBUG_* self-checking code is orthogonal to
kernel observability via debuginfo.)  Please consider only disabling
var-tracking optionally/temporarily to work around this already-fixed
compiler bug, but not losing high-quality dwarf data permanently.

- FChE

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28 12:26                                                                             ` Frank Ch. Eigler
@ 2014-07-28 13:10                                                                               ` Theodore Ts'o
  2014-07-28 14:11                                                                                 ` Frank Ch. Eigler
  2014-07-28 16:45                                                                               ` Linus Torvalds
  1 sibling, 1 reply; 83+ messages in thread
From: Theodore Ts'o @ 2014-07-28 13:10 UTC (permalink / raw)
  To: Frank Ch. Eigler
  Cc: Linus Torvalds, Markus Trippelsdorf, Steven Rostedt,
	Alexei Starovoitov, =?UTF-8?Q?Michel_D=C3=A4nzer?=,
	Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Mon, Jul 28, 2014 at 08:26:59AM -0400, Frank Ch. Eigler wrote:
> Please note that the data produced by "-g -fvar-tracking" is consumed
> by tools like systemtap, perf, crash, and makes a significant
> difference to the observability of debug AND non-debug kernels.  (The
> presence of compiled-in DEBUG_* self-checking code is orthogonal to
> kernel observability via debuginfo.)  Please consider only disabling
> var-tracking optionally/temporarily to work around this already-fixed
> compiler bug, but not losing high-quality dwarf data permanently.

I thought Markus told us that -fno-var-tracking-assignments makes
absolutely no difference for non-debug kernels?

For cases where it's really critical that userspace know whether a
particular kernel bug or feature is present, one of the tricks I use
is the presence or absense of a file in /sys/fs/ext4/features.  That
way, userspace can reliably detect if feature or bug fix is present,
without relying solely on a version check which doesn't take into
account enterprise distro backports.

Is there some equivalent signalling system that gcc could use, so that
the Makefile can test whether or not -fvar-tracking is needed to avoid
creating an unstable kernel, and which takes into account that (a)
some users will try building bleeding edge kernels on RHEL systems
that might not have the bug fix backported, and it would be nice if
they don't get a buggy compiled kernel, and (b) once the bug fix is
backported, companies like Red Hat would prefer that the workaround
gets disabled to avoid the side effects for things like Systemtap?

Hopefully such a feature will only be needed Very, VERY, *VERY*
rarely, but when the need arises, it's nice to have.

Regards,

						- Ted



^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28 13:10                                                                               ` Theodore Ts'o
@ 2014-07-28 14:11                                                                                 ` Frank Ch. Eigler
  0 siblings, 0 replies; 83+ messages in thread
From: Frank Ch. Eigler @ 2014-07-28 14:11 UTC (permalink / raw)
  To: Theodore Ts'o, Linus Torvalds, Markus Trippelsdorf,
	Steven Rostedt, Alexei Starovoitov,
	=?UTF-8?Q?Michel_D=C3=A4nzer?=,
	Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

Hi -

On Mon, Jul 28, 2014 at 09:10:04AM -0400, Theodore Ts'o wrote:
> [...]
> I thought Markus told us that -fno-var-tracking-assignments makes
> absolutely no difference for non-debug kernels?

It does affect CONFIG_DEBUG_INFO kernels, and that config option is
set for all Red Hat kernels (-debug or plain).


> [...]  Is there some equivalent signalling system that gcc could use
> [...]

I'm not aware of anything trivial like a gcc --report-fixed-PRs kind
of thing.  But, kbuild could conceivably have a run-time test
involving test-running gcc with in that compare-debug mode with a
suitable test case.  We use the latter technique in systemtap for
auto-configuring to kernel versions/features; we got the $(CHECK_BUILD)
trick from vmware module makefiles.  It could be recast as a variant
of $(cc-option ...).


- FChE

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28 12:26                                                                             ` Frank Ch. Eigler
  2014-07-28 13:10                                                                               ` Theodore Ts'o
@ 2014-07-28 16:45                                                                               ` Linus Torvalds
  2014-07-28 17:27                                                                                 ` Alexei Starovoitov
  1 sibling, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-28 16:45 UTC (permalink / raw)
  To: Frank Ch. Eigler
  Cc: Markus Trippelsdorf, Steven Rostedt, Alexei Starovoitov,
	Michel Dänzer, Jakub Jelinek, Linux Kernel Mailing List,
	Debian GCC Maintainers, Debian Kernel Team

On Mon, Jul 28, 2014 at 5:26 AM, Frank Ch. Eigler <fche@redhat.com> wrote:
>
> Please note that the data produced by "-g -fvar-tracking" is consumed
> by tools like systemtap, perf, crash, and makes a significant
> difference to the observability of debug AND non-debug kernels.

Yeah, and compared to having a buggy kernel, I care exactly this much: "".

Besides, "significant difference" is very debatable indeed. It may be
noticeable, it's likely not actually significant.

              Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28  3:47                                                                         ` Michel Dänzer
@ 2014-07-28 16:48                                                                           ` Linus Torvalds
  2014-07-29  2:29                                                                             ` Michel Dänzer
  0 siblings, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-28 16:48 UTC (permalink / raw)
  To: Michel Dänzer
  Cc: Markus Trippelsdorf, Steven Rostedt, Alexei Starovoitov,
	Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Sun, Jul 27, 2014 at 8:47 PM, Michel Dänzer <michel@daenzer.net> wrote:
> On 27.07.2014 04:56, Linus Torvalds wrote:
>>
>> Also, Michel - can you try  this patch if you still have your
>> gcc-4.9.0 install, and send me the resulting fair.s file again?
>
> Attached.

The frame setup looks fine to me now (apart from the spilling of a
constant value, but hey, that wasn't _buggy_, that was just stupid).

And I'm assuming everything runs fine too?

                  Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28 16:45                                                                               ` Linus Torvalds
@ 2014-07-28 17:27                                                                                 ` Alexei Starovoitov
  2014-07-28 18:09                                                                                   ` Markus Trippelsdorf
  2014-07-28 19:50                                                                                   ` Theodore Ts'o
  0 siblings, 2 replies; 83+ messages in thread
From: Alexei Starovoitov @ 2014-07-28 17:27 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Frank Ch. Eigler, Markus Trippelsdorf, Steven Rostedt,
	Michel Dänzer, Jakub Jelinek, Linux Kernel Mailing List,
	Debian GCC Maintainers, Debian Kernel Team

On Mon, Jul 28, 2014 at 09:45:45AM -0700, Linus Torvalds wrote:
> On Mon, Jul 28, 2014 at 5:26 AM, Frank Ch. Eigler <fche@redhat.com> wrote:
> >
> > Please note that the data produced by "-g -fvar-tracking" is consumed
> > by tools like systemtap, perf, crash, and makes a significant
> > difference to the observability of debug AND non-debug kernels.
> 
> Yeah, and compared to having a buggy kernel, I care exactly this much: "".
> 
> Besides, "significant difference" is very debatable indeed. It may be
> noticeable, it's likely not actually significant.

as far as I can see in gcc code, -fno-var-tracking-assignments is the main
switch for 'vartrack' pass. So -fno-var-tracking-assignments is pretty
much equivalent to -fno-var-tracking
Both kill majority of debug info for local variables and function arguments.
The end effect for perf/systemtap will be quite noticeable.

It's not pretty, but adding it unconditionally was the right thing to do.
Black listing compiler versions is too fragile.
Look at the flip side: now size of build dir will be much smaller :)

For gcc it's obviously a big blow. Now 10k lines pass developed
over 10+ years will not be used :(


^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28 17:27                                                                                 ` Alexei Starovoitov
@ 2014-07-28 18:09                                                                                   ` Markus Trippelsdorf
  2014-07-28 18:28                                                                                     ` Linus Torvalds
  2014-07-29  8:58                                                                                     ` Jakub Jelinek
  2014-07-28 19:50                                                                                   ` Theodore Ts'o
  1 sibling, 2 replies; 83+ messages in thread
From: Markus Trippelsdorf @ 2014-07-28 18:09 UTC (permalink / raw)
  To: Alexei Starovoitov
  Cc: Linus Torvalds, Frank Ch. Eigler, Steven Rostedt,
	Michel Dänzer, Jakub Jelinek, Linux Kernel Mailing List,
	Debian GCC Maintainers, Debian Kernel Team

On 2014.07.28 at 10:27 -0700, Alexei Starovoitov wrote:
> On Mon, Jul 28, 2014 at 09:45:45AM -0700, Linus Torvalds wrote:
> > On Mon, Jul 28, 2014 at 5:26 AM, Frank Ch. Eigler <fche@redhat.com> wrote:
> > >
> > > Please note that the data produced by "-g -fvar-tracking" is consumed
> > > by tools like systemtap, perf, crash, and makes a significant
> > > difference to the observability of debug AND non-debug kernels.
> > 
> > Yeah, and compared to having a buggy kernel, I care exactly this much: "".
> 
> It's not pretty, but adding it unconditionally was the right thing to do.
> Black listing compiler versions is too fragile.
> Look at the flip side: now size of build dir will be much smaller :)

It shouldn't be too hard to implement a simple check for the bug in the
next release. Just compile the gcc/testsuite/gcc.target/i386/pr61801.c
testcase with -fcompare-debug. If gcc returns 0 then
-fvar-tracking-assignments could safely be enabled again.

Here's the testcase:

int a, b, c;
void fn1 ()
{
  int d;
  if (fn2 () && !0)
    {
      b = (
           {
           int e;
           fn3 ();
           switch (0)
           default:
           asm volatile("" : "=a"(e) : "0"(a), "i"(0));
           e;
           });
      d = b;
    }
  c = d;
}

-- 
Markus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28 18:09                                                                                   ` Markus Trippelsdorf
@ 2014-07-28 18:28                                                                                     ` Linus Torvalds
  2014-07-28 18:41                                                                                       ` Markus Trippelsdorf
  2014-07-29  8:58                                                                                     ` Jakub Jelinek
  1 sibling, 1 reply; 83+ messages in thread
From: Linus Torvalds @ 2014-07-28 18:28 UTC (permalink / raw)
  To: Markus Trippelsdorf
  Cc: Alexei Starovoitov, Frank Ch. Eigler, Steven Rostedt,
	Michel Dänzer, Jakub Jelinek, Linux Kernel Mailing List,
	Debian GCC Maintainers, Debian Kernel Team

On Mon, Jul 28, 2014 at 11:09 AM, Markus Trippelsdorf
<markus@trippelsdorf.de> wrote:
>
> It shouldn't be too hard to implement a simple check for the bug in the
> next release. Just compile the gcc/testsuite/gcc.target/i386/pr61801.c
> testcase with -fcompare-debug. If gcc returns 0 then
> -fvar-tracking-assignments could safely be enabled again.

We don't really have any good infrastructure for things like this,
though. We probably *should* have a way to generate config options by
compiler version, but right now we don't. We do random ugly things
from within Makefile shell escapes (see all the helpers for this we do
in scripts/Kbuild.include, for example), and we could add yet another
one. But this is a whole new level of "ugly hack". It would be better
if we could do things like this at config time, not at build-time with
Makefile hacks.

Also, the test-case seems to be very sensitive to compiler options: it
passes with "-O", but fails with "-O2" or "-Os" for me. So I wonder
how reliable it is in the face of compiler version differences (ie is
it really robust wrt the bug actually being *fixed*, or is it a bit of
a happenstance)

          Linus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28 18:28                                                                                     ` Linus Torvalds
@ 2014-07-28 18:41                                                                                       ` Markus Trippelsdorf
  0 siblings, 0 replies; 83+ messages in thread
From: Markus Trippelsdorf @ 2014-07-28 18:41 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Alexei Starovoitov, Frank Ch. Eigler, Steven Rostedt,
	Michel Dänzer, Jakub Jelinek, Linux Kernel Mailing List,
	Debian GCC Maintainers, Debian Kernel Team

On 2014.07.28 at 11:28 -0700, Linus Torvalds wrote:
> On Mon, Jul 28, 2014 at 11:09 AM, Markus Trippelsdorf
> <markus@trippelsdorf.de> wrote:
> >
> > It shouldn't be too hard to implement a simple check for the bug in the
> > next release. Just compile the gcc/testsuite/gcc.target/i386/pr61801.c
> > testcase with -fcompare-debug. If gcc returns 0 then
> > -fvar-tracking-assignments could safely be enabled again.
> 
> We don't really have any good infrastructure for things like this,
> though. We probably *should* have a way to generate config options by
> compiler version, but right now we don't. We do random ugly things
> from within Makefile shell escapes (see all the helpers for this we do
> in scripts/Kbuild.include, for example), and we could add yet another
> one. But this is a whole new level of "ugly hack". It would be better
> if we could do things like this at config time, not at build-time with
> Makefile hacks.
> 
> Also, the test-case seems to be very sensitive to compiler options: it
> passes with "-O", but fails with "-O2" or "-Os" for me. So I wonder
> how reliable it is in the face of compiler version differences (ie is
> it really robust wrt the bug actually being *fixed*, or is it a bit of
> a happenstance)

It is robust with -O2 and -Os for all supported series that I've
checked: 4.8, 4.9 and 5.0. I haven't checked older releases.

-- 
Markus

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28 17:27                                                                                 ` Alexei Starovoitov
  2014-07-28 18:09                                                                                   ` Markus Trippelsdorf
@ 2014-07-28 19:50                                                                                   ` Theodore Ts'o
  1 sibling, 0 replies; 83+ messages in thread
From: Theodore Ts'o @ 2014-07-28 19:50 UTC (permalink / raw)
  To: Alexei Starovoitov
  Cc: Linus Torvalds, Frank Ch. Eigler, Markus Trippelsdorf,
	Steven Rostedt, Michel Dänzer, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On Mon, Jul 28, 2014 at 10:27:39AM -0700, Alexei Starovoitov wrote:
> 
> It's not pretty, but adding it unconditionally was the right thing to do.
> Black listing compiler versions is too fragile.
> Look at the flip side: now size of build dir will be much smaller :)

White-listing the fixed compiler version should be safe though, and
that should pretty much fix things for community distros fairly
quickly.  For enterprise distros, once the compiler is patched, their
kernel sources could also be hacked to add a distro-specific version
whitelist.  This would all be fixed in 4.9.2, right?

							- Ted

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28 16:48                                                                           ` Linus Torvalds
@ 2014-07-29  2:29                                                                             ` Michel Dänzer
  0 siblings, 0 replies; 83+ messages in thread
From: Michel Dänzer @ 2014-07-29  2:29 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Markus Trippelsdorf, Steven Rostedt, Alexei Starovoitov,
	Jakub Jelinek, Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

On 29.07.2014 01:48, Linus Torvalds wrote:
> On Sun, Jul 27, 2014 at 8:47 PM, Michel Dänzer <michel@daenzer.net> wrote:
>> On 27.07.2014 04:56, Linus Torvalds wrote:
>>>
>>> Also, Michel - can you try  this patch if you still have your
>>> gcc-4.9.0 install, and send me the resulting fair.s file again?
>>
>> Attached.
> 
> The frame setup looks fine to me now (apart from the spilling of a
> constant value, but hey, that wasn't _buggy_, that was just stupid).
> 
> And I'm assuming everything runs fine too?

I've rebased my .config on the one from the current Debian kernel
packages, which no longer enables CONFIG_CC_OPTIMIZE_FOR_SIZE. So I'm no
longer affected by this bug anyway. (I used the old .config for
compiling the fair.s above though)


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-28 18:09                                                                                   ` Markus Trippelsdorf
  2014-07-28 18:28                                                                                     ` Linus Torvalds
@ 2014-07-29  8:58                                                                                     ` Jakub Jelinek
  1 sibling, 0 replies; 83+ messages in thread
From: Jakub Jelinek @ 2014-07-29  8:58 UTC (permalink / raw)
  To: Markus Trippelsdorf
  Cc: Alexei Starovoitov, Linus Torvalds, Frank Ch. Eigler,
	Steven Rostedt, Michel Dänzer, Linux Kernel Mailing List,
	Debian GCC Maintainers, Debian Kernel Team

On Mon, Jul 28, 2014 at 08:09:02PM +0200, Markus Trippelsdorf wrote:
> Here's the testcase:
> 
> int a, b, c;
> void fn1 ()
> {
>   int d;
>   if (fn2 () && !0)
>     {
>       b = (
>            {
>            int e;
>            fn3 ();
>            switch (0)
>            default:
>            asm volatile("" : "=a"(e) : "0"(a), "i"(0));
>            e;
>            });
>       d = b;
>     }
>   c = d;
> }

int a, c;
int bar (void);
void baz (void);

void
foo (void)
{
  int d;
  if (bar ())
    {
      int e;
      baz ();
      asm volatile ("" : "=a" (e) : "0" (a), "i" (0));
      d = e;
    }
  c = d;
}

fails the same way and has more creduce cruft removed.
Fails also with 4.7 at -O2 -fcompare-debug.

	Jakub

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-26 18:02                                                           ` Steven Chamberlain
@ 2014-07-29  9:20                                                             ` Michel Dänzer
  0 siblings, 0 replies; 83+ messages in thread
From: Michel Dänzer @ 2014-07-29  9:20 UTC (permalink / raw)
  To: Steven Chamberlain
  Cc: Debian GCC Maintainers, Debian Kernel Team, linux-kernel

On 27.07.2014 03:02, Steven Chamberlain wrote:
> On 25/07/14 02:25, Michel Dänzer wrote:
>> Attached is fair.s from Debian gcc 4.8.3-5. Does that look better? I'm
>> going to try reproducing the problem with a kernel built by that now.
> 
> It looks like gcc-4.9 Debian package version 4.9.1-2 available in
> sid/jessie may have already fixed this (though Debian's buildd systems
> may not have been updated with it yet).  If you are able to test with
> that version and let us know, that would be wonderful.

I couldn't test 4.9.1-2, but 4.9.1-3 seems to fix the problem.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: Random panic in load_balance() with 3.16-rc
  2014-07-25 18:29                                                               ` Linus Torvalds
                                                                                   ` (2 preceding siblings ...)
  2014-07-26 18:28                                                                 ` Linus Torvalds
@ 2014-08-05  3:19                                                                 ` Steven Rostedt
  3 siblings, 0 replies; 83+ messages in thread
From: Steven Rostedt @ 2014-08-05  3:19 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Alexei Starovoitov, Michel Dänzer, Jakub Jelinek,
	Linux Kernel Mailing List, Debian GCC Maintainers,
	Debian Kernel Team

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

On Fri, 25 Jul 2014 11:29:06 -0700
Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, Jul 25, 2014 at 7:02 AM, Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > But wouldn't it be rather trivial to run a static analyzer on the final
> > vmlinux to make sure there are no red zones? I mean, you would only need
> > to read each function and check to make sure that the offset of rbp is
> > within the change of rsp, wouldn't you?
> >
> > Almost seems like an objdump -rd into a perl script could do this.
> 
> I'm sure it's possible, but it sounds potentially complicated. It's
> not like the function prologue is fixed, and gcc will create code
> (including conditional branches etc) before the whole frame setup if
> there are simple things that can be done purely with the
> callee-clobbered registers etc.
> 
> Some simple pattern to make sure that the "sub $frame-size,%rsp" comes
> before any accesses to (%rbp) (when frame pointers are enabled)
> *might* work, but it might also end up missing things.
> 
> You want to try?
> 

I tried :-)

Seems to stay clean with my x86_64 vmlinux build. I compiled the fair.s
file and tested it and it got this:

$ objump -dr fair.o | ./check-vmlinux.pl
ERROR: <load_balance>: depth=-40 offset=136 at 4210
    3572:	48 c7 85 78 ff ff ff 	movq   $0x0,-0x88(%rbp)
ERROR: <sched_group_set_shares>: depth=8 offset=48 at 5734
    4a79:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
ERROR: <sched_group_set_shares>: depth=8 offset=48 at 5743
    4a9c:	48 8b 75 d0          	mov    -0x30(%rbp),%rsi

The sched_group_set_shares errors seem to be bogus as that is done
after %rbp has been popped. Looks to be code that was jumped to from
the main body. I could probably fix this by ignoring code after a pop
of %rbp. Or make it more complex and be a bit smarter about branches.

The script will read a file if passed by parameter, otherwise it reads
standard input.

e.g.

$ objump -dr fair.o | ./check-vmlinux.pl

or

$ objdump -dr fair.o > /tmp/fair.dump
$ ./check-vmlinux.pl /tmp/fair.dump

produce the same.

It's a little hacky, but I only spent a half hour at most on it.

-- Steve

[-- Attachment #2: check-vmlinux.pl --]
[-- Type: application/x-perl, Size: 1468 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

end of thread, other threads:[~2014-08-05  3:19 UTC | newest]

Thread overview: 83+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <53C77BB8.6030804@daenzer.net>
2014-07-17  7:58 ` Random panic in load_balance() with 3.16-rc Peter Zijlstra
2014-07-18  9:29   ` Michel Dänzer
2014-07-22  6:13     ` Michel Dänzer
2014-07-23  3:53       ` Michel Dänzer
2014-07-23  4:21         ` Linus Torvalds
2014-07-23  6:49           ` Peter Zijlstra
2014-07-23  8:05             ` Michel Dänzer
2014-07-23  8:28               ` Peter Zijlstra
2014-07-23  9:25                 ` Peter Zijlstra
2014-07-23  9:31                   ` Michel Dänzer
2014-07-23  9:45                     ` Dietmar Eggemann
2014-07-23 11:11                       ` Peter Zijlstra
2014-07-23 11:30                         ` Peter Zijlstra
2014-07-23 14:24                           ` Peter Zijlstra
2014-07-23 14:38                             ` Michel Dänzer
2014-07-23 15:51                             ` Linus Torvalds
     [not found]                               ` <20140723155526.GW3935@laptop>
2014-07-23 16:54                                 ` Linus Torvalds
2014-07-23 17:03                                   ` Peter Zijlstra
2014-07-23 17:12                                     ` Linus Torvalds
2014-07-23 17:26                                       ` Linus Torvalds
2014-07-23 18:25                                         ` Peter Zijlstra
2014-07-23 18:35                                           ` Linus Torvalds
2014-07-23 18:41                                             ` Peter Zijlstra
2014-07-23 18:55                                               ` Linus Torvalds
2014-07-23 19:02                                                 ` Peter Zijlstra
2014-07-23 19:20                                                   ` Linus Torvalds
2014-07-24  1:43                                                     ` Michel Dänzer
2014-07-24 18:47                                                       ` Linus Torvalds
2014-07-24 18:59                                                         ` Peter Zijlstra
2014-07-25  1:25                                                         ` Michel Dänzer
2014-07-25  2:33                                                           ` Linus Torvalds
2014-07-25  2:50                                                             ` Nick Krause
2014-07-25  2:36                                                           ` Nick Krause
2014-07-25  3:55                                                           ` Alexei Starovoitov
2014-07-25  4:00                                                             ` Nick Krause
2014-07-25 14:02                                                             ` Steven Rostedt
2014-07-25 18:29                                                               ` Linus Torvalds
2014-07-25 19:10                                                                 ` Steven Rostedt
2014-07-25 20:01                                                                 ` Linus Torvalds
2014-07-25 20:13                                                                   ` Steven Rostedt
2014-07-25 21:25                                                                   ` Jakub Jelinek
2014-07-26 18:28                                                                 ` Linus Torvalds
2014-07-26 18:39                                                                   ` Linus Torvalds
2014-07-26 19:35                                                                     ` Markus Trippelsdorf
2014-07-26 19:55                                                                       ` Theodore Ts'o
2014-07-26 20:20                                                                         ` Markus Trippelsdorf
2014-07-26 22:08                                                                           ` Jakub Jelinek
2014-07-26 19:56                                                                       ` Linus Torvalds
2014-07-26 20:03                                                                         ` Linus Torvalds
2014-07-26 20:19                                                                         ` Markus Trippelsdorf
2014-07-26 20:39                                                                           ` Linus Torvalds
2014-07-28 12:26                                                                             ` Frank Ch. Eigler
2014-07-28 13:10                                                                               ` Theodore Ts'o
2014-07-28 14:11                                                                                 ` Frank Ch. Eigler
2014-07-28 16:45                                                                               ` Linus Torvalds
2014-07-28 17:27                                                                                 ` Alexei Starovoitov
2014-07-28 18:09                                                                                   ` Markus Trippelsdorf
2014-07-28 18:28                                                                                     ` Linus Torvalds
2014-07-28 18:41                                                                                       ` Markus Trippelsdorf
2014-07-29  8:58                                                                                     ` Jakub Jelinek
2014-07-28 19:50                                                                                   ` Theodore Ts'o
2014-07-28  3:47                                                                         ` Michel Dänzer
2014-07-28 16:48                                                                           ` Linus Torvalds
2014-07-29  2:29                                                                             ` Michel Dänzer
2014-08-05  3:19                                                                 ` Steven Rostedt
2014-07-26 18:02                                                           ` Steven Chamberlain
2014-07-29  9:20                                                             ` Michel Dänzer
2014-07-25  6:48                                                         ` Jakub Jelinek
2014-07-25  8:15                                                           ` Linus Torvalds
2014-07-25  9:03                                                             ` Michel Dänzer
2014-07-25  9:21                                                               ` Markus Trippelsdorf
2014-07-25  9:42                                                                 ` Markus Trippelsdorf
2014-07-23 18:07                                       ` Linus Torvalds
2014-07-23 18:31                                         ` Peter Zijlstra
2014-07-23 18:24                                       ` Peter Zijlstra
2014-07-23 17:04                                   ` Peter Zijlstra
2014-07-23 17:15                                     ` Linus Torvalds
2014-07-23 18:25                                       ` Peter Zijlstra
2014-07-23 18:23                                   ` Peter Zijlstra
2014-07-23 10:52                     ` Peter Zijlstra
2014-07-24  7:18                     ` Michel Dänzer
2014-07-24  7:51                       ` Peter Zijlstra
2014-07-24  9:55                         ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).