From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: "Shreyas B. Prabhu" <shreyas@linux.vnet.ibm.com>,
linux-kernel@vger.kernel.org,
Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v4 3/3] powerpc/powernv: Introduce sysfs control for fastsleep workaround behavior
Date: Tue, 14 Apr 2015 11:29:46 +0530 [thread overview]
Message-ID: <552CACD2.5060600@linux.vnet.ibm.com> (raw)
In-Reply-To: <1428976613-13007-4-git-send-email-shreyas@linux.vnet.ibm.com>
Hi Shreyas,
On 04/14/2015 07:26 AM, Shreyas B. Prabhu wrote:
> Fastsleep is one of the idle state which cpuidle subsystem currently
> uses on power8 machines. In this state L2 cache is brought down to a
> threshold voltage. Therefore when the core is in fastsleep, the
> communication between L2 and L3 needs to be fenced. But there is a bug
> in the current power8 chips surrounding this fencing.
>
> OPAL provides a workaround which precludes the possibility of hitting
> this bug. But running with this workaround applied causes checkstop
> if any correctable error in L2 cache directory is detected. Hence OPAL
> also provides a way to undo the workaround.
>
> In the existing implementation, workaround is applied by the last thread
> of the core entering fastsleep and undone by the first thread waking up.
> But this has a performance cost. These OPAL calls account for roughly
> 4000 cycles everytime the core has to enter or wakeup from fastsleep.
>
> This patch introduces a sysfs attribute (fastsleep_workaround_state)
> to choose the behavior of this workaround.
>
> By default, fastsleep_workaround_state = dynamic. In this case, workaround
> is applied/undone everytime the core enters/exits fastsleep.
>
> fastsleep_workaround_state = applyonce. In this case the workaround is
> applied once on all the cores and never undone. This can be triggered by
> echo applyonce > /sys/devices/system/cpu/fastsleep_workaround_state
I was wondering if we really need such an elaborate design for this
sysfs file. Why not a sysfs file called fastsleep_workaround_apply_once,
which is set to '0' by default and the only value that it can take is
'1' ? The name easily implies that the workaround is applied only once
if it is set. I can see that this can cut down a good chunk of code from
this patch. I just didn't find too much value in having so much code for
a simple 'on' knob.
Regards
Preeti U Murthy
next prev parent reply other threads:[~2015-04-14 5:59 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-14 1:56 [PATCH v4 0/3] powerpc: powernv: Fastsleep workaround behavior Shreyas B. Prabhu
2015-04-14 1:56 ` [PATCH v4 1/3] powerpc: Fix cpu_online_cores_map to return only online threads mask Shreyas B. Prabhu
2015-04-14 1:56 ` [PATCH v4 2/3] powerpc/powernv: Move cpuidle related code from setup.c to new file Shreyas B. Prabhu
2015-04-14 5:07 ` Preeti U Murthy
2015-04-14 1:56 ` [PATCH v4 3/3] powerpc/powernv: Introduce sysfs control for fastsleep workaround behavior Shreyas B. Prabhu
2015-04-14 5:59 ` Preeti U Murthy [this message]
2015-04-14 8:10 ` Shreyas B Prabhu
2015-04-14 8:31 ` Preeti U Murthy
2015-04-14 8:27 ` Preeti U Murthy
2015-04-15 6:05 ` Shreyas B Prabhu
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=552CACD2.5060600@linux.vnet.ibm.com \
--to=preeti@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=shreyas@linux.vnet.ibm.com \
/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;
as well as URLs for NNTP newsgroup(s).