On Wed, Feb 05, 2025 at 05:41:53PM -0800, Reinette Chatre wrote: > Hi Tony, > > On 2/5/25 4:51 PM, Luck, Tony wrote: > >> This new arch API has sharp corners because of asymmetry of where resctrl > >> runs the arch function. I do not think it is required to change this since we > >> can only speculate about how this may be used in the future but I do think > >> it will be helpful to add comments that highlight: > >> > >> resctrl_arch_mon_event_config_get() -> May run on CPU that does not belong to domain. > >> resctrl_arch_mon_event_config_set() -> Runs on CPU that belongs to domain. > > > > Here's a vague data point about the future to help with speculation. > > > > I have something coming along the pipeline that also can run on any CPU. > > > > I am contemplating a flag in the rdt_resource structure (in appropriate substructure > > resctrl_cache/resctrl_membw) to indicate "domain" vs. "any" for operations. > > > > Would something like that be useful here? > > hmm ... I cannot envision how this may look. Could you please elaborate? > > You mention "a" (singular) flag in rdt_resource while this scenario involves > different ops having different scope. This makes me think that this flag may > have to be per operation that in turn would need additional infrastructure to > manage and track operations. > > These "arch" functions are evolving as the work to support MPAM is done and > so far I think it has been quite ad-hoc to just refactor arch specific code > into "arch" helpers instead of keeping track of which scope they are running in. > This currently requires any arch implementing an "arch" helper to be well aware > of how resctrl will call it. > > Reinette For MPAM, we must typically do all configuration access from a CPU in a power domain that depends on the power domain of the relevant MPAM MSC, including reads of the configuration. In the MPAM case, the required topology knowledge is not necessarily identical to the resctrl domain topology, so it doesn't feel right to have the resctrl core code making the decisions. So, in the interest of keeping the arch interface simple, should cross- calling be delegated to the arch code, at least for now? Cheers ---Dave