From: Greg KH <greg@kroah.com>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org,
tglx@linutronix.de, peterz@infradead.org, npiggin@gmail.com,
anton@samba.org, mikey@neuling.org, oohall@gmail.com,
paulus@samba.org
Subject: Re: [PATCH 09/11] powerpc/64s: Allow control of RFI flush via sysfs
Date: Tue, 9 Jan 2018 09:03:10 +0100 [thread overview]
Message-ID: <20180109080310.GA9100@kroah.com> (raw)
In-Reply-To: <20180108165453.26066-9-mpe@ellerman.id.au>
On Tue, Jan 09, 2018 at 03:54:51AM +1100, Michael Ellerman wrote:
> From: Nicholas Piggin <npiggin@gmail.com>
>
> Expose the state of the RFI flush (enabled/disabled) via sysfs, and
> allow it to be enabled/dissabled at runtime.
>
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> ---
> arch/powerpc/kernel/setup.h | 2 ++
> arch/powerpc/kernel/sysfs.c | 41 +++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 43 insertions(+)
You forgot a Documentation/ABI/ update for a new sysfs file :(
> diff --git a/arch/powerpc/kernel/setup.h b/arch/powerpc/kernel/setup.h
> index 21c18071d9d5..493b03b0a966 100644
> --- a/arch/powerpc/kernel/setup.h
> +++ b/arch/powerpc/kernel/setup.h
> @@ -61,4 +61,6 @@ void kvm_cma_reserve(void);
> static inline void kvm_cma_reserve(void) { };
> #endif
>
> +extern bool rfi_flush;
> +
> #endif /* __ARCH_POWERPC_KERNEL_SETUP_H */
> diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c
> index b8d4a1dac39f..8c19d014cffc 100644
> --- a/arch/powerpc/kernel/sysfs.c
> +++ b/arch/powerpc/kernel/sysfs.c
> @@ -20,6 +20,7 @@
> #include <asm/firmware.h>
>
> #include "cacheinfo.h"
> +#include "setup.h"
>
> #ifdef CONFIG_PPC64
> #include <asm/paca.h>
> @@ -496,6 +497,43 @@ static DEVICE_ATTR(spurr, 0400, show_spurr, NULL);
> static DEVICE_ATTR(purr, 0400, show_purr, store_purr);
> static DEVICE_ATTR(pir, 0400, show_pir, NULL);
>
> +#ifdef CONFIG_PPC_BOOK3S_64
> +static ssize_t show_rfi_flush(struct device *dev,
> + struct device_attribute *attr, char *buf)
> +{
> + return sprintf(buf, "%d\n", rfi_flush ? 1 : 0);
> +}
> +
> +static ssize_t __used store_rfi_flush(struct device *dev,
> + struct device_attribute *attr, const char *buf,
> + size_t count)
> +{
> + int val;
> + int ret = 0;
> +
> + ret = sscanf(buf, "%d", &val);
> + if (ret != 1)
> + return -EINVAL;
> +
> + if (val == 1)
> + rfi_flush_enable(true);
> + else if (val == 0)
> + rfi_flush_enable(false);
> + else
> + return -EINVAL;
> +
> + return count;
> +}
> +
> +static DEVICE_ATTR(rfi_flush, 0600,
> + show_rfi_flush, store_rfi_flush);
DEVICE_ATTR_RW()? And why 0600? That's odd.
> +
> +static void sysfs_create_rfi_flush(void)
> +{
> + device_create_file(cpu_subsys.dev_root, &dev_attr_rfi_flush);
No error checking?
And as Thomas said, why not just use the generic infrastructure he
created instead? That way there is some form of unity here for the same
exact issue.
At least he documented the api :)
thanks,
greg k-h
next prev parent reply other threads:[~2018-01-09 8:06 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-08 16:54 [PATCH 01/11] powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Michael Ellerman
2018-01-08 16:54 ` [PATCH 02/11] powerpc/64: Add macros for annotating the destination of rfid/hrfid Michael Ellerman
2018-01-08 16:54 ` [PATCH 03/11] powerpc/64s: Simple RFI macro conversions Michael Ellerman
2018-01-08 17:09 ` Peter Zijlstra
2018-01-08 21:01 ` Paul Mackerras
2018-01-08 22:04 ` Michael Ellerman
2018-01-08 16:54 ` [PATCH 04/11] powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL Michael Ellerman
2018-01-08 16:54 ` [PATCH 05/11] powerpc/64: Convert fast_exception_return " Michael Ellerman
2018-01-08 16:54 ` [PATCH 06/11] powerpc/64s: Convert slb_miss_common " Michael Ellerman
2018-01-08 16:54 ` [PATCH 07/11] powerpc/64s: Add support for RFI flush of L1-D cache Michael Ellerman
2018-01-09 5:55 ` Jon Masters
2018-01-09 7:02 ` Joel Stanley
2018-01-09 16:05 ` Michael Ellerman
2018-01-25 9:10 ` Christian Zigotzky
2018-01-30 2:11 ` Michael Ellerman
2018-01-08 16:54 ` [PATCH 08/11] powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti Michael Ellerman
2018-01-08 16:54 ` [PATCH 09/11] powerpc/64s: Allow control of RFI flush via sysfs Michael Ellerman
2018-01-08 17:20 ` Thomas Gleixner
2018-01-08 22:09 ` Michael Ellerman
2018-01-09 6:06 ` Jon Masters
2018-01-09 8:05 ` Greg KH
2018-01-09 8:11 ` Jon Masters
2018-01-09 8:03 ` Greg KH [this message]
2018-01-08 16:54 ` [PATCH 10/11] powerpc/pseries: Query hypervisor for RFI flush settings Michael Ellerman
2018-01-08 16:54 ` [PATCH 11/11] powerpc/powernv: Check device-tree " Michael Ellerman
2018-01-08 21:57 ` Tyrel Datwyler
2018-01-11 2:25 ` [01/11] powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Michael Ellerman
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=20180109080310.GA9100@kroah.com \
--to=greg@kroah.com \
--cc=anton@samba.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=mikey@neuling.org \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=oohall@gmail.com \
--cc=paulus@samba.org \
--cc=peterz@infradead.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 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).