[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4C644E14.60804@gmail.com>
Date: Thu, 12 Aug 2010 12:40:04 -0700
From: walt <w41ter@...il.com>
To: Frederic Weisbecker <fweisbec@...il.com>
CC: Robert Moore <robert.moore@...el.com>,
Len Brown <len.brown@...el.com>, Arnd Bergmann <arnd@...db.de>,
Steven Rostedt <rostedt@...dmis.yahoo.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [BISECTED] Removing BKL causes stack trace during early bootup
On 08/12/2010 11:26 AM, Frederic Weisbecker wrote:
> (Adding ACPI guys and LKML in Cc)
>
> On Thu, Aug 12, 2010 at 11:09:03AM -0700, walt wrote:
>> Hi guys. This commit produces a non-fatal call trace very early during boot
>> on my dual-CPU amd64 machine (but not on my single-CPU x86):
>>
>> commit 5e3d20a68f63fc5a310687d81956c3b96e488b84
>> Author: Arnd Bergmann<arnd@...x.de>
>> Date: Sun Jul 4 00:02:26 2010 +0200
>>
>> init: Remove the BKL from startup code
>>
>
> Hi,
>
> Thanks for bisecting this.
> This is due to ACPI that does buggy checks and then sleeps too early.
>
> I'm attaching it here.
> diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h
> index e5039a2..8da1e8c 100644
> --- a/include/acpi/platform/aclinux.h
> +++ b/include/acpi/platform/aclinux.h
> @@ -152,7 +152,7 @@ static inline void *acpi_os_acquire_object(acpi_cache_t * cache)
> #include<linux/hardirq.h>
> #define ACPI_PREEMPTION_POINT() \
> do { \
> - if (!in_atomic_preempt_off()&& !irqs_disabled()) \
> + if (!in_atomic()&& !irqs_disabled()) \
> cond_resched(); \
> } while (0)
>
Your patch eliminates my stack trace, thanks. Must be the same trace.
Nick, thanks for your excellent hints. The stack trace was obviously
scrolling off the top, as you suggested. Next time I'll notice it :)
--
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