mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Eduard-Gabriel Munteanu <eduard.munteanu@linux360.ro>
Cc: Andi Kleen <andi@firstfloor.org>,
	LKML <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH] Option to disable AMD C1E (allows dynticks to work)
Date: Fri, 14 Dec 2007 19:07:30 +0100 (CET)	[thread overview]
Message-ID: <alpine.LFD.0.99999.0712141835510.3668@localhost.localdomain> (raw)
In-Reply-To: <20071214180119.4c492f6c@linux360.ro>

On Fri, 14 Dec 2007, Eduard-Gabriel Munteanu wrote:

> LAPIC is seemingly disabled (C1E detection code does this), but
> clockevents still tries to use it, instead of relying on HPET.

It relies on HPET. The LAPIC is just used as a mechanism which allows
us to broadcast the tick to both cores.

> I'll look into this, but please give me a heads up if you know more
> about what's happening. Looks like fixing this is better than using
> LAPIC for dynticks (and disabling C1E) on such systems.

Yes, it's definitely worth fixing, but it's not trivial:

For Highres/dyntick we need per CPU clock event devices to avoid
serialization and broadcasting overhead in the normal operation mode.

The LAPIC timer is per CPU, fast and the best thing we have, except
for C1E enabled AMD systems.

The perfect solution for those systems would be to use the HPET
channels seperately as per CPU clock event devices. Venki tried this
some time ago, but it's hard to resolve simply because none of the
BIOSes gives us an idea to which interrupts we can route the HPET
channel interrupts. The only choice we have is to use the legacy
interrupts, which gives us the headache of emulating the RTC via the
HPET and some other stupid legacy issues.

We can not utilize the broadcast mechanism of the cpuidle code because
we do not have an idea that we are going into C1E as it is done
magically in the SMM code. To work around this is we would need to add
the broadcast notification to the halt(), safe_halt(), pm_idle_halt()
variants which float around in the kernel and make this conditional on
the C1E detection. That's nasty, but it seems the only solution for
now.

Thanks,

	tglx




  reply	other threads:[~2007-12-14 18:08 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-13 22:44 Eduard-Gabriel Munteanu
2007-12-13 22:33 ` Andi Kleen
2007-12-14 12:39   ` Eduard-Gabriel Munteanu
2007-12-14 10:17     ` Andi Kleen
2007-12-14 13:41       ` Eduard-Gabriel Munteanu
2007-12-14 12:20         ` Andi Kleen
2007-12-14 16:01           ` Eduard-Gabriel Munteanu
2007-12-14 18:07             ` Thomas Gleixner [this message]
2007-12-14 18:12               ` Andi Kleen
2007-12-14 19:57                 ` Thomas Gleixner
2007-12-14 20:06                   ` Andi Kleen
2007-12-14 19:58                 ` Eduard-Gabriel Munteanu
2007-12-14 18:10             ` Andi Kleen
2007-12-14 19:53               ` Thomas Gleixner
2007-12-14 22:35       ` Chuck Ebbert
2007-12-15  0:10         ` Eduard-Gabriel Munteanu
2007-12-15 12:41         ` Andi Kleen
2007-12-13 22:47 Eduard-Gabriel Munteanu
2007-12-13 22:58 ` Johannes Weiner
2007-12-14 12:48   ` Eduard-Gabriel Munteanu
2007-12-18 15:43 ` Pavel Machek
2007-12-18 17:11   ` Eduard-Gabriel Munteanu
2007-12-14  0:14 Mikhail Kshevetskiy
     [not found] <47754735.1050009@richardharman.com>
2007-12-29  7:52 ` Eduard-Gabriel Munteanu
2007-12-29  9:09   ` Richard Harman
2007-12-29 11:19     ` Eduard-Gabriel Munteanu
2007-12-29 11:46     ` Islam Amer
2007-12-30 20:45     ` Rene Herman
2007-12-29 14:43 David P. Reed
2007-12-29 22:28 ` Islam Amer
2007-12-30  0:35   ` Islam Amer
2007-12-30 12:57     ` Ingo Molnar
2007-12-30  1:38   ` Rene Herman
2007-12-30  1:49     ` Islam Amer
2007-12-30  3:24       ` Rene Herman
2007-12-30 10:17       ` Eduard-Gabriel Munteanu
2007-12-30 14:42         ` Andi Kleen
2007-12-30 21:12           ` Eduard-Gabriel Munteanu
2007-12-31  2:34             ` Andi Kleen
2007-12-30 20:57         ` Richard Harman
2007-12-30 21:18           ` Eduard-Gabriel Munteanu
2007-12-30 13:36             ` Richard Harman
2007-12-30 23:32               ` Eduard-Gabriel Munteanu
2007-12-31  0:30               ` David P. Reed

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=alpine.LFD.0.99999.0712141835510.3668@localhost.localdomain \
    --to=tglx@linutronix.de \
    --cc=andi@firstfloor.org \
    --cc=eduard.munteanu@linux360.ro \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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

all inboxes | Powered by JetHome®