All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Kohei Tarumizu <tarumizu.kohei@fujitsu.com>,
	catalin.marinas@arm.com, will@kernel.org, mingo@redhat.com,
	bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org,
	hpa@zytor.com, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, fenghua.yu@intel.com,
	reinette.chatre@intel.com
Cc: tarumizu.kohei@fujitsu.com,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>
Subject: Re: [PATCH v3 1/9] drivers: base: Add hardware prefetch control core driver
Date: Wed, 20 Apr 2022 23:40:48 +0200	[thread overview]
Message-ID: <87mtgftov3.ffs@tglx> (raw)
In-Reply-To: <20220420030223.689259-2-tarumizu.kohei@fujitsu.com>

Kohei,

Cc+: driver core maintainers

On Wed, Apr 20 2022 at 12:02, Kohei Tarumizu wrote:
> +static const char dist_auto_string[] = "auto";
> +static const char strength_strong_string[] = "strong";
> +static const char strength_weak_string[] = "weak";

This is A64FX specific.

> +pfctl_enable_show(hardware_prefetcher, HWPF_ENABLE);
> +pfctl_enable_show(ip_prefetcher, IPPF_ENABLE);
> +pfctl_enable_show(adjacent_cache_line_prefetcher, ACLPF_ENABLE);

This is x86 specific.

> +pfctl_enable_show(stream_detect_prefetcher, SDPF_ENABLE);

This is A64FX specific.

So why is this in generic code and why needs x86 to populate the A64FX
bits and make them invisible? Same the other way round.

Now imagine a few other [sub]architectures come around and add their
specific prefetcher control knobs, strings and whatever. That's going to
be unmaintainable in no time.

This is not comparable to the cache attributes where the architectures
share a significant amount of subsets. You just demonstrated that X86
and A64FX share not even a single entry.

The core code should provide infrastructure to manage the
[sub]architecture specific control files at different cache levels.

Not more not less.

Thanks,

        tglx

WARNING: multiple messages have this Message-ID (diff)
From: Thomas Gleixner <tglx@linutronix.de>
To: Kohei Tarumizu <tarumizu.kohei@fujitsu.com>,
	catalin.marinas@arm.com, will@kernel.org, mingo@redhat.com,
	bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org,
	hpa@zytor.com, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, fenghua.yu@intel.com,
	reinette.chatre@intel.com
Cc: tarumizu.kohei@fujitsu.com,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>
Subject: Re: [PATCH v3 1/9] drivers: base: Add hardware prefetch control core driver
Date: Wed, 20 Apr 2022 23:40:48 +0200	[thread overview]
Message-ID: <87mtgftov3.ffs@tglx> (raw)
In-Reply-To: <20220420030223.689259-2-tarumizu.kohei@fujitsu.com>

Kohei,

Cc+: driver core maintainers

On Wed, Apr 20 2022 at 12:02, Kohei Tarumizu wrote:
> +static const char dist_auto_string[] = "auto";
> +static const char strength_strong_string[] = "strong";
> +static const char strength_weak_string[] = "weak";

This is A64FX specific.

> +pfctl_enable_show(hardware_prefetcher, HWPF_ENABLE);
> +pfctl_enable_show(ip_prefetcher, IPPF_ENABLE);
> +pfctl_enable_show(adjacent_cache_line_prefetcher, ACLPF_ENABLE);

This is x86 specific.

> +pfctl_enable_show(stream_detect_prefetcher, SDPF_ENABLE);

This is A64FX specific.

So why is this in generic code and why needs x86 to populate the A64FX
bits and make them invisible? Same the other way round.

Now imagine a few other [sub]architectures come around and add their
specific prefetcher control knobs, strings and whatever. That's going to
be unmaintainable in no time.

This is not comparable to the cache attributes where the architectures
share a significant amount of subsets. You just demonstrated that X86
and A64FX share not even a single entry.

The core code should provide infrastructure to manage the
[sub]architecture specific control files at different cache levels.

Not more not less.

Thanks,

        tglx

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-04-20 21:40 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-20  3:02 [PATCH v3 0/9] Add hardware prefetch control driver for A64FX and x86 Kohei Tarumizu
2022-04-20  3:02 ` Kohei Tarumizu
2022-04-20  3:02 ` [PATCH v3 1/9] drivers: base: Add hardware prefetch control core driver Kohei Tarumizu
2022-04-20  3:02   ` Kohei Tarumizu
2022-04-20 21:40   ` Thomas Gleixner [this message]
2022-04-20 21:40     ` Thomas Gleixner
2022-04-22 12:10     ` tarumizu.kohei
2022-04-22 12:10       ` tarumizu.kohei
2022-04-21  6:18   ` Greg KH
2022-04-21  6:18     ` Greg KH
2022-04-22 12:30     ` tarumizu.kohei
2022-04-22 12:30       ` tarumizu.kohei
2022-04-20  3:02 ` [PATCH v3 2/9] drivers: base: Add Kconfig/Makefile to build " Kohei Tarumizu
2022-04-20  3:02   ` Kohei Tarumizu
2022-04-20  3:02 ` [PATCH v3 3/9] soc: fujitsu: Add hardware prefetch control support for A64FX Kohei Tarumizu
2022-04-20  3:02   ` Kohei Tarumizu
2022-04-20  3:02 ` [PATCH v3 4/9] soc: fujitsu: Add Kconfig/Makefile to build hardware prefetch control driver Kohei Tarumizu
2022-04-20  3:02   ` Kohei Tarumizu
2022-04-20 22:14   ` Thomas Gleixner
2022-04-20 22:14     ` Thomas Gleixner
2022-04-20  3:02 ` [PATCH v3 5/9] arm64: Create cache sysfs directory without ACPI PPTT for hardware prefetch control Kohei Tarumizu
2022-04-20  3:02   ` Kohei Tarumizu
2022-04-20  3:02 ` [PATCH v3 6/9] x86: resctrl: pseudo_lock: Fix to restore to original value when re-enabling hardware prefetch register Kohei Tarumizu
2022-04-20  3:02   ` Kohei Tarumizu
2022-04-20 20:56   ` Dave Hansen
2022-04-20 20:56     ` Dave Hansen
2022-04-22 12:01     ` tarumizu.kohei
2022-04-22 12:01       ` tarumizu.kohei
2022-04-25 23:17   ` Reinette Chatre
2022-04-25 23:17     ` Reinette Chatre
2022-04-27  2:51     ` tarumizu.kohei
2022-04-27  2:51       ` tarumizu.kohei
2022-04-20  3:02 ` [PATCH v3 7/9] x86: Add hardware prefetch control support for x86 Kohei Tarumizu
2022-04-20  3:02   ` Kohei Tarumizu
2022-04-20 22:27   ` Thomas Gleixner
2022-04-20 22:27     ` Thomas Gleixner
2022-04-22 12:16     ` tarumizu.kohei
2022-04-22 12:16       ` tarumizu.kohei
2022-04-20  3:02 ` [PATCH v3 8/9] x86: Add Kconfig/Makefile to build hardware prefetch control driver Kohei Tarumizu
2022-04-20  3:02   ` Kohei Tarumizu
2022-04-20  3:02 ` [PATCH v3 9/9] docs: ABI: Add sysfs documentation interface of " Kohei Tarumizu
2022-04-20  3:02   ` Kohei Tarumizu

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=87mtgftov3.ffs@tglx \
    --to=tglx@linutronix.de \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=fenghua.yu@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@zytor.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rafael@kernel.org \
    --cc=reinette.chatre@intel.com \
    --cc=tarumizu.kohei@fujitsu.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: 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.