From 726a67e38f1e58ddf5b41cd3c169dc0d59596ddd Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Mon, 24 Feb 2014 18:52:55 -0500 Subject: linux-ti-staging: ARM_SCU patch got merged, add PREEMPT_VOLUNTARY patch, reshuffle Signed-off-by: Denys Dmytriyenko --- ...02-ARM-config-Add-HAVE_ARM_SCU-for-AM43XX.patch | 37 ------------------ ...onfig-omap-Change-PREEMPTion-to-voluntary.patch | 33 ++++++++++++++++ ...ge-ARM-config-omap-Disable-SMP-for-AM335x.patch | 43 --------------------- ...ge-ARM-config-omap-Disable-SMP-for-AM335x.patch | 45 ++++++++++++++++++++++ recipes-kernel/linux/linux-ti-staging_3.12.bb | 10 ++--- 5 files changed, 83 insertions(+), 85 deletions(-) delete mode 100644 recipes-kernel/linux/linux-ti-staging/0002-ARM-config-Add-HAVE_ARM_SCU-for-AM43XX.patch create mode 100644 recipes-kernel/linux/linux-ti-staging/0004-ARM-config-omap-Change-PREEMPTion-to-voluntary.patch delete mode 100644 recipes-kernel/linux/linux-ti-staging/0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch create mode 100644 recipes-kernel/linux/linux-ti-staging/0005-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch diff --git a/recipes-kernel/linux/linux-ti-staging/0002-ARM-config-Add-HAVE_ARM_SCU-for-AM43XX.patch b/recipes-kernel/linux/linux-ti-staging/0002-ARM-config-Add-HAVE_ARM_SCU-for-AM43XX.patch deleted file mode 100644 index 8137bb30..00000000 --- a/recipes-kernel/linux/linux-ti-staging/0002-ARM-config-Add-HAVE_ARM_SCU-for-AM43XX.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 5b2aa64ccdeef659a9688730753199ba5b8e60b1 Mon Sep 17 00:00:00 2001 -From: Dave Gerlach -Date: Fri, 21 Feb 2014 10:25:33 +0000 -Subject: [PATCH 2/4] ARM: config: Add HAVE_ARM_SCU for AM43XX - -CONFIG_HAVE_ARM_SCU only gets selected if CONFIG_SMP is selected in an OMAP -system however AM43XX needs this option regardless of CONFIG_SMP as it is -important for controlling power in the SoC. Without this suspend will -not work as scu_power_mode becomes an empty function. - -AM43XX requires SCU CPU Power Status bits for A9 core to be set to off mode -in order for the MSTANDBY signal to be asserted from the MPU during WFI. -This signal is used by the PRCM to determine when it is appropriate to -clock gate the MPU clock domain and also trigger M3_IRQ2 to tell the wkup_m3 -firmware to put the part into the desired sleep more. - -Signed-off-by: Dave Gerlach -Tested-by: Sekhar Nori ---- - arch/arm/mach-omap2/Kconfig | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig -index 959f6fc..373d576 100644 ---- a/arch/arm/mach-omap2/Kconfig -+++ b/arch/arm/mach-omap2/Kconfig -@@ -85,6 +85,7 @@ config SOC_AM43XX - depends on ARCH_MULTI_V7 - select CPU_V7 - select ARCH_OMAP2PLUS -+ select HAVE_ARM_SCU - select MULTI_IRQ_HANDLER - select ARM_GIC - select COMMON_CLK --- -1.7.0.4 - diff --git a/recipes-kernel/linux/linux-ti-staging/0004-ARM-config-omap-Change-PREEMPTion-to-voluntary.patch b/recipes-kernel/linux/linux-ti-staging/0004-ARM-config-omap-Change-PREEMPTion-to-voluntary.patch new file mode 100644 index 00000000..469a0c7e --- /dev/null +++ b/recipes-kernel/linux/linux-ti-staging/0004-ARM-config-omap-Change-PREEMPTion-to-voluntary.patch @@ -0,0 +1,33 @@ +From 54821ed9f986a0023bbc3fa08060e1f2c8efb6b5 Mon Sep 17 00:00:00 2001 +From: Chase Maupin +Date: Mon, 24 Feb 2014 13:16:20 -0600 +Subject: [PATCH 1/2] ARM: config: omap: Change PREEMPTion to voluntary + +* Change the default PREEMPT mode to voluntary which reduces the + overhead and increases performance for many use cases such as + UDP networking and cryptography. +* Based on recommendations from Joel Fernandes + +Signed-off-by: Joel Fernandes +Signed-off-by: Chase Maupin +Signed-off-by: Denys Dmytriyenko +--- + arch/arm/configs/omap2plus_defconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig +index 3975b08..a34b45a 100644 +--- a/arch/arm/configs/omap2plus_defconfig ++++ b/arch/arm/configs/omap2plus_defconfig +@@ -38,7 +38,7 @@ CONFIG_ARM_ERRATA_411920=y + CONFIG_PCIE_DRA7XX=y + CONFIG_SMP=y + CONFIG_NR_CPUS=2 +-CONFIG_PREEMPT=y ++CONFIG_PREEMPT_VOLUNTARY=y + CONFIG_CMA=y + CONFIG_ZBOOT_ROM_TEXT=0x0 + CONFIG_ZBOOT_ROM_BSS=0x0 +-- +1.8.3.2 + diff --git a/recipes-kernel/linux/linux-ti-staging/0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch b/recipes-kernel/linux/linux-ti-staging/0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch deleted file mode 100644 index b01c4d0c..00000000 --- a/recipes-kernel/linux/linux-ti-staging/0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 89783143b64210e8f159fd875b23aa9af1fd51b0 Mon Sep 17 00:00:00 2001 -From: Santosh Shilimkar -Date: Thu, 13 Feb 2014 08:52:41 -0500 -Subject: [PATCH 4/4] Not-for-merge: ARM: config: omap: Disable SMP for AM335x build - -SMP and SMP_ON_UP introduces some extra barriers and code many fast paths -including kernel lock functions. - -Performance sensitive usecases like networking gets impacted because of this. -In typical production kernel which is targeted for single core device -like AM335x family, you don't want to take this hit. - -Ideally one should just create a device specific config feed as done by all -typical distro's. Other option is to apply this specifically during build -time using recipe. - -Whichever option, one definitely don't want this overhead for performance -critical usecases. - -Disabling SMP in the build introduces one warining in cpuidle44xx.c driver -and fix is included in the series - -Signed-off-by: Santosh Shilimkar ---- - arch/arm/configs/omap2plus_defconfig | 2 -- - 1 files changed, 0 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig -index 3975b08..cfbc2d0 100644 ---- a/arch/arm/configs/omap2plus_defconfig -+++ b/arch/arm/configs/omap2plus_defconfig -@@ -36,8 +36,6 @@ CONFIG_OMAP4_ERRATA_I688=y - CONFIG_ARM_THUMBEE=y - CONFIG_ARM_ERRATA_411920=y - CONFIG_PCIE_DRA7XX=y --CONFIG_SMP=y --CONFIG_NR_CPUS=2 - CONFIG_PREEMPT=y - CONFIG_CMA=y - CONFIG_ZBOOT_ROM_TEXT=0x0 --- -1.7.0.4 - diff --git a/recipes-kernel/linux/linux-ti-staging/0005-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch b/recipes-kernel/linux/linux-ti-staging/0005-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch new file mode 100644 index 00000000..8e016b4b --- /dev/null +++ b/recipes-kernel/linux/linux-ti-staging/0005-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch @@ -0,0 +1,45 @@ +From 2f6cbe000b1d31c91eee0248f24b0c306aadeb63 Mon Sep 17 00:00:00 2001 +From: Santosh Shilimkar +Date: Thu, 13 Feb 2014 08:52:41 -0500 +Subject: [PATCH 2/2] Not-for-merge: ARM: config: omap: Disable SMP for AM335x + build + +SMP and SMP_ON_UP introduces some extra barriers and code many fast paths +including kernel lock functions. + +Performance sensitive usecases like networking gets impacted because of this. +In typical production kernel which is targeted for single core device +like AM335x family, you don't want to take this hit. + +Ideally one should just create a device specific config feed as done by all +typical distro's. Other option is to apply this specifically during build +time using recipe. + +Whichever option, one definitely don't want this overhead for performance +critical usecases. + +Disabling SMP in the build introduces one warining in cpuidle44xx.c driver +and fix is included in the series + +Signed-off-by: Santosh Shilimkar +Signed-off-by: Denys Dmytriyenko +--- + arch/arm/configs/omap2plus_defconfig | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig +index a34b45a..bb6beb2 100644 +--- a/arch/arm/configs/omap2plus_defconfig ++++ b/arch/arm/configs/omap2plus_defconfig +@@ -36,8 +36,6 @@ CONFIG_OMAP4_ERRATA_I688=y + CONFIG_ARM_THUMBEE=y + CONFIG_ARM_ERRATA_411920=y + CONFIG_PCIE_DRA7XX=y +-CONFIG_SMP=y +-CONFIG_NR_CPUS=2 + CONFIG_PREEMPT_VOLUNTARY=y + CONFIG_CMA=y + CONFIG_ZBOOT_ROM_TEXT=0x0 +-- +1.8.3.2 + diff --git a/recipes-kernel/linux/linux-ti-staging_3.12.bb b/recipes-kernel/linux/linux-ti-staging_3.12.bb index 32cc5c5d..9f39a723 100644 --- a/recipes-kernel/linux/linux-ti-staging_3.12.bb +++ b/recipes-kernel/linux/linux-ti-staging_3.12.bb @@ -36,11 +36,11 @@ S = "${WORKDIR}/git" BRANCH = "ti-linux-3.12.y" -SRCREV = "d5e4bfd196e114c885c5c42cf0a7b3edc7e54829" +SRCREV = "c559824b17bfc194cc072dac0720ac8e23373871" PV = "3.12.10" # Append to the MACHINE_KERNEL_PR so that a new SRCREV will cause a rebuild -MACHINE_KERNEL_PR_append = "h+gitr${SRCPV}" +MACHINE_KERNEL_PR_append = "i+gitr${SRCPV}" PR = "${MACHINE_KERNEL_PR}" SRC_URI = "git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git;protocol=git;branch=${BRANCH} \ @@ -49,9 +49,9 @@ SRC_URI = "git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git;protocol=git;bra # Latest critical fixes SRC_URI += "file://0001-Revert-usb-musb-musb_cppi41-Revert-the-Advisory-1.0..patch \ - file://0002-ARM-config-Add-HAVE_ARM_SCU-for-AM43XX.patch \ file://0003-ARM-OMAP-Kill-warning-in-CPUIDLE-code-with-CONFIG_SM.patch \ + file://0004-ARM-config-omap-Change-PREEMPTion-to-voluntary.patch \ " -SRC_URI_append_ti33x = "file://0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch" -SRC_URI_append_ti43x = "file://0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch" +SRC_URI_append_ti33x = "file://0005-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch" +SRC_URI_append_ti43x = "file://0005-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch" -- cgit v1.2.3-54-g00ecf