diff options
author | Joakim Hernberg | 2019-03-03 10:39:32 +0100 |
---|---|---|
committer | Joakim Hernberg | 2019-03-03 10:39:32 +0100 |
commit | 638aa496ed700ed8872f2e3c6638c20d207259c6 (patch) | |
tree | 47a20f099563a7e50a270024d35831c5b9b2f306 | |
parent | f2f2411c5ed8c176f5aee0c5d3f14a3fffc79a95 (diff) | |
download | aur-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-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 10 | ||||
-rw-r--r-- | fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch | 75 |
3 files changed, 12 insertions, 91 deletions
@@ -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 @@ -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 - |