Hi Reinette, On Fri, Aug 16, 2024 at 10:01 AM Reinette Chatre <reinette.chatre@xxxxxxxxx> wrote: > > Hi James, > > On 8/16/24 9:31 AM, James Morse wrote: > > Hi Babu, > > > > On 06/08/2024 23:00, Babu Moger wrote: > >> Introduce interface to switch between ABMC and legacy modes. > >> > >> By default ABMC is enabled on boot if the feature is available. > >> Provide the interface to go back to legacy mode if required. > > > > I may have missed it on an earlier version ... why would anyone want the non-ABMC > > behaviour on hardware that requires it: counters randomly reset and randomly return > > 'Unavailable'... is that actually useful? > > > > You default this to on, so there isn't a backward compatibility argument here. > > > > It seems like being able to disable this is a source of complexity - is it needed? > > The ability to go back to legacy was added while looking ahead to support the next > "assignable counter" feature that is software based ("soft-RMID" .. "soft-ABMC"?). > > This series adds support for ABMC on recent AMD hardware to address the issue described > in cover letter. This issue also exists on earlier AMD hardware that does not have the ABMC > feature and Peter is working on a software solution to address the issue on non-ABMC hardware. > This software solution is expected to have the same interface as the hardware solution but > earlier discussions revealed that it may introduce extra latency that users may only want to > accept during periods of active monitoring. Thus the option to disable the counter assignment > mode. Sorry again for the soft-RMID/soft-ABMC confusion[1], it was soft-RMID that impacted context switch latency. Soft-ABMC does not require any additional work at context switch. The only disadvantage to soft-ABMC I can think of is that it also limits reading llc_occupancy event counts to "assigned" groups, whereas without it, llc_occupancy works reliably on all RMIDs on AMD hardware. -Peter [1] https://lore.kernel.org/lkml/CALPaoChDv+irGEmccaQ6SpsuVS8PZ_cfzPgceq3hD3N2cqNjZA@xxxxxxxxxxxxxx/