diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2020-11-18 19:42:21 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2020-11-20 16:38:24 +0300 |
commit | f034379238f980a8c5ec4295288448eab2a3d015 (patch) | |
tree | 1787275509bc13436dbec1a548169ef5f8ae0538 /poky/meta/recipes-devtools | |
parent | bc442de08ff2e45ae01cb74397ccf010ef9797af (diff) | |
download | openbmc-f034379238f980a8c5ec4295288448eab2a3d015.tar.xz |
Revert "Revert "poky: subtree update:b23aa6b753..ad30a6d470""
This reverts commit 4873add6e11c1bd421c83cd08df589f1184aa673.
A fix has been put up for openbmc/openbmc#3720 so we can bring
this back now
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: If59020a5b502f70aa7149fbef4ad2f50824d1ce6
Diffstat (limited to 'poky/meta/recipes-devtools')
7 files changed, 194 insertions, 2 deletions
diff --git a/poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb b/poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb index 522bf3a0e..02c6e152f 100644 --- a/poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb +++ b/poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb @@ -6,6 +6,8 @@ SRC_URI += "file://fixinstall.patch" datadir = "${STAGING_DIR_TARGET}${target_datadir}" +inherit nopackages + do_configure_prepend () { # Remove any existing libtool m4 since old stale versions would break # any upgrade diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb index 918141342..8d6bbfca3 100644 --- a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb +++ b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb @@ -17,7 +17,7 @@ SRC_URI = "git://git.infradead.org/mtd-utils.git \ file://add-exclusion-to-mkfs-jffs2-git-2.patch \ " -S = "${WORKDIR}/git/" +S = "${WORKDIR}/git" EXTRA_OECONF += "--enable-install-tests" diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb index 3b623d8bd..2e13fec54 100644 --- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -6,7 +6,7 @@ SRC_URI = "git://git.yoctoproject.org/pseudo;branch=oe-core \ file://fallback-group \ " -SRCREV = "d6b1b13c268d7246f0288d32d6b5eccc658cff4e" +SRCREV = "cca0d7f15b7197095cd587420d31b187620c3093" S = "${WORKDIR}/git" PV = "1.9.0+git${SRCPV}" diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index bbb903896..6c0edcb70 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -31,6 +31,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://0001-qemu-Do-not-include-file-if-not-exists.patch \ file://find_datadir.patch \ file://usb-fix-setup_len-init.patch \ + file://0001-mips-add-34Kf-64tlb-fictitious-cpu-type-like-34Kf-bu.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-mips-add-34Kf-64tlb-fictitious-cpu-type-like-34Kf-bu.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-mips-add-34Kf-64tlb-fictitious-cpu-type-like-34Kf-bu.patch new file mode 100644 index 000000000..b6312e154 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0001-mips-add-34Kf-64tlb-fictitious-cpu-type-like-34Kf-bu.patch @@ -0,0 +1,118 @@ +From b3fcc7d96523ad8e3ea28c09d495ef08529d01ce Mon Sep 17 00:00:00 2001 +From: Victor Kamensky <kamensky@cisco.com> +Date: Wed, 7 Oct 2020 10:19:42 -0700 +Subject: [PATCH] mips: add 34Kf-64tlb fictitious cpu type like 34Kf but with + 64 TLBs + +In Yocto Project CI runs it was observed that test run +of 32 bit mips image takes almost twice longer than 64 bit +mips image with the same logical load and CI execution +hits timeout. + +See https://bugzilla.yoctoproject.org/show_bug.cgi?id=13992 + +Yocto project uses 34Kf cpu type to run 32 bit mips image, +and MIPS64R2-generic cpu type to run 64 bit mips64 image. + +Upon qemu behavior differences investigation between mips +and mips64 two prominent observations came up: under +logically similar load (same definition and configuration +of user-land image) in case of mips get_physical_address +function is called almost twice more often, meaning +twice more memory accesses involved in this case. Also +number of tlbwr instruction executed (r4k_helper_tlbwr +qemu function) almost 16 time bigger in mips case than in +mips64. + +It turns out that 34Kf cpu has 16 TLBs, but in case of +MIPS64R2-generic it is 64 TLBs. So that explains why +some many more tlbwr had to be execute by kernel TLB refill +handler in case of 32 bit misp. + +The idea of the fix is to come up with new 34Kf-64tlb fictitious +cpu type, that would behave exactly as 34Kf but it would +contain 64 TLBs to reduce TLB trashing. After all, adding +more TLBs to soft mmu is easy. + +Experiment with some significant non-trvial load in Yocto +environment by running do_testimage load shows that 34Kf-64tlb +cpu performs 40% or so better than original 34Kf cpu wrt test +execution real time. + +It is not ideal to have cpu type that does not exist in the +wild but given performance gains it seems to be justified. + +Signed-off-by: Victor Kamensky <kamensky@cisco.com> +--- + target/mips/translate_init.inc.c | 55 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 55 insertions(+) + +diff --git a/target/mips/translate_init.inc.c b/target/mips/translate_init.inc.c +index 637caccd89..b73ab48231 100644 +--- a/target/mips/translate_init.inc.c ++++ b/target/mips/translate_init.inc.c +@@ -297,6 +297,61 @@ const mips_def_t mips_defs[] = + .insn_flags = CPU_MIPS32R2 | ASE_MIPS16 | ASE_DSP | ASE_MT, + .mmu_type = MMU_TYPE_R4000, + }, ++ /* ++ * Verbatim copy of "34Kf" cpu, only bumped up number of TLB entries ++ * from 16 to 64 (see CP0_Config0 value at CP0C1_MMU bits) to improve ++ * performance by reducing number of TLB refill exceptions and ++ * eliminating need to run all corresponding TLB refill handling ++ * instructions. ++ */ ++ { ++ .name = "34Kf-64tlb", ++ .CP0_PRid = 0x00019500, ++ .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR) | ++ (MMU_TYPE_R4000 << CP0C0_MT), ++ .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (63 << CP0C1_MMU) | ++ (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 << CP0C1_IA) | ++ (0 << CP0C1_DS) | (3 << CP0C1_DL) | (1 << CP0C1_DA) | ++ (1 << CP0C1_CA), ++ .CP0_Config2 = MIPS_CONFIG2, ++ .CP0_Config3 = MIPS_CONFIG3 | (1 << CP0C3_VInt) | (1 << CP0C3_MT) | ++ (1 << CP0C3_DSPP), ++ .CP0_LLAddr_rw_bitmask = 0, ++ .CP0_LLAddr_shift = 0, ++ .SYNCI_Step = 32, ++ .CCRes = 2, ++ .CP0_Status_rw_bitmask = 0x3778FF1F, ++ .CP0_TCStatus_rw_bitmask = (0 << CP0TCSt_TCU3) | (0 << CP0TCSt_TCU2) | ++ (1 << CP0TCSt_TCU1) | (1 << CP0TCSt_TCU0) | ++ (0 << CP0TCSt_TMX) | (1 << CP0TCSt_DT) | ++ (1 << CP0TCSt_DA) | (1 << CP0TCSt_A) | ++ (0x3 << CP0TCSt_TKSU) | (1 << CP0TCSt_IXMT) | ++ (0xff << CP0TCSt_TASID), ++ .CP1_fcr0 = (1 << FCR0_F64) | (1 << FCR0_L) | (1 << FCR0_W) | ++ (1 << FCR0_D) | (1 << FCR0_S) | (0x95 << FCR0_PRID), ++ .CP1_fcr31 = 0, ++ .CP1_fcr31_rw_bitmask = 0xFF83FFFF, ++ .CP0_SRSCtl = (0xf << CP0SRSCtl_HSS), ++ .CP0_SRSConf0_rw_bitmask = 0x3fffffff, ++ .CP0_SRSConf0 = (1U << CP0SRSC0_M) | (0x3fe << CP0SRSC0_SRS3) | ++ (0x3fe << CP0SRSC0_SRS2) | (0x3fe << CP0SRSC0_SRS1), ++ .CP0_SRSConf1_rw_bitmask = 0x3fffffff, ++ .CP0_SRSConf1 = (1U << CP0SRSC1_M) | (0x3fe << CP0SRSC1_SRS6) | ++ (0x3fe << CP0SRSC1_SRS5) | (0x3fe << CP0SRSC1_SRS4), ++ .CP0_SRSConf2_rw_bitmask = 0x3fffffff, ++ .CP0_SRSConf2 = (1U << CP0SRSC2_M) | (0x3fe << CP0SRSC2_SRS9) | ++ (0x3fe << CP0SRSC2_SRS8) | (0x3fe << CP0SRSC2_SRS7), ++ .CP0_SRSConf3_rw_bitmask = 0x3fffffff, ++ .CP0_SRSConf3 = (1U << CP0SRSC3_M) | (0x3fe << CP0SRSC3_SRS12) | ++ (0x3fe << CP0SRSC3_SRS11) | (0x3fe << CP0SRSC3_SRS10), ++ .CP0_SRSConf4_rw_bitmask = 0x3fffffff, ++ .CP0_SRSConf4 = (0x3fe << CP0SRSC4_SRS15) | ++ (0x3fe << CP0SRSC4_SRS14) | (0x3fe << CP0SRSC4_SRS13), ++ .SEGBITS = 32, ++ .PABITS = 32, ++ .insn_flags = CPU_MIPS32R2 | ASE_MIPS16 | ASE_DSP | ASE_MT, ++ .mmu_type = MMU_TYPE_R4000, ++ }, + { + .name = "74Kf", + .CP0_PRid = 0x00019700, +-- +2.14.5 + diff --git a/poky/meta/recipes-devtools/strace/strace/0001-xlat-Mark-IPPROTO_MAX-last-in-IPPROTO_-constants.patch b/poky/meta/recipes-devtools/strace/strace/0001-xlat-Mark-IPPROTO_MAX-last-in-IPPROTO_-constants.patch new file mode 100644 index 000000000..cd53f33f6 --- /dev/null +++ b/poky/meta/recipes-devtools/strace/strace/0001-xlat-Mark-IPPROTO_MAX-last-in-IPPROTO_-constants.patch @@ -0,0 +1,70 @@ +From 387d3b6fba95cb47c4dacc6bcd330148a9168850 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 7 Oct 2020 12:54:03 -0700 +Subject: [PATCH] xlat: Mark IPPROTO_MAX last in IPPROTO_* constants + +* xlat/inet_protocols.in (IPPROTO_MAX): It should be the last entry + after adding IPPROTO_MPTCP this should have new value as + IPPROTO_MPTCP + 1. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Submitted [https://lists.strace.io/pipermail/strace-devel/2020-October/010253.html] +--- + xlat/inet_protocols.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/xlat/inet_protocols.in ++++ b/xlat/inet_protocols.in +@@ -32,5 +32,5 @@ IPPROTO_UDPLITE 136 + IPPROTO_MPLS 137 + IPPROTO_ETHERNET 143 + IPPROTO_RAW 255 +-IPPROTO_MAX 256 + IPPROTO_MPTCP 262 ++IPPROTO_MAX 263 +--- a/xlat/inet_protocols.h ++++ b/xlat/inet_protocols.h +@@ -234,19 +234,19 @@ DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else + # define IPPROTO_RAW 255 + #endif +-#if defined(IPPROTO_MAX) || (defined(HAVE_DECL_IPPROTO_MAX) && HAVE_DECL_IPPROTO_MAX) ++#if defined(IPPROTO_MPTCP) || (defined(HAVE_DECL_IPPROTO_MPTCP) && HAVE_DECL_IPPROTO_MPTCP) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((IPPROTO_MAX) == (256), "IPPROTO_MAX != 256"); ++static_assert((IPPROTO_MPTCP) == (262), "IPPROTO_MPTCP != 262"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define IPPROTO_MAX 256 ++# define IPPROTO_MPTCP 262 + #endif +-#if defined(IPPROTO_MPTCP) || (defined(HAVE_DECL_IPPROTO_MPTCP) && HAVE_DECL_IPPROTO_MPTCP) ++#if defined(IPPROTO_MAX) || (defined(HAVE_DECL_IPPROTO_MAX) && HAVE_DECL_IPPROTO_MAX) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +-static_assert((IPPROTO_MPTCP) == (262), "IPPROTO_MPTCP != 262"); ++static_assert((IPPROTO_MAX) == (263), "IPPROTO_MAX != 263"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else +-# define IPPROTO_MPTCP 262 ++# define IPPROTO_MAX 263 + #endif + + #ifndef XLAT_MACROS_ONLY +@@ -353,12 +353,12 @@ static const struct xlat_data inet_proto + XLAT(IPPROTO_RAW), + #define XLAT_VAL_32 ((unsigned) (IPPROTO_RAW)) + #define XLAT_STR_32 STRINGIFY(IPPROTO_RAW) +- XLAT(IPPROTO_MAX), +- #define XLAT_VAL_33 ((unsigned) (IPPROTO_MAX)) +- #define XLAT_STR_33 STRINGIFY(IPPROTO_MAX) + XLAT(IPPROTO_MPTCP), +- #define XLAT_VAL_34 ((unsigned) (IPPROTO_MPTCP)) +- #define XLAT_STR_34 STRINGIFY(IPPROTO_MPTCP) ++ #define XLAT_VAL_33 ((unsigned) (IPPROTO_MPTCP)) ++ #define XLAT_STR_33 STRINGIFY(IPPROTO_MPTCP) ++ XLAT(IPPROTO_MAX), ++ #define XLAT_VAL_34 ((unsigned) (IPPROTO_MAX)) ++ #define XLAT_STR_34 STRINGIFY(IPPROTO_MAX) + }; + const struct xlat inet_protocols[1] = { { + .data = inet_protocols_xdata, diff --git a/poky/meta/recipes-devtools/strace/strace_5.8.bb b/poky/meta/recipes-devtools/strace/strace_5.8.bb index 70d5940f6..0415588b9 100644 --- a/poky/meta/recipes-devtools/strace/strace_5.8.bb +++ b/poky/meta/recipes-devtools/strace/strace_5.8.bb @@ -14,6 +14,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ file://ptest-spacesave.patch \ file://uintptr_t.patch \ file://0001-strace-fix-reproducibilty-issues.patch \ + file://0001-xlat-Mark-IPPROTO_MAX-last-in-IPPROTO_-constants.patch \ " SRC_URI[sha256sum] = "df4a669f7fff9cc302784085bd4b72fab216a426a3f72c892b28a537b71e7aa9" |