From: Greg KH <gregkh@linuxfoundation.org> To: Kohei Tarumizu <tarumizu.kohei@fujitsu.com> Cc: catalin.marinas@arm.com, will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, rafael@kernel.org, mchehab+huawei@kernel.org, eugenis@google.com, tony.luck@intel.com, pcc@google.com, peterz@infradead.org, marcos@orca.pet, conor.dooley@microchip.com, nicolas.ferre@microchip.com, marcan@marcan.st, linus.walleij@linaro.org, arnd@arndb.de, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v4 5/8] arm64: Create cache sysfs directory without ACPI PPTT for hardware prefetch control Date: Wed, 18 May 2022 09:09:52 +0200 [thread overview] Message-ID: <YoSbwJIDoXz5Aipv@kroah.com> (raw) In-Reply-To: <20220518063032.2377351-6-tarumizu.kohei@fujitsu.com> On Wed, May 18, 2022 at 03:30:29PM +0900, Kohei Tarumizu wrote: > Create a cache sysfs directory without ACPI PPTT if the > CONFIG_HWPF_CONTROL is true. > > Hardware prefetch control driver need cache sysfs directory and cache > level/type information. In ARM processor, these information can be > obtained from the register even without PPTT. > > This patch set the cpu_map_populated to true if the machine doesn't > have PPTT. It use only the level/type information obtained from > CLIDR_EL1, and don't use CCSIDR information. > > Signed-off-by: Kohei Tarumizu <tarumizu.kohei@fujitsu.com> > --- > arch/arm64/kernel/cacheinfo.c | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/arch/arm64/kernel/cacheinfo.c b/arch/arm64/kernel/cacheinfo.c > index 587543c6c51c..039ec32d0b3d 100644 > --- a/arch/arm64/kernel/cacheinfo.c > +++ b/arch/arm64/kernel/cacheinfo.c > @@ -43,6 +43,21 @@ static void ci_leaf_init(struct cacheinfo *this_leaf, > this_leaf->type = type; > } > > +#if defined(CONFIG_HWPF_CONTROL) Please do not put #if in .c files. > +static bool acpi_has_pptt(void) > +{ > + struct acpi_table_header *table; > + acpi_status status; > + > + status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); > + if (ACPI_FAILURE(status)) > + return false; > + > + acpi_put_table(table); > + return true; > +} > +#endif > + > int init_cache_level(unsigned int cpu) > { > unsigned int ctype, level, leaves, fw_level; > @@ -95,5 +110,19 @@ int populate_cache_leaves(unsigned int cpu) > ci_leaf_init(this_leaf++, type, level); > } > } > + > +#if defined(CONFIG_HWPF_CONTROL) > + /* > + * Hardware prefetch functions need cache sysfs directory and cache > + * level/type information. In ARM processor, these information can be > + * obtained from registers even without PPTT. Therefore, we set the > + * cpu_map_populated to true to create cache sysfs directory, if the > + * machine doesn't have PPTT. > + **/ > + if (!acpi_disabled) > + if (!acpi_has_pptt()) > + this_cpu_ci->cpu_map_populated = true; > +#endif Same here, no #if is needed if you do it properly in your .h file. thanks, greg k-h
WARNING: multiple messages have this Message-ID (diff)
From: Greg KH <gregkh@linuxfoundation.org> To: Kohei Tarumizu <tarumizu.kohei@fujitsu.com> Cc: rafael@kernel.org, peterz@infradead.org, catalin.marinas@arm.com, linus.walleij@linaro.org, dave.hansen@linux.intel.com, conor.dooley@microchip.com, hpa@zytor.com, will@kernel.org, mchehab+huawei@kernel.org, x86@kernel.org, mingo@redhat.com, eugenis@google.com, arnd@arndb.de, bp@alien8.de, tglx@linutronix.de, pcc@google.com, linux-arm-kernel@lists.infradead.org, marcos@orca.pet, tony.luck@intel.com, marcan@marcan.st, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 5/8] arm64: Create cache sysfs directory without ACPI PPTT for hardware prefetch control Date: Wed, 18 May 2022 09:09:52 +0200 [thread overview] Message-ID: <YoSbwJIDoXz5Aipv@kroah.com> (raw) In-Reply-To: <20220518063032.2377351-6-tarumizu.kohei@fujitsu.com> On Wed, May 18, 2022 at 03:30:29PM +0900, Kohei Tarumizu wrote: > Create a cache sysfs directory without ACPI PPTT if the > CONFIG_HWPF_CONTROL is true. > > Hardware prefetch control driver need cache sysfs directory and cache > level/type information. In ARM processor, these information can be > obtained from the register even without PPTT. > > This patch set the cpu_map_populated to true if the machine doesn't > have PPTT. It use only the level/type information obtained from > CLIDR_EL1, and don't use CCSIDR information. > > Signed-off-by: Kohei Tarumizu <tarumizu.kohei@fujitsu.com> > --- > arch/arm64/kernel/cacheinfo.c | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/arch/arm64/kernel/cacheinfo.c b/arch/arm64/kernel/cacheinfo.c > index 587543c6c51c..039ec32d0b3d 100644 > --- a/arch/arm64/kernel/cacheinfo.c > +++ b/arch/arm64/kernel/cacheinfo.c > @@ -43,6 +43,21 @@ static void ci_leaf_init(struct cacheinfo *this_leaf, > this_leaf->type = type; > } > > +#if defined(CONFIG_HWPF_CONTROL) Please do not put #if in .c files. > +static bool acpi_has_pptt(void) > +{ > + struct acpi_table_header *table; > + acpi_status status; > + > + status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); > + if (ACPI_FAILURE(status)) > + return false; > + > + acpi_put_table(table); > + return true; > +} > +#endif > + > int init_cache_level(unsigned int cpu) > { > unsigned int ctype, level, leaves, fw_level; > @@ -95,5 +110,19 @@ int populate_cache_leaves(unsigned int cpu) > ci_leaf_init(this_leaf++, type, level); > } > } > + > +#if defined(CONFIG_HWPF_CONTROL) > + /* > + * Hardware prefetch functions need cache sysfs directory and cache > + * level/type information. In ARM processor, these information can be > + * obtained from registers even without PPTT. Therefore, we set the > + * cpu_map_populated to true to create cache sysfs directory, if the > + * machine doesn't have PPTT. > + **/ > + if (!acpi_disabled) > + if (!acpi_has_pptt()) > + this_cpu_ci->cpu_map_populated = true; > +#endif Same here, no #if is needed if you do it properly in your .h file. thanks, greg k-h _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-05-18 7:10 UTC|newest] Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-05-18 6:30 [PATCH v4 0/8] Add hardware prefetch control driver for A64FX and x86 Kohei Tarumizu 2022-05-18 6:30 ` Kohei Tarumizu 2022-05-18 6:30 ` [PATCH v4 1/8] drivers: base: Add hardware prefetch control core driver Kohei Tarumizu 2022-05-18 6:30 ` Kohei Tarumizu 2022-05-18 7:09 ` Greg KH 2022-05-18 7:09 ` Greg KH 2022-05-18 12:38 ` tarumizu.kohei 2022-05-18 12:38 ` tarumizu.kohei 2022-05-18 6:30 ` [PATCH v4 2/8] drivers: base: Add Kconfig/Makefile to build " Kohei Tarumizu 2022-05-18 6:30 ` Kohei Tarumizu 2022-05-18 7:04 ` Greg KH 2022-05-18 7:04 ` Greg KH 2022-05-20 6:42 ` tarumizu.kohei 2022-05-20 6:42 ` tarumizu.kohei 2022-05-18 6:30 ` [PATCH v4 3/8] soc: fujitsu: Add hardware prefetch control support for A64FX Kohei Tarumizu 2022-05-18 6:30 ` Kohei Tarumizu 2022-05-18 7:10 ` Greg KH 2022-05-18 7:10 ` Greg KH 2022-05-20 7:06 ` tarumizu.kohei 2022-05-20 7:06 ` tarumizu.kohei 2022-05-18 6:30 ` [PATCH v4 4/8] soc: fujitsu: Add Kconfig/Makefile to build hardware prefetch control driver Kohei Tarumizu 2022-05-18 6:30 ` Kohei Tarumizu 2022-05-18 6:30 ` [PATCH v4 5/8] arm64: Create cache sysfs directory without ACPI PPTT for hardware prefetch control Kohei Tarumizu 2022-05-18 6:30 ` Kohei Tarumizu 2022-05-18 7:09 ` Greg KH [this message] 2022-05-18 7:09 ` Greg KH 2022-05-20 7:00 ` tarumizu.kohei 2022-05-20 7:00 ` tarumizu.kohei 2022-05-18 6:30 ` [PATCH v4 6/8] x86: Add hardware prefetch control support for x86 Kohei Tarumizu 2022-05-18 6:30 ` Kohei Tarumizu 2022-05-18 6:43 ` Greg KH 2022-05-18 6:43 ` Greg KH 2022-05-20 6:30 ` tarumizu.kohei 2022-05-20 6:30 ` tarumizu.kohei 2022-05-18 6:44 ` Greg KH 2022-05-18 6:44 ` Greg KH 2022-05-20 6:40 ` tarumizu.kohei 2022-05-20 6:40 ` tarumizu.kohei 2022-05-18 6:30 ` [PATCH v4 7/8] x86: Add Kconfig/Makefile to build hardware prefetch control driver Kohei Tarumizu 2022-05-18 6:30 ` Kohei Tarumizu 2022-05-18 6:43 ` Greg KH 2022-05-18 6:43 ` Greg KH 2022-05-20 6:35 ` tarumizu.kohei 2022-05-20 6:35 ` tarumizu.kohei 2022-05-18 6:30 ` [PATCH v4 8/8] docs: ABI: Add sysfs documentation interface of " Kohei Tarumizu 2022-05-18 6:30 ` Kohei Tarumizu 2022-05-19 8:29 ` [PATCH v4 0/8] Add hardware prefetch control driver for A64FX and x86 Hector Martin 2022-05-19 8:29 ` Hector Martin 2022-05-20 8:31 ` tarumizu.kohei 2022-05-20 8:31 ` tarumizu.kohei
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=YoSbwJIDoXz5Aipv@kroah.com \ --to=gregkh@linuxfoundation.org \ --cc=arnd@arndb.de \ --cc=bp@alien8.de \ --cc=catalin.marinas@arm.com \ --cc=conor.dooley@microchip.com \ --cc=dave.hansen@linux.intel.com \ --cc=eugenis@google.com \ --cc=hpa@zytor.com \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marcan@marcan.st \ --cc=marcos@orca.pet \ --cc=mchehab+huawei@kernel.org \ --cc=mingo@redhat.com \ --cc=nicolas.ferre@microchip.com \ --cc=pcc@google.com \ --cc=peterz@infradead.org \ --cc=rafael@kernel.org \ --cc=tarumizu.kohei@fujitsu.com \ --cc=tglx@linutronix.de \ --cc=tony.luck@intel.com \ --cc=will@kernel.org \ --cc=x86@kernel.org \ /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: linkBe 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.