[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v8] detect and initialize CDP (Code/Data Prioritization) feature
Changes in v8: - x86: * x86/psr part is not included in this version since it had been merged to upstream - tools & docs: * fix per socekt CDP status show bug * fix word missing in xl-psr.markdown * coding style Changes in v7: - x86: * amend function find_cos and pick_avail_cos to ignore reference count for COS0 * write CDP data mask (mask1) before turning CDP on * check CDP status before clear enabled bit in function cat_cpu_fini * code style - tools & docs: * LIBXL_PSR_CBM_TYPE_L3_CODE (DATA) => LIBXL_PSR_CBM_TYPE_L3_CBM_CODE (DATA) * refactor psr_cat_print_one_domain and add a helper to print different type CBM * fix docs wrap Changes in v6: - x86: * remove unnecessary parameter in cdp_is_enabled function * remove variable need_write and restruct code in psr_set_l3_cbm - tools & docs: * separate CBM headings in the output of xl psr-cat-show * revert the numbers of SDM chapter in xl-psr.markdown * XC_PSR_CAT_L3_CODE (DATA) => XC_PSR_CAT_L3_CBM_CODE (DATA) * correct error message of passing -c and -d at the same time Changes in v5: - x86: address Andrew's and Jan's coments. - tools: refine options parsing in psr-cat-cbm-set and invalidate passing -c and -d at the same time - merge tools and docs patches. - code style Changes in v4: - x86: * remove union member name in struct `psr_cat_cbm` (suggested by Jan) * fix log info of CAT & CDP (suggested by Chao & Jan) * add a helper `cdp_is_enabled` to tell the status of CDP and CDP initialize failed is considered (Jan's comment) * XEN_SYSCTL_INTERFACE_VERSION 0x0000000C -> 0x0000000D (suggested by Jan) * refine CBM type check logic in get/set CBM function (suggested by Jan) * loop optimization in function `find_cos` (suggested by Jan) - tools: address Chao's comments. - docs: address Chao's comments. - code style Changes in v3: - x86: remove redundant CDP field in cat_socket_enable (suggested by Chao) - tools: simplify CBM setting function in tools (suggested by Jan) - docs: add boot parameter description (suggested by Chao & Ian) - code style Changes in v2: - x86: enable CDP by boot parameter instead of enabling/disabling CDP at runtime (suggested by Andrew) - tools: remove psr-cat-cdp-enable/disable xl commands - code style Code/Data Prioritization(CDP) is offered in Intel Broadwell and later server platforms, which is an extension of CAT. CDP enables isolation and separate prioritization of code and data fetches to the L3 cache in a software configurable manner, which can enable workload prioritization and tuning of cache capacity to the characteristics of the workload. CDP extends Cache Allocation Technology (CAT) by providing separate code and data capacity bit masks(CBM) per Class of Service (COS). CDP is used on VM basis in the Xen implementation. More information about CDP, please refer to Intel SDM, Volumn 3, section 17.16 http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf This patch series enables CDP feature in Xen based on CAT code, and extends CBM operation functions to support CDP. For all the changes, please see in each patch. This v8 patch has been tested on Intel Broadwell server platform. To make this patchset better, any comment or suggestion is welcomed, I would really appreciate it. Thanks. He Chen (1): tools & docs: add tools and docs support for Intel CDP docs/man/xl.pod.1 | 15 ++++++++++ docs/misc/xl-psr.markdown | 53 ++++++++++++++++++++++++++++++++++ tools/libxc/include/xenctrl.h | 7 +++-- tools/libxc/xc_psr.c | 17 ++++++++++- tools/libxl/libxl.h | 7 +++++ tools/libxl/libxl_psr.c | 5 +++- tools/libxl/libxl_types.idl | 3 ++ tools/libxl/xl_cmdimpl.c | 67 +++++++++++++++++++++++++++++++++++-------- tools/libxl/xl_cmdtable.c | 2 ++ 9 files changed, 160 insertions(+), 16 deletions(-) -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |