mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 11:37:06 +02:00
Merge b229b6ca5a ("Merge tag 'perf-tools-fixes-for-v6.1-2022-10-26' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux") into android-mainline
Steps on the way to 6.1-rc3 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I5dc77f17938ee7c8f7178523543415c2ce455b2e
This commit is contained in:
commit
9ea9019770
|
|
@ -103,11 +103,11 @@ ethernet@18000 {
|
|||
dma-coherent;
|
||||
};
|
||||
|
||||
ehci@40000 {
|
||||
usb@40000 {
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
ohci@60000 {
|
||||
usb@60000 {
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -110,11 +110,11 @@ ethernet@18000 {
|
|||
dma-coherent;
|
||||
};
|
||||
|
||||
ehci@40000 {
|
||||
usb@40000 {
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
ohci@60000 {
|
||||
usb@60000 {
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -87,13 +87,13 @@ gmac: ethernet@18000 {
|
|||
mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
|
||||
};
|
||||
|
||||
ehci@40000 {
|
||||
usb@40000 {
|
||||
compatible = "generic-ehci";
|
||||
reg = < 0x40000 0x100 >;
|
||||
interrupts = < 8 >;
|
||||
};
|
||||
|
||||
ohci@60000 {
|
||||
usb@60000 {
|
||||
compatible = "generic-ohci";
|
||||
reg = < 0x60000 0x100 >;
|
||||
interrupts = < 8 >;
|
||||
|
|
|
|||
|
|
@ -234,7 +234,7 @@ phy0: ethernet-phy@0 { /* Micrel KSZ9031 */
|
|||
};
|
||||
};
|
||||
|
||||
ohci@60000 {
|
||||
usb@60000 {
|
||||
compatible = "snps,hsdk-v1.0-ohci", "generic-ohci";
|
||||
reg = <0x60000 0x100>;
|
||||
interrupts = <15>;
|
||||
|
|
@ -242,7 +242,7 @@ ohci@60000 {
|
|||
dma-coherent;
|
||||
};
|
||||
|
||||
ehci@40000 {
|
||||
usb@40000 {
|
||||
compatible = "snps,hsdk-v1.0-ehci", "generic-ehci";
|
||||
reg = <0x40000 0x100>;
|
||||
interrupts = <15>;
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ ethernet@18000 {
|
|||
clock-names = "stmmaceth";
|
||||
};
|
||||
|
||||
ehci@40000 {
|
||||
usb@40000 {
|
||||
compatible = "generic-ehci";
|
||||
reg = < 0x40000 0x100 >;
|
||||
interrupts = < 8 >;
|
||||
|
|
|
|||
|
|
@ -35,9 +35,6 @@ CONFIG_IP_PNP=y
|
|||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
|
|
@ -99,7 +96,6 @@ CONFIG_NFS_FS=y
|
|||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_STRIP_ASM_SYMS=y
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=10
|
||||
|
|
|
|||
|
|
@ -34,9 +34,6 @@ CONFIG_IP_PNP=y
|
|||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
|
|
@ -97,7 +94,6 @@ CONFIG_NFS_FS=y
|
|||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_STRIP_ASM_SYMS=y
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=10
|
||||
|
|
|
|||
|
|
@ -35,9 +35,6 @@ CONFIG_IP_PNP=y
|
|||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
|
|
@ -100,7 +97,6 @@ CONFIG_NFS_FS=y
|
|||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_STRIP_ASM_SYMS=y
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=10
|
||||
|
|
|
|||
|
|
@ -59,6 +59,5 @@ CONFIG_EXT2_FS_XATTR=y
|
|||
CONFIG_TMPFS=y
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_NFS_FS=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_DEBUG_MEMORY_INIT=y
|
||||
# CONFIG_DEBUG_PREEMPT is not set
|
||||
|
|
|
|||
|
|
@ -59,6 +59,5 @@ CONFIG_EXT2_FS_XATTR=y
|
|||
CONFIG_TMPFS=y
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_NFS_FS=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
# CONFIG_DEBUG_PREEMPT is not set
|
||||
|
|
|
|||
|
|
@ -85,7 +85,6 @@ CONFIG_NFS_FS=y
|
|||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_STRIP_ASM_SYMS=y
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=10
|
||||
|
|
|
|||
|
|
@ -56,5 +56,4 @@ CONFIG_EXT2_FS_XATTR=y
|
|||
CONFIG_TMPFS=y
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_NFS_FS=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
# CONFIG_DEBUG_PREEMPT is not set
|
||||
|
|
|
|||
|
|
@ -65,4 +65,3 @@ CONFIG_TMPFS=y
|
|||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
|
|
|
|||
|
|
@ -63,4 +63,3 @@ CONFIG_TMPFS=y
|
|||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
|
|
|
|||
|
|
@ -26,9 +26,6 @@ CONFIG_UNIX=y
|
|||
CONFIG_UNIX_DIAG=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_INET=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
|
|
@ -37,7 +34,6 @@ CONFIG_DEVTMPFS=y
|
|||
# CONFIG_BLK_DEV is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NET_VENDOR_ARC is not set
|
||||
# CONFIG_NET_CADENCE is not set
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
CONFIG_EZCHIP_NPS_MANAGEMENT_ENET=y
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
|
|
@ -74,5 +70,5 @@ CONFIG_TMPFS=y
|
|||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_FTRACE=y
|
||||
# CONFIG_NET_VENDOR_CADENCE is not set
|
||||
|
|
|
|||
|
|
@ -35,15 +35,11 @@ CONFIG_PACKET=y
|
|||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NET_CADENCE is not set
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
|
|
@ -94,12 +90,11 @@ CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
|
|||
CONFIG_STRIP_ASM_SYMS=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_HEADERS_INSTALL=y
|
||||
CONFIG_HEADERS_CHECK=y
|
||||
CONFIG_DEBUG_SECTION_MISMATCH=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_MEMORY_INIT=y
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_SCHEDSTATS=y
|
||||
CONFIG_TIMER_STATS=y
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
# CONFIG_NET_VENDOR_CADENCE is not set
|
||||
|
|
|
|||
|
|
@ -58,8 +58,6 @@ CONFIG_SERIAL_OF_PLATFORM=y
|
|||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_FB=y
|
||||
CONFIG_ARCPGU_RGB888=y
|
||||
CONFIG_ARCPGU_DISPTYPE=0
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||
|
|
@ -87,7 +85,6 @@ CONFIG_NFS_FS=y
|
|||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_STRIP_ASM_SYMS=y
|
||||
CONFIG_DEBUG_SHIRQ=y
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
|
|
|
|||
|
|
@ -91,7 +91,6 @@ CONFIG_NFS_FS=y
|
|||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_STRIP_ASM_SYMS=y
|
||||
CONFIG_DEBUG_SHIRQ=y
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ static inline __attribute__ ((const)) int fls(unsigned int x)
|
|||
/*
|
||||
* __fls: Similar to fls, but zero based (0-31)
|
||||
*/
|
||||
static inline __attribute__ ((const)) int __fls(unsigned long x)
|
||||
static inline __attribute__ ((const)) unsigned long __fls(unsigned long x)
|
||||
{
|
||||
if (!x)
|
||||
return 0;
|
||||
|
|
@ -131,7 +131,7 @@ static inline __attribute__ ((const)) int fls(unsigned int x)
|
|||
/*
|
||||
* __fls: Similar to fls, but zero based (0-31). Also 0 if no bit set
|
||||
*/
|
||||
static inline __attribute__ ((const)) int __fls(unsigned long x)
|
||||
static inline __attribute__ ((const)) unsigned long __fls(unsigned long x)
|
||||
{
|
||||
/* FLS insn has exactly same semantics as the API */
|
||||
return __builtin_arc_fls(x);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
* r25 contains the kernel current task ptr
|
||||
* - Defined Stack Switching Macro to be reused in all intr/excp hdlrs
|
||||
* - Shaved off 11 instructions from RESTORE_ALL_INT1 by using the
|
||||
* address Write back load ld.ab instead of seperate ld/add instn
|
||||
* address Write back load ld.ab instead of separate ld/add instn
|
||||
*
|
||||
* Amit Bhor, Sameer Dhavale: Codito Technologies 2004
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ static inline void ioport_unmap(void __iomem *addr)
|
|||
{
|
||||
}
|
||||
|
||||
extern void iounmap(const void __iomem *addr);
|
||||
extern void iounmap(const volatile void __iomem *addr);
|
||||
|
||||
/*
|
||||
* io{read,write}{16,32}be() macros
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@
|
|||
#define pmd_pfn(pmd) ((pmd_val(pmd) & PAGE_MASK) >> PAGE_SHIFT)
|
||||
#define pmd_page(pmd) virt_to_page(pmd_page_vaddr(pmd))
|
||||
#define set_pmd(pmdp, pmd) (*(pmdp) = pmd)
|
||||
#define pmd_pgtable(pmd) ((pgtable_t) pmd_page_vaddr(pmd))
|
||||
#define pmd_pgtable(pmd) ((pgtable_t) pmd_page(pmd))
|
||||
|
||||
/*
|
||||
* 4th level paging: pte
|
||||
|
|
|
|||
|
|
@ -385,7 +385,7 @@ irqreturn_t do_IPI(int irq, void *dev_id)
|
|||
* API called by platform code to hookup arch-common ISR to their IPI IRQ
|
||||
*
|
||||
* Note: If IPI is provided by platform (vs. say ARC MCIP), their intc setup/map
|
||||
* function needs to call call irq_set_percpu_devid() for IPI IRQ, otherwise
|
||||
* function needs to call irq_set_percpu_devid() for IPI IRQ, otherwise
|
||||
* request_percpu_irq() below will fail
|
||||
*/
|
||||
static DEFINE_PER_CPU(int, ipi_dev);
|
||||
|
|
|
|||
|
|
@ -750,7 +750,7 @@ static inline void arc_slc_enable(void)
|
|||
* -In SMP, if hardware caches are coherent
|
||||
*
|
||||
* There's a corollary case, where kernel READs from a userspace mapped page.
|
||||
* If the U-mapping is not congruent to to K-mapping, former needs flushing.
|
||||
* If the U-mapping is not congruent to K-mapping, former needs flushing.
|
||||
*/
|
||||
void flush_dcache_page(struct page *page)
|
||||
{
|
||||
|
|
@ -910,7 +910,7 @@ EXPORT_SYMBOL(flush_icache_range);
|
|||
* @vaddr is typically user vaddr (breakpoint) or kernel vaddr (vmalloc)
|
||||
* However in one instance, when called by kprobe (for a breakpt in
|
||||
* builtin kernel code) @vaddr will be paddr only, meaning CDU operation will
|
||||
* use a paddr to index the cache (despite VIPT). This is fine since since a
|
||||
* use a paddr to index the cache (despite VIPT). This is fine since a
|
||||
* builtin kernel page will not have any virtual mappings.
|
||||
* kprobe on loadable module will be kernel vaddr.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ void __iomem *ioremap_prot(phys_addr_t paddr, unsigned long size,
|
|||
EXPORT_SYMBOL(ioremap_prot);
|
||||
|
||||
|
||||
void iounmap(const void __iomem *addr)
|
||||
void iounmap(const volatile void __iomem *addr)
|
||||
{
|
||||
/* weird double cast to handle phys_addr_t > 32 bits */
|
||||
if (arc_uncached_addr_space((phys_addr_t)(u32)addr))
|
||||
|
|
|
|||
|
|
@ -398,7 +398,7 @@ static void aspeed_spi_get_windows(struct aspeed_spi *aspi,
|
|||
windows[cs].cs = cs;
|
||||
windows[cs].size = data->segment_end(aspi, reg_val) -
|
||||
data->segment_start(aspi, reg_val);
|
||||
windows[cs].offset = cs ? windows[cs - 1].offset + windows[cs - 1].size : 0;
|
||||
windows[cs].offset = data->segment_start(aspi, reg_val) - aspi->ahb_base_phy;
|
||||
dev_vdbg(aspi->dev, "CE%d offset=0x%.8x size=0x%x\n", cs,
|
||||
windows[cs].offset, windows[cs].size);
|
||||
}
|
||||
|
|
@ -1163,7 +1163,7 @@ static const struct aspeed_spi_data ast2500_spi_data = {
|
|||
static const struct aspeed_spi_data ast2600_fmc_data = {
|
||||
.max_cs = 3,
|
||||
.hastype = false,
|
||||
.mode_bits = SPI_RX_QUAD | SPI_RX_QUAD,
|
||||
.mode_bits = SPI_RX_QUAD | SPI_TX_QUAD,
|
||||
.we0 = 16,
|
||||
.ctl0 = CE0_CTRL_REG,
|
||||
.timing = CE0_TIMING_COMPENSATION_REG,
|
||||
|
|
@ -1178,7 +1178,7 @@ static const struct aspeed_spi_data ast2600_fmc_data = {
|
|||
static const struct aspeed_spi_data ast2600_spi_data = {
|
||||
.max_cs = 2,
|
||||
.hastype = false,
|
||||
.mode_bits = SPI_RX_QUAD | SPI_RX_QUAD,
|
||||
.mode_bits = SPI_RX_QUAD | SPI_TX_QUAD,
|
||||
.we0 = 16,
|
||||
.ctl0 = CE0_CTRL_REG,
|
||||
.timing = CE0_TIMING_COMPENSATION_REG,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0=or-later
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
/* Copyright (C) 2022 Hewlett-Packard Development Company, L.P. */
|
||||
|
||||
#include <linux/iopoll.h>
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@
|
|||
#define ERASE_OPCODE_SHIFT 8
|
||||
#define ERASE_OPCODE_MASK (0xff << ERASE_OPCODE_SHIFT)
|
||||
#define ERASE_64K_OPCODE_SHIFT 16
|
||||
#define ERASE_64K_OPCODE_MASK (0xff << ERASE_OPCODE_SHIFT)
|
||||
#define ERASE_64K_OPCODE_MASK (0xff << ERASE_64K_OPCODE_SHIFT)
|
||||
|
||||
/* Flash descriptor fields */
|
||||
#define FLVALSIG_MAGIC 0x0ff0a55a
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ mpc52xx_spi_fsmstate_idle(int irq, struct mpc52xx_spi *ms, u8 status, u8 data)
|
|||
int spr, sppr;
|
||||
u8 ctrl1;
|
||||
|
||||
if (status && (irq != NO_IRQ))
|
||||
if (status && irq)
|
||||
dev_err(&ms->master->dev, "spurious irq, status=0x%.2x\n",
|
||||
status);
|
||||
|
||||
|
|
|
|||
|
|
@ -1057,6 +1057,8 @@ static int spi_qup_probe(struct platform_device *pdev)
|
|||
else
|
||||
master->num_chipselect = num_cs;
|
||||
|
||||
master->use_gpio_descriptors = true;
|
||||
master->max_native_cs = SPI_NUM_CHIPSELECTS;
|
||||
master->bus_num = pdev->id;
|
||||
master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
|
||||
master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
|
||||
|
|
|
|||
|
|
@ -1157,6 +1157,11 @@ static int tegra_qspi_combined_seq_xfer(struct tegra_qspi *tqspi,
|
|||
msg->actual_length += xfer->len;
|
||||
transfer_phase++;
|
||||
}
|
||||
if (!xfer->cs_change) {
|
||||
tegra_qspi_transfer_end(spi);
|
||||
spi_transfer_delay_exec(xfer);
|
||||
}
|
||||
ret = 0;
|
||||
|
||||
exit:
|
||||
msg->status = ret;
|
||||
|
|
|
|||
|
|
@ -225,7 +225,7 @@ static inline void *spi_mem_get_drvdata(struct spi_mem *mem)
|
|||
/**
|
||||
* struct spi_controller_mem_ops - SPI memory operations
|
||||
* @adjust_op_size: shrink the data xfer of an operation to match controller's
|
||||
* limitations (can be alignment of max RX/TX size
|
||||
* limitations (can be alignment or max RX/TX size
|
||||
* limitations)
|
||||
* @supports_op: check if an operation is supported by the controller
|
||||
* @exec_op: execute a SPI memory operation
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@
|
|||
#define ARM_CPU_IMP_FUJITSU 0x46
|
||||
#define ARM_CPU_IMP_HISI 0x48
|
||||
#define ARM_CPU_IMP_APPLE 0x61
|
||||
#define ARM_CPU_IMP_AMPERE 0xC0
|
||||
|
||||
#define ARM_CPU_PART_AEM_V8 0xD0F
|
||||
#define ARM_CPU_PART_FOUNDATION 0xD00
|
||||
|
|
@ -123,6 +124,8 @@
|
|||
#define APPLE_CPU_PART_M1_ICESTORM_MAX 0x028
|
||||
#define APPLE_CPU_PART_M1_FIRESTORM_MAX 0x029
|
||||
|
||||
#define AMPERE_CPU_PART_AMPERE1 0xAC3
|
||||
|
||||
#define MIDR_CORTEX_A53 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A53)
|
||||
#define MIDR_CORTEX_A57 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A57)
|
||||
#define MIDR_CORTEX_A72 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A72)
|
||||
|
|
@ -172,6 +175,7 @@
|
|||
#define MIDR_APPLE_M1_FIRESTORM_PRO MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM_PRO)
|
||||
#define MIDR_APPLE_M1_ICESTORM_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM_MAX)
|
||||
#define MIDR_APPLE_M1_FIRESTORM_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM_MAX)
|
||||
#define MIDR_AMPERE1 MIDR_CPU_MODEL(ARM_CPU_IMP_AMPERE, AMPERE_CPU_PART_AMPERE1)
|
||||
|
||||
/* Fujitsu Erratum 010001 affects A64FX 1.0 and 1.1, (v0r0 and v1r0) */
|
||||
#define MIDR_FUJITSU_ERRATUM_010001 MIDR_FUJITSU_A64FX
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@
|
|||
#define X86_FEATURE_SYSCALL32 ( 3*32+14) /* "" syscall in IA32 userspace */
|
||||
#define X86_FEATURE_SYSENTER32 ( 3*32+15) /* "" sysenter in IA32 userspace */
|
||||
#define X86_FEATURE_REP_GOOD ( 3*32+16) /* REP microcode works well */
|
||||
/* FREE! ( 3*32+17) */
|
||||
#define X86_FEATURE_AMD_LBR_V2 ( 3*32+17) /* AMD Last Branch Record Extension Version 2 */
|
||||
#define X86_FEATURE_LFENCE_RDTSC ( 3*32+18) /* "" LFENCE synchronizes RDTSC */
|
||||
#define X86_FEATURE_ACC_POWER ( 3*32+19) /* AMD Accumulated Power Mechanism */
|
||||
#define X86_FEATURE_NOPL ( 3*32+20) /* The NOPL (0F 1F) instructions */
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
* Output:
|
||||
* rax original destination
|
||||
*/
|
||||
SYM_FUNC_START(__memcpy)
|
||||
SYM_TYPED_FUNC_START(__memcpy)
|
||||
ALTERNATIVE_2 "jmp memcpy_orig", "", X86_FEATURE_REP_GOOD, \
|
||||
"jmp memcpy_erms", X86_FEATURE_ERMS
|
||||
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ FEATURE_TESTS_EXTRA := \
|
|||
libbpf-bpf_prog_load \
|
||||
libbpf-bpf_object__next_program \
|
||||
libbpf-bpf_object__next_map \
|
||||
libbpf-bpf_program__set_insns \
|
||||
libbpf-bpf_create_map \
|
||||
libpfm4 \
|
||||
libdebuginfod \
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ FILES= \
|
|||
test-libbpf-bpf_map_create.bin \
|
||||
test-libbpf-bpf_object__next_program.bin \
|
||||
test-libbpf-bpf_object__next_map.bin \
|
||||
test-libbpf-bpf_program__set_insns.bin \
|
||||
test-libbpf-btf__raw_data.bin \
|
||||
test-get_cpuid.bin \
|
||||
test-sdt.bin \
|
||||
|
|
@ -316,6 +317,9 @@ $(OUTPUT)test-libbpf-bpf_object__next_program.bin:
|
|||
$(OUTPUT)test-libbpf-bpf_object__next_map.bin:
|
||||
$(BUILD) -lbpf
|
||||
|
||||
$(OUTPUT)test-libbpf-bpf_program__set_insns.bin:
|
||||
$(BUILD) -lbpf
|
||||
|
||||
$(OUTPUT)test-libbpf-btf__raw_data.bin:
|
||||
$(BUILD) -lbpf
|
||||
|
||||
|
|
|
|||
8
tools/build/feature/test-libbpf-bpf_program__set_insns.c
Normal file
8
tools/build/feature/test-libbpf-bpf_program__set_insns.c
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <bpf/libbpf.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
bpf_program__set_insns(NULL /* prog */, NULL /* new_insns */, 0 /* new_insn_cnt */);
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -68,6 +68,8 @@ enum {
|
|||
#define IPPROTO_PIM IPPROTO_PIM
|
||||
IPPROTO_COMP = 108, /* Compression Header Protocol */
|
||||
#define IPPROTO_COMP IPPROTO_COMP
|
||||
IPPROTO_L2TP = 115, /* Layer 2 Tunnelling Protocol */
|
||||
#define IPPROTO_L2TP IPPROTO_L2TP
|
||||
IPPROTO_SCTP = 132, /* Stream Control Transport Protocol */
|
||||
#define IPPROTO_SCTP IPPROTO_SCTP
|
||||
IPPROTO_UDPLITE = 136, /* UDP-Lite (RFC 3828) */
|
||||
|
|
@ -188,21 +190,13 @@ struct ip_mreq_source {
|
|||
};
|
||||
|
||||
struct ip_msfilter {
|
||||
__be32 imsf_multiaddr;
|
||||
__be32 imsf_interface;
|
||||
__u32 imsf_fmode;
|
||||
__u32 imsf_numsrc;
|
||||
union {
|
||||
struct {
|
||||
__be32 imsf_multiaddr_aux;
|
||||
__be32 imsf_interface_aux;
|
||||
__u32 imsf_fmode_aux;
|
||||
__u32 imsf_numsrc_aux;
|
||||
__be32 imsf_slist[1];
|
||||
};
|
||||
struct {
|
||||
__be32 imsf_multiaddr;
|
||||
__be32 imsf_interface;
|
||||
__u32 imsf_fmode;
|
||||
__u32 imsf_numsrc;
|
||||
__be32 imsf_slist_flex[];
|
||||
};
|
||||
__be32 imsf_slist[1];
|
||||
__DECLARE_FLEX_ARRAY(__be32, imsf_slist_flex);
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -164,8 +164,6 @@ enum perf_event_sample_format {
|
|||
PERF_SAMPLE_WEIGHT_STRUCT = 1U << 24,
|
||||
|
||||
PERF_SAMPLE_MAX = 1U << 25, /* non-ABI */
|
||||
|
||||
__PERF_SAMPLE_CALLCHAIN_EARLY = 1ULL << 63, /* non-ABI; internal use */
|
||||
};
|
||||
|
||||
#define PERF_SAMPLE_WEIGHT_TYPE (PERF_SAMPLE_WEIGHT | PERF_SAMPLE_WEIGHT_STRUCT)
|
||||
|
|
@ -263,6 +261,17 @@ enum {
|
|||
PERF_BR_MAX,
|
||||
};
|
||||
|
||||
/*
|
||||
* Common branch speculation outcome classification
|
||||
*/
|
||||
enum {
|
||||
PERF_BR_SPEC_NA = 0, /* Not available */
|
||||
PERF_BR_SPEC_WRONG_PATH = 1, /* Speculative but on wrong path */
|
||||
PERF_BR_NON_SPEC_CORRECT_PATH = 2, /* Non-speculative but on correct path */
|
||||
PERF_BR_SPEC_CORRECT_PATH = 3, /* Speculative and on correct path */
|
||||
PERF_BR_SPEC_MAX,
|
||||
};
|
||||
|
||||
enum {
|
||||
PERF_BR_NEW_FAULT_ALGN = 0, /* Alignment fault */
|
||||
PERF_BR_NEW_FAULT_DATA = 1, /* Data fault */
|
||||
|
|
@ -282,11 +291,11 @@ enum {
|
|||
PERF_BR_PRIV_HV = 3,
|
||||
};
|
||||
|
||||
#define PERF_BR_ARM64_FIQ PERF_BR_NEW_ARCH_1
|
||||
#define PERF_BR_ARM64_DEBUG_HALT PERF_BR_NEW_ARCH_2
|
||||
#define PERF_BR_ARM64_DEBUG_EXIT PERF_BR_NEW_ARCH_3
|
||||
#define PERF_BR_ARM64_DEBUG_INST PERF_BR_NEW_ARCH_4
|
||||
#define PERF_BR_ARM64_DEBUG_DATA PERF_BR_NEW_ARCH_5
|
||||
#define PERF_BR_ARM64_FIQ PERF_BR_NEW_ARCH_1
|
||||
#define PERF_BR_ARM64_DEBUG_HALT PERF_BR_NEW_ARCH_2
|
||||
#define PERF_BR_ARM64_DEBUG_EXIT PERF_BR_NEW_ARCH_3
|
||||
#define PERF_BR_ARM64_DEBUG_INST PERF_BR_NEW_ARCH_4
|
||||
#define PERF_BR_ARM64_DEBUG_DATA PERF_BR_NEW_ARCH_5
|
||||
|
||||
#define PERF_SAMPLE_BRANCH_PLM_ALL \
|
||||
(PERF_SAMPLE_BRANCH_USER|\
|
||||
|
|
@ -1397,6 +1406,7 @@ union perf_mem_data_src {
|
|||
* abort: aborting a hardware transaction
|
||||
* cycles: cycles from last branch (or 0 if not supported)
|
||||
* type: branch type
|
||||
* spec: branch speculation info (or 0 if not supported)
|
||||
*/
|
||||
struct perf_branch_entry {
|
||||
__u64 from;
|
||||
|
|
@ -1407,9 +1417,10 @@ struct perf_branch_entry {
|
|||
abort:1, /* transaction abort */
|
||||
cycles:16, /* cycle count to last branch */
|
||||
type:4, /* branch type */
|
||||
spec:2, /* branch speculation info */
|
||||
new_type:4, /* additional branch type */
|
||||
priv:3, /* privilege level */
|
||||
reserved:33;
|
||||
reserved:31;
|
||||
};
|
||||
|
||||
union perf_sample_weight {
|
||||
|
|
|
|||
|
|
@ -124,7 +124,8 @@ struct statx {
|
|||
__u32 stx_dev_minor;
|
||||
/* 0x90 */
|
||||
__u64 stx_mnt_id;
|
||||
__u64 __spare2;
|
||||
__u32 stx_dio_mem_align; /* Memory buffer alignment for direct I/O */
|
||||
__u32 stx_dio_offset_align; /* File offset alignment for direct I/O */
|
||||
/* 0xa0 */
|
||||
__u64 __spare3[12]; /* Spare space for future expansion */
|
||||
/* 0x100 */
|
||||
|
|
@ -152,6 +153,7 @@ struct statx {
|
|||
#define STATX_BASIC_STATS 0x000007ffU /* The stuff in the normal stat struct */
|
||||
#define STATX_BTIME 0x00000800U /* Want/got stx_btime */
|
||||
#define STATX_MNT_ID 0x00001000U /* Got stx_mnt_id */
|
||||
#define STATX_DIOALIGN 0x00002000U /* Want/got direct I/O alignment info */
|
||||
|
||||
#define STATX__RESERVED 0x80000000U /* Reserved for future struct statx expansion */
|
||||
|
||||
|
|
|
|||
|
|
@ -3,22 +3,6 @@
|
|||
* Advanced Linux Sound Architecture - ALSA - Driver
|
||||
* Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>,
|
||||
* Abramo Bagnara <abramo@alsa-project.org>
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UAPI__SOUND_ASOUND_H
|
||||
|
|
|
|||
|
|
@ -588,6 +588,10 @@ ifndef NO_LIBELF
|
|||
ifeq ($(feature-libbpf-bpf_object__next_map), 1)
|
||||
CFLAGS += -DHAVE_LIBBPF_BPF_OBJECT__NEXT_MAP
|
||||
endif
|
||||
$(call feature_check,libbpf-bpf_program__set_insns)
|
||||
ifeq ($(feature-libbpf-bpf_program__set_insns), 1)
|
||||
CFLAGS += -DHAVE_LIBBPF_BPF_PROGRAM__SET_INSNS
|
||||
endif
|
||||
$(call feature_check,libbpf-btf__raw_data)
|
||||
ifeq ($(feature-libbpf-btf__raw_data), 1)
|
||||
CFLAGS += -DHAVE_LIBBPF_BTF__RAW_DATA
|
||||
|
|
@ -604,6 +608,7 @@ ifndef NO_LIBELF
|
|||
CFLAGS += -DHAVE_LIBBPF_BPF_PROG_LOAD
|
||||
CFLAGS += -DHAVE_LIBBPF_BPF_OBJECT__NEXT_PROGRAM
|
||||
CFLAGS += -DHAVE_LIBBPF_BPF_OBJECT__NEXT_MAP
|
||||
CFLAGS += -DHAVE_LIBBPF_BPF_PROGRAM__SET_INSNS
|
||||
CFLAGS += -DHAVE_LIBBPF_BTF__RAW_DATA
|
||||
CFLAGS += -DHAVE_LIBBPF_BPF_MAP_CREATE
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -228,8 +228,10 @@
|
|||
176 64 rt_sigtimedwait sys_rt_sigtimedwait
|
||||
177 nospu rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo
|
||||
178 nospu rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend
|
||||
179 common pread64 sys_pread64 compat_sys_ppc_pread64
|
||||
180 common pwrite64 sys_pwrite64 compat_sys_ppc_pwrite64
|
||||
179 32 pread64 sys_ppc_pread64 compat_sys_ppc_pread64
|
||||
179 64 pread64 sys_pread64
|
||||
180 32 pwrite64 sys_ppc_pwrite64 compat_sys_ppc_pwrite64
|
||||
180 64 pwrite64 sys_pwrite64
|
||||
181 common chown sys_chown
|
||||
182 common getcwd sys_getcwd
|
||||
183 common capget sys_capget
|
||||
|
|
@ -242,10 +244,11 @@
|
|||
188 common putpmsg sys_ni_syscall
|
||||
189 nospu vfork sys_vfork
|
||||
190 common ugetrlimit sys_getrlimit compat_sys_getrlimit
|
||||
191 common readahead sys_readahead compat_sys_ppc_readahead
|
||||
191 32 readahead sys_ppc_readahead compat_sys_ppc_readahead
|
||||
191 64 readahead sys_readahead
|
||||
192 32 mmap2 sys_mmap2 compat_sys_mmap2
|
||||
193 32 truncate64 sys_truncate64 compat_sys_ppc_truncate64
|
||||
194 32 ftruncate64 sys_ftruncate64 compat_sys_ppc_ftruncate64
|
||||
193 32 truncate64 sys_ppc_truncate64 compat_sys_ppc_truncate64
|
||||
194 32 ftruncate64 sys_ppc_ftruncate64 compat_sys_ppc_ftruncate64
|
||||
195 32 stat64 sys_stat64
|
||||
196 32 lstat64 sys_lstat64
|
||||
197 32 fstat64 sys_fstat64
|
||||
|
|
@ -288,7 +291,8 @@
|
|||
230 common io_submit sys_io_submit compat_sys_io_submit
|
||||
231 common io_cancel sys_io_cancel
|
||||
232 nospu set_tid_address sys_set_tid_address
|
||||
233 common fadvise64 sys_fadvise64 compat_sys_ppc32_fadvise64
|
||||
233 32 fadvise64 sys_ppc32_fadvise64 compat_sys_ppc32_fadvise64
|
||||
233 64 fadvise64 sys_fadvise64
|
||||
234 nospu exit_group sys_exit_group
|
||||
235 nospu lookup_dcookie sys_lookup_dcookie compat_sys_lookup_dcookie
|
||||
236 common epoll_create sys_epoll_create
|
||||
|
|
|
|||
|
|
@ -649,7 +649,7 @@ static int record__pushfn(struct mmap *map, void *to, void *bf, size_t size)
|
|||
static volatile int signr = -1;
|
||||
static volatile int child_finished;
|
||||
#ifdef HAVE_EVENTFD_SUPPORT
|
||||
static int done_fd = -1;
|
||||
static volatile int done_fd = -1;
|
||||
#endif
|
||||
|
||||
static void sig_handler(int sig)
|
||||
|
|
@ -661,19 +661,24 @@ static void sig_handler(int sig)
|
|||
|
||||
done = 1;
|
||||
#ifdef HAVE_EVENTFD_SUPPORT
|
||||
{
|
||||
u64 tmp = 1;
|
||||
/*
|
||||
* It is possible for this signal handler to run after done is checked
|
||||
* in the main loop, but before the perf counter fds are polled. If this
|
||||
* happens, the poll() will continue to wait even though done is set,
|
||||
* and will only break out if either another signal is received, or the
|
||||
* counters are ready for read. To ensure the poll() doesn't sleep when
|
||||
* done is set, use an eventfd (done_fd) to wake up the poll().
|
||||
*/
|
||||
if (write(done_fd, &tmp, sizeof(tmp)) < 0)
|
||||
pr_err("failed to signal wakeup fd, error: %m\n");
|
||||
}
|
||||
if (done_fd >= 0) {
|
||||
u64 tmp = 1;
|
||||
int orig_errno = errno;
|
||||
|
||||
/*
|
||||
* It is possible for this signal handler to run after done is
|
||||
* checked in the main loop, but before the perf counter fds are
|
||||
* polled. If this happens, the poll() will continue to wait
|
||||
* even though done is set, and will only break out if either
|
||||
* another signal is received, or the counters are ready for
|
||||
* read. To ensure the poll() doesn't sleep when done is set,
|
||||
* use an eventfd (done_fd) to wake up the poll().
|
||||
*/
|
||||
if (write(done_fd, &tmp, sizeof(tmp)) < 0)
|
||||
pr_err("failed to signal wakeup fd, error: %m\n");
|
||||
|
||||
errno = orig_errno;
|
||||
}
|
||||
#endif // HAVE_EVENTFD_SUPPORT
|
||||
}
|
||||
|
||||
|
|
@ -2834,8 +2839,12 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
|
|||
|
||||
out_delete_session:
|
||||
#ifdef HAVE_EVENTFD_SUPPORT
|
||||
if (done_fd >= 0)
|
||||
close(done_fd);
|
||||
if (done_fd >= 0) {
|
||||
fd = done_fd;
|
||||
done_fd = -1;
|
||||
|
||||
close(fd);
|
||||
}
|
||||
#endif
|
||||
zstd_fini(&session->zstd_data);
|
||||
perf_session__delete(session);
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ for i in $SYNC_CHECK_FILES; do
|
|||
done
|
||||
|
||||
# diff with extra ignore lines
|
||||
check arch/x86/lib/memcpy_64.S '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>" -I"^SYM_FUNC_START\(_LOCAL\)*(memcpy_\(erms\|orig\))"'
|
||||
check arch/x86/lib/memcpy_64.S '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>" -I"^SYM_FUNC_START\(_LOCAL\)*(memcpy_\(erms\|orig\))" -I"^#include <linux/cfi_types.h>"'
|
||||
check arch/x86/lib/memset_64.S '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>" -I"^SYM_FUNC_START\(_LOCAL\)*(memset_\(erms\|orig\))"'
|
||||
check arch/x86/include/asm/amd-ibs.h '-I "^#include [<\"]\(asm/\)*msr-index.h"'
|
||||
check arch/arm64/include/asm/cputype.h '-I "^#include [<\"]\(asm/\)*sysreg.h"'
|
||||
|
|
|
|||
|
|
@ -112,21 +112,21 @@
|
|||
"MetricName": "indirect_branch"
|
||||
},
|
||||
{
|
||||
"MetricExpr": "(armv8_pmuv3_0@event\\=0x1014@ + armv8_pmuv3_0@event\\=0x1018@) / BR_MIS_PRED",
|
||||
"MetricExpr": "(armv8_pmuv3_0@event\\=0x1013@ + armv8_pmuv3_0@event\\=0x1016@) / BR_MIS_PRED",
|
||||
"PublicDescription": "Push branch L3 topdown metric",
|
||||
"BriefDescription": "Push branch L3 topdown metric",
|
||||
"MetricGroup": "TopDownL3",
|
||||
"MetricName": "push_branch"
|
||||
},
|
||||
{
|
||||
"MetricExpr": "armv8_pmuv3_0@event\\=0x100c@ / BR_MIS_PRED",
|
||||
"MetricExpr": "armv8_pmuv3_0@event\\=0x100d@ / BR_MIS_PRED",
|
||||
"PublicDescription": "Pop branch L3 topdown metric",
|
||||
"BriefDescription": "Pop branch L3 topdown metric",
|
||||
"MetricGroup": "TopDownL3",
|
||||
"MetricName": "pop_branch"
|
||||
},
|
||||
{
|
||||
"MetricExpr": "(BR_MIS_PRED - armv8_pmuv3_0@event\\=0x1010@ - armv8_pmuv3_0@event\\=0x1014@ - armv8_pmuv3_0@event\\=0x1018@ - armv8_pmuv3_0@event\\=0x100c@) / BR_MIS_PRED",
|
||||
"MetricExpr": "(BR_MIS_PRED - armv8_pmuv3_0@event\\=0x1010@ - armv8_pmuv3_0@event\\=0x1013@ - armv8_pmuv3_0@event\\=0x1016@ - armv8_pmuv3_0@event\\=0x100d@) / BR_MIS_PRED",
|
||||
"PublicDescription": "Other branch L3 topdown metric",
|
||||
"BriefDescription": "Other branch L3 topdown metric",
|
||||
"MetricGroup": "TopDownL3",
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
[
|
||||
{
|
||||
"MetricName": "VEC_GROUP_PUMP_RETRY_RATIO_P01",
|
||||
"MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP01\\,chip\\=?@ / hv_24x7@PM_PB_VG_PUMP01\\,chip\\=?@) * 100",
|
||||
"MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP01\\,chip\\=?@ / (1 + hv_24x7@PM_PB_VG_PUMP01\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "VEC_GROUP_PUMP_RETRY_RATIO_P23",
|
||||
"MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP23\\,chip\\=?@ / hv_24x7@PM_PB_VG_PUMP23\\,chip\\=?@) * 100",
|
||||
"MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP23\\,chip\\=?@ / (1 + hv_24x7@PM_PB_VG_PUMP23\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
|
|
@ -61,13 +61,13 @@
|
|||
},
|
||||
{
|
||||
"MetricName": "REMOTE_NODE_PUMPS_RETRIES_RATIO_P01",
|
||||
"MetricExpr": "(hv_24x7@PM_PB_RTY_RNS_PUMP01\\,chip\\=?@ / hv_24x7@PM_PB_RNS_PUMP01\\,chip\\=?@) * 100",
|
||||
"MetricExpr": "(hv_24x7@PM_PB_RTY_RNS_PUMP01\\,chip\\=?@ / (1 + hv_24x7@PM_PB_RNS_PUMP01\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "REMOTE_NODE_PUMPS_RETRIES_RATIO_P23",
|
||||
"MetricExpr": "(hv_24x7@PM_PB_RTY_RNS_PUMP23\\,chip\\=?@ / hv_24x7@PM_PB_RNS_PUMP23\\,chip\\=?@) * 100",
|
||||
"MetricExpr": "(hv_24x7@PM_PB_RTY_RNS_PUMP23\\,chip\\=?@ / (1 + hv_24x7@PM_PB_RNS_PUMP23\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
|
|
@ -151,193 +151,193 @@
|
|||
},
|
||||
{
|
||||
"MetricName": "XLINK0_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK0_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK0_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK1_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK1_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK1_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK2_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK2_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK2_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK3_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK3_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK3_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK4_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK4_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK4_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK5_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK5_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK5_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK6_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK6_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK6_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK7_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK7_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK7_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK0_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK0_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK0_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK1_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK1_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK1_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK2_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK2_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK2_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK3_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK3_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK3_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK4_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK4_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK4_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK5_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK5_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK5_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK6_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK6_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK6_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "XLINK7_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK7_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_XLINK7_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK0_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK0_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK0_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK1_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK1_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK1_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK2_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK2_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK2_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK3_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK3_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK3_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK4_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK4_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK4_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK5_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK5_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK5_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK6_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK6_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK6_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK7_OUT_TOTAL_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK7_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK7_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK0_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK0_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK0_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK1_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK1_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK1_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK2_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK2_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK2_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK3_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK3_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK3_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK4_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK4_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK4_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK5_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK5_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK5_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK6_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK6_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK6_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
{
|
||||
"MetricName": "ALINK7_OUT_DATA_UTILIZATION",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK7_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"MetricExpr": "((hv_24x7@PM_ALINK7_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
|
||||
"ScaleUnit": "1.063%",
|
||||
"AggregationMode": "PerChip"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -526,6 +526,12 @@ test_kernel_trace()
|
|||
test_virtual_lbr()
|
||||
{
|
||||
echo "--- Test virtual LBR ---"
|
||||
# Check if python script is supported
|
||||
libpython=$(perf version --build-options | grep python | grep -cv OFF)
|
||||
if [ "${libpython}" != "1" ] ; then
|
||||
echo "SKIP: python scripting is not supported"
|
||||
return 2
|
||||
fi
|
||||
|
||||
# Python script to determine the maximum size of branch stacks
|
||||
cat << "_end_of_file_" > "${maxbrstack}"
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ size_t syscall_arg__scnprintf_statx_mask(char *bf, size_t size, struct syscall_a
|
|||
P_FLAG(BLOCKS);
|
||||
P_FLAG(BTIME);
|
||||
P_FLAG(MNT_ID);
|
||||
P_FLAG(DIOALIGN);
|
||||
|
||||
#undef P_FLAG
|
||||
|
||||
|
|
|
|||
|
|
@ -2325,11 +2325,19 @@ struct sym_args {
|
|||
bool near;
|
||||
};
|
||||
|
||||
static bool kern_sym_name_match(const char *kname, const char *name)
|
||||
{
|
||||
size_t n = strlen(name);
|
||||
|
||||
return !strcmp(kname, name) ||
|
||||
(!strncmp(kname, name, n) && kname[n] == '\t');
|
||||
}
|
||||
|
||||
static bool kern_sym_match(struct sym_args *args, const char *name, char type)
|
||||
{
|
||||
/* A function with the same name, and global or the n'th found or any */
|
||||
return kallsyms__is_function(type) &&
|
||||
!strcmp(name, args->name) &&
|
||||
kern_sym_name_match(name, args->name) &&
|
||||
((args->global && isupper(type)) ||
|
||||
(args->selected && ++(args->cnt) == args->idx) ||
|
||||
(!args->global && !args->selected));
|
||||
|
|
|
|||
|
|
@ -36,6 +36,11 @@ struct btf *btf__load_from_kernel_by_id(__u32 id)
|
|||
#endif
|
||||
|
||||
#ifndef HAVE_LIBBPF_BPF_PROG_LOAD
|
||||
LIBBPF_API int bpf_load_program(enum bpf_prog_type type,
|
||||
const struct bpf_insn *insns, size_t insns_cnt,
|
||||
const char *license, __u32 kern_version,
|
||||
char *log_buf, size_t log_buf_sz);
|
||||
|
||||
int bpf_prog_load(enum bpf_prog_type prog_type,
|
||||
const char *prog_name __maybe_unused,
|
||||
const char *license,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,24 @@
|
|||
|
||||
#include <internal/xyarray.h>
|
||||
|
||||
#ifndef HAVE_LIBBPF_BPF_PROGRAM__SET_INSNS
|
||||
int bpf_program__set_insns(struct bpf_program *prog __maybe_unused,
|
||||
struct bpf_insn *new_insns __maybe_unused, size_t new_insn_cnt __maybe_unused)
|
||||
{
|
||||
pr_err("%s: not support, update libbpf\n", __func__);
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int libbpf_register_prog_handler(const char *sec __maybe_unused,
|
||||
enum bpf_prog_type prog_type __maybe_unused,
|
||||
enum bpf_attach_type exp_attach_type __maybe_unused,
|
||||
const struct libbpf_prog_handler_opts *opts __maybe_unused)
|
||||
{
|
||||
pr_err("%s: not support, update libbpf\n", __func__);
|
||||
return -ENOTSUP;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* temporarily disable libbpf deprecation warnings */
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
|
||||
|
|
|
|||
|
|
@ -115,4 +115,17 @@
|
|||
SYM_ALIAS(alias, name, SYM_T_FUNC, SYM_L_WEAK)
|
||||
#endif
|
||||
|
||||
// In the kernel sources (include/linux/cfi_types.h), this has a different
|
||||
// definition when CONFIG_CFI_CLANG is used, for tools/ just use the !clang
|
||||
// definition:
|
||||
#ifndef SYM_TYPED_START
|
||||
#define SYM_TYPED_START(name, linkage, align...) \
|
||||
SYM_START(name, linkage, align)
|
||||
#endif
|
||||
|
||||
#ifndef SYM_TYPED_FUNC_START
|
||||
#define SYM_TYPED_FUNC_START(name) \
|
||||
SYM_TYPED_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)
|
||||
#endif
|
||||
|
||||
#endif /* PERF_LINUX_LINKAGE_H_ */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user