Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branches 'for-next/misc' and 'for-next/mpam' into for-next/core

* for-next/misc:
: Miscellaneous cleanups/fixes
virt: arm-cca-guest: fix error check for RSI_INCOMPLETE
arm64/hwcap: Include kernel-hwcap.h in list of generated files

* for-next/mpam:
: Fix an unmount->remount problem with the CDP emulation, uninitialised
: variable and checker warnings
arm_mpam: resctrl: Make resctrl_mon_ctx_waiters static
arm_mpam: resctrl: Fix the check for no monitor components found
arm_mpam: resctrl: Fix MBA CDP alloc_capable handling on unmount

+13 -3
+1
arch/arm64/include/asm/Kbuild
··· 17 17 generic-y += user.h 18 18 19 19 generated-y += cpucap-defs.h 20 + generated-y += kernel-hwcap.h 20 21 generated-y += sysreg-defs.h
+10 -2
drivers/resctrl/mpam_resctrl.c
··· 22 22 23 23 #include "mpam_internal.h" 24 24 25 - DECLARE_WAIT_QUEUE_HEAD(resctrl_mon_ctx_waiters); 25 + static DECLARE_WAIT_QUEUE_HEAD(resctrl_mon_ctx_waiters); 26 26 27 27 /* 28 28 * The classes we've picked to map to resctrl resources, wrapped ··· 220 220 if (cdp_enabled && !mpam_resctrl_controls[RDT_RESOURCE_MBA].cdp_enabled) 221 221 mpam_resctrl_controls[RDT_RESOURCE_MBA].resctrl_res.alloc_capable = false; 222 222 223 + /* 224 + * If resctrl has attempted to enable CDP on MBA, re-enable MBA as two 225 + * configurations will be provided so there is no aliasing problem. 226 + */ 223 227 if (mpam_resctrl_controls[RDT_RESOURCE_MBA].cdp_enabled && 224 228 mpam_resctrl_controls[RDT_RESOURCE_MBA].class) 229 + mpam_resctrl_controls[RDT_RESOURCE_MBA].resctrl_res.alloc_capable = true; 230 + 231 + /* On unmount when CDP is disabled, re-enable MBA */ 232 + if (!cdp_enabled && mpam_resctrl_controls[RDT_RESOURCE_MBA].class) 225 233 mpam_resctrl_controls[RDT_RESOURCE_MBA].resctrl_res.alloc_capable = true; 226 234 227 235 if (enable) { ··· 1407 1399 } 1408 1400 1409 1401 if (r->mon_capable) { 1410 - struct mpam_component *any_mon_comp; 1402 + struct mpam_component *any_mon_comp = NULL; 1411 1403 struct mpam_resctrl_mon *mon; 1412 1404 enum resctrl_event_id eventid; 1413 1405
+2 -1
drivers/virt/coco/arm-cca-guest/arm-cca-guest.c
··· 157 157 } while (info.result == RSI_INCOMPLETE && 158 158 info.offset < RSI_GRANULE_SIZE); 159 159 160 - if (info.result != RSI_SUCCESS) { 160 + /* Break out in case of failure */ 161 + if (info.result != RSI_SUCCESS && info.result != RSI_INCOMPLETE) { 161 162 ret = -ENXIO; 162 163 token_size = 0; 163 164 goto exit_free_granule_page;