[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v7 00/16] Enable Memory Bandwidth Allocation in Xen
Hi, all, We plan to bring a new PSR (Platform Shared Resource) feature called Intel Memory Bandwidth Allocation (MBA) to Xen. Besides the MBA enabling, we change some interfaces to make them more general but not only for CAT. Any comments are welcome! You can find this series at: https://github.com/yisun-git/xen_mba mba_v7 This version bases on below pre-fix patch which has been merged into staging branch: "x86: psr: support co-exist features' values setting" https://lists.xen.org/archives/html/xen-devel/2017-10/msg00866.html CC: Jan Beulich <jbeulich@xxxxxxxx> CC: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CC: Wei Liu <wei.liu2@xxxxxxxxxx> CC: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> CC: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> CC: Chao Peng <chao.p.peng@xxxxxxxxxxxxxxx> CC: Julien Grall <julien.grall@xxxxxxx> --- Acked and Reviewed list before V7: a - Acked-by r - Reviewed-by r patch 1 - docs: create Memory Bandwidth Allocation (MBA) feature document ar patch 2 - Rename PSR sysctl/domctl interfaces and xsm policy to make them be general ar patch 3 - x86: rename 'cbm_type' to 'psr_type' to make it general ar patch 4 - x86: a few optimizations to psr codes r patch 5 - x86: implement data structure and CPU init flow for MBA ar patch 6 - x86: implement get hw info flow for MBA ar patch 7 - x86: implement get value interface for MBA ar patch 9 - tools: create general interfaces to support psr allocation features ar patch 10 - tools: implement the new libxc get hw info interface ar patch 11 - tools: implement the new libxl get hw info interface ar patch 12 - tools: implement the new xl get hw info interface ar patch 13 - tools: rename 'xc_psr_cat_type' to 'xc_psr_type' ar patch 14 - tools: implement new generic get value interface and MBA get value command ar patch 15 - tools: implement new generic set value interface and MBA set value command ar patch 16 - docs: add MBA description in docs --- V7 change list: Patch 2: - add single trailing underscore for internal variabled in macro. (suggested by Jan Beulich) - add parentheses for input parameters of marcro. (suggested by Jan Beulich) - adjust the postion of macro. (suggested by Jan Beulich) - rebase to latest codes. Patch 4: - adjust the check to 'cat_init_feature' in 'psr_cpu_init'. (suggested by Jan Beulich) - change 'PSR_INFO_IDX_CAT_FLAG' to 'PSR_INFO_IDX_CAT_FLAGS'. (suggested by Jan Beulich) Patch 5: - modify commit message. (suggested by Jan Beulich) - move the changes about check of 'cat_init_feature' in 'psr_cpu_init' into previous patch. (suggested by Jan Beulich) Patch 6: - change 'PSR_INFO_IDX_MBA_FLAG' to 'PSR_INFO_IDX_MBA_FLAGS'. (suggested by Jan Beulich) Patch 8: - change name of 'check_val' to 'sanitize'. (suggested by Jan Beulich) - fix comments. (suggested by Jan Beulich) - add parentheses and change '== 0' to '!'. (suggested by Jan Beulich) - remove unnecessary check of 'mba.thrtl_max'. (suggested by Jan Beulich) - remove unnecessary intermediate variable 'mod'. (suggested by Jan Beulich) - refine an assignement sentence to use '&='. (suggested by Jan Beulich) - change type of last parameter of 'sanitize' to 'uint32_t' and apply same change to 'cat_check_cbm'. (suggested by Jan Beulich) Yi Sun (16): docs: create Memory Bandwidth Allocation (MBA) feature document Rename PSR sysctl/domctl interfaces and xsm policy to make them be general x86: rename 'cbm_type' to 'psr_type' to make it general x86: a few optimizations to psr codes x86: implement data structure and CPU init flow for MBA x86: implement get hw info flow for MBA x86: implement get value interface for MBA x86: implement set value flow for MBA tools: create general interfaces to support psr allocation features tools: implement the new libxc get hw info interface tools: implement the new libxl get hw info interface tools: implement the new xl get hw info interface tools: rename 'xc_psr_cat_type' to 'xc_psr_type' tools: implement new generic get value interface and MBA get value command tools: implement new generic set value interface and MBA set value command docs: add MBA description in docs docs/features/intel_psr_mba.pandoc | 297 +++++++++++++++++++++++++++++++++++ docs/man/xl.pod.1.in | 33 ++++ docs/misc/xl-psr.markdown | 62 ++++++++ tools/flask/policy/modules/dom0.te | 4 +- tools/libxc/include/xenctrl.h | 44 ++++-- tools/libxc/xc_psr.c | 109 +++++++------ tools/libxl/libxl.h | 37 +++++ tools/libxl/libxl_psr.c | 223 +++++++++++++++++++++------ tools/libxl/libxl_types.idl | 22 +++ tools/xl/xl.h | 2 + tools/xl/xl_cmdtable.c | 12 ++ tools/xl/xl_psr.c | 279 ++++++++++++++++++++++++++------- xen/arch/x86/domctl.c | 87 ++++++----- xen/arch/x86/psr.c | 298 +++++++++++++++++++++++++++--------- xen/arch/x86/sysctl.c | 57 ++++--- xen/include/asm-x86/msr-index.h | 1 + xen/include/asm-x86/psr.h | 24 +-- xen/include/public/domctl.h | 26 ++-- xen/include/public/sysctl.h | 20 ++- xen/xsm/flask/hooks.c | 8 +- xen/xsm/flask/policy/access_vectors | 8 +- 21 files changed, 1323 insertions(+), 330 deletions(-) create mode 100644 docs/features/intel_psr_mba.pandoc -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |