All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Morse <james.morse@arm.com>
To: Babu Moger <babu.moger@amd.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org
Cc: Fenghua Yu <fenghua.yu@intel.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	H Peter Anvin <hpa@zytor.com>,
	shameerali.kolothum.thodi@huawei.com,
	Jamie Iles <jamie@nuviainc.com>,
	D Scott Phillips OS <scott@os.amperecomputing.com>,
	lcherian@marvell.com
Subject: Re: [PATCH v4 02/24] x86/resctrl: Split struct rdt_domain
Date: Thu, 17 Jun 2021 18:02:15 +0100	[thread overview]
Message-ID: <707378c3-1ce1-12d7-e35d-8c8d4650340e@arm.com> (raw)
In-Reply-To: <ac2a3f6e-ef49-5770-7886-c3f813659d06@amd.com>

Hi Babu,

On 15/06/2021 18:51, Babu Moger wrote:
> On 6/14/21 3:09 PM, James Morse wrote:
>> resctrl is the defacto Linux ABI for SoC resource partitioning features.
>>
>> To support it on another architecture, it needs to be abstracted from
>> the features provided by Intel RDT and AMD PQoS, and moved to /fs/.
>> struct rdt_resource contains a mix of architecture private details
>> and properties of the filesystem interface user-space users.
>>
>> Continue by splitting struct rdt_domain, into an architecture private
>> 'hw' struct, which contains the common resctrl structure that would be
>> used by any architecture. The hardware values in ctrl_val and mbps_val
>> need to be accessed via helpers to allow another architecture to convert
>> these into a different format if necessary. After this split, filesystem
>> code paths touching a 'hw' struct indicates where an abstraction
>> is needed.
>>
>> Splitting this structure only moves types around, and should not lead
>> to any change in behaviour.

>> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
>> index 43c8cf6b2b12..235cf621c878 100644
>> --- a/arch/x86/kernel/cpu/resctrl/internal.h
>> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
>> @@ -299,44 +299,25 @@ struct mbm_state {

>> -struct rdt_domain {
>> -	struct list_head		list;
>> -	int				id;
>> -	struct cpumask			cpu_mask;
>> -	unsigned long			*rmid_busy_llc;
>> -	struct mbm_state		*mbm_total;
>> -	struct mbm_state		*mbm_local;
>> -	struct delayed_work		mbm_over;
>> -	struct delayed_work		cqm_limbo;
>> -	int				mbm_work_cpu;
>> -	int				cqm_work_cpu;
>> +struct rdt_hw_domain {
>> +	struct rdt_domain		resctrl;


> Naming is bit confusing here. There is another field with the same
> name(patch1).

But a totally different type, you'd only access its members via the resource or domain, so
its always clear which it is. (and if you get them wrong, it won't build)


> +struct rdt_hw_resource {
> +	struct rdt_resource	resctrl;
> 
> I think we should make this bit more clearer. May be or something similar.
> 
> struct rdt_hw_domain {
>     struct rdt_domain		d_resctrl;
Sure, I guess it makes it clear when quoting something.


Thanks,

James

  reply	other threads:[~2021-06-17 17:02 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-14 20:09 [PATCH v4 00/24] x86/resctrl: Merge the CDP resources James Morse
2021-06-14 20:09 ` [PATCH v4 01/24] x86/resctrl: Split struct rdt_resource James Morse
2021-06-15 18:07   ` Reinette Chatre
2021-06-14 20:09 ` [PATCH v4 02/24] x86/resctrl: Split struct rdt_domain James Morse
2021-06-15 17:51   ` Babu Moger
2021-06-17 17:02     ` James Morse [this message]
2021-06-15 18:07   ` Reinette Chatre
2021-06-14 20:09 ` [PATCH v4 03/24] x86/resctrl: Add a separate schema list for resctrl James Morse
2021-06-15 17:51   ` Babu Moger
2021-06-17 17:02     ` James Morse
2021-06-14 20:09 ` [PATCH v4 04/24] x86/resctrl: Pass the schema in info dir's private pointer James Morse
2021-06-14 20:09 ` [PATCH v4 05/24] x86/resctrl: Label the resources with their configuration type James Morse
2021-06-15 18:08   ` Reinette Chatre
2021-06-14 20:09 ` [PATCH v4 06/24] x86/resctrl: Walk the resctrl schema list instead of an arch list James Morse
2021-06-14 20:09 ` [PATCH v4 07/24] x86/resctrl: Store the effective num_closid in the schema James Morse
2021-06-14 20:09 ` [PATCH v4 08/24] x86/resctrl: Add resctrl_arch_get_num_closid() James Morse
2021-06-14 20:09 ` [PATCH v4 09/24] x86/resctrl: Pass the schema to resctrl filesystem functions James Morse
2021-06-15 18:08   ` Reinette Chatre
2021-06-14 20:09 ` [PATCH v4 10/24] x86/resctrl: Swizzle rdt_resource and resctrl_schema in pseudo_lock_region James Morse
2021-06-14 20:09 ` [PATCH v4 11/24] x86/resctrl: Move the schemata names into struct resctrl_schema James Morse
2021-06-15 18:08   ` Reinette Chatre
2021-06-14 20:09 ` [PATCH v4 12/24] x86/resctrl: Group staged configuration into a separate struct James Morse
2021-06-15 18:08   ` Reinette Chatre
2021-06-14 20:09 ` [PATCH v4 13/24] x86/resctrl: Allow different CODE/DATA configurations to be staged James Morse
2021-06-14 20:09 ` [PATCH v4 14/24] x86/resctrl: Rename update_domains() resctrl_arch_update_domains() James Morse
2021-06-14 20:09 ` [PATCH v4 15/24] x86/resctrl: Add a helper to read a closid's configuration James Morse
2021-06-14 20:09 ` [PATCH v4 16/24] x86/resctrl: Add a helper to read/set the CDP configuration James Morse
2021-06-14 20:09 ` [PATCH v4 17/24] x86/resctrl: Pass configuration type to resctrl_arch_get_config() James Morse
2021-06-14 20:09 ` [PATCH v4 18/24] x86/resctrl: Make ctrlval arrays the same size James Morse
2021-06-15 18:09   ` Reinette Chatre
2021-06-17 17:03     ` James Morse
2021-06-14 20:09 ` [PATCH v4 19/24] x86/resctrl: Apply offset correction when config is staged James Morse
2021-06-14 20:09 ` [PATCH v4 20/24] x86/resctrl: Calculate the index from the configuration type James Morse
2021-06-14 20:09 ` [PATCH v4 21/24] x86/resctrl: Merge the ctrl_val arrays James Morse
2021-06-14 20:09 ` [PATCH v4 22/24] x86/resctrl: Remove rdt_cdp_peer_get() James Morse
2021-06-14 20:09 ` [PATCH v4 23/24] x86/resctrl: Expand resctrl_arch_update_domains()'s msr_param range James Morse
2021-06-14 20:09 ` [PATCH v4 24/24] x86/resctrl: Merge the CDP resources James Morse
2021-06-15 16:16 ` [PATCH v4 00/24] " Reinette Chatre
2021-06-15 16:48   ` James Morse
2021-06-15 17:25     ` Borislav Petkov
2021-06-15 18:05     ` Reinette Chatre
2021-06-17 17:03       ` James Morse
2021-06-15 17:50 ` Babu Moger

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=707378c3-1ce1-12d7-e35d-8c8d4650340e@arm.com \
    --to=james.morse@arm.com \
    --cc=babu.moger@amd.com \
    --cc=bp@alien8.de \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=jamie@nuviainc.com \
    --cc=lcherian@marvell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=reinette.chatre@intel.com \
    --cc=scott@os.amperecomputing.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=tglx@linutronix.de \
    --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.