[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20060910093307.a011b16f.akpm@osdl.org>
Date: Sun, 10 Sep 2006 09:33:07 -0700
From: Andrew Morton <akpm@...l.org>
To: Ingo Molnar <mingo@...e.hu>
Cc: Andi Kleen <ak@...e.de>, Laurent Riffard <laurent.riffard@...e.fr>,
Arjan van de Ven <arjan@...radead.org>,
Kernel development list <linux-kernel@...r.kernel.org>,
Jeremy Fitzhardinge <jeremy@...source.com>
Subject: Re: 2.6.18-rc6-mm1: GPF loop on early boot
On Sun, 10 Sep 2006 15:26:14 +0200
Ingo Molnar <mingo@...e.hu> wrote:
> * Andi Kleen <ak@...e.de> wrote:
>
> > > Basically, non-atomic setup of basic architecture state _is_ going to be
> > > a nightmare, lockdep or not, especially if it uses common infrastructure
> > > like 'current', spin_lock() or even something as simple as C functions.
> > > (for example the stack-footprint tracer was once hit by this weakness of
> > > the x86_64 code)
> >
> > I disagree with that. The nightmare is putting stuff that needs so
> > much infrastructure into the most basic operations.
>
> ugh, "having a working current" is "so much infrastructure" ?? Lockdep
> uses a very low amount of infrastructure, considering its complexity: it
> has its own allocator, uses raw spinlocks, raw irq flags ops, it
> basically implements its own infrastructure for everything. Being able
> to access a per-task data area (current) is a quite fundamental thing
> for kernel code.
I must say that having an unreliable early-current is going to be quite a
pita for evermore. Things like mcount-based tricks and
basic-block-profiling-based tricks, for example.
Is it really going to be too messy to fake up some statically-defined gdt
which points at init_task, install that before we call any C at all?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists