From: Ingo Molnar <mingo@elte.hu>
To: Andi Kleen <ak@suse.de>
Cc: Laurent Riffard <laurent.riffard@free.fr>,
Arjan van de Ven <arjan@infradead.org>,
Andrew Morton <akpm@osdl.org>,
Kernel development list <linux-kernel@vger.kernel.org>,
Jeremy Fitzhardinge <jeremy@xensource.com>
Subject: Re: 2.6.18-rc6-mm1: GPF loop on early boot
Date: Sun, 10 Sep 2006 16:02:14 +0200 [thread overview]
Message-ID: <20060910140214.GA1578@elte.hu> (raw)
In-Reply-To: <200609101555.52211.ak@suse.de>
* Andi Kleen <ak@suse.de> wrote:
> > ugh, "having a working current" is "so much infrastructure" ??
>
> Together with stacktrace the infrastructure needed is quite
> considerable.
Having the ability to produce a backtrace _anywhere within the kernel_
is a pretty fundamental thing too. So IMO the problems with stacktrace
were the stack dumping code's weaknesses, independent of lockdep, and
they would have triggered in one way or another as well. Not that i
think that doing a dwarf unwinder is simple - and you certainly did a
great job with it. Now with stacktrace we do have a pretty powerful
infrastructure to do transparent execution tracing: for example the
page-tracing code could be changed to use stacktrace.
> > the i686 PDA patches introduce tons of early_current() uses. While i
> > like the new PDA code, its bootstrap (like x86_64's PDA bootstrap) is
> > too fragile in my opinion, and it will regularly hit instrumenting
> > patches.
>
> Or the instrumentation patches just always need to check some global
> variable. Maybe system_state could be extended or something.
maybe, but i find that unrobust too. Example: i debugged many
early-bootup hangs via the use of an early_printk() based function
execution tracer (a feature of the latency tracing patchset) - the lack
of working 'current' would hit that code too.
Yes, it can all be worked around, but the fundamental weakness IMO is
that we dont have a working 'current' in all situations.
> > should be moved into 32-bit early boot userspace code (like
> > compressed/misc.c) and it will thus not depend on any kernel
> > infrastructure.
>
> Ok I guess it would make sense to add a i386_start_kernel to i386 and
> initialize the boot PDA there. I would also move early_cpu_init into
> there because that also avoids quite some mess later.
yes. And move all of this _outside_ the normal kernel build process, so
that whatever ad-hoc or less ad-hoc instrumentation is added (be that
PROFILE_UNLIKELY, function tracing, 'get_current' based hacks, irqtrace,
lockdep or whatever) it wont be included in that code. That gets rid of
most of the dependency and bootstrap problems. It's hard enough already
to debug early boot code.
Ingo
next prev parent reply other threads:[~2006-09-10 14:09 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-08 8:13 2.6.18-rc6-mm1 Andrew Morton
2006-09-08 11:49 ` 2.6.18-rc6-mm1 Andy Whitcroft
2006-09-08 12:07 ` 2.6.18-rc6-mm1 Frederik Deweerdt
2006-09-08 12:16 ` [patch -mm] s390: fix save_stack_trace Heiko Carstens
2006-09-09 13:36 ` Andi Kleen
2006-09-08 12:23 ` 2.6.18-rc6-mm1 - x86_64-mm-lockdep-dont-force-framepointer.patch Heiko Carstens
2006-09-09 13:39 ` Andi Kleen
2006-09-11 8:45 ` Martin Schwidefsky
2006-09-08 14:26 ` 2.6.18-rc6-mm1 Rafael J. Wysocki
2006-09-08 20:44 ` [linux-usb-devel] 2.6.18-rc6-mm1 Alan Stern
2006-09-08 22:57 ` Rafael J. Wysocki
2006-09-11 22:08 ` Rafael J. Wysocki
2006-09-12 14:28 ` Alan Stern
2006-09-12 17:22 ` Mattia Dongili
2006-09-12 18:04 ` Mattia Dongili
2006-09-12 20:10 ` Alan Stern
2006-09-13 17:00 ` Rafael J. Wysocki
2006-09-13 12:07 ` [linux-usb-devel] 2.6.18-rc6-mm1 (-mm2): ohci resume problem Rafael J. Wysocki
2006-09-13 12:42 ` Rafael J. Wysocki
2006-09-13 18:38 ` Alan Stern
2006-09-13 20:00 ` Rafael J. Wysocki
2006-09-13 21:01 ` Alan Stern
2006-09-13 21:32 ` Rafael J. Wysocki
2006-09-13 21:55 ` Alan Stern
2006-09-14 13:14 ` Rafael J. Wysocki
2006-09-14 14:08 ` Rafael J. Wysocki
2006-09-14 15:04 ` Alan Stern
2006-09-14 16:17 ` Alan Stern
2006-09-14 17:08 ` Rafael J. Wysocki
2006-09-14 17:13 ` Rafael J. Wysocki
2006-09-14 17:24 ` Alan Stern
2006-09-14 17:22 ` Alan Stern
2006-09-14 17:35 ` Rafael J. Wysocki
2006-09-14 18:28 ` Alan Stern
[not found] ` <200609142137.52066.rjw@sisk.pl>
2006-09-14 20:21 ` Rafael J. Wysocki
2006-09-14 20:55 ` Alan Stern
2006-09-14 21:47 ` Rafael J. Wysocki
2006-09-14 22:19 ` Alan Stern
2006-09-14 16:48 ` Rafael J. Wysocki
2006-09-13 20:38 ` Mattia Dongili
2006-09-13 20:54 ` Alan Stern
2006-09-14 20:19 ` Mattia Dongili
2006-09-14 20:25 ` Alan Stern
2006-09-14 20:35 ` Mattia Dongili
2006-09-16 11:58 ` Mattia Dongili
2006-09-16 14:31 ` Alan Stern
2006-09-08 17:43 ` 2.6.18-rc6-mm1 Stefan Richter
2006-09-08 18:04 ` 2.6.18-rc6-mm1 Andrew Morton
2006-09-08 18:36 ` 2.6.18-rc6-mm1 Stefan Richter
2006-09-08 19:23 ` 2.6.18-rc6-mm1 Michal Piotrowski
2006-09-08 19:43 ` 2.6.18-rc6-mm1 Andrew Morton
2006-09-08 20:01 ` 2.6.18-rc6-mm1 Michal Piotrowski
2006-09-08 19:30 ` 2.6.18-rc6-mm1 thunder7
2006-09-08 19:44 ` 2.6.18-rc6-mm1 Andrew Morton
2006-09-09 9:04 ` 2.6.18-rc6-mm1 thunder7
2006-09-09 15:31 ` 2.6.18-rc6-mm1 Andrew Morton
2006-09-09 22:02 ` 2.6.18-rc6-mm1 Jean Delvare
2006-09-10 6:30 ` 2.6.18-rc6-mm1 thunder7
2006-09-09 8:35 ` lockdep warning in check_flags() Frederik Deweerdt
2006-09-11 5:43 ` Ingo Molnar
2006-09-12 14:13 ` Frederik Deweerdt
2006-09-12 16:54 ` Ingo Molnar
2006-09-12 20:21 ` Frederik Deweerdt
[not found] ` <4503DC64.9070007@free.fr>
2006-09-10 8:32 ` 2.6.18-rc6-mm1: GPF loop on early boot Andi Kleen
2006-09-10 10:29 ` Arjan van de Ven
2006-09-10 11:57 ` Ingo Molnar
2006-09-10 11:34 ` Andi Kleen
2006-09-10 13:26 ` Ingo Molnar
2006-09-10 13:55 ` Andi Kleen
2006-09-10 14:02 ` Ingo Molnar [this message]
2006-09-10 16:33 ` Andrew Morton
2006-09-10 23:03 ` Jeremy Fitzhardinge
2006-09-11 5:10 ` Ingo Molnar
2006-09-11 7:31 ` Jeremy Fitzhardinge
2006-09-11 7:29 ` Ingo Molnar
2006-09-11 7:41 ` Jeremy Fitzhardinge
2006-09-11 7:36 ` Ingo Molnar
2006-09-11 7:59 ` Jeremy Fitzhardinge
2006-09-11 8:01 ` Ingo Molnar
2006-09-11 8:13 ` Jeremy Fitzhardinge
2006-09-11 7:38 ` Ingo Molnar
2006-09-11 7:56 ` Jeremy Fitzhardinge
2006-09-11 7:55 ` Ingo Molnar
2006-09-11 5:21 ` Laurent Riffard
2006-09-11 5:18 ` Ingo Molnar
2006-09-11 5:25 ` [patch] i386-PDA, lockdep: fix %gs restore Ingo Molnar
2006-09-11 5:41 ` Andi Kleen
2006-09-11 5:48 ` Ingo Molnar
2006-09-11 5:46 ` Ingo Molnar
2006-09-11 16:35 ` Laurent Riffard
2006-09-11 7:42 ` Jeremy Fitzhardinge
2006-09-11 19:33 ` Jeremy Fitzhardinge
2006-09-11 21:25 ` Jeremy Fitzhardinge
2006-09-11 20:20 ` Andi Kleen
2006-09-11 21:37 ` Jeremy Fitzhardinge
2006-09-11 20:48 ` Andi Kleen
2006-09-10 12:36 ` 2.6.18-rc6-mm1: GPF loop on early boot Laurent Riffard
2006-09-10 13:07 ` Ingo Molnar
2006-09-10 13:11 ` Ingo Molnar
2006-09-11 21:19 ` 2.6.18-rc6-mm1 Mark Haverkamp
2006-09-11 22:16 ` 2.6.18-rc6-mm1 Andrew Morton
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=20060910140214.GA1578@elte.hu \
--to=mingo@elte.hu \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=arjan@infradead.org \
--cc=jeremy@xensource.com \
--cc=laurent.riffard@free.fr \
--cc=linux-kernel@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