Hi James, On 9/10/25 21:42, James Morse wrote: > cpuhp callbacks aren't the only time the MSC configuration may need to > be reset. Resctrl has an API call to reset a class. > If an MPAM error interrupt arrives it indicates the driver has > misprogrammed an MSC. The safest thing to do is reset all the MSCs > and disable MPAM. > > Add a helper to reset RIS via their class. Call this from mpam_disable(), > which can be scheduled from the error interrupt handler. > > Signed-off-by: James Morse <james.morse@xxxxxxx> > --- > Changes since v1: > * more complete use of _srcu helpers. > * Use guard macro for srcu. > * Dropped a might_sleep() - something else will bark. > --- > drivers/resctrl/mpam_devices.c | 56 ++++++++++++++++++++++++++++++++-- > 1 file changed, 54 insertions(+), 2 deletions(-) > > diff --git a/drivers/resctrl/mpam_devices.c b/drivers/resctrl/mpam_devices.c > index e7faf453b5d7..a9d3c4b09976 100644 > --- a/drivers/resctrl/mpam_devices.c > +++ b/drivers/resctrl/mpam_devices.c > @@ -842,8 +842,6 @@ static int mpam_reset_ris(void *arg) > u16 partid, partid_max; > struct mpam_msc_ris *ris = arg; > > - mpam_assert_srcu_read_lock_held(); > - Remove where it is introduced. There is already one in mpam_reset_ris_partid() at that time. > if (ris->in_reset_state) > return 0; Reviewed-by: Ben Horgan <ben.horgan@xxxxxxx> Thanks, Ben