aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/flamegraph.py
diff options
context:
space:
mode:
authorShiju Jose <shiju.jose@huawei.com>2025-05-21 13:47:46 +0100
committerDave Jiang <dave.jiang@intel.com>2025-05-23 13:25:06 -0700
commitbe9b359e056a78bb6cc2e17cf457338f6aef57f9 (patch)
treefd3a779efc749bfb75e99a390c98020912e8c889 /tools/perf/scripts/python/flamegraph.py
parentcxl/edac: Add CXL memory device memory sparing control feature (diff)
downloadlinux-be9b359e056a78bb6cc2e17cf457338f6aef57f9.tar.gz
linux-be9b359e056a78bb6cc2e17cf457338f6aef57f9.zip
cxl/edac: Add CXL memory device soft PPR control feature
Post Package Repair (PPR) maintenance operations may be supported by CXL devices that implement CXL.mem protocol. A PPR maintenance operation requests the CXL device to perform a repair operation on its media. For example, a CXL device with DRAM components that support PPR features may implement PPR Maintenance operations. DRAM components may support two types of PPR, hard PPR (hPPR), for a permanent row repair, and Soft PPR (sPPR), for a temporary row repair. Soft PPR is much faster than hPPR, but the repair is lost with a power cycle. During the execution of a PPR Maintenance operation, a CXL memory device: - May or may not retain data - May or may not be able to process CXL.mem requests correctly, including the ones that target the DPA involved in the repair. These CXL Memory Device capabilities are specified by Restriction Flags in the sPPR Feature and hPPR Feature. Soft PPR maintenance operation may be executed at runtime, if data is retained and CXL.mem requests are correctly processed. For CXL devices with DRAM components, hPPR maintenance operation may be executed only at boot because typically data may not be retained with hPPR maintenance operation. When a CXL device identifies error on a memory component, the device may inform the host about the need for a PPR maintenance operation by using an Event Record, where the Maintenance Needed flag is set. The Event Record specifies the DPA that should be repaired. A CXL device may not keep track of the requests that have already been sent and the information on which DPA should be repaired may be lost upon power cycle. The userspace tool requests for maintenance operation if the number of corrected error reported on a CXL.mem media exceeds error threshold. CXL spec 3.2 section 8.2.10.7.1.2 describes the device's sPPR (soft PPR) maintenance operation and section 8.2.10.7.1.3 describes the device's hPPR (hard PPR) maintenance operation feature. CXL spec 3.2 section 8.2.10.7.2.1 describes the sPPR feature discovery and configuration. CXL spec 3.2 section 8.2.10.7.2.2 describes the hPPR feature discovery and configuration. Add support for controlling CXL memory device soft PPR (sPPR) feature. Register with EDAC driver, which gets the memory repair attr descriptors from the EDAC memory repair driver and exposes sysfs repair control attributes for PRR to the userspace. For example CXL PPR control for the CXL mem0 device is exposed in /sys/bus/edac/devices/cxl_mem0/mem_repairX/ Add checks to ensure the memory to be repaired is offline and originates from a CXL DRAM or CXL gen_media error record reported in the current boot, before requesting a PPR operation on the device. Note: Tested with QEMU patch for CXL PPR feature. https://lore.kernel.org/linux-cxl/20250509172229.726-1-shiju.jose@huawei.com/T/#m70b2b010f43f7f4a6f9acee5ec9008498bf292c3 Reviewed-by: Dave Jiang <dave.jiang@intel.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Shiju Jose <shiju.jose@huawei.com> Reviewed-by: Alison Schofield <alison.schofield@intel.com> Acked-by: Dan Williams <dan.j.williams@intel.com> Link: https://patch.msgid.link/20250521124749.817-9-shiju.jose@huawei.com Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Diffstat (limited to 'tools/perf/scripts/python/flamegraph.py')
0 files changed, 0 insertions, 0 deletions
crypto/cavium/cpt/cptpf_mbox.c?id=6ecb7d62bf8ef34325fa55e8cf167610ed7abe83&follow=1'>crypto: cavium - cpt_bind_vq_to_grp could return an error codeGeorge Cherian1-2/+2 2017-02-15crypto: doc - fix typoGilad Ben-Yossef1-1/+1 2017-02-15hwrng: omap - update Kconfig help descriptionRussell King1-2/+2 2017-02-15crypto: ccm - drop unnecessary minimum 32-bit alignmentArd Biesheuvel1-2/+1 2017-02-15crypto: ccm - honour alignmask of subordinate MAC cipherArd Biesheuvel1-8/+10 2017-02-15crypto: caam - fix state buffer DMA (un)mappingHoria Geantă1-55/+52 2017-02-15crypto: caam - abstract ahash request double bufferingHoria Geantă1-29/+48 2017-02-15crypto: caam - fix error path for ctx_dma mapping failureHoria Geantă1-1/+6 2017-02-15crypto: caam - fix DMA API leaks for multiple setkey() callsHoria Geantă2-252/+102 2017-02-15crypto: caam - don't dma_map key for hash algorithmsHoria Geantă1-17/+1 2017-02-15crypto: caam - use dma_map_sg() return codeHoria Geantă1-62/+71 2017-02-15crypto: caam - replace sg_count() with sg_nents_for_len()Horia Geantă2-112/+88 2017-02-15crypto: caam - check sg_count() return valueHoria Geantă1-2/+42 2017-02-15crypto: caam - fix HW S/G in ablkcipher_giv_edesc_alloc()Horia Geantă1-4/+4 2017-02-15crypto: caam - fix JR IO mapping if one failsTudor Ambarus1-8/+9 2017-02-15crypto: caam - check return code of dma_set_mask_and_coherent()Horia Geantă2-10/+24 2017-02-15crypto: caam - don't include unneeded headersHoria Geantă2-3/+0 2017-02-15crypto: ccp - Simplify some buffer management routinesGary R Hook1-86/+56 2017-02-15crypto: ccp - Update the command queue on errorsGary R Hook1-2/+5 2017-02-15crypto: ccp - Change mode for detailed CCP init messagesGary R Hook1-3/+2 2017-02-15crypto: atmel-sha - fix error management in atmel_sha_start()Cyrille Pitchen1-5/+22 2017-02-15crypto: atmel-sha - fix missing "return" instructionsCyrille Pitchen1-5/+5 2017-02-15crypto: ccp - Set the AES size field for all modesGary R Hook3-2/+10 2017-02-11crypto: brcm - Add Broadcom SPU driverRob Rice12-0/+9516