Re: [PATCH 1/2] lockdep: move early boot local IRQ enable/disablestatus to init/main.c

From: Pekka Enberg
Date: Thu Jan 20 2011 - 06:30:39 EST


> On Thu, Jan 20, 2011 at 12:23:51PM +0100, Peter Zijlstra wrote:
>> On Thu, 2011-01-20 at 12:11 +0100, Tejun Heo wrote:
>> > Hello, guys.
>> >
>> > These two patches remove both warnings.  The first warning was
>> > completely spurious.  The second lockdep one was triggered by
>> > on_each_cpu() enabling local IRQ too early.
>> >
>> > I don't think percpu allocator itself malfunctioned.  There was no
>> > allocation failure.  It whines when percpu allocation fails but didn't
>> > in the log.  Other than calling vfree() early triggering the above
>> > condition, it worked okay.
>> >
>> > So, it's either the early enabling of local IRQ by on_each_cpu()
>> > breaking something in the IRQ subsystem or something different.  Ingo,
>> > can you please see whether these two patches cure the panic too?
>>
>> Why not use something like: system_state != SYSTEM_RUNNING ?

On Thu, Jan 20, 2011 at 1:26 PM, Tejun Heo <tj@xxxxxxxxxx> wrote:
> Cuz, it's finer grained than that.  We can add a SYSTEM_* flag but I
> wasn't sure whether that would be just creating more noise.  If we try
> to consolidate these things, we probably should consider
> oops_in_progress too.  It probably is a good idea but let's first fix
> the problem at hand.

Yup, SYSTEM_RUNNING happens much later in the boot sequence so we
don't want to use it here. We had a long discussion about system_state
when we introduced gfp_allowed_mask and IIRC people wanted to avoid
more system_state flags and preferred more explicit ones like
early_boot_irqs_disabled.

We can do more cleanups later but for the problem at hand:

Acked-by: Pekka Enberg <penberg@xxxxxxxxxx>

for both patches.

Pekka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/