From: David Miller <davem@davemloft.net>
To: mpatocka@redhat.com
Cc: sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: console handover badness
Date: Tue, 12 Aug 2008 18:22:35 -0700 (PDT) [thread overview]
Message-ID: <20080812.182235.153778437.davem@davemloft.net> (raw)
In-Reply-To: <Pine.LNX.4.64.0808122053280.31704@hs20-bc2-1.build.redhat.com>
From: Mikulas Patocka <mpatocka@redhat.com>
Date: Tue, 12 Aug 2008 21:11:53 -0400 (EDT)
>
>
> On Mon, 11 Aug 2008, David Miller wrote:
>
> > From: Mikulas Patocka <mpatocka@redhat.com>
> > Date: Sat, 21 Jun 2008 15:42:56 -0400 (EDT)
> >
> > > On Fri, 20 Jun 2008, David Miller wrote:
> > >
> > > > giving a try.
> > > >
> > > > sparc64: Implement support for IRQ stacks.
> > >
> > > For me it doesn't work. Locked up after "console: colour dummy device
> > > 80x25".
> >
> > Are you sure you didn't see a "Stack overflow" message on the
> > screen? :-)
> >
> > That's what I get when I try to boot with your provided
> > kernel config.
>
> I think no, it just locked-up solid. There is a problem with console
> handover. See this dmesg that I get on boot.
>
> Notice the lines:
> (1) console handover: boot [earlyprom0] -> real [tty0]
> and
> (2) Console: switching to colour frame buffer device 128x48
>
> At line (1), the kernel disables the PROM console. At line (2) it enables
> framebuffer. Between these lines, the kernel runs with no console at all.
> Everything that is printk'ed between these lines doesn't go to the screen.
Yes, I know, this is such an incredible pain and it bothers
me a lot as it makes diagnosing bugs that trigger in between
these two points very difficult to diagnose.
The VT layer should not register it's console until an upper level
provider (such as an fbdev driver or the plain VGA console) really has
their driver attached.
> I hit already three crashes that happened between these lines and didn't
> generate any output: this one with interrupt stacks that you have just
> fixed,
The interrupt stacks one would show up on the console, because it
uses prom_printf() to use the firmware console directly.
Actually, I bet it got printed, but you didn't see it, because
the framebuffer driver changed the console palette, resulting in
the pixels the PROM console writes being black on the black
background :-/
> CONFIG_LOCKDEP+CONFIG_DEBUG_PAGEALLOC crash that I will send you
> patch for, and then boot failure of 2.6.27-rc[12] because of bad memory
> migratetype. Is this migratetype crash a known problem? --- the problem is
> that starting with 2.6.27rc1, I'm getting crash with this backtrace:
> __list_add
> __free_pages_ok
> __free_pages
> __free_pages_bootmem
> __free_all_bootmem
> mem_init
> start_kernel_tlb_fixup_code
> --- the crash is due to migratetype == 5 in __free_one_page (inlined into
> __free_pages_ok) and because there are only 5 migratettypes, it attempts
> to add to a non-existent list.
We have another report of this, thanks for grabbing the extra
information.
> The trace can be obtained if I disable console handover in kernel/printk.
> But it should really be somehow rewritten so that the kernel can write
> crashes during boot on console without extra patching --- the PROM console
> is disabled just before the framebuffer is registered and not too early.
Another way to capture this is to remove the CON_BOOT thing from
the prom console struct in arch/sparc64/kernel/setup.c
I am probably going to make the old "-p" boot command line option do
this dynamically.
next prev parent reply other threads:[~2008-08-13 1:22 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-18 0:47 stack overflow on Sparc64 Mikulas Patocka
2008-06-18 4:01 ` David Miller
2008-06-19 3:24 ` Mikulas Patocka
2008-06-19 3:59 ` David Miller
2008-06-19 5:17 ` Mikulas Patocka
2008-06-19 6:37 ` David Miller
2008-06-19 13:01 ` Mikulas Patocka
2008-06-20 15:47 ` Mikulas Patocka
2008-06-20 17:26 ` David Miller
2008-06-20 20:34 ` Mikulas Patocka
2008-06-20 20:37 ` David Miller
2008-06-20 21:26 ` Mikulas Patocka
2008-06-20 21:41 ` David Miller
2008-06-21 4:51 ` David Miller
2008-06-21 19:42 ` Mikulas Patocka
2008-06-22 7:03 ` David Miller
2008-06-22 13:48 ` Mikulas Patocka
2008-08-12 6:30 ` David Miller
2008-08-12 8:22 ` David Miller
2008-08-13 0:53 ` Mikulas Patocka
2008-08-13 0:59 ` David Miller
2008-08-13 1:11 ` console handover badness [was: stack overflow on Sparc64] Mikulas Patocka
2008-08-13 1:22 ` David Miller [this message]
2008-08-13 1:40 ` console handover badness David Miller
2008-08-13 8:50 ` David Miller
2008-08-13 12:46 ` Mikulas Patocka
2008-08-14 3:25 ` David Miller
2008-08-14 23:11 ` Bootmem allocator broken [was: console handover badness] Mikulas Patocka
2008-08-14 23:25 ` Bootmem allocator broken David Miller
2008-08-15 11:09 ` Alexander Beregalov
2008-08-15 21:13 ` David Miller
2008-08-14 23:40 ` Johannes Weiner
2008-06-20 21:14 ` stack overflow on Sparc64 Mikulas Patocka
2008-06-20 21:20 ` David Miller
2008-06-20 21:25 ` Mikulas Patocka
2008-06-20 21:44 ` David Miller
2008-06-20 21:47 ` David Miller
2008-06-20 22:22 ` Mikulas Patocka
2008-06-20 22:28 ` David Miller
2008-06-20 22:36 ` Mikulas Patocka
2008-06-20 22:47 ` David Miller
2008-06-21 0:37 ` Mikulas Patocka
2008-06-20 22:33 ` Mikulas Patocka
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=20080812.182235.153778437.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=sparclinux@vger.kernel.org \
/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
Powered by JetHome