All of lore.kernel.org
 help / color / mirror / Atom feed
From: K Prateek Nayak <kprateek.nayak@amd.com>
To: Dave Hansen <dave.hansen@intel.com>, linux-kernel@vger.kernel.org
Cc: rafael@kernel.org, lenb@kernel.org, linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org, dave.hansen@linux.intel.com,
	bp@alien8.de, tglx@linutronix.de, andi@lisas.de, puwen@hygon.cn,
	mario.limonciello@amd.com, peterz@infradead.org,
	rui.zhang@intel.com, gpiccoli@igalia.com,
	daniel.lezcano@linaro.org, ananth.narayan@amd.com,
	gautham.shenoy@amd.com, Calvin Ong <calvin.ong@amd.com>,
	stable@vger.kernel.org, regressions@lists.linux.dev
Subject: Re: [PATCH] ACPI: processor_idle: Skip dummy wait for processors based on the Zen microarchitecture
Date: Thu, 22 Sep 2022 11:14:45 +0530	[thread overview]
Message-ID: <69a3f699-257a-1579-3ae6-236dd19b5381@amd.com> (raw)
In-Reply-To: <2b6143b6-9db4-05bc-1e8d-c5d129126f99@intel.com>

Hello Dave,

On 9/21/2022 7:45 PM, Dave Hansen wrote:
> On 9/20/22 23:36, K Prateek Nayak wrote:
>> +	/*
>> +	 * No delay is needed if we are in guest or on a processor
>> +	 * based on the Zen microarchitecture.
>> +	 */
>> +	if (boot_cpu_has(X86_FEATURE_HYPERVISOR) || boot_cpu_has(X86_FEATURE_ZEN))
>>  		return;
> 
> In the end, the delay is because of buggy, circa 2006 chipsets?  So, we
> use a CPU vendor specific check to approximate that the chipset is
> recent and not affected by the bug?  If so, is there no better way to
> check for a newer chipset than this?

Elsewhere in the thread, people have noted that the faulty chipsets seem to
go all the way back to pre-2002. Andreas's comment was added in 2006 but we
have no way of knowing if it is limited only to chipsets prior to 2006. If
anyone can confirm a clean cut-off point when this was no longer required,
perhaps we can limit this dummy wait to the older chipsets by annotating
them with a X86_BUG_STPCLK quirk.

> 
> Do X86_FEATURE_ZEN CPUs just have unusually painful
> inl(acpi_fadt.xpm_tmr_blk.address) implementations?

Yes. The issue becomes more pronounced with increased core counts when many
cores exit from C2 simultaneously. The core density is especially high on
X86_FEATURE_ZEN chipsets, none of which require a dummy wait op to ensure
correct behavior. Hence, we used the feature check to skip it.

> Is that why we
> noticed all of a sudden?
> 

We saw run-to-run variance in tbench with 128 clients as a part of our
scheduler regression runs. Originally we attributed it to the tbench
threads not being spread around uniformly, but the problem persisted even
when we ensured that the initial task placement spreads them out. Further
analysis showed that significant time was spent in exit from C2 in the
bad runs.

--
Thanks and Regards,
Prateek

  parent reply	other threads:[~2022-09-22  5:45 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 [this message]
     [not found]   ` <20220923160106.9297-1-ermorton@ericmoronsm1mbp.amd.com>
2022-09-23 16:15     ` Ananth Narayan
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=69a3f699-257a-1579-3ae6-236dd19b5381@amd.com \
    --to=kprateek.nayak@amd.com \
    --cc=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=gautham.shenoy@amd.com \
    --cc=gpiccoli@igalia.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.