From e3908143d5f29bb62c7ca4ba8dcddb04d75f12cc Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 29 Aug 2018 20:01:01 +0200 Subject: [PATCH 1/2] linux (RPi): update to 4.14.67 drop softirq patches, Linus' patch is upstream since 4.14.63 Signed-off-by: Matthias Reichl --- packages/linux/package.mk | 4 +- ...rt-softirqd-let-ksoftirqd-do-its-job.patch | 54 ------------------- ...linus-commit-to-fix-ksoftirqd-issues.patch | 53 ------------------ 3 files changed, 2 insertions(+), 109 deletions(-) delete mode 100644 packages/linux/patches/raspberrypi/linux-999-01-0001-revert-revert-softirqd-let-ksoftirqd-do-its-job.patch delete mode 100644 packages/linux/patches/raspberrypi/linux-999-01-0002-use-linus-commit-to-fix-ksoftirqd-issues.patch diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 966c33b346e..d69cf8faa89 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -41,8 +41,8 @@ case "$LINUX" in PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz" ;; raspberrypi) - PKG_VERSION="1f89ad77bf9b204c18fb6fdd167b4ee92d064f95" # 4.14.62 - PKG_SHA256="153deef35bf1895fb0825395c0f9fb61832dcf0131987fce99449beb17afa173" + PKG_VERSION="0f937c8dc3201ebffa6c617c616fd7c65db65959" # 4.14.67 + PKG_SHA256="2d839aebdeebda096a40180378605ad196c98bf8bf997e55fb831ca8b331bf39" PKG_URL="https://github.com/raspberrypi/linux/archive/$PKG_VERSION.tar.gz" PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz" ;; diff --git a/packages/linux/patches/raspberrypi/linux-999-01-0001-revert-revert-softirqd-let-ksoftirqd-do-its-job.patch b/packages/linux/patches/raspberrypi/linux-999-01-0001-revert-revert-softirqd-let-ksoftirqd-do-its-job.patch deleted file mode 100644 index 1675678c649..00000000000 --- a/packages/linux/patches/raspberrypi/linux-999-01-0001-revert-revert-softirqd-let-ksoftirqd-do-its-job.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 907b5fbeaac54c4313132c0918c3090e967b80d4 Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Wed, 7 Mar 2018 23:46:21 +0000 -Subject: [PATCH] Revert "Revert "softirq: Let ksoftirqd do its job"" - -This reverts commit 0d118e31780349beb5ffa1777fd77058cc464ad6. ---- - kernel/softirq.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/kernel/softirq.c b/kernel/softirq.c -index 3f3fbc2..e89c3b0 100644 ---- a/kernel/softirq.c -+++ b/kernel/softirq.c -@@ -77,6 +77,17 @@ static void wakeup_softirqd(void) - wake_up_process(tsk); - } - -+/* -+ * If ksoftirqd is scheduled, we do not want to process pending softirqs -+ * right now. Let ksoftirqd handle this at its own rate, to get fairness. -+ */ -+static bool ksoftirqd_running(void) -+{ -+ struct task_struct *tsk = __this_cpu_read(ksoftirqd); -+ -+ return tsk && (tsk->state == TASK_RUNNING); -+} -+ - /* - * preempt_count and SOFTIRQ_OFFSET usage: - * - preempt_count is changed by SOFTIRQ_OFFSET on entering or leaving -@@ -313,7 +324,7 @@ asmlinkage __visible void do_softirq(void) - - pending = local_softirq_pending(); - -- if (pending) -+ if (pending && !ksoftirqd_running()) - do_softirq_own_stack(); - - local_irq_restore(flags); -@@ -340,6 +351,9 @@ void irq_enter(void) - - static inline void invoke_softirq(void) - { -+ if (ksoftirqd_running()) -+ return; -+ - if (!force_irqthreads) { - #ifdef CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK - /* --- -2.14.1 - diff --git a/packages/linux/patches/raspberrypi/linux-999-01-0002-use-linus-commit-to-fix-ksoftirqd-issues.patch b/packages/linux/patches/raspberrypi/linux-999-01-0002-use-linus-commit-to-fix-ksoftirqd-issues.patch deleted file mode 100644 index 947c47620e5..00000000000 --- a/packages/linux/patches/raspberrypi/linux-999-01-0002-use-linus-commit-to-fix-ksoftirqd-issues.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 5839d34af2063552f83865fd5ebac651688087f9 Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Thu, 1 Feb 2018 09:25:19 +0000 -Subject: [PATCH] Fix issues introduced by ksoftirqd change - ---- - kernel/softirq.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/kernel/softirq.c b/kernel/softirq.c -index 4e09821..d6772be 100644 ---- a/kernel/softirq.c -+++ b/kernel/softirq.c -@@ -79,12 +79,16 @@ static void wakeup_softirqd(void) - - /* - * If ksoftirqd is scheduled, we do not want to process pending softirqs -- * right now. Let ksoftirqd handle this at its own rate, to get fairness. -+ * right now. Let ksoftirqd handle this at its own rate, to get fairness, -+ * unless we're doing some of the synchronous softirqs. - */ --static bool ksoftirqd_running(void) -+#define SOFTIRQ_NOW_MASK ((1 << HI_SOFTIRQ) | (1 << TASKLET_SOFTIRQ)) -+static bool ksoftirqd_running(unsigned long pending) - { - struct task_struct *tsk = __this_cpu_read(ksoftirqd); - -+ if (pending & SOFTIRQ_NOW_MASK) -+ return false; - return tsk && (tsk->state == TASK_RUNNING); - } - -@@ -324,7 +328,7 @@ asmlinkage __visible void do_softirq(void) - - pending = local_softirq_pending(); - -- if (pending && !ksoftirqd_running()) -+ if (pending && !ksoftirqd_running(pending)) - do_softirq_own_stack(); - - local_irq_restore(flags); -@@ -351,7 +355,7 @@ void irq_enter(void) - - static inline void invoke_softirq(void) - { -- if (ksoftirqd_running()) -+ if (ksoftirqd_running(local_softirq_pending())) - return; - - if (!force_irqthreads) { --- -2.14.1 - From 6d2a2746853ea1e409af0d6d2cb327441970e942 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 29 Aug 2018 18:25:13 +0100 Subject: [PATCH 2/2] RPi: update to firmware ec3f856 --- packages/graphics/bcm2835-driver/package.mk | 4 ++-- packages/tools/bcm2835-bootloader/package.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/graphics/bcm2835-driver/package.mk b/packages/graphics/bcm2835-driver/package.mk index 7169d3417a5..65ae36c7962 100644 --- a/packages/graphics/bcm2835-driver/package.mk +++ b/packages/graphics/bcm2835-driver/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) PKG_NAME="bcm2835-driver" -PKG_VERSION="9c78bf4" -PKG_SHA256="fdc42cdcc24244a7c2cb26440ade78249b98aec6044ff70a9e6d69a9e95bf840" +PKG_VERSION="ec3f85659f9908b011b73dd6cad4ef2b06d8b640" +PKG_SHA256="039cd758116a6f1c34c30184864889fadc6a08273b3b2e7d8320d4e335375774" PKG_ARCH="any" PKG_LICENSE="nonfree" PKG_SITE="http://www.broadcom.com" diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index 1a818cb5923..48dbca7fe3c 100644 --- a/packages/tools/bcm2835-bootloader/package.mk +++ b/packages/tools/bcm2835-bootloader/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) PKG_NAME="bcm2835-bootloader" -PKG_VERSION="9c78bf4" -PKG_SHA256="b6ea09f5bf45a36861ebeae83ad74f384603c4d0be20862e8b639f568956ee7d" +PKG_VERSION="ec3f85659f9908b011b73dd6cad4ef2b06d8b640" +PKG_SHA256="051a77eaafd47b66972b7f290e8fe4bddf64a3430104b08c9aa98e98e02a5791" PKG_ARCH="arm" PKG_LICENSE="nonfree" PKG_SITE="http://www.broadcom.com"