All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ananth Narayan <ananth.narayan@amd.com>
To: dave.hansen@intel.com, eric.morton@amd.com
Cc: andi@lisas.de, bp@alien8.de, calvin.ong@amd.com,
	daniel.lezcano@linaro.org, dave.hansen@linux.intel.com,
	gautham.shenoy@amd.com, gpiccoli@igalia.com,
	kprateek.nayak@amd.com, lenb@kernel.org,
	linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, mario.limonciello@amd.com,
	peterz@infradead.org, puwen@hygon.cn, rafael@kernel.org,
	regressions@lists.linux.dev, rui.zhang@intel.com,
	stable@vger.kernel.org, tglx@linutronix.de
Subject: Re: [PATCH] ACPI: processor_idle: Skip dummy wait for processors based on the Zen microarchitecture
Date: Fri, 23 Sep 2022 21:45:45 +0530	[thread overview]
Message-ID: <c34717e7-3e6f-9bed-8d7f-9573f6cfbd18@amd.com> (raw)
In-Reply-To: <20220923160106.9297-1-ermorton@ericmoronsm1mbp.amd.com>

Eric,
The MTA mangled your address. So the note is not showing up on the list.
Responding so this hopefully shows up on lkml for the records.

Apologies to everyone else for duplicates.

Regards,
Ananth

On 23-09-2022 09:31 pm, AMD\ermorton wrote:
> On 2022-09-21 14:15, David Hansen wrote:
> 
>>> Do X86_FEATURE_ZEN CPUs just have unusually painful
>>> inl(acpi_fadt.xpm_tmr_blk.address) implementations?
> 
> Hi David,
> 
> I'm glad you asked this.
> 
> Obviously the words "painful" and "slow" are arbitrary. But... since there are many aspects such as the platform, core clock frequency, system clock frequency, etc, that play into this, I will refrain from any precise numbers.
> 
> I would say that x86 platforms (that today have in excess of a hundred processors) generally design the legacy PM_TMR and other serial resources in the Southbridge/FCH with the underlying assumption that (a) the kernel accesses them "rarely" in non-performance sensitive code and, more importantly, (b) that it is unlikely to have multiple processors access them "simultaneously". These resources are a fair distant from the processor, and unlike memory controllers, these resources were not designed to have multiple simultaneous accesses running in parallel.
> 
> So let's assert that, to start off with, the accesses are already "slow" from the processor standpoint because of this distance. It is likely that most x86 implementations could easily take around 500ns-1us round trip. The exact number will vary, but a quick sanity test on current x86 production platforms match that for a "singleton" access.
> 
> That alone is well over 1000 core clocks and seems to be reason enough to avoid doing this INL when it is not necessary.
> 
> But as the PM_TMR is not designed to handle simultaneous accesses, if multiple processors do simultaneously access this resource (or even "close to simultaneous"), the first access might be "slow", the second access might be "slower", and well, the 100th access might be "painful". And there are interrupt cases where this can indeed happen - due to this ancient workaround...
> 
> Note that a quick sanity test that we created when we understood this tbench data suggested to me that Intel platforms are not immune from the impact of this worst-case access pattern either. This is not surprising to me. But we did not do an exhaustive check.
> 
> Sincerely,
> Eric Morton
> AMD Infinity Fabric and SOC Architecture

  parent reply	other threads:[~2022-09-23 16:16 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-21  6:36 [PATCH] ACPI: processor_idle: Skip dummy wait for processors based on the Zen microarchitecture K Prateek Nayak
2022-09-21  8:47 ` Borislav Petkov
2022-09-21 10:39   ` K Prateek Nayak
2022-09-21 13:10     ` Borislav Petkov
2022-09-21 14:15 ` Dave Hansen
2022-09-21 19:51   ` Borislav Petkov
2022-09-21 19:55     ` Limonciello, Mario
2022-09-22  3:58     ` Ananth Narayan
2022-09-22  5:44   ` K Prateek Nayak
     [not found]   ` <20220923160106.9297-1-ermorton@ericmoronsm1mbp.amd.com>
2022-09-23 16:15     ` Ananth Narayan [this message]
2022-09-21 15:00 ` Peter Zijlstra
2022-09-21 19:48   ` Borislav Petkov
2022-09-22  8:17     ` Peter Zijlstra
2022-09-22 15:21       ` Rafael J. Wysocki
2022-09-22 15:36         ` Borislav Petkov
2022-09-22 15:53           ` Rafael J. Wysocki
2022-09-22 16:36             ` Dave Hansen
2022-09-22 16:44 ` Dave Hansen
2022-09-22 16:54   ` K Prateek Nayak
2022-09-22 17:01     ` Dave Hansen
2022-09-22 17:48       ` Limonciello, Mario
2022-09-22 18:17         ` Dave Hansen
2022-09-22 18:28           ` Limonciello, Mario
2022-09-23 11:47             ` Ananth Narayan
2022-09-22 19:42       ` Andreas Mohr
2022-09-22 20:10         ` Andreas Mohr
2022-09-22 21:21           ` Dave Hansen
2022-09-22 21:38             ` Limonciello, Mario
2022-09-23  7:42             ` Peter Zijlstra
2022-09-23  7:57             ` Peter Zijlstra

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=c34717e7-3e6f-9bed-8d7f-9573f6cfbd18@amd.com \
    --to=ananth.narayan@amd.com \
    --cc=andi@lisas.de \
    --cc=bp@alien8.de \
    --cc=calvin.ong@amd.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=dave.hansen@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=eric.morton@amd.com \
    --cc=gautham.shenoy@amd.com \
    --cc=gpiccoli@igalia.com \
    --cc=kprateek.nayak@amd.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=peterz@infradead.org \
    --cc=puwen@hygon.cn \
    --cc=rafael@kernel.org \
    --cc=regressions@lists.linux.dev \
    --cc=rui.zhang@intel.com \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.