public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Adrian Bunk <bunk@stusta.de>
Cc: Ray Lee <ray-lk@madrabbit.org>,
	LKML <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>,
	john stultz <johnstul@us.ibm.com>,
	Len Brown <len.brown@intel.com>, Andi Kleen <ak@suse.de>,
	linux-acpi@vger.kernel.org
Subject: Re: 2.6.21-rc[123] regression with NOAPIC
Date: Thu, 22 Mar 2007 16:16:41 +0100	[thread overview]
Message-ID: <1174576601.10840.189.camel@localhost.localdomain> (raw)
In-Reply-To: <20070322141630.GA752@stusta.de>

On Thu, 2007-03-22 at 15:16 +0100, Adrian Bunk wrote:
> > > Does it work if you do _not_ revert the commits, and instead replace in
> > > drivers/acpi/processor_idle.c the
> > >   #ifdef ARCH_APICTIMER_STOPS_ON_C3
> > > with an
> > >   #if 0
> > > ?
> > 
> > Then NOAPIC probably works again, but booting w/o NOAPIC fails.
> 
> But we'll know that it's this code that has a problen with noapic
> in the CONFIG_GENERIC_CLOCKEVENTS=n case.

Nope. This code does not have a problem. It causes a problem elsewhere:

It calls switch_ipi_to_APIC_timer() or switch_APIC_timer_to_ipi(), which
sets/clears a bit in the broadcast mask and enables / disables the local
APIC timer.

I don't see right now, why this causes the box to lock up hard, but
maybe the debug printk's below give us some hint.

	tglx

diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c
index 723417d..29376e2 100644
--- a/arch/x86_64/kernel/apic.c
+++ b/arch/x86_64/kernel/apic.c
@@ -886,6 +886,8 @@ void disable_APIC_timer(void)
 	if (using_apic_timer) {
 		unsigned long v;
 
+		printk("Disabling local APIC timer %d\n", apic_runs_main_timer);
+
 		v = apic_read(APIC_LVTT);
 		/*
 		 * When an illegal vector value (0-15) is written to an LVT
@@ -910,6 +912,7 @@ void enable_APIC_timer(void)
 	    !cpu_isset(cpu, timer_interrupt_broadcast_ipi_mask)) {
 		unsigned long v;
 
+		printk("Enabling local APIC timer: %d\n", apic_runs_main_timer);
 		v = apic_read(APIC_LVTT);
 		apic_write(APIC_LVTT, v & ~APIC_LVT_MASKED);
 	}
@@ -934,6 +937,7 @@ void smp_send_timer_broadcast_ipi(void)
 
 	cpus_and(mask, cpu_online_map, timer_interrupt_broadcast_ipi_mask);
 	if (!cpus_empty(mask)) {
+		printk("Send IPI\n");
 		send_IPI_mask(mask, LOCAL_TIMER_VECTOR);
 	}
 }

  reply	other threads:[~2007-03-22 15:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4601573A.8070602@madrabbit.org>
2007-03-22 13:42 ` 2.6.21-rc[123] regression with NOAPIC Adrian Bunk
2007-03-22 14:10   ` Thomas Gleixner
2007-03-22 14:16     ` Adrian Bunk
2007-03-22 15:16       ` Thomas Gleixner [this message]
2007-03-23  5:35         ` Ray Lee

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=1174576601.10840.189.camel@localhost.localdomain \
    --to=tglx@linutronix.de \
    --cc=ak@suse.de \
    --cc=bunk@stusta.de \
    --cc=johnstul@us.ibm.com \
    --cc=len.brown@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=ray-lk@madrabbit.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