summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Hernberg2019-03-03 10:39:32 +0100
committerJoakim Hernberg2019-03-03 10:39:32 +0100
commit638aa496ed700ed8872f2e3c6638c20d207259c6 (patch)
tree47a20f099563a7e50a270024d35831c5b9b2f306
parentf2f2411c5ed8c176f5aee0c5d3f14a3fffc79a95 (diff)
downloadaur-638aa496ed700ed8872f2e3c6638c20d207259c6.tar.gz
remove fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch
and bump to 4.19.25_rt16-1
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD10
-rw-r--r--fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch75
3 files changed, 12 insertions, 91 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9167f77d22d9..b3d92119cf66 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
# Generated by makepkg 5.1.2
-# Sat Feb 23 10:55:31 UTC 2019
+# Sun Mar 3 09:35:19 UTC 2019
pkgbase = linux-rt
- pkgver = 4.19.23_rt14
+ pkgver = 4.19.25_rt16
pkgrel = 1
url = https://git.archlinux.org/linux.git/log/?h=v
arch = x86_64
@@ -15,12 +15,11 @@ pkgbase = linux-rt
makedepends = python-sphinx
makedepends = graphviz
options = !strip
- source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.19.23.tar.xz
- source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.19.23.tar.sign
- source = https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patch-4.19.23-rt14.patch.xz
- source = https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patch-4.19.23-rt14.patch.sign
+ source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.19.25.tar.xz
+ source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.19.25.tar.sign
+ source = https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patch-4.19.25-rt16.patch.xz
+ source = https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patch-4.19.25-rt16.patch.sign
source = 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
- source = fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch
source = config
source = 60-linux-rt.hook
source = 90-linux-rt.hook
@@ -31,12 +30,11 @@ pkgbase = linux-rt
validpgpkeys = 64254695FFF0AA4466CC19E67B96E8162A8CF5D1
validpgpkeys = 5ED9A48FC54C0A22D1D0804CEBC26CDB5A56DE73
validpgpkeys = E644E2F1D45FA0B2EAA02F33109F098506FF0B14
- sha256sums = 2d9b25678aac7f3f109c52e6266fb6ee89cc424b597518a2875874bacb8f130a
+ sha256sums = 7ec71d90d6e96e6f741676d157ac06f30c75be4eaf1649143a3c8b7d4f919731
sha256sums = SKIP
- sha256sums = 83fba2dcb0d77b9ecf262bb09ba924d5aa103db46690b9eaca552080a7893620
+ sha256sums = 904079d66aea9a44ab4b6229d4a5430ef1c1beb2106954ba1a98656223f78036
sha256sums = SKIP
sha256sums = 75aa8dd708ca5a0137fbf7cddc9cafefe6aac6b8e0638c06c156d412d05af4bc
- sha256sums = 85f7612edfa129210343d6a4fe4ba2a4ac3542d98b7e28c8896738e7e6541c06
sha256sums = 464d6682d4b30e153d66c17c43894d3bd083366ae2d0b72538f63992947485ce
sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21
sha256sums = 75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919
diff --git a/PKGBUILD b/PKGBUILD
index 8da304032fb2..4184af285ea0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,8 +7,8 @@
#pkgbase=linux # Build stock -ARCH kernel
pkgbase=linux-rt # Build kernel with a different name
-_pkgver=4.19.23
-_rtpatchver=rt14
+_pkgver=4.19.25
+_rtpatchver=rt16
pkgver=${_pkgver}_${_rtpatchver}
pkgrel=1
arch=(x86_64)
@@ -23,7 +23,6 @@ source=(
"https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patch-${_pkgver}-${_rtpatchver}.patch.xz"
"https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patch-${_pkgver}-${_rtpatchver}.patch.sign"
0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
- fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch
config # the main kernel config file
60-${pkgbase}.hook # pacman hook for depmod
90-${pkgbase}.hook # pacman hook for initramfs regeneration
@@ -37,12 +36,11 @@ validpgpkeys=(
'5ED9A48FC54C0A22D1D0804CEBC26CDB5A56DE73' # Steven Rostedt
'E644E2F1D45FA0B2EAA02F33109F098506FF0B14' # Thomas Gleixner
)
-sha256sums=('2d9b25678aac7f3f109c52e6266fb6ee89cc424b597518a2875874bacb8f130a'
+sha256sums=('7ec71d90d6e96e6f741676d157ac06f30c75be4eaf1649143a3c8b7d4f919731'
'SKIP'
- '83fba2dcb0d77b9ecf262bb09ba924d5aa103db46690b9eaca552080a7893620'
+ '904079d66aea9a44ab4b6229d4a5430ef1c1beb2106954ba1a98656223f78036'
'SKIP'
'75aa8dd708ca5a0137fbf7cddc9cafefe6aac6b8e0638c06c156d412d05af4bc'
- '85f7612edfa129210343d6a4fe4ba2a4ac3542d98b7e28c8896738e7e6541c06'
'464d6682d4b30e153d66c17c43894d3bd083366ae2d0b72538f63992947485ce'
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
diff --git a/fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch b/fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch
deleted file mode 100644
index 7e9e9c825def..000000000000
--- a/fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From: Joakim Hernberg <jhernberg@alchemy.lu>
-Date: Sat, 19 Mar 2016 13:03:55 +0100
-Subject: [PATCH] Fix a race in the PRT wait for completion simple wait code
- for NVIDIA on the rt patch
-
--Note refactored again 160319.
-
--NOTE: this patch is a rebase of John Blackwood's patch. On his kernel, he must be using
--an older simple wait patch - as his applies to kernel/sched/core.c, while the simple wait
--completion code lives in kernel/sched/completion.c ... I have ported this to test with
--nvidia, as i would like to see if it fixes the semaphore issues i have seen.
-
--I've kept the original patch comment in tact;
-
-I'm not 100% sure that the patch below will fix your problem, but we
-saw something that sounds pretty familiar to your issue involving the
-nvidia driver and the preempt-rt patch. The nvidia driver uses the
-completion support to create their own driver's notion of an internally
-used semaphore.
-
-Fix a race in the PRT wait for completion simple wait code.
-
-A wait_for_completion() waiter task can be awoken by a task calling
-complete(), but fail to consume the 'done' completion resource if it
-looses a race with another task calling wait_for_completion() just as
-it is waking up.
-
-In this case, the awoken task will call schedule_timeout() again
-without being in the simple wait queue.
-
-So if the awoken task is unable to claim the 'done' completion resource,
-check to see if it needs to be re-inserted into the wait list before
-waiting again in schedule_timeout().
-
-Fix-by: John Blackwood <john.blackwood@ccur.com>
-
----
- kernel/sched/completion.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/kernel/sched/completion.c b/kernel/sched/completion.c
-index b62cf64..c01bbd8 100644
---- a/kernel/sched/completion.c
-+++ b/kernel/sched/completion.c
-@@ -61,11 +61,19 @@ static inline long __sched
- do_wait_for_common(struct completion *x,
- long (*action)(long), long timeout, int state)
- {
-+ int again = 0;
-+
- if (!x->done) {
- DECLARE_SWAITQUEUE(wait);
-
- __prepare_to_swait(&x->wait, &wait);
- do {
-+ /* Check to see if we lost race for 'done' and are
-+ * no longer in the wait list.
-+ */
-+ if (unlikely(again) && list_empty(&wait.task_list))
-+ __prepare_to_swait(&x->wait, &wait);
-+
- if (signal_pending_state(state, current)) {
- timeout = -ERESTARTSYS;
- break;
-@@ -74,6 +82,7 @@ do_wait_for_common(struct completion *x,
- raw_spin_unlock_irq(&x->wait.lock);
- timeout = action(timeout);
- raw_spin_lock_irq(&x->wait.lock);
-+ again = 1;
- } while (!x->done && timeout);
- __finish_swait(&x->wait, &wait);
- if (!x->done)
---
-2.7.2
-