Re: [BISECTED] Removing BKL causes stack trace during early bootup

From: walt
Date: Thu Aug 12 2010 - 15:40:24 EST


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@xxxxxxx>
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/