public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: LKML <linux-kernel@vger.kernel.org>, Andi Kleen <ak@suse.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Glauber de Oliveira Costa <glommer@gmail.com>,
	Jan Beulich <jbeulich@novell.com>
Subject: Re: [PATCH 0/5] x86: another attempt at x86 pagetable unification
Date: Thu, 20 Dec 2007 13:08:58 -0800	[thread overview]
Message-ID: <476AD9EA.7010108@goop.org> (raw)
In-Reply-To: <20071220112022.GA15832@elte.hu>

Ingo Molnar wrote:
> * Ingo Molnar <mingo@elte.hu> wrote:
>
>   
>>> Here's another round of the pagetable unification patches.  I've 
>>> done a few dozen rounds of randconfig builds on both 32- and 64-bit, 
>>> so I hope that will prevent compile problems in your test 
>>> environment.
>>>
>>> I've also boot-tested 64-bit and 32-bit PAE/non-PAE configs (both 
>>> paravirt and non-paravirt).
>>>       
>> i've done a dozen random tests too and it's looking good so far. Nice 
>> work!
>>     
>
> found a couple of bugs.
>
> firstly, 64-bit wasnt so lucky, you broke iounmap()/change_page_attr()
> :-)
>   

Crap.  Worked for me.  I'll look into it.

> The crash is here:
>
> [    0.000000] PCI: Calling quirk ffffffff804625d0 for 0000:00:02.0
> [    0.000000] PCI: Calling quirk ffffffff80565b10 for 0000:00:02.0
> [    0.000000] ------------[ cut here ]------------
> [    0.000000] kernel BUG at arch/x86/mm/pageattr_64.c:176!
> [    0.000000] invalid opcode: 0000 [1] SMP 
> [    0.000000] CPU 1 
> [    0.000000] Modules linked in:
> [    0.000000] Pid: 1, comm: swapper Not tainted 2.6.24-rc5 #5
> [    0.000000] RIP: 0010:[<ffffffff802229b9>]  [<ffffffff802229b9>] __change_page_attr+0x189/0x2e0
> [    0.000000] RSP: 0018:ffff81003f9c3d30  EFLAGS: 00010282
> [    0.000000] RAX: 0000000000000400 RBX: 00000000000da103 RCX: ffffe20000000370
> [    0.000000] RDX: 000000000000006e RSI: 00003ffffffff000 RDI: ffff81000000a000
> [    0.000000] RBP: ffff81003f9c3d90 R08: 80000000da0001e3 R09: 0000000000000001
> [    0.000000] R10: 0000000000000001 R11: 00000000ffffffff R12: ffff81000000a680
> [    0.000000] R13: 0000000000000001 R14: 8000000000000163 R15: ffff8100da103000
> [    0.000000] FS:  0000000000000000(0000) GS:ffff81003f8014b0(0000) knlGS:0000000000000000
> [    0.000000] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> [    0.000000] CR2: 0000000000000000 CR3: 0000000000201000 CR4: 00000000000006e0
> [    0.000000] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [    0.000000] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> [    0.000000] Process swapper (pid: 1, threadinfo ffff81003f9c2000, task ffff81003f9c0000)
> [    0.000000] Stack:  ffff8100da102000 8000000000000163 8000000000000163 0000000000000000
> [    0.000000]  ffffffff809320e0 ffff8100da102000 ffff81003f9c3d70 00000000000da103
> [    0.000000]  ffff8100da103000 0000000000000001 8000000000000163 0000000000000000
> [    0.000000] Call Trace:
> [    0.000000]  [<ffffffff80222bb6>] change_page_attr_addr+0xa6/0x150
> [    0.000000]  [<ffffffff8022243b>] ioremap_change_attr+0x5b/0x70
> [    0.000000]  [<ffffffff8022265f>] iounmap+0xbf/0xe0
> [    0.000000]  [<ffffffff80565e23>] quirk_usb_early_handoff+0x313/0x410
> [    0.000000]  [<ffffffff8044a109>] kobject_put+0x19/0x20
> [    0.000000]  [<ffffffff804a45d5>] put_device+0x15/0x20
> [    0.000000]  [<ffffffff804611bd>] pci_fixup_device+0x8d/0xe0
> [    0.000000]  [<ffffffff8045f53d>] pci_init+0x1d/0x40
> [    0.000000]  [<ffffffff80a04794>] kernel_init+0x164/0x350
> [    0.000000]  [<ffffffff8025cd9f>] trace_hardirqs_on+0xbf/0x160
> [    0.000000]  [<ffffffff806fc824>] trace_hardirqs_on_thunk+0x35/0x3a
> [    0.000000]  [<ffffffff8025cd9f>] trace_hardirqs_on+0xbf/0x160
> [    0.000000]  [<ffffffff8020cba8>] child_rip+0xa/0x12
> [    0.000000]  [<ffffffff8020c2bf>] restore_args+0x0/0x30
> [    0.000000]  [<ffffffff80a04630>] kernel_init+0x0/0x350
> [    0.000000]  [<ffffffff8020cb9e>] child_rip+0x0/0x12
> [    0.000000] 
> [    0.000000] 
> [    0.000000] Code: 0f 0b eb fe 0f 0b eb fe 0f 0b eb fe 0f 0b eb fe 48 b8 7f 0f 
> [    0.000000] RIP  [<ffffffff802229b9>] __change_page_attr+0x189/0x2e0
> [    0.000000]  RSP <ffff81003f9c3d30>
> [    0.000000] Kernel panic - not syncing: Attempted to kill init!
>
> secondly, as i tried to bisect it, it would build and boot at this 
> patch:
>
>   Subject: x86: clean up asm-x86/page*.h
>
> but wouldnt build at this patch:
>
>   Subject: x86: unify pgtable*.h
>
> nor at this patch:
>
>   Subject: x86: fix up formatting in pgtable*.h
>
> it finally built at:
>
>   Subject: x86: use a uniform structure for pte_t
>
> but crashed. So the bug is in one of those 3 patches. Please make them 
> bisect-friendly.
>   

Hm, I tried to.

> full bootlog and config attached. (The crash happens reliably here - if 
> you cannot reproduce it then i can try any fix from you. I've removed 
> the 5 patches of yours for now from x86.git.)
>   

OK.  Will beat on this some more.  Unfortunately I can only test 64-bit
stuff under kvm, and I'm a little bit skeptical of how solid it is,
since i get sporadic random oopses even with base x86.git.  But a nice
simple repeatable BUG_ON should be easy to fix regardless.

    J

  reply	other threads:[~2007-12-20 21:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-19 22:35 [PATCH 0/5] x86: another attempt at x86 pagetable unification Jeremy Fitzhardinge
2007-12-19 22:35 ` [PATCH 1/5] x86: clean up asm-x86/page*.h Jeremy Fitzhardinge
2007-12-19 22:35 ` [PATCH 2/5] x86: unify pgtable*.h Jeremy Fitzhardinge
2007-12-20 12:19   ` Eduardo Habkost
2007-12-20 21:02     ` Jeremy Fitzhardinge
2007-12-19 22:35 ` [PATCH 3/5] x86: fix up formatting in pgtable*.h Jeremy Fitzhardinge
2007-12-19 22:35 ` [PATCH 4/5] x86: use a uniform structure for pte_t Jeremy Fitzhardinge
2007-12-19 22:35 ` [PATCH 5/5] x86: clean up pagetable-related printk format warnings Jeremy Fitzhardinge
2007-12-20  9:13 ` [PATCH 0/5] x86: another attempt at x86 pagetable unification Ingo Molnar
2007-12-20  9:49 ` Ingo Molnar
2007-12-20 11:20   ` Ingo Molnar
2007-12-20 21:08     ` Jeremy Fitzhardinge [this message]
2007-12-20 21:39       ` Ingo Molnar
2007-12-20 22:08         ` Jeremy Fitzhardinge
2007-12-20 22:24           ` Ingo Molnar
2007-12-21  0:52             ` Jeremy Fitzhardinge
2007-12-21  0:58               ` Ingo Molnar
2007-12-21  1:03                 ` Glauber de Oliveira Costa
2007-12-20 21:03   ` Jeremy Fitzhardinge

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=476AD9EA.7010108@goop.org \
    --to=jeremy@goop.org \
    --cc=ak@suse.de \
    --cc=glommer@gmail.com \
    --cc=jbeulich@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox