diff --git a/examples/rt-for-vmware.yml b/examples/rt-for-vmware.yml index c13e4bf6d..93fdd2631 100644 --- a/examples/rt-for-vmware.yml +++ b/examples/rt-for-vmware.yml @@ -1,5 +1,5 @@ kernel: - image: linuxkit/kernel:4.14.59-rt + image: linuxkit/kernel:4.14.63-rt cmdline: "console=tty0" init: - linuxkit/init:v0.6 diff --git a/kernel/Makefile b/kernel/Makefile index f4bf106ab..a7b2b3e5f 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -263,14 +263,14 @@ $(eval $(call kernel,4.18.1,4.18.x,$(EXTRA),$(DEBUG))) $(eval $(call kernel,4.17.15,4.17.x,$(EXTRA),$(DEBUG))) $(eval $(call kernel,4.14.63,4.14.x,$(EXTRA),$(DEBUG))) $(eval $(call kernel,4.14.63,4.14.x,,-dbg)) -$(eval $(call kernel,4.14.59,4.14.x,-rt,)) +$(eval $(call kernel,4.14.63,4.14.x,-rt,)) $(eval $(call kernel,4.9.120,4.9.x,$(EXTRA),$(DEBUG))) $(eval $(call kernel,4.4.148,4.4.x,$(EXTRA),$(DEBUG))) else ifeq ($(ARCH),aarch64) $(eval $(call kernel,4.18.1,4.18.x,$(EXTRA),$(DEBUG))) $(eval $(call kernel,4.14.63,4.14.x,$(EXTRA),$(DEBUG))) -$(eval $(call kernel,4.14.59,4.14.x,-rt,)) +$(eval $(call kernel,4.14.63,4.14.x,-rt,)) else ifeq ($(ARCH),s390x) $(eval $(call kernel,4.18.1,4.18.x,$(EXTRA),$(DEBUG))) diff --git a/kernel/patches-4.14.x-rt/0001-rtmutex-Make-rt_mutex_futex_unlock-safe-for-irq-off-.patch b/kernel/patches-4.14.x-rt/0001-rtmutex-Make-rt_mutex_futex_unlock-safe-for-irq-off-.patch index 17fc7c84e..2ff4edb0f 100644 --- a/kernel/patches-4.14.x-rt/0001-rtmutex-Make-rt_mutex_futex_unlock-safe-for-irq-off-.patch +++ b/kernel/patches-4.14.x-rt/0001-rtmutex-Make-rt_mutex_futex_unlock-safe-for-irq-off-.patch @@ -1,7 +1,7 @@ -From 9d9b5967777fb3b9f3ad66dd4d63967edfc6caa0 Mon Sep 17 00:00:00 2001 +From f32c0ebd27d45b33cf1bdd575a9587a30db705a7 Mon Sep 17 00:00:00 2001 From: Boqun Feng Date: Fri, 9 Mar 2018 14:56:28 +0800 -Subject: [PATCH 001/414] rtmutex: Make rt_mutex_futex_unlock() safe for +Subject: [PATCH 001/413] rtmutex: Make rt_mutex_futex_unlock() safe for irq-off callsites Upstream commit 6b0ef92fee2a3189eba6d6b827b247cb4f6da7e9 diff --git a/kernel/patches-4.14.x-rt/0002-rcu-Suppress-lockdep-false-positive-boost_mtx-compla.patch b/kernel/patches-4.14.x-rt/0002-rcu-Suppress-lockdep-false-positive-boost_mtx-compla.patch index c68c3d7eb..4932935ae 100644 --- a/kernel/patches-4.14.x-rt/0002-rcu-Suppress-lockdep-false-positive-boost_mtx-compla.patch +++ b/kernel/patches-4.14.x-rt/0002-rcu-Suppress-lockdep-false-positive-boost_mtx-compla.patch @@ -1,7 +1,7 @@ -From 32b98fe0f6614f935a87a50cc5a400bec339aac5 Mon Sep 17 00:00:00 2001 +From 52ab7f8907e4d09a203c9f4c6864456f4dbb74af Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Tue, 19 Sep 2017 15:36:42 -0700 -Subject: [PATCH 002/414] rcu: Suppress lockdep false-positive ->boost_mtx +Subject: [PATCH 002/413] rcu: Suppress lockdep false-positive ->boost_mtx complaints Upstream commit bcda31a2659497df39d6bedfbdf17498b4f4ac89 diff --git a/kernel/patches-4.14.x-rt/0003-brd-remove-unused-brd_mutex.patch b/kernel/patches-4.14.x-rt/0003-brd-remove-unused-brd_mutex.patch index 010b6dbe5..89bdeddca 100644 --- a/kernel/patches-4.14.x-rt/0003-brd-remove-unused-brd_mutex.patch +++ b/kernel/patches-4.14.x-rt/0003-brd-remove-unused-brd_mutex.patch @@ -1,7 +1,7 @@ -From 98fa7ef5ce9171e243c5ca9cc0a15d4a027d3991 Mon Sep 17 00:00:00 2001 +From 1104c43e61c583b6885fdaed7128e493befd0c5c Mon Sep 17 00:00:00 2001 From: Mikulas Patocka Date: Fri, 10 Nov 2017 12:29:34 -0500 -Subject: [PATCH 003/414] brd: remove unused brd_mutex +Subject: [PATCH 003/413] brd: remove unused brd_mutex Upstream commit 15f7b41f70ddcca3b555bd0fdc7c8da7466b517e diff --git a/kernel/patches-4.14.x-rt/0004-KVM-arm-arm64-Remove-redundant-preemptible-checks.patch b/kernel/patches-4.14.x-rt/0004-KVM-arm-arm64-Remove-redundant-preemptible-checks.patch index f78fc6a48..989b2add6 100644 --- a/kernel/patches-4.14.x-rt/0004-KVM-arm-arm64-Remove-redundant-preemptible-checks.patch +++ b/kernel/patches-4.14.x-rt/0004-KVM-arm-arm64-Remove-redundant-preemptible-checks.patch @@ -1,7 +1,7 @@ -From 0004e477787106d2bd6ab82800935f0854d81c39 Mon Sep 17 00:00:00 2001 +From 62c7e1e5244db424f8beff313bbe0e498330e910 Mon Sep 17 00:00:00 2001 From: Christoffer Dall Date: Fri, 8 Sep 2017 07:07:13 -0700 -Subject: [PATCH 004/414] KVM: arm/arm64: Remove redundant preemptible checks +Subject: [PATCH 004/413] KVM: arm/arm64: Remove redundant preemptible checks Upstream commit 5a24575032971c5a9a4580417a791c427ebdb8e5 diff --git a/kernel/patches-4.14.x-rt/0005-iommu-amd-Use-raw-locks-on-atomic-context-paths.patch b/kernel/patches-4.14.x-rt/0005-iommu-amd-Use-raw-locks-on-atomic-context-paths.patch index 76c946622..986830079 100644 --- a/kernel/patches-4.14.x-rt/0005-iommu-amd-Use-raw-locks-on-atomic-context-paths.patch +++ b/kernel/patches-4.14.x-rt/0005-iommu-amd-Use-raw-locks-on-atomic-context-paths.patch @@ -1,7 +1,7 @@ -From 7958cf73713cfa4e11a497f1f955d60e529813d4 Mon Sep 17 00:00:00 2001 +From 1c24fc48416055e67d7995c90db527f1ebb26ba4 Mon Sep 17 00:00:00 2001 From: Scott Wood Date: Sun, 21 Jan 2018 03:28:54 -0600 -Subject: [PATCH 005/414] iommu/amd: Use raw locks on atomic context paths +Subject: [PATCH 005/413] iommu/amd: Use raw locks on atomic context paths Upstream commit 27790398c2aed917828dc3c6f81240d57f1584c9 diff --git a/kernel/patches-4.14.x-rt/0006-iommu-amd-Don-t-use-dev_data-in-irte_ga_set_affinity.patch b/kernel/patches-4.14.x-rt/0006-iommu-amd-Don-t-use-dev_data-in-irte_ga_set_affinity.patch index 8f117f432..190ad7336 100644 --- a/kernel/patches-4.14.x-rt/0006-iommu-amd-Don-t-use-dev_data-in-irte_ga_set_affinity.patch +++ b/kernel/patches-4.14.x-rt/0006-iommu-amd-Don-t-use-dev_data-in-irte_ga_set_affinity.patch @@ -1,7 +1,7 @@ -From 510666f0989481bcf0f5d642294c86d8d9b7283a Mon Sep 17 00:00:00 2001 +From f4854290ac0421066bb86324a0a3d9b4019b7d80 Mon Sep 17 00:00:00 2001 From: Scott Wood Date: Sun, 28 Jan 2018 14:22:19 -0600 -Subject: [PATCH 006/414] iommu/amd: Don't use dev_data in +Subject: [PATCH 006/413] iommu/amd: Don't use dev_data in irte_ga_set_affinity() Upstream commit 01ee04badefd296eb7a4430497373be9b7b16783 diff --git a/kernel/patches-4.14.x-rt/0007-iommu-amd-Avoid-locking-get_irq_table-from-atomic-co.patch b/kernel/patches-4.14.x-rt/0007-iommu-amd-Avoid-locking-get_irq_table-from-atomic-co.patch index af0423764..059e19207 100644 --- a/kernel/patches-4.14.x-rt/0007-iommu-amd-Avoid-locking-get_irq_table-from-atomic-co.patch +++ b/kernel/patches-4.14.x-rt/0007-iommu-amd-Avoid-locking-get_irq_table-from-atomic-co.patch @@ -1,7 +1,7 @@ -From 8a351e0d8d77d77a91a01f5d6b29a644b4a4325d Mon Sep 17 00:00:00 2001 +From 3fbd8e3a71166bdf55537b1d24f4adfe83a32495 Mon Sep 17 00:00:00 2001 From: Scott Wood Date: Wed, 14 Feb 2018 17:36:28 -0600 -Subject: [PATCH 007/414] iommu/amd: Avoid locking get_irq_table() from atomic +Subject: [PATCH 007/413] iommu/amd: Avoid locking get_irq_table() from atomic context Upstream commit df42a04b15f19a842393dc98a84cbc52b1f8ed49 diff --git a/kernel/patches-4.14.x-rt/0008-iommu-amd-Turn-dev_data_list-into-a-lock-less-list.patch b/kernel/patches-4.14.x-rt/0008-iommu-amd-Turn-dev_data_list-into-a-lock-less-list.patch index 2aa74c3de..abf2cef86 100644 --- a/kernel/patches-4.14.x-rt/0008-iommu-amd-Turn-dev_data_list-into-a-lock-less-list.patch +++ b/kernel/patches-4.14.x-rt/0008-iommu-amd-Turn-dev_data_list-into-a-lock-less-list.patch @@ -1,7 +1,7 @@ -From 0d2bddd253183e23f224fcda3b7b34d27ebc106e Mon Sep 17 00:00:00 2001 +From bba6248dc05bcfad8e8ef21a22bd6e63cadd953d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:34 +0100 -Subject: [PATCH 008/414] iommu/amd: Turn dev_data_list into a lock less list +Subject: [PATCH 008/413] iommu/amd: Turn dev_data_list into a lock less list Upstream commit 779da73273fc4c4c6f41579a95e4fb7880a1720e diff --git a/kernel/patches-4.14.x-rt/0009-iommu-amd-Split-domain-id-out-of-amd_iommu_devtable_.patch b/kernel/patches-4.14.x-rt/0009-iommu-amd-Split-domain-id-out-of-amd_iommu_devtable_.patch index 8667fe39e..7f675cd14 100644 --- a/kernel/patches-4.14.x-rt/0009-iommu-amd-Split-domain-id-out-of-amd_iommu_devtable_.patch +++ b/kernel/patches-4.14.x-rt/0009-iommu-amd-Split-domain-id-out-of-amd_iommu_devtable_.patch @@ -1,7 +1,7 @@ -From 83b51c4f5ff1be7f15efde56b978914d0895996e Mon Sep 17 00:00:00 2001 +From bb893b3f9364003820ea8219a69afbed2cf45001 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:35 +0100 -Subject: [PATCH 009/414] iommu/amd: Split domain id out of +Subject: [PATCH 009/413] iommu/amd: Split domain id out of amd_iommu_devtable_lock Upstream commit 2bc00180890427dcc092b2f2b0d03c904bcade29 diff --git a/kernel/patches-4.14.x-rt/0010-iommu-amd-Split-irq_lookup_table-out-of-the-amd_iomm.patch b/kernel/patches-4.14.x-rt/0010-iommu-amd-Split-irq_lookup_table-out-of-the-amd_iomm.patch index c4c2d190a..de1a9ac1e 100644 --- a/kernel/patches-4.14.x-rt/0010-iommu-amd-Split-irq_lookup_table-out-of-the-amd_iomm.patch +++ b/kernel/patches-4.14.x-rt/0010-iommu-amd-Split-irq_lookup_table-out-of-the-amd_iomm.patch @@ -1,7 +1,7 @@ -From a1336d2a2a1c04e806f89a36985b5cb1344567e7 Mon Sep 17 00:00:00 2001 +From ae5816d77220aaccf245674b852facf09822b534 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:36 +0100 -Subject: [PATCH 010/414] iommu/amd: Split irq_lookup_table out of the +Subject: [PATCH 010/413] iommu/amd: Split irq_lookup_table out of the amd_iommu_devtable_lock Upstream commit ea6166f4b83e9cfba1c18f46a764d50045682fe5 diff --git a/kernel/patches-4.14.x-rt/0011-iommu-amd-Remove-the-special-case-from-alloc_irq_tab.patch b/kernel/patches-4.14.x-rt/0011-iommu-amd-Remove-the-special-case-from-alloc_irq_tab.patch index 034d11c24..7dcb3ad05 100644 --- a/kernel/patches-4.14.x-rt/0011-iommu-amd-Remove-the-special-case-from-alloc_irq_tab.patch +++ b/kernel/patches-4.14.x-rt/0011-iommu-amd-Remove-the-special-case-from-alloc_irq_tab.patch @@ -1,7 +1,7 @@ -From c5569e1ca0250dcc293232513ad75aae8047f6ba Mon Sep 17 00:00:00 2001 +From f9e7252eb1c41def5d916de943ec2277b7cb7495 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:37 +0100 -Subject: [PATCH 011/414] iommu/amd: Remove the special case from +Subject: [PATCH 011/413] iommu/amd: Remove the special case from alloc_irq_table() Upstream commit fde65dd3d3096e8f6ecc7bbe544eb91f4220772c diff --git a/kernel/patches-4.14.x-rt/0012-iommu-amd-Use-table-instead-irt-as-variable-name-in-.patch b/kernel/patches-4.14.x-rt/0012-iommu-amd-Use-table-instead-irt-as-variable-name-in-.patch index 43fb84797..5b083f71b 100644 --- a/kernel/patches-4.14.x-rt/0012-iommu-amd-Use-table-instead-irt-as-variable-name-in-.patch +++ b/kernel/patches-4.14.x-rt/0012-iommu-amd-Use-table-instead-irt-as-variable-name-in-.patch @@ -1,7 +1,7 @@ -From 4e6605ab50457816d0579a016417ed1a530cee8c Mon Sep 17 00:00:00 2001 +From b19751cfe856edcbf65bad62e566f458cbf7fb97 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:38 +0100 -Subject: [PATCH 012/414] iommu/amd: Use `table' instead `irt' as variable name +Subject: [PATCH 012/413] iommu/amd: Use `table' instead `irt' as variable name in amd_iommu_update_ga() Upstream commit 4fde541c9dc114c5b448ad34b0286fe8b7c550f1 diff --git a/kernel/patches-4.14.x-rt/0013-iommu-amd-Factor-out-setting-the-remap-table-for-a-d.patch b/kernel/patches-4.14.x-rt/0013-iommu-amd-Factor-out-setting-the-remap-table-for-a-d.patch index 337edca00..c8e8d7b52 100644 --- a/kernel/patches-4.14.x-rt/0013-iommu-amd-Factor-out-setting-the-remap-table-for-a-d.patch +++ b/kernel/patches-4.14.x-rt/0013-iommu-amd-Factor-out-setting-the-remap-table-for-a-d.patch @@ -1,7 +1,7 @@ -From 2a7c51fa6a76aa7cca7455ef6c1363fc7cb9ec6f Mon Sep 17 00:00:00 2001 +From 1fd7be1ae38c27e7d631068ecb594c17e39035b5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:39 +0100 -Subject: [PATCH 013/414] iommu/amd: Factor out setting the remap table for a +Subject: [PATCH 013/413] iommu/amd: Factor out setting the remap table for a devid Upstream commit 2fcc1e8ac4a8514c64f946178fc36c2e30e56a41 diff --git a/kernel/patches-4.14.x-rt/0014-iommu-amd-Drop-the-lock-while-allocating-new-irq-rem.patch b/kernel/patches-4.14.x-rt/0014-iommu-amd-Drop-the-lock-while-allocating-new-irq-rem.patch index 9197d5ff7..b8b1db44d 100644 --- a/kernel/patches-4.14.x-rt/0014-iommu-amd-Drop-the-lock-while-allocating-new-irq-rem.patch +++ b/kernel/patches-4.14.x-rt/0014-iommu-amd-Drop-the-lock-while-allocating-new-irq-rem.patch @@ -1,7 +1,7 @@ -From 78aff31b5badc9ef5def900f4eeb1e47f24134aa Mon Sep 17 00:00:00 2001 +From 7567c98c4ad5710bae08f45a10e7bf22833d1644 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:40 +0100 -Subject: [PATCH 014/414] iommu/amd: Drop the lock while allocating new irq +Subject: [PATCH 014/413] iommu/amd: Drop the lock while allocating new irq remap table Upstream commit 993ca6e063a69a0c65ca42ed449b6bc1b3844151 diff --git a/kernel/patches-4.14.x-rt/0015-iommu-amd-Make-amd_iommu_devtable_lock-a-spin_lock.patch b/kernel/patches-4.14.x-rt/0015-iommu-amd-Make-amd_iommu_devtable_lock-a-spin_lock.patch index 515de6a30..f36da6426 100644 --- a/kernel/patches-4.14.x-rt/0015-iommu-amd-Make-amd_iommu_devtable_lock-a-spin_lock.patch +++ b/kernel/patches-4.14.x-rt/0015-iommu-amd-Make-amd_iommu_devtable_lock-a-spin_lock.patch @@ -1,7 +1,7 @@ -From 37d2bc916fbc0c736b9c764ebbf176d915f35763 Mon Sep 17 00:00:00 2001 +From 5fe259167e7969e2f51f10b7261498ddc6cd028c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:41 +0100 -Subject: [PATCH 015/414] iommu/amd: Make amd_iommu_devtable_lock a spin_lock +Subject: [PATCH 015/413] iommu/amd: Make amd_iommu_devtable_lock a spin_lock Upstream commit 2cd1083d79a0a8c223af430ca97884c28a1e2fc0 diff --git a/kernel/patches-4.14.x-rt/0016-iommu-amd-Return-proper-error-code-in-irq_remapping_.patch b/kernel/patches-4.14.x-rt/0016-iommu-amd-Return-proper-error-code-in-irq_remapping_.patch index eb7175f18..716d66d75 100644 --- a/kernel/patches-4.14.x-rt/0016-iommu-amd-Return-proper-error-code-in-irq_remapping_.patch +++ b/kernel/patches-4.14.x-rt/0016-iommu-amd-Return-proper-error-code-in-irq_remapping_.patch @@ -1,7 +1,7 @@ -From 23f1a4c0eaf25e45ba512b80df021765e5f8c0c4 Mon Sep 17 00:00:00 2001 +From 12b7908685ca79009ebad69a4b409300629aeafd Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Mar 2018 16:22:42 +0100 -Subject: [PATCH 016/414] iommu/amd: Return proper error code in +Subject: [PATCH 016/413] iommu/amd: Return proper error code in irq_remapping_alloc() Upstream commit 29d049be9438278c47253a74cf8d0ddf36bd5d68 diff --git a/kernel/patches-4.14.x-rt/0017-timers-Use-static-keys-for-migrate_enable-nohz_activ.patch b/kernel/patches-4.14.x-rt/0017-timers-Use-static-keys-for-migrate_enable-nohz_activ.patch index 7d16d6425..eb65dfa56 100644 --- a/kernel/patches-4.14.x-rt/0017-timers-Use-static-keys-for-migrate_enable-nohz_activ.patch +++ b/kernel/patches-4.14.x-rt/0017-timers-Use-static-keys-for-migrate_enable-nohz_activ.patch @@ -1,7 +1,7 @@ -From 4ac5106b58007df574bf75e8043b3956cca1fafc Mon Sep 17 00:00:00 2001 +From b3ad0d0a382ccacf4b70d284f293ff109701d0bf Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 20 Dec 2017 17:12:50 +0100 -Subject: [PATCH 017/414] timers: Use static keys for +Subject: [PATCH 017/413] timers: Use static keys for migrate_enable/nohz_active The members migrate_enable and nohz_active in the timer/hrtimer per CPU @@ -121,7 +121,7 @@ index f8e1845aa464..4ac74dff59f0 100644 DECLARE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases); diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c -index bb2af74e6b62..9a372e16791c 100644 +index ea3c062e7e1c..7f924eba78da 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -1132,7 +1132,7 @@ static inline void tick_nohz_activate(struct tick_sched *ts, int mode) diff --git a/kernel/patches-4.14.x-rt/0018-hrtimer-Correct-blantanly-wrong-comment.patch b/kernel/patches-4.14.x-rt/0018-hrtimer-Correct-blantanly-wrong-comment.patch index bf6d870d9..f8222ac5b 100644 --- a/kernel/patches-4.14.x-rt/0018-hrtimer-Correct-blantanly-wrong-comment.patch +++ b/kernel/patches-4.14.x-rt/0018-hrtimer-Correct-blantanly-wrong-comment.patch @@ -1,7 +1,7 @@ -From 18e4a446ba1b09e37ccda5b5c9a185dd4008cfd5 Mon Sep 17 00:00:00 2001 +From ed3375830e0a42c193e8c5c89990d1d09db6c2ee Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 20 Dec 2017 17:12:51 +0100 -Subject: [PATCH 018/414] hrtimer: Correct blantanly wrong comment +Subject: [PATCH 018/413] hrtimer: Correct blantanly wrong comment The protection of a hrtimer which runs its callback against migration to a different CPU has nothing to do with hard interrupt context. diff --git a/kernel/patches-4.14.x-rt/0019-hrtimer-Fix-kerneldoc-for-struct-hrtimer_cpu_base.patch b/kernel/patches-4.14.x-rt/0019-hrtimer-Fix-kerneldoc-for-struct-hrtimer_cpu_base.patch index 1fdbecdb1..0772e65ae 100644 --- a/kernel/patches-4.14.x-rt/0019-hrtimer-Fix-kerneldoc-for-struct-hrtimer_cpu_base.patch +++ b/kernel/patches-4.14.x-rt/0019-hrtimer-Fix-kerneldoc-for-struct-hrtimer_cpu_base.patch @@ -1,7 +1,7 @@ -From 3417b2f612ef8cb6484f68dc8521ad9f2340c5cb Mon Sep 17 00:00:00 2001 +From e18c0b4a7e4a4c18c9a89c44cfcbbf16d3161a04 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:52 +0100 -Subject: [PATCH 019/414] hrtimer: Fix kerneldoc for struct hrtimer_cpu_base +Subject: [PATCH 019/413] hrtimer: Fix kerneldoc for struct hrtimer_cpu_base The sequence '/**' marks the start of a struct description. Add the missing second asterisk. While at it adapt the ordering of the struct diff --git a/kernel/patches-4.14.x-rt/0020-hrtimer-Cleanup-clock-argument-in-schedule_hrtimeout.patch b/kernel/patches-4.14.x-rt/0020-hrtimer-Cleanup-clock-argument-in-schedule_hrtimeout.patch index 72ddafc7a..525587bf6 100644 --- a/kernel/patches-4.14.x-rt/0020-hrtimer-Cleanup-clock-argument-in-schedule_hrtimeout.patch +++ b/kernel/patches-4.14.x-rt/0020-hrtimer-Cleanup-clock-argument-in-schedule_hrtimeout.patch @@ -1,7 +1,7 @@ -From 431cc332cba05e8803b5d67fd5ccf89c22cdb0a2 Mon Sep 17 00:00:00 2001 +From 7cd020dedd871257e6ca7c9782d1ac151e1b9899 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:53 +0100 -Subject: [PATCH 020/414] hrtimer: Cleanup clock argument in +Subject: [PATCH 020/413] hrtimer: Cleanup clock argument in schedule_hrtimeout_range_clock() schedule_hrtimeout_range_clock() uses an integer for the clock id diff --git a/kernel/patches-4.14.x-rt/0021-hrtimer-Fix-hrtimer-function-description.patch b/kernel/patches-4.14.x-rt/0021-hrtimer-Fix-hrtimer-function-description.patch index 4b549acea..1493609f4 100644 --- a/kernel/patches-4.14.x-rt/0021-hrtimer-Fix-hrtimer-function-description.patch +++ b/kernel/patches-4.14.x-rt/0021-hrtimer-Fix-hrtimer-function-description.patch @@ -1,7 +1,7 @@ -From 53ec81b3e2722efde34e962102444261a5b6572a Mon Sep 17 00:00:00 2001 +From bf593b81a69f815100e8fd6fe44010b85d856c61 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:54 +0100 -Subject: [PATCH 021/414] hrtimer: Fix hrtimer function description +Subject: [PATCH 021/413] hrtimer: Fix hrtimer function description The hrtimer_start[_range_ns]() starts a timer reliable on this CPU only when HRTIMER_MODE_PINNED is set. Furthermore the HRTIMER_MODE_PINNED mode diff --git a/kernel/patches-4.14.x-rt/0022-hrtimer-Cleanup-hrtimer_mode-enum.patch b/kernel/patches-4.14.x-rt/0022-hrtimer-Cleanup-hrtimer_mode-enum.patch index 97828ab8c..0f77cb581 100644 --- a/kernel/patches-4.14.x-rt/0022-hrtimer-Cleanup-hrtimer_mode-enum.patch +++ b/kernel/patches-4.14.x-rt/0022-hrtimer-Cleanup-hrtimer_mode-enum.patch @@ -1,7 +1,7 @@ -From a28f838542f4a5b318acfd07e94dc83e2583dff3 Mon Sep 17 00:00:00 2001 +From 263d78ecb76fc93322cdf5bcfd3615b96fbd4262 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:56 +0100 -Subject: [PATCH 022/414] hrtimer: Cleanup hrtimer_mode enum +Subject: [PATCH 022/413] hrtimer: Cleanup hrtimer_mode enum It's not obvious that the HRTIMER_MODE variants are bit combinations because all modes are hard coded constants. diff --git a/kernel/patches-4.14.x-rt/0023-tracing-hrtimer-Print-hrtimer-mode-in-hrtimer_start-.patch b/kernel/patches-4.14.x-rt/0023-tracing-hrtimer-Print-hrtimer-mode-in-hrtimer_start-.patch index 9c20b673c..dbf4a9a7a 100644 --- a/kernel/patches-4.14.x-rt/0023-tracing-hrtimer-Print-hrtimer-mode-in-hrtimer_start-.patch +++ b/kernel/patches-4.14.x-rt/0023-tracing-hrtimer-Print-hrtimer-mode-in-hrtimer_start-.patch @@ -1,7 +1,7 @@ -From a15b4fcd0054369d94b97a2064b930b23eeeac9c Mon Sep 17 00:00:00 2001 +From 6f84153b211f7fb270f43e7636a68bce4241df30 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:58 +0100 -Subject: [PATCH 023/414] tracing/hrtimer: Print hrtimer mode in hrtimer_start +Subject: [PATCH 023/413] tracing/hrtimer: Print hrtimer mode in hrtimer_start tracepoint The hrtimer_start tracepoint lacks the mode information. The mode is diff --git a/kernel/patches-4.14.x-rt/0024-hrtimer-Switch-for-loop-to-_ffs-evaluation.patch b/kernel/patches-4.14.x-rt/0024-hrtimer-Switch-for-loop-to-_ffs-evaluation.patch index 6200316d2..9630e55c8 100644 --- a/kernel/patches-4.14.x-rt/0024-hrtimer-Switch-for-loop-to-_ffs-evaluation.patch +++ b/kernel/patches-4.14.x-rt/0024-hrtimer-Switch-for-loop-to-_ffs-evaluation.patch @@ -1,7 +1,7 @@ -From ea534b414933b99a3a5b729a4112b28d33160529 Mon Sep 17 00:00:00 2001 +From 73a81054586a0dccb601a8454b905b8d33b619d8 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:12:59 +0100 -Subject: [PATCH 024/414] hrtimer: Switch for loop to _ffs() evaluation +Subject: [PATCH 024/413] hrtimer: Switch for loop to _ffs() evaluation Looping over all clock bases to find active bits is suboptimal if not all bases are active. diff --git a/kernel/patches-4.14.x-rt/0025-hrtimer-Store-running-timer-in-hrtimer_clock_base.patch b/kernel/patches-4.14.x-rt/0025-hrtimer-Store-running-timer-in-hrtimer_clock_base.patch index caeea2ae5..2c0f1e328 100644 --- a/kernel/patches-4.14.x-rt/0025-hrtimer-Store-running-timer-in-hrtimer_clock_base.patch +++ b/kernel/patches-4.14.x-rt/0025-hrtimer-Store-running-timer-in-hrtimer_clock_base.patch @@ -1,7 +1,7 @@ -From bcc3e93255cf34cf11886ae5cd1704571fba59d6 Mon Sep 17 00:00:00 2001 +From 0eb80ff2452afbdeb89fe23de78ae2aa5768f48b Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:00 +0100 -Subject: [PATCH 025/414] hrtimer: Store running timer in hrtimer_clock_base +Subject: [PATCH 025/413] hrtimer: Store running timer in hrtimer_clock_base The pointer to the currently running timer is stored in hrtimer_cpu_base before the base lock is dropped and the callback is invoked. diff --git a/kernel/patches-4.14.x-rt/0026-hrtimer-Make-room-in-struct-hrtimer_cpu_base.patch b/kernel/patches-4.14.x-rt/0026-hrtimer-Make-room-in-struct-hrtimer_cpu_base.patch index 2c0733bdf..d5364dec6 100644 --- a/kernel/patches-4.14.x-rt/0026-hrtimer-Make-room-in-struct-hrtimer_cpu_base.patch +++ b/kernel/patches-4.14.x-rt/0026-hrtimer-Make-room-in-struct-hrtimer_cpu_base.patch @@ -1,7 +1,7 @@ -From ba87bcb39f4bc26a0e1022597a49ba1b10c9ec95 Mon Sep 17 00:00:00 2001 +From 17f57d21ba2f7e1c8a3b0d9af131fa1ccfa9dd6a Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:01 +0100 -Subject: [PATCH 026/414] hrtimer: Make room in struct hrtimer_cpu_base +Subject: [PATCH 026/413] hrtimer: Make room in struct hrtimer_cpu_base The upcoming softirq based hrtimers support requires an additional field in the hrtimer_cpu_base struct, which would grow the struct size beyond a diff --git a/kernel/patches-4.14.x-rt/0027-hrtimer-Reduce-conditional-code-hres_active.patch b/kernel/patches-4.14.x-rt/0027-hrtimer-Reduce-conditional-code-hres_active.patch index fb98d33a9..4e3038f64 100644 --- a/kernel/patches-4.14.x-rt/0027-hrtimer-Reduce-conditional-code-hres_active.patch +++ b/kernel/patches-4.14.x-rt/0027-hrtimer-Reduce-conditional-code-hres_active.patch @@ -1,7 +1,7 @@ -From afb485a8f0c8869ab0a04383719c67c272b653e7 Mon Sep 17 00:00:00 2001 +From f3202ee4dafba5d63ef6159a6f99ca69156cf9e1 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:02 +0100 -Subject: [PATCH 027/414] hrtimer: Reduce conditional code (hres_active) +Subject: [PATCH 027/413] hrtimer: Reduce conditional code (hres_active) The hrtimer_cpu_base struct has the CONFIG_HIGH_RES_TIMERS conditional struct member hres_active. All related functions to this member are diff --git a/kernel/patches-4.14.x-rt/0028-hrtimer-Use-accesor-functions-instead-of-direct-acce.patch b/kernel/patches-4.14.x-rt/0028-hrtimer-Use-accesor-functions-instead-of-direct-acce.patch index 105d4f9d6..55aa4475f 100644 --- a/kernel/patches-4.14.x-rt/0028-hrtimer-Use-accesor-functions-instead-of-direct-acce.patch +++ b/kernel/patches-4.14.x-rt/0028-hrtimer-Use-accesor-functions-instead-of-direct-acce.patch @@ -1,7 +1,7 @@ -From 934a2dcf8cb9c83bbe08d6a2a8f0d7a8c6dcb392 Mon Sep 17 00:00:00 2001 +From 4497ed468019c6d815cae26a937cd45dead9b101 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:03 +0100 -Subject: [PATCH 028/414] hrtimer: Use accesor functions instead of direct +Subject: [PATCH 028/413] hrtimer: Use accesor functions instead of direct access __hrtimer_hres_active() is now available unconditionally. Replace the diff --git a/kernel/patches-4.14.x-rt/0029-hrtimer-Make-the-remote-enqueue-check-unconditional.patch b/kernel/patches-4.14.x-rt/0029-hrtimer-Make-the-remote-enqueue-check-unconditional.patch index 545329f26..6e472add5 100644 --- a/kernel/patches-4.14.x-rt/0029-hrtimer-Make-the-remote-enqueue-check-unconditional.patch +++ b/kernel/patches-4.14.x-rt/0029-hrtimer-Make-the-remote-enqueue-check-unconditional.patch @@ -1,7 +1,7 @@ -From c9dadfb4f40895a2ea72698e2cb1bba1757b9a90 Mon Sep 17 00:00:00 2001 +From f44ff83daacbd575e62c7c496fae6918b9e02072 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:04 +0100 -Subject: [PATCH 029/414] hrtimer: Make the remote enqueue check unconditional +Subject: [PATCH 029/413] hrtimer: Make the remote enqueue check unconditional hrtimer_cpu_base.expires_next is used to cache the next event armed in the timer hardware. The value is used to check whether an hrtimer can be diff --git a/kernel/patches-4.14.x-rt/0030-hrtimer-Make-hrtimer_cpu_base.next_timer-handling-un.patch b/kernel/patches-4.14.x-rt/0030-hrtimer-Make-hrtimer_cpu_base.next_timer-handling-un.patch index 4f179f8fe..981a3e254 100644 --- a/kernel/patches-4.14.x-rt/0030-hrtimer-Make-hrtimer_cpu_base.next_timer-handling-un.patch +++ b/kernel/patches-4.14.x-rt/0030-hrtimer-Make-hrtimer_cpu_base.next_timer-handling-un.patch @@ -1,7 +1,7 @@ -From d6c371590a1cf3f3c9568b182d8e1cb2dfaceadf Mon Sep 17 00:00:00 2001 +From 2897f3039bcafac1de0a3d9bd819790d02348bc4 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:05 +0100 -Subject: [PATCH 030/414] hrtimer: Make hrtimer_cpu_base.next_timer handling +Subject: [PATCH 030/413] hrtimer: Make hrtimer_cpu_base.next_timer handling unconditional hrtimer_cpu_base.next_timer stores the pointer to the next expiring timer diff --git a/kernel/patches-4.14.x-rt/0031-hrtimer-Make-hrtimer_reprogramm-unconditional.patch b/kernel/patches-4.14.x-rt/0031-hrtimer-Make-hrtimer_reprogramm-unconditional.patch index 539dbeb90..0d7ec3225 100644 --- a/kernel/patches-4.14.x-rt/0031-hrtimer-Make-hrtimer_reprogramm-unconditional.patch +++ b/kernel/patches-4.14.x-rt/0031-hrtimer-Make-hrtimer_reprogramm-unconditional.patch @@ -1,7 +1,7 @@ -From 5c8f8eaa36b00eac21e3f19049e7a7402bc02381 Mon Sep 17 00:00:00 2001 +From 8b971457c51090aad6385968f41074b8d5610fde Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:06 +0100 -Subject: [PATCH 031/414] hrtimer: Make hrtimer_reprogramm() unconditional +Subject: [PATCH 031/413] hrtimer: Make hrtimer_reprogramm() unconditional hrtimer_reprogram() needs to be available unconditionally for softirq based hrtimers. Move the function and all required struct members out of the diff --git a/kernel/patches-4.14.x-rt/0032-hrtimer-Make-hrtimer_force_reprogramm-unconditionall.patch b/kernel/patches-4.14.x-rt/0032-hrtimer-Make-hrtimer_force_reprogramm-unconditionall.patch index 7982409b9..80a611fde 100644 --- a/kernel/patches-4.14.x-rt/0032-hrtimer-Make-hrtimer_force_reprogramm-unconditionall.patch +++ b/kernel/patches-4.14.x-rt/0032-hrtimer-Make-hrtimer_force_reprogramm-unconditionall.patch @@ -1,7 +1,7 @@ -From 71378ed1a6a72a2c8e010fb9353fba8df488df7b Mon Sep 17 00:00:00 2001 +From 9ee0b0d8cdc3d1166b79d7ce508206c0712a7d58 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:07 +0100 -Subject: [PATCH 032/414] hrtimer: Make hrtimer_force_reprogramm() +Subject: [PATCH 032/413] hrtimer: Make hrtimer_force_reprogramm() unconditionally available hrtimer_force_reprogram() needs to be available unconditionally for softirq diff --git a/kernel/patches-4.14.x-rt/0033-hrtimer-Unify-handling-of-hrtimer-remove.patch b/kernel/patches-4.14.x-rt/0033-hrtimer-Unify-handling-of-hrtimer-remove.patch index 02f2ec323..8bbd9abb1 100644 --- a/kernel/patches-4.14.x-rt/0033-hrtimer-Unify-handling-of-hrtimer-remove.patch +++ b/kernel/patches-4.14.x-rt/0033-hrtimer-Unify-handling-of-hrtimer-remove.patch @@ -1,7 +1,7 @@ -From 177cbb8e5db3c0e4dd323a6a653e5a363c85f5cf Mon Sep 17 00:00:00 2001 +From a54d37065d2922d1d67d38fa44394f54b0bcb68c Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:08 +0100 -Subject: [PATCH 033/414] hrtimer: Unify handling of hrtimer remove +Subject: [PATCH 033/413] hrtimer: Unify handling of hrtimer remove When the first hrtimer on the current CPU is removed, hrtimer_force_reprogram() is invoked but only when diff --git a/kernel/patches-4.14.x-rt/0034-hrtimer-Unify-handling-of-remote-enqueue.patch b/kernel/patches-4.14.x-rt/0034-hrtimer-Unify-handling-of-remote-enqueue.patch index 83b4bba55..d713b6777 100644 --- a/kernel/patches-4.14.x-rt/0034-hrtimer-Unify-handling-of-remote-enqueue.patch +++ b/kernel/patches-4.14.x-rt/0034-hrtimer-Unify-handling-of-remote-enqueue.patch @@ -1,7 +1,7 @@ -From 248f9a304f527cd8253fbd1c8f35ae35dc1caa47 Mon Sep 17 00:00:00 2001 +From dde2d69a6a4c73667c805b32876febf324c9c002 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:09 +0100 -Subject: [PATCH 034/414] hrtimer: Unify handling of remote enqueue +Subject: [PATCH 034/413] hrtimer: Unify handling of remote enqueue hrtimer_reprogram() is conditionally invoked from hrtimer_start_range_ns() when hrtimer_cpu_base.hres_active is true. diff --git a/kernel/patches-4.14.x-rt/0035-hrtimer-Make-remote-enqueue-decision-less-restrictiv.patch b/kernel/patches-4.14.x-rt/0035-hrtimer-Make-remote-enqueue-decision-less-restrictiv.patch index 5619970ed..c83828141 100644 --- a/kernel/patches-4.14.x-rt/0035-hrtimer-Make-remote-enqueue-decision-less-restrictiv.patch +++ b/kernel/patches-4.14.x-rt/0035-hrtimer-Make-remote-enqueue-decision-less-restrictiv.patch @@ -1,7 +1,7 @@ -From 2dc46ebab983cc8b2cfd85cc0eef716a7a660d46 Mon Sep 17 00:00:00 2001 +From b6f4ff863d93350c0645a418b579466396f804bb Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:10 +0100 -Subject: [PATCH 035/414] hrtimer: Make remote enqueue decision less +Subject: [PATCH 035/413] hrtimer: Make remote enqueue decision less restrictive The current decision whether a timer can be queued on a remote CPU checks diff --git a/kernel/patches-4.14.x-rt/0036-hrtimer-Remove-base-argument-from-hrtimer_reprogram.patch b/kernel/patches-4.14.x-rt/0036-hrtimer-Remove-base-argument-from-hrtimer_reprogram.patch index ce43c51cf..fd57b15fd 100644 --- a/kernel/patches-4.14.x-rt/0036-hrtimer-Remove-base-argument-from-hrtimer_reprogram.patch +++ b/kernel/patches-4.14.x-rt/0036-hrtimer-Remove-base-argument-from-hrtimer_reprogram.patch @@ -1,7 +1,7 @@ -From aafe75f039f4e96b2c6c1d3c0032af678591e28d Mon Sep 17 00:00:00 2001 +From 4bb86bcae586476f20ddc1a154a7de89aa263cd2 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:11 +0100 -Subject: [PATCH 036/414] hrtimer: Remove base argument from +Subject: [PATCH 036/413] hrtimer: Remove base argument from hrtimer_reprogram() hrtimer_reprogram() must have access to the hrtimer_clock_base of the new diff --git a/kernel/patches-4.14.x-rt/0037-hrtimer-Split-hrtimer_start_range_ns.patch b/kernel/patches-4.14.x-rt/0037-hrtimer-Split-hrtimer_start_range_ns.patch index ea125222f..b239e2622 100644 --- a/kernel/patches-4.14.x-rt/0037-hrtimer-Split-hrtimer_start_range_ns.patch +++ b/kernel/patches-4.14.x-rt/0037-hrtimer-Split-hrtimer_start_range_ns.patch @@ -1,7 +1,7 @@ -From 2d39cd422d4266f02d8d95eef439e2ad508f8c8a Mon Sep 17 00:00:00 2001 +From 064b4807c34c9806e7b47112691b8e2879e60c18 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:12 +0100 -Subject: [PATCH 037/414] hrtimer: Split hrtimer_start_range_ns() +Subject: [PATCH 037/413] hrtimer: Split hrtimer_start_range_ns() Preparatory patch for softirq based hrtimers to avoid code duplication. No functional change. diff --git a/kernel/patches-4.14.x-rt/0038-hrtimer-Split-__hrtimer_get_next_event.patch b/kernel/patches-4.14.x-rt/0038-hrtimer-Split-__hrtimer_get_next_event.patch index 94d93eceb..b662cb2f3 100644 --- a/kernel/patches-4.14.x-rt/0038-hrtimer-Split-__hrtimer_get_next_event.patch +++ b/kernel/patches-4.14.x-rt/0038-hrtimer-Split-__hrtimer_get_next_event.patch @@ -1,7 +1,7 @@ -From d9e7ac76b7cef3f0b79a63864c6473b6e158c49a Mon Sep 17 00:00:00 2001 +From 70d21872a9b1a71675676eb4d42218d89787d845 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:13 +0100 -Subject: [PATCH 038/414] hrtimer: Split __hrtimer_get_next_event() +Subject: [PATCH 038/413] hrtimer: Split __hrtimer_get_next_event() Preparatory patch for softirq based hrtimers to avoid code duplication. No functional change. diff --git a/kernel/patches-4.14.x-rt/0039-hrtimer-Use-irqsave-irqrestore-around-__run_hrtimer.patch b/kernel/patches-4.14.x-rt/0039-hrtimer-Use-irqsave-irqrestore-around-__run_hrtimer.patch index 494b6960c..c9f9fe095 100644 --- a/kernel/patches-4.14.x-rt/0039-hrtimer-Use-irqsave-irqrestore-around-__run_hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0039-hrtimer-Use-irqsave-irqrestore-around-__run_hrtimer.patch @@ -1,7 +1,7 @@ -From 96fbdc5365e4b933549b3f2428b08f4bc9e7bfa6 Mon Sep 17 00:00:00 2001 +From 6228d88fd2fa50ac7785f0f0acb373dc81ecd735 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:14 +0100 -Subject: [PATCH 039/414] hrtimer: Use irqsave/irqrestore around +Subject: [PATCH 039/413] hrtimer: Use irqsave/irqrestore around __run_hrtimer() __run_hrtimer() is called with the hrtimer_cpu_base.lock held and diff --git a/kernel/patches-4.14.x-rt/0040-hrtimer-Add-clock-bases-and-hrtimer-mode-for-soft-ir.patch b/kernel/patches-4.14.x-rt/0040-hrtimer-Add-clock-bases-and-hrtimer-mode-for-soft-ir.patch index 1be6fd0ed..6c5965692 100644 --- a/kernel/patches-4.14.x-rt/0040-hrtimer-Add-clock-bases-and-hrtimer-mode-for-soft-ir.patch +++ b/kernel/patches-4.14.x-rt/0040-hrtimer-Add-clock-bases-and-hrtimer-mode-for-soft-ir.patch @@ -1,7 +1,7 @@ -From 6c1a903df466a3e6485160185d29c569e98392a4 Mon Sep 17 00:00:00 2001 +From 5ebee81db54159612d178a5b77f2e4e6e8028a56 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:15 +0100 -Subject: [PATCH 040/414] hrtimer: Add clock bases and hrtimer mode for soft +Subject: [PATCH 040/413] hrtimer: Add clock bases and hrtimer mode for soft irq context hrtimer callback functions are always executed in hard interrupt diff --git a/kernel/patches-4.14.x-rt/0041-hrtimer-Prepare-handling-of-hard-and-softirq-based-h.patch b/kernel/patches-4.14.x-rt/0041-hrtimer-Prepare-handling-of-hard-and-softirq-based-h.patch index 3c5a623bb..4a87273dd 100644 --- a/kernel/patches-4.14.x-rt/0041-hrtimer-Prepare-handling-of-hard-and-softirq-based-h.patch +++ b/kernel/patches-4.14.x-rt/0041-hrtimer-Prepare-handling-of-hard-and-softirq-based-h.patch @@ -1,7 +1,7 @@ -From 0aaa599ac85c7489588544feee2d007de1249786 Mon Sep 17 00:00:00 2001 +From 9b0bb3e5f3f980c8c18ea14a8adbcead2a93e286 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:16 +0100 -Subject: [PATCH 041/414] hrtimer: Prepare handling of hard and softirq based +Subject: [PATCH 041/413] hrtimer: Prepare handling of hard and softirq based hrtimers The softirq based hrtimer can utilize most of the existing hrtimers diff --git a/kernel/patches-4.14.x-rt/0042-hrtimer-Implement-support-for-softirq-based-hrtimers.patch b/kernel/patches-4.14.x-rt/0042-hrtimer-Implement-support-for-softirq-based-hrtimers.patch index cea0125b9..85f230ab0 100644 --- a/kernel/patches-4.14.x-rt/0042-hrtimer-Implement-support-for-softirq-based-hrtimers.patch +++ b/kernel/patches-4.14.x-rt/0042-hrtimer-Implement-support-for-softirq-based-hrtimers.patch @@ -1,7 +1,7 @@ -From 77008f1277d442b0d4320218ce6bff4b100bd4f4 Mon Sep 17 00:00:00 2001 +From ef22defd5fa82e8e8837e8c1047c4f2c902f1480 Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:17 +0100 -Subject: [PATCH 042/414] hrtimer: Implement support for softirq based hrtimers +Subject: [PATCH 042/413] hrtimer: Implement support for softirq based hrtimers hrtimer callbacks are always invoked in hard interrupt context. Several users in tree require soft interrupt context for their callbacks and diff --git a/kernel/patches-4.14.x-rt/0043-hrtimer-Implement-SOFT-HARD-clock-base-selection.patch b/kernel/patches-4.14.x-rt/0043-hrtimer-Implement-SOFT-HARD-clock-base-selection.patch index bc3cfbfff..695256ffd 100644 --- a/kernel/patches-4.14.x-rt/0043-hrtimer-Implement-SOFT-HARD-clock-base-selection.patch +++ b/kernel/patches-4.14.x-rt/0043-hrtimer-Implement-SOFT-HARD-clock-base-selection.patch @@ -1,7 +1,7 @@ -From 995d50bf0d967649155d26a1c5518ff2055164bb Mon Sep 17 00:00:00 2001 +From e00aad52582b4b7bc8cb583a826c30e05dfe5c3b Mon Sep 17 00:00:00 2001 From: Anna-Maria Gleixner Date: Wed, 20 Dec 2017 17:13:18 +0100 -Subject: [PATCH 043/414] hrtimer: Implement SOFT/HARD clock base selection +Subject: [PATCH 043/413] hrtimer: Implement SOFT/HARD clock base selection All prerequisites to handle hrtimers for expiry in either hard or soft interrupt context are in place. diff --git a/kernel/patches-4.14.x-rt/0044-can-bcm-Replace-hrtimer_tasklet-with-softirq-based-h.patch b/kernel/patches-4.14.x-rt/0044-can-bcm-Replace-hrtimer_tasklet-with-softirq-based-h.patch index 35ecd6f81..7ed18e71e 100644 --- a/kernel/patches-4.14.x-rt/0044-can-bcm-Replace-hrtimer_tasklet-with-softirq-based-h.patch +++ b/kernel/patches-4.14.x-rt/0044-can-bcm-Replace-hrtimer_tasklet-with-softirq-based-h.patch @@ -1,7 +1,7 @@ -From e41462750d62f1c41fd2d31c4c9b48de2d81b25f Mon Sep 17 00:00:00 2001 +From b127459a9003fd794f5ff33cff10094b24d81b2c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:11 +0100 -Subject: [PATCH 044/414] can/bcm: Replace hrtimer_tasklet with softirq based +Subject: [PATCH 044/413] can/bcm: Replace hrtimer_tasklet with softirq based hrtimer Switch the timer to HRTIMER_MODE_SOFT, which executed the timer diff --git a/kernel/patches-4.14.x-rt/0045-mac80211_hwsim-Replace-hrtimer-tasklet-with-softirq-.patch b/kernel/patches-4.14.x-rt/0045-mac80211_hwsim-Replace-hrtimer-tasklet-with-softirq-.patch index d54604fec..752fc887c 100644 --- a/kernel/patches-4.14.x-rt/0045-mac80211_hwsim-Replace-hrtimer-tasklet-with-softirq-.patch +++ b/kernel/patches-4.14.x-rt/0045-mac80211_hwsim-Replace-hrtimer-tasklet-with-softirq-.patch @@ -1,7 +1,7 @@ -From cc601ebcb4fc381d3a6fd809da4103f6af90f83c Mon Sep 17 00:00:00 2001 +From 6266b3f9a910cc55009474c96d3e1058cc423efa Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:12 +0100 -Subject: [PATCH 045/414] mac80211_hwsim: Replace hrtimer tasklet with softirq +Subject: [PATCH 045/413] mac80211_hwsim: Replace hrtimer tasklet with softirq hrtimer Switch the timer to HRTIMER_MODE_SOFT, which executed the timer diff --git a/kernel/patches-4.14.x-rt/0046-xfrm-Replace-hrtimer-tasklet-with-softirq-hrtimer.patch b/kernel/patches-4.14.x-rt/0046-xfrm-Replace-hrtimer-tasklet-with-softirq-hrtimer.patch index 57bf35128..76def62c7 100644 --- a/kernel/patches-4.14.x-rt/0046-xfrm-Replace-hrtimer-tasklet-with-softirq-hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0046-xfrm-Replace-hrtimer-tasklet-with-softirq-hrtimer.patch @@ -1,7 +1,7 @@ -From 8c0e9dad7cd8996721f69a508203e8f6bfa12b7f Mon Sep 17 00:00:00 2001 +From 295973f9eae37222414abe12d242898237230c9b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:13 +0100 -Subject: [PATCH 046/414] xfrm: Replace hrtimer tasklet with softirq hrtimer +Subject: [PATCH 046/413] xfrm: Replace hrtimer tasklet with softirq hrtimer Switch the timer to HRTIMER_MODE_SOFT, which executed the timer callback in softirq context and remove the hrtimer_tasklet. diff --git a/kernel/patches-4.14.x-rt/0047-softirq-Remove-tasklet_hrtimer.patch b/kernel/patches-4.14.x-rt/0047-softirq-Remove-tasklet_hrtimer.patch index 9a4b20721..d9f193d95 100644 --- a/kernel/patches-4.14.x-rt/0047-softirq-Remove-tasklet_hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0047-softirq-Remove-tasklet_hrtimer.patch @@ -1,7 +1,7 @@ -From 84d22944bf656ca6957cc58ceba1a8f489ead682 Mon Sep 17 00:00:00 2001 +From 5c03f39867b511e7be17cb632d82d052779ea74d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:14 +0100 -Subject: [PATCH 047/414] softirq: Remove tasklet_hrtimer +Subject: [PATCH 047/413] softirq: Remove tasklet_hrtimer There are no more tasklet_hrtimer users of this interface. Remove it. @@ -51,10 +51,10 @@ index 69c238210325..af15bfd89598 100644 * Autoprobing for irqs: * diff --git a/kernel/softirq.c b/kernel/softirq.c -index e89c3b0cff6d..359cec869172 100644 +index a4c87cf27f9d..1a5dfc8dcf49 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c -@@ -584,57 +584,6 @@ void tasklet_kill(struct tasklet_struct *t) +@@ -588,57 +588,6 @@ void tasklet_kill(struct tasklet_struct *t) } EXPORT_SYMBOL(tasklet_kill); diff --git a/kernel/patches-4.14.x-rt/0048-ALSA-dummy-Replace-tasklet-with-softirq-hrtimer.patch b/kernel/patches-4.14.x-rt/0048-ALSA-dummy-Replace-tasklet-with-softirq-hrtimer.patch index 0a4dec1c6..e650c29ef 100644 --- a/kernel/patches-4.14.x-rt/0048-ALSA-dummy-Replace-tasklet-with-softirq-hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0048-ALSA-dummy-Replace-tasklet-with-softirq-hrtimer.patch @@ -1,7 +1,7 @@ -From 51d1d147b7b1fad19cb92eaea249838277c9f067 Mon Sep 17 00:00:00 2001 +From 4435bcc7e189b8d5b5afb71535a36c937937d4ed Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:15 +0100 -Subject: [PATCH 048/414] ALSA/dummy: Replace tasklet with softirq hrtimer +Subject: [PATCH 048/413] ALSA/dummy: Replace tasklet with softirq hrtimer The tasklet is used to defer the execution of snd_pcm_period_elapsed() to the softirq context. Using the HRTIMER_MODE_SOFT mode invokes the timer diff --git a/kernel/patches-4.14.x-rt/0049-usb-gadget-NCM-Replace-tasklet-with-softirq-hrtimer.patch b/kernel/patches-4.14.x-rt/0049-usb-gadget-NCM-Replace-tasklet-with-softirq-hrtimer.patch index 8d2eda44a..a530cca27 100644 --- a/kernel/patches-4.14.x-rt/0049-usb-gadget-NCM-Replace-tasklet-with-softirq-hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0049-usb-gadget-NCM-Replace-tasklet-with-softirq-hrtimer.patch @@ -1,7 +1,7 @@ -From d9fc17e1bbc04f471ec7070c7788f3e8b1087f59 Mon Sep 17 00:00:00 2001 +From d33f6f8b7d73de2a918cf0c98de41258a27d335a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:16 +0100 -Subject: [PATCH 049/414] usb/gadget/NCM: Replace tasklet with softirq hrtimer +Subject: [PATCH 049/413] usb/gadget/NCM: Replace tasklet with softirq hrtimer The tx_tasklet tasklet is used in invoke the hrtimer (task_timer) in softirq context. This can be also achieved without the tasklet but diff --git a/kernel/patches-4.14.x-rt/0050-net-mvpp2-Replace-tasklet-with-softirq-hrtimer.patch b/kernel/patches-4.14.x-rt/0050-net-mvpp2-Replace-tasklet-with-softirq-hrtimer.patch index 39f95c28b..fabb59093 100644 --- a/kernel/patches-4.14.x-rt/0050-net-mvpp2-Replace-tasklet-with-softirq-hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0050-net-mvpp2-Replace-tasklet-with-softirq-hrtimer.patch @@ -1,7 +1,7 @@ -From b9d178d6751f0bf94bd26aacb8c0c694ac92d123 Mon Sep 17 00:00:00 2001 +From 2112223f97d7ac6c162b9a5228692761fc23b592 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 23 Nov 2017 16:39:17 +0100 -Subject: [PATCH 050/414] net/mvpp2: Replace tasklet with softirq hrtimer +Subject: [PATCH 050/413] net/mvpp2: Replace tasklet with softirq hrtimer The tx_done_tasklet tasklet is used in invoke the hrtimer (mvpp2_hr_timer_cb) in softirq context. This can be also achieved without diff --git a/kernel/patches-4.14.x-rt/0051-arm-at91-do-not-disable-enable-clocks-in-a-row.patch b/kernel/patches-4.14.x-rt/0051-arm-at91-do-not-disable-enable-clocks-in-a-row.patch index 3fe1ce3d2..626452ccf 100644 --- a/kernel/patches-4.14.x-rt/0051-arm-at91-do-not-disable-enable-clocks-in-a-row.patch +++ b/kernel/patches-4.14.x-rt/0051-arm-at91-do-not-disable-enable-clocks-in-a-row.patch @@ -1,7 +1,7 @@ -From 727e4f53abcedadc467084c8a89aa37d235bd637 Mon Sep 17 00:00:00 2001 +From 2b498ad21a6aba531148a6f8d5b1555f71a88b21 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 9 Mar 2016 10:51:06 +0100 -Subject: [PATCH 051/414] arm: at91: do not disable/enable clocks in a row +Subject: [PATCH 051/413] arm: at91: do not disable/enable clocks in a row Currently the driver will disable the clock and enable it one line later if it is switching from periodic mode into one shot. diff --git a/kernel/patches-4.14.x-rt/0052-ARM-smp-Move-clear_tasks_mm_cpumask-call-to-__cpu_di.patch b/kernel/patches-4.14.x-rt/0052-ARM-smp-Move-clear_tasks_mm_cpumask-call-to-__cpu_di.patch index 1b3883da6..fadcac775 100644 --- a/kernel/patches-4.14.x-rt/0052-ARM-smp-Move-clear_tasks_mm_cpumask-call-to-__cpu_di.patch +++ b/kernel/patches-4.14.x-rt/0052-ARM-smp-Move-clear_tasks_mm_cpumask-call-to-__cpu_di.patch @@ -1,7 +1,7 @@ -From 8f4e789c87e029c3c7d429e6e28d0eb937ca7346 Mon Sep 17 00:00:00 2001 +From 36957734aaba76d52eced69c50daa274e334faaa Mon Sep 17 00:00:00 2001 From: Grygorii Strashko Date: Fri, 11 Sep 2015 21:21:23 +0300 -Subject: [PATCH 052/414] ARM: smp: Move clear_tasks_mm_cpumask() call to +Subject: [PATCH 052/413] ARM: smp: Move clear_tasks_mm_cpumask() call to __cpu_die() When running with the RT-kernel (4.1.5-rt5) on TI OMAP dra7-evm and trying diff --git a/kernel/patches-4.14.x-rt/0053-rtmutex-Handle-non-enqueued-waiters-gracefully.patch b/kernel/patches-4.14.x-rt/0053-rtmutex-Handle-non-enqueued-waiters-gracefully.patch index 565a08ac7..4d4bc09eb 100644 --- a/kernel/patches-4.14.x-rt/0053-rtmutex-Handle-non-enqueued-waiters-gracefully.patch +++ b/kernel/patches-4.14.x-rt/0053-rtmutex-Handle-non-enqueued-waiters-gracefully.patch @@ -1,7 +1,7 @@ -From 64c4c76f4ac141722a1ba1fbcc2d41a50ba0e2c7 Mon Sep 17 00:00:00 2001 +From 92418d20f8e7dd36adbab3a4bcf93662c3a078f6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 6 Nov 2015 18:51:03 +0100 -Subject: [PATCH 053/414] rtmutex: Handle non enqueued waiters gracefully +Subject: [PATCH 053/413] rtmutex: Handle non enqueued waiters gracefully Yimin debugged that in case of a PI wakeup in progress when rt_mutex_start_proxy_lock() calls task_blocks_on_rt_mutex() the latter diff --git a/kernel/patches-4.14.x-rt/0054-rbtree-include-rcu.h-because-we-use-it.patch b/kernel/patches-4.14.x-rt/0054-rbtree-include-rcu.h-because-we-use-it.patch index e7150e2f3..842002475 100644 --- a/kernel/patches-4.14.x-rt/0054-rbtree-include-rcu.h-because-we-use-it.patch +++ b/kernel/patches-4.14.x-rt/0054-rbtree-include-rcu.h-because-we-use-it.patch @@ -1,7 +1,7 @@ -From 99ec286b59c1a09247a3a5753385ea1c936079ee Mon Sep 17 00:00:00 2001 +From 2faab80428c8d44783448c6131cc8282b71c16a6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 14 Sep 2016 11:52:17 +0200 -Subject: [PATCH 054/414] rbtree: include rcu.h because we use it +Subject: [PATCH 054/413] rbtree: include rcu.h because we use it Since commit c1adf20052d8 ("Introduce rb_replace_node_rcu()") rbtree_augmented.h uses RCU related data structures but does not include diff --git a/kernel/patches-4.14.x-rt/0055-rxrpc-remove-unused-static-variables.patch b/kernel/patches-4.14.x-rt/0055-rxrpc-remove-unused-static-variables.patch index 752ee6689..6b350761a 100644 --- a/kernel/patches-4.14.x-rt/0055-rxrpc-remove-unused-static-variables.patch +++ b/kernel/patches-4.14.x-rt/0055-rxrpc-remove-unused-static-variables.patch @@ -1,7 +1,7 @@ -From cb4cd2c91b5cd0e8d23767e051c92b7f9d277aa7 Mon Sep 17 00:00:00 2001 +From 57dd454f351897f664765ea248bd047991104193 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 21 Oct 2016 10:54:50 +0200 -Subject: [PATCH 055/414] rxrpc: remove unused static variables +Subject: [PATCH 055/413] rxrpc: remove unused static variables The rxrpc_security_methods and rxrpc_security_sem user has been removed in 648af7fca159 ("rxrpc: Absorb the rxkad security module"). This was diff --git a/kernel/patches-4.14.x-rt/0056-mfd-syscon-atmel-smc-include-string.h.patch b/kernel/patches-4.14.x-rt/0056-mfd-syscon-atmel-smc-include-string.h.patch index b45d7efa1..1ea821472 100644 --- a/kernel/patches-4.14.x-rt/0056-mfd-syscon-atmel-smc-include-string.h.patch +++ b/kernel/patches-4.14.x-rt/0056-mfd-syscon-atmel-smc-include-string.h.patch @@ -1,7 +1,7 @@ -From 3d173b2cddbb8f72c1a8e412a9e13b7d69b4af6b Mon Sep 17 00:00:00 2001 +From 9f0770f9b7e16ce7f97f29560777ff0ec657af1f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 4 Oct 2017 09:55:58 +0200 -Subject: [PATCH 056/414] mfd: syscon: atmel-smc: include string.h +Subject: [PATCH 056/413] mfd: syscon: atmel-smc: include string.h The string.h header file is needed for the memset() definition. The RT build fails because it is not pulled in via other header files. diff --git a/kernel/patches-4.14.x-rt/0057-sched-swait-include-wait.h.patch b/kernel/patches-4.14.x-rt/0057-sched-swait-include-wait.h.patch index a20cafba8..256056925 100644 --- a/kernel/patches-4.14.x-rt/0057-sched-swait-include-wait.h.patch +++ b/kernel/patches-4.14.x-rt/0057-sched-swait-include-wait.h.patch @@ -1,7 +1,7 @@ -From dad4995002c053a2d75ed9aadd02146a9e5b9d1e Mon Sep 17 00:00:00 2001 +From 643507ddc97f2bbb7721f6ff5698c506b4422c6f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 4 Dec 2017 13:11:10 +0100 -Subject: [PATCH 057/414] sched/swait: include wait.h +Subject: [PATCH 057/413] sched/swait: include wait.h kbuild bot reported against an intermediate RT patch that the build fails with: diff --git a/kernel/patches-4.14.x-rt/0058-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch b/kernel/patches-4.14.x-rt/0058-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch index 805bd3014..5f21bae7a 100644 --- a/kernel/patches-4.14.x-rt/0058-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch +++ b/kernel/patches-4.14.x-rt/0058-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch @@ -1,7 +1,7 @@ -From 87c7c17c4d4cfca00f604c9d4fd6ad9a983801de Mon Sep 17 00:00:00 2001 +From 49fad3878c49d387a502caae3693bbeaf0fd3706 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 28 Oct 2016 23:05:11 +0200 -Subject: [PATCH 058/414] NFSv4: replace seqcount_t with a seqlock_t +Subject: [PATCH 058/413] NFSv4: replace seqcount_t with a seqlock_t The raw_write_seqcount_begin() in nfs4_reclaim_open_state() bugs me because it maps to preempt_disable() in -RT which I can't have at this @@ -57,10 +57,10 @@ index a73144b3cb8c..0c403d280b96 100644 }; diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c -index 928bbc397818..c2b9d5d6e6cb 100644 +index 43fbf4495090..751063bd6211 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c -@@ -2686,7 +2686,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, +@@ -2689,7 +2689,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, unsigned int seq; int ret; @@ -69,7 +69,7 @@ index 928bbc397818..c2b9d5d6e6cb 100644 ret = _nfs4_proc_open(opendata); if (ret != 0) -@@ -2724,7 +2724,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, +@@ -2727,7 +2727,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, if (d_inode(dentry) == state->inode) { nfs_inode_attach_open_context(ctx); diff --git a/kernel/patches-4.14.x-rt/0059-Bluetooth-avoid-recursive-locking-in-hci_send_to_cha.patch b/kernel/patches-4.14.x-rt/0059-Bluetooth-avoid-recursive-locking-in-hci_send_to_cha.patch index 21de0cece..b8522bb30 100644 --- a/kernel/patches-4.14.x-rt/0059-Bluetooth-avoid-recursive-locking-in-hci_send_to_cha.patch +++ b/kernel/patches-4.14.x-rt/0059-Bluetooth-avoid-recursive-locking-in-hci_send_to_cha.patch @@ -1,7 +1,7 @@ -From 26e3f4a085d447ef75cc202750c0a97e4686257d Mon Sep 17 00:00:00 2001 +From 84b282efc3f74ec3ad5b30c6c07e2165670faf47 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Sep 2017 15:35:57 +0200 -Subject: [PATCH 059/414] Bluetooth: avoid recursive locking in +Subject: [PATCH 059/413] Bluetooth: avoid recursive locking in hci_send_to_channel() Mart reported a deadlock in -RT in the call path: diff --git a/kernel/patches-4.14.x-rt/0060-iommu-iova-Use-raw_cpu_ptr-instead-of-get_cpu_ptr-fo.patch b/kernel/patches-4.14.x-rt/0060-iommu-iova-Use-raw_cpu_ptr-instead-of-get_cpu_ptr-fo.patch index 7de3eedf8..339cedab8 100644 --- a/kernel/patches-4.14.x-rt/0060-iommu-iova-Use-raw_cpu_ptr-instead-of-get_cpu_ptr-fo.patch +++ b/kernel/patches-4.14.x-rt/0060-iommu-iova-Use-raw_cpu_ptr-instead-of-get_cpu_ptr-fo.patch @@ -1,7 +1,7 @@ -From 8fdda08777908ad7a6172ce415ec5703f9b0faff Mon Sep 17 00:00:00 2001 +From c120a8611a24911e2fecf862bbe3ae2579ccbcc2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Sep 2017 17:21:40 +0200 -Subject: [PATCH 060/414] iommu/iova: Use raw_cpu_ptr() instead of +Subject: [PATCH 060/413] iommu/iova: Use raw_cpu_ptr() instead of get_cpu_ptr() for ->fq get_cpu_ptr() disabled preemption and returns the ->fq object of the diff --git a/kernel/patches-4.14.x-rt/0061-greybus-audio-don-t-inclide-rwlock.h-directly.patch b/kernel/patches-4.14.x-rt/0061-greybus-audio-don-t-inclide-rwlock.h-directly.patch index 75a17471e..06fecaf41 100644 --- a/kernel/patches-4.14.x-rt/0061-greybus-audio-don-t-inclide-rwlock.h-directly.patch +++ b/kernel/patches-4.14.x-rt/0061-greybus-audio-don-t-inclide-rwlock.h-directly.patch @@ -1,7 +1,7 @@ -From ff6ce9f69a7f509c0e10bd78c0dc1d9bacde185a Mon Sep 17 00:00:00 2001 +From b5f1bb4aa1185c26be47996d4bf22239070b4e3b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 5 Oct 2017 14:38:52 +0200 -Subject: [PATCH 061/414] greybus: audio: don't inclide rwlock.h directly. +Subject: [PATCH 061/413] greybus: audio: don't inclide rwlock.h directly. rwlock.h should not be included directly. Instead linux/splinlock.h should be included. One thing it does is to break the RT build. diff --git a/kernel/patches-4.14.x-rt/0062-xen-9pfs-don-t-inclide-rwlock.h-directly.patch b/kernel/patches-4.14.x-rt/0062-xen-9pfs-don-t-inclide-rwlock.h-directly.patch index 8de2ad9e4..45965e2bb 100644 --- a/kernel/patches-4.14.x-rt/0062-xen-9pfs-don-t-inclide-rwlock.h-directly.patch +++ b/kernel/patches-4.14.x-rt/0062-xen-9pfs-don-t-inclide-rwlock.h-directly.patch @@ -1,7 +1,7 @@ -From 57aadd3335c145d39a4e3ced1de6e220f793e224 Mon Sep 17 00:00:00 2001 +From 59713b0380114cd3191016cd76a177fddd7803bc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 5 Oct 2017 14:38:52 +0200 -Subject: [PATCH 062/414] xen/9pfs: don't inclide rwlock.h directly. +Subject: [PATCH 062/413] xen/9pfs: don't inclide rwlock.h directly. rwlock.h should not be included directly. Instead linux/splinlock.h should be included. One thing it does is to break the RT build. diff --git a/kernel/patches-4.14.x-rt/0063-drm-i915-properly-init-lockdep-class.patch b/kernel/patches-4.14.x-rt/0063-drm-i915-properly-init-lockdep-class.patch index 65c20acc3..50cda5103 100644 --- a/kernel/patches-4.14.x-rt/0063-drm-i915-properly-init-lockdep-class.patch +++ b/kernel/patches-4.14.x-rt/0063-drm-i915-properly-init-lockdep-class.patch @@ -1,7 +1,7 @@ -From d3d5a7b7f58b32f9c1418d8350a895c3e130a54b Mon Sep 17 00:00:00 2001 +From b6275ffe0ac1a982ef49d560bf8d14b98eec055b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 30 Nov 2017 16:06:13 +0100 -Subject: [PATCH 063/414] drm/i915: properly init lockdep class +Subject: [PATCH 063/413] drm/i915: properly init lockdep class The code has an ifdef and uses two functions to either init the bare spinlock or init it and set a lock-class. It is possible to do the same diff --git a/kernel/patches-4.14.x-rt/0064-timerqueue-Document-return-values-of-timerqueue_add-.patch b/kernel/patches-4.14.x-rt/0064-timerqueue-Document-return-values-of-timerqueue_add-.patch index 0ff0236e5..d1fad139f 100644 --- a/kernel/patches-4.14.x-rt/0064-timerqueue-Document-return-values-of-timerqueue_add-.patch +++ b/kernel/patches-4.14.x-rt/0064-timerqueue-Document-return-values-of-timerqueue_add-.patch @@ -1,7 +1,7 @@ -From 8ec366eaf670a24ee71b4c406d6526e0055da290 Mon Sep 17 00:00:00 2001 +From 58ab0f67ec601164cce1d01624202a38dd4d1c66 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 22 Dec 2017 15:51:15 +0100 -Subject: [PATCH 064/414] timerqueue: Document return values of +Subject: [PATCH 064/413] timerqueue: Document return values of timerqueue_add/del() The return values of timerqueue_add/del() are not documented in the kernel doc diff --git a/kernel/patches-4.14.x-rt/0065-sparc64-use-generic-rwsem-spinlocks-rt.patch b/kernel/patches-4.14.x-rt/0065-sparc64-use-generic-rwsem-spinlocks-rt.patch index c74277874..b1b52f8c6 100644 --- a/kernel/patches-4.14.x-rt/0065-sparc64-use-generic-rwsem-spinlocks-rt.patch +++ b/kernel/patches-4.14.x-rt/0065-sparc64-use-generic-rwsem-spinlocks-rt.patch @@ -1,7 +1,7 @@ -From d6d57ba863defd4ff1388c7dcc8323925065347b Mon Sep 17 00:00:00 2001 +From a038ba15d573f92bc217dad93dc4b1399b1288a0 Mon Sep 17 00:00:00 2001 From: Allen Pais Date: Fri, 13 Dec 2013 09:44:41 +0530 -Subject: [PATCH 065/414] sparc64: use generic rwsem spinlocks rt +Subject: [PATCH 065/413] sparc64: use generic rwsem spinlocks rt Signed-off-by: Allen Pais Signed-off-by: Sebastian Andrzej Siewior diff --git a/kernel/patches-4.14.x-rt/0066-kernel-SRCU-provide-a-static-initializer.patch b/kernel/patches-4.14.x-rt/0066-kernel-SRCU-provide-a-static-initializer.patch index 597b1ac31..4c6f84353 100644 --- a/kernel/patches-4.14.x-rt/0066-kernel-SRCU-provide-a-static-initializer.patch +++ b/kernel/patches-4.14.x-rt/0066-kernel-SRCU-provide-a-static-initializer.patch @@ -1,7 +1,7 @@ -From b3f979f24ccd48b0c93d73294c35380c42bcd39d Mon Sep 17 00:00:00 2001 +From 76cc7af748db49faf5d5215d6e7c3e3a9278eb2b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 19 Mar 2013 14:44:30 +0100 -Subject: [PATCH 066/414] kernel/SRCU: provide a static initializer +Subject: [PATCH 066/413] kernel/SRCU: provide a static initializer There are macros for static initializer for the three out of four possible notifier types, that are: diff --git a/kernel/patches-4.14.x-rt/0067-target-drop-spin_lock_assert-irqs_disabled-combo-che.patch b/kernel/patches-4.14.x-rt/0067-target-drop-spin_lock_assert-irqs_disabled-combo-che.patch index 6b8235724..f78e49371 100644 --- a/kernel/patches-4.14.x-rt/0067-target-drop-spin_lock_assert-irqs_disabled-combo-che.patch +++ b/kernel/patches-4.14.x-rt/0067-target-drop-spin_lock_assert-irqs_disabled-combo-che.patch @@ -1,7 +1,7 @@ -From d05bcd29edaa799b4225174339015b255c66a2a4 Mon Sep 17 00:00:00 2001 +From d2ec59058e734354ec4b8374a79bc7fa2325be87 Mon Sep 17 00:00:00 2001 From: "bigeasy@linutronix.de" Date: Fri, 23 Mar 2018 18:17:36 +0100 -Subject: [PATCH 067/414] target: drop spin_lock_assert() + irqs_disabled() +Subject: [PATCH 067/413] target: drop spin_lock_assert() + irqs_disabled() combo checks There are a few functions which check for if the lock is held diff --git a/kernel/patches-4.14.x-rt/0068-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch b/kernel/patches-4.14.x-rt/0068-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch index c6f09a001..0ddbe682d 100644 --- a/kernel/patches-4.14.x-rt/0068-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch +++ b/kernel/patches-4.14.x-rt/0068-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch @@ -1,7 +1,7 @@ -From 1a58613ad9bf0d2488507ae6733e7cbb69853812 Mon Sep 17 00:00:00 2001 +From d7c5c11bebb377880836dbca53cd81aca444b56a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 4 Apr 2017 12:50:16 +0200 -Subject: [PATCH 068/414] kernel: sched: Provide a pointer to the valid CPU +Subject: [PATCH 068/413] kernel: sched: Provide a pointer to the valid CPU mask MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -361,10 +361,10 @@ index 4657e2924ecb..7bb7384b543a 100644 } diff --git a/kernel/fork.c b/kernel/fork.c -index 98c91bd341b4..04c3ebd7a9a9 100644 +index 91907a3701ce..d146f616bf9e 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -564,7 +564,8 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) +@@ -563,7 +563,8 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) #ifdef CONFIG_CC_STACKPROTECTOR tsk->stack_canary = get_random_canary(); #endif @@ -375,7 +375,7 @@ index 98c91bd341b4..04c3ebd7a9a9 100644 * One for us, one for whoever does the "release_task()" (usually * parent) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 31615d1ae44c..d5d8244d780b 100644 +index 4e89ed8a0fb2..f2d6db386613 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -912,7 +912,7 @@ static inline bool is_per_cpu_kthread(struct task_struct *p) @@ -613,7 +613,7 @@ index 501f17c642ab..a55cb8ce395d 100644 !dl_task(task) || !task_on_rq_queued(task))) { diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c -index 5c09ddf8c832..d1916d33f7ff 100644 +index 0cc7098c6dfd..4388c2b26f70 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -1596,7 +1596,7 @@ static void task_numa_compare(struct task_numa_env *env, @@ -652,7 +652,7 @@ index 5c09ddf8c832..d1916d33f7ff 100644 if (idle_cpu(i)) { struct rq *rq = cpu_rq(i); struct cpuidle_state *idle = idle_get_state(rq); -@@ -5697,7 +5697,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int +@@ -5698,7 +5698,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int if (!test_idle_cores(target, false)) return -1; @@ -661,7 +661,7 @@ index 5c09ddf8c832..d1916d33f7ff 100644 for_each_cpu_wrap(core, cpus, target) { bool idle = true; -@@ -5731,7 +5731,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t +@@ -5732,7 +5732,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t return -1; for_each_cpu(cpu, cpu_smt_mask(target)) { @@ -670,7 +670,7 @@ index 5c09ddf8c832..d1916d33f7ff 100644 continue; if (idle_cpu(cpu)) return cpu; -@@ -5794,7 +5794,7 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t +@@ -5795,7 +5795,7 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t for_each_cpu_wrap(cpu, sched_domain_span(sd), target) { if (!--nr) return -1; @@ -679,7 +679,7 @@ index 5c09ddf8c832..d1916d33f7ff 100644 continue; if (idle_cpu(cpu)) break; -@@ -5949,7 +5949,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f +@@ -5950,7 +5950,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f if (sd_flag & SD_BALANCE_WAKE) { record_wakee(p); want_affine = !wake_wide(p) && !wake_cap(p, cpu, prev_cpu) @@ -688,7 +688,7 @@ index 5c09ddf8c832..d1916d33f7ff 100644 } rcu_read_lock(); -@@ -6698,14 +6698,14 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) +@@ -6699,14 +6699,14 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) /* * We do not migrate tasks that are: * 1) throttled_lb_pair, or @@ -705,7 +705,7 @@ index 5c09ddf8c832..d1916d33f7ff 100644 int cpu; schedstat_inc(p->se.statistics.nr_failed_migrations_affine); -@@ -6725,7 +6725,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) +@@ -6726,7 +6726,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) /* Prevent to re-select dst_cpu via env's cpus */ for_each_cpu_and(cpu, env->dst_grpmask, env->cpus) { @@ -714,7 +714,7 @@ index 5c09ddf8c832..d1916d33f7ff 100644 env->flags |= LBF_DST_PINNED; env->new_dst_cpu = cpu; break; -@@ -7294,7 +7294,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd) +@@ -7295,7 +7295,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd) /* * Group imbalance indicates (and tries to solve) the problem where balancing @@ -723,7 +723,7 @@ index 5c09ddf8c832..d1916d33f7ff 100644 * * Imagine a situation of two groups of 4 cpus each and 4 tasks each with a * cpumask covering 1 cpu of the first group and 3 cpus of the second group. -@@ -7870,7 +7870,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env) +@@ -7871,7 +7871,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env) /* * If the busiest group is imbalanced the below checks don't * work because they assume all things are equal, which typically @@ -732,7 +732,7 @@ index 5c09ddf8c832..d1916d33f7ff 100644 */ if (busiest->group_type == group_imbalanced) goto force_balance; -@@ -8262,7 +8262,7 @@ static int load_balance(int this_cpu, struct rq *this_rq, +@@ -8263,7 +8263,7 @@ static int load_balance(int this_cpu, struct rq *this_rq, * if the curr task on busiest cpu can't be * moved to this_cpu */ diff --git a/kernel/patches-4.14.x-rt/0069-kernel-sched-core-add-migrate_disable.patch b/kernel/patches-4.14.x-rt/0069-kernel-sched-core-add-migrate_disable.patch index 01f47b788..1b0eb7f13 100644 --- a/kernel/patches-4.14.x-rt/0069-kernel-sched-core-add-migrate_disable.patch +++ b/kernel/patches-4.14.x-rt/0069-kernel-sched-core-add-migrate_disable.patch @@ -1,7 +1,7 @@ -From 3d187a141e0e95a0e5e378f67dfc05ddad388e0f Mon Sep 17 00:00:00 2001 +From 9d513f6df015915b0bb5c92f1f36c914b5918824 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Sat, 27 May 2017 19:02:06 +0200 -Subject: [PATCH 069/414] kernel/sched/core: add migrate_disable() +Subject: [PATCH 069/413] kernel/sched/core: add migrate_disable() --- include/linux/preempt.h | 23 +++++++ @@ -85,7 +85,7 @@ index 9fb239e12b82..5801e516ba63 100644 * Callback to arch code if there's nosmp or maxcpus=0 on the * boot command line: diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index d5d8244d780b..f62dd754def1 100644 +index f2d6db386613..40a07276d5a3 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1042,7 +1042,15 @@ void set_cpus_allowed_common(struct task_struct *p, const struct cpumask *new_ma @@ -144,7 +144,7 @@ index d5d8244d780b..f62dd754def1 100644 dest_cpu = cpumask_any_and(cpu_valid_mask, new_mask); if (task_running(rq, p) || p->state == TASK_WAKING) { struct migration_arg arg = { p, dest_cpu }; -@@ -6762,3 +6791,100 @@ const u32 sched_prio_to_wmult[40] = { +@@ -6756,3 +6785,100 @@ const u32 sched_prio_to_wmult[40] = { /* 10 */ 39045157, 49367440, 61356676, 76695844, 95443717, /* 15 */ 119304647, 148102320, 186737708, 238609294, 286331153, }; diff --git a/kernel/patches-4.14.x-rt/0070-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch b/kernel/patches-4.14.x-rt/0070-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch index 89efee519..20a95d247 100644 --- a/kernel/patches-4.14.x-rt/0070-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch +++ b/kernel/patches-4.14.x-rt/0070-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch @@ -1,7 +1,7 @@ -From 40be7b1c2167a4798c6c84cd1c8a059efe5025d1 Mon Sep 17 00:00:00 2001 +From cd42f05eb5aae88394b423c9f216321cfefac5db Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Thu, 21 Sep 2017 16:22:49 -0400 -Subject: [PATCH 070/414] tracing: Reverse the order of trace_types_lock and +Subject: [PATCH 070/413] tracing: Reverse the order of trace_types_lock and event_mutex In order to make future changes where we need to call @@ -22,10 +22,10 @@ Signed-off-by: Sebastian Andrzej Siewior 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index e268750bd4ad..26ec13580069 100644 +index 20919489883f..c3d9b89a8267 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -7671,6 +7671,7 @@ static int instance_mkdir(const char *name) +@@ -7677,6 +7677,7 @@ static int instance_mkdir(const char *name) struct trace_array *tr; int ret; @@ -33,7 +33,7 @@ index e268750bd4ad..26ec13580069 100644 mutex_lock(&trace_types_lock); ret = -EEXIST; -@@ -7726,6 +7727,7 @@ static int instance_mkdir(const char *name) +@@ -7732,6 +7733,7 @@ static int instance_mkdir(const char *name) list_add(&tr->list, &ftrace_trace_arrays); mutex_unlock(&trace_types_lock); @@ -41,7 +41,7 @@ index e268750bd4ad..26ec13580069 100644 return 0; -@@ -7737,6 +7739,7 @@ static int instance_mkdir(const char *name) +@@ -7743,6 +7745,7 @@ static int instance_mkdir(const char *name) out_unlock: mutex_unlock(&trace_types_lock); @@ -49,7 +49,7 @@ index e268750bd4ad..26ec13580069 100644 return ret; -@@ -7749,6 +7752,7 @@ static int instance_rmdir(const char *name) +@@ -7755,6 +7758,7 @@ static int instance_rmdir(const char *name) int ret; int i; @@ -57,7 +57,7 @@ index e268750bd4ad..26ec13580069 100644 mutex_lock(&trace_types_lock); ret = -ENODEV; -@@ -7794,6 +7798,7 @@ static int instance_rmdir(const char *name) +@@ -7800,6 +7804,7 @@ static int instance_rmdir(const char *name) out_unlock: mutex_unlock(&trace_types_lock); diff --git a/kernel/patches-4.14.x-rt/0071-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch b/kernel/patches-4.14.x-rt/0071-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch index e670c67b4..63937db66 100644 --- a/kernel/patches-4.14.x-rt/0071-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch +++ b/kernel/patches-4.14.x-rt/0071-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch @@ -1,7 +1,7 @@ -From 09a24cd34c2b11f8fd56430f66f86f4ae2eae03c Mon Sep 17 00:00:00 2001 +From bd51d40fd53281d79e88bb1bd96a9a3b58fd89f9 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Fri, 22 Sep 2017 16:59:02 -0400 -Subject: [PATCH 071/414] ring-buffer: Rewrite trace_recursive_(un)lock() to be +Subject: [PATCH 071/413] ring-buffer: Rewrite trace_recursive_(un)lock() to be simpler The current method to prevent the ring buffer from entering into a recursize @@ -28,7 +28,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 17 insertions(+), 47 deletions(-) diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c -index 36f018b15392..29bad749560a 100644 +index fd7809004297..c3b6b47fd44a 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -2545,61 +2545,29 @@ rb_wakeups(struct ring_buffer *buffer, struct ring_buffer_per_cpu *cpu_buffer) diff --git a/kernel/patches-4.14.x-rt/0072-tracing-Remove-lookups-from-tracing_map-hitcount.patch b/kernel/patches-4.14.x-rt/0072-tracing-Remove-lookups-from-tracing_map-hitcount.patch index 914365aba..ef1f41c54 100644 --- a/kernel/patches-4.14.x-rt/0072-tracing-Remove-lookups-from-tracing_map-hitcount.patch +++ b/kernel/patches-4.14.x-rt/0072-tracing-Remove-lookups-from-tracing_map-hitcount.patch @@ -1,7 +1,7 @@ -From c00d7b1f0af177496a3f9e87952bc632ed961af7 Mon Sep 17 00:00:00 2001 +From 1df3ab2ba2d95d9623be62bcc4eb8e54837a00c1 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:18 -0500 -Subject: [PATCH 072/414] tracing: Remove lookups from tracing_map hitcount +Subject: [PATCH 072/413] tracing: Remove lookups from tracing_map hitcount Lookups inflate the hitcount, making it essentially useless. Only inserts and updates should really affect the hitcount anyway, so diff --git a/kernel/patches-4.14.x-rt/0073-tracing-Increase-tracing-map-KEYS_MAX-size.patch b/kernel/patches-4.14.x-rt/0073-tracing-Increase-tracing-map-KEYS_MAX-size.patch index 40fa75447..cf66134f6 100644 --- a/kernel/patches-4.14.x-rt/0073-tracing-Increase-tracing-map-KEYS_MAX-size.patch +++ b/kernel/patches-4.14.x-rt/0073-tracing-Increase-tracing-map-KEYS_MAX-size.patch @@ -1,7 +1,7 @@ -From 9cd219e6bbcfbb790039a30af4a0fe80c84a2d6c Mon Sep 17 00:00:00 2001 +From 20520cafc810815c7b14dc1257ed12729b378f54 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:19 -0500 -Subject: [PATCH 073/414] tracing: Increase tracing map KEYS_MAX size +Subject: [PATCH 073/413] tracing: Increase tracing map KEYS_MAX size The current default for the number of subkeys in a compound key is 2, which is too restrictive. Increase it to a more realistic value of 3. diff --git a/kernel/patches-4.14.x-rt/0074-tracing-Make-traceprobe-parsing-code-reusable.patch b/kernel/patches-4.14.x-rt/0074-tracing-Make-traceprobe-parsing-code-reusable.patch index 5ddc706be..9e573c6be 100644 --- a/kernel/patches-4.14.x-rt/0074-tracing-Make-traceprobe-parsing-code-reusable.patch +++ b/kernel/patches-4.14.x-rt/0074-tracing-Make-traceprobe-parsing-code-reusable.patch @@ -1,7 +1,7 @@ -From b64a31d00a26eafa511f2aa7b28416d42459fe0f Mon Sep 17 00:00:00 2001 +From 272b77138a9e6e7785e46cac33ed5badfe04d601 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:20 -0500 -Subject: [PATCH 074/414] tracing: Make traceprobe parsing code reusable +Subject: [PATCH 074/413] tracing: Make traceprobe parsing code reusable traceprobe_probes_write() and traceprobe_command() actually contain nothing that ties them to kprobes - the code is generically useful for @@ -28,10 +28,10 @@ Signed-off-by: Sebastian Andrzej Siewior 6 files changed, 103 insertions(+), 103 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 26ec13580069..5aea670a9b7e 100644 +index c3d9b89a8267..99b415e5cd11 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -8265,6 +8265,92 @@ void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) +@@ -8271,6 +8271,92 @@ void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) } EXPORT_SYMBOL_GPL(ftrace_dump); @@ -143,10 +143,10 @@ index 851cd1605085..221591636530 100644 * Normal trace_printk() and friends allocates special buffers * to do the manipulation, as well as saves the print formats diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c -index f8d3bd974bcc..1f8b72d82ad9 100644 +index ea20274a105a..3c40d4174052 100644 --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c -@@ -907,8 +907,8 @@ static int probes_open(struct inode *inode, struct file *file) +@@ -918,8 +918,8 @@ static int probes_open(struct inode *inode, struct file *file) static ssize_t probes_write(struct file *file, const char __user *buffer, size_t count, loff_t *ppos) { @@ -157,7 +157,7 @@ index f8d3bd974bcc..1f8b72d82ad9 100644 } static const struct file_operations kprobe_events_ops = { -@@ -1433,9 +1433,9 @@ static __init int kprobe_trace_self_tests_init(void) +@@ -1444,9 +1444,9 @@ static __init int kprobe_trace_self_tests_init(void) pr_info("Testing kprobe tracing: "); @@ -170,7 +170,7 @@ index f8d3bd974bcc..1f8b72d82ad9 100644 if (WARN_ON_ONCE(ret)) { pr_warn("error on probing function entry.\n"); warn++; -@@ -1455,8 +1455,8 @@ static __init int kprobe_trace_self_tests_init(void) +@@ -1466,8 +1466,8 @@ static __init int kprobe_trace_self_tests_init(void) } } @@ -181,7 +181,7 @@ index f8d3bd974bcc..1f8b72d82ad9 100644 if (WARN_ON_ONCE(ret)) { pr_warn("error on probing function return.\n"); warn++; -@@ -1526,13 +1526,13 @@ static __init int kprobe_trace_self_tests_init(void) +@@ -1537,13 +1537,13 @@ static __init int kprobe_trace_self_tests_init(void) disable_trace_kprobe(tk, file); } diff --git a/kernel/patches-4.14.x-rt/0075-tracing-Clean-up-hist_field_flags-enum.patch b/kernel/patches-4.14.x-rt/0075-tracing-Clean-up-hist_field_flags-enum.patch index ba000ea26..52f2df8f2 100644 --- a/kernel/patches-4.14.x-rt/0075-tracing-Clean-up-hist_field_flags-enum.patch +++ b/kernel/patches-4.14.x-rt/0075-tracing-Clean-up-hist_field_flags-enum.patch @@ -1,7 +1,7 @@ -From cc804e77781f5e47c444176f0a871549a0f25492 Mon Sep 17 00:00:00 2001 +From 7aa3241e49aeb877d3b6db85db821702a5c87b7b Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:21 -0500 -Subject: [PATCH 075/414] tracing: Clean up hist_field_flags enum +Subject: [PATCH 075/413] tracing: Clean up hist_field_flags enum As we add more flags, specifying explicit integers for the flag values becomes more unwieldy and error-prone - switch them over to left-shift diff --git a/kernel/patches-4.14.x-rt/0076-tracing-Add-hist_field_name-accessor.patch b/kernel/patches-4.14.x-rt/0076-tracing-Add-hist_field_name-accessor.patch index 37de3b7f5..b05fa0cd2 100644 --- a/kernel/patches-4.14.x-rt/0076-tracing-Add-hist_field_name-accessor.patch +++ b/kernel/patches-4.14.x-rt/0076-tracing-Add-hist_field_name-accessor.patch @@ -1,7 +1,7 @@ -From 2a62bdf95f1c277759cae29536ab66e885943504 Mon Sep 17 00:00:00 2001 +From 1d446035c5e9360d34385d7a9925752c12afd229 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:22 -0500 -Subject: [PATCH 076/414] tracing: Add hist_field_name() accessor +Subject: [PATCH 076/413] tracing: Add hist_field_name() accessor In preparation for hist_fields that won't be strictly based on trace_event_fields, add a new hist_field_name() accessor to allow that diff --git a/kernel/patches-4.14.x-rt/0077-tracing-Reimplement-log2.patch b/kernel/patches-4.14.x-rt/0077-tracing-Reimplement-log2.patch index 7a257a0f1..34c5d41dc 100644 --- a/kernel/patches-4.14.x-rt/0077-tracing-Reimplement-log2.patch +++ b/kernel/patches-4.14.x-rt/0077-tracing-Reimplement-log2.patch @@ -1,7 +1,7 @@ -From 9fd54977344b5c297402ac7f6cf443e700716eff Mon Sep 17 00:00:00 2001 +From 24c189923ec2a18ec59f026a61de134ab839fc8a Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Fri, 22 Sep 2017 14:58:23 -0500 -Subject: [PATCH 077/414] tracing: Reimplement log2 +Subject: [PATCH 077/413] tracing: Reimplement log2 log2 as currently implemented applies only to u64 trace_event_field derived fields, and assumes that anything it's applied to is a u64 diff --git a/kernel/patches-4.14.x-rt/0078-tracing-Move-hist-trigger-Documentation-to-histogram.patch b/kernel/patches-4.14.x-rt/0078-tracing-Move-hist-trigger-Documentation-to-histogram.patch index b9de3a223..621d10bc8 100644 --- a/kernel/patches-4.14.x-rt/0078-tracing-Move-hist-trigger-Documentation-to-histogram.patch +++ b/kernel/patches-4.14.x-rt/0078-tracing-Move-hist-trigger-Documentation-to-histogram.patch @@ -1,7 +1,7 @@ -From a4ed86cabdf2c718ad372bf20e04a55b78065622 Mon Sep 17 00:00:00 2001 +From dcc5cc2dd6f46960cd168e8329c85d33cc500cc6 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:35 -0600 -Subject: [PATCH 078/414] tracing: Move hist trigger Documentation to +Subject: [PATCH 078/413] tracing: Move hist trigger Documentation to histogram.txt The hist trigger Documentation takes up a large part of events.txt - diff --git a/kernel/patches-4.14.x-rt/0079-tracing-Add-Documentation-for-log2-modifier.patch b/kernel/patches-4.14.x-rt/0079-tracing-Add-Documentation-for-log2-modifier.patch index 017659587..ff7ba1c12 100644 --- a/kernel/patches-4.14.x-rt/0079-tracing-Add-Documentation-for-log2-modifier.patch +++ b/kernel/patches-4.14.x-rt/0079-tracing-Add-Documentation-for-log2-modifier.patch @@ -1,7 +1,7 @@ -From e43a043fd5f52fca34d9e4f66b8ed112bf069d9b Mon Sep 17 00:00:00 2001 +From 90ec131e92fd943ca8250811af309bf97438c17f Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:36 -0600 -Subject: [PATCH 079/414] tracing: Add Documentation for log2 modifier +Subject: [PATCH 079/413] tracing: Add Documentation for log2 modifier Add a line for the log2 modifier, to keep it aligned with tracing/README. diff --git a/kernel/patches-4.14.x-rt/0080-tracing-Add-support-to-detect-and-avoid-duplicates.patch b/kernel/patches-4.14.x-rt/0080-tracing-Add-support-to-detect-and-avoid-duplicates.patch index 63a5b8b01..069d2960d 100644 --- a/kernel/patches-4.14.x-rt/0080-tracing-Add-support-to-detect-and-avoid-duplicates.patch +++ b/kernel/patches-4.14.x-rt/0080-tracing-Add-support-to-detect-and-avoid-duplicates.patch @@ -1,7 +1,7 @@ -From 390fbcbd4c9d4dc44196020c7a094f0fc98a32fb Mon Sep 17 00:00:00 2001 +From 004c8777f5674a0e505eae0860dbb9c007a3b428 Mon Sep 17 00:00:00 2001 From: Vedang Patel Date: Mon, 15 Jan 2018 20:51:37 -0600 -Subject: [PATCH 080/414] tracing: Add support to detect and avoid duplicates +Subject: [PATCH 080/413] tracing: Add support to detect and avoid duplicates A duplicate in the tracing_map hash table is when 2 different entries have the same key and, as a result, the key_hash. This is possible due diff --git a/kernel/patches-4.14.x-rt/0081-tracing-Remove-code-which-merges-duplicates.patch b/kernel/patches-4.14.x-rt/0081-tracing-Remove-code-which-merges-duplicates.patch index 46e67f6e7..5341bd708 100644 --- a/kernel/patches-4.14.x-rt/0081-tracing-Remove-code-which-merges-duplicates.patch +++ b/kernel/patches-4.14.x-rt/0081-tracing-Remove-code-which-merges-duplicates.patch @@ -1,7 +1,7 @@ -From bdfbdb272b3738f1c7c94af976c1441d33290db9 Mon Sep 17 00:00:00 2001 +From 31f4fd0e513378bc4d9b302657fa4ce577e4e27e Mon Sep 17 00:00:00 2001 From: Vedang Patel Date: Mon, 15 Jan 2018 20:51:38 -0600 -Subject: [PATCH 081/414] tracing: Remove code which merges duplicates +Subject: [PATCH 081/413] tracing: Remove code which merges duplicates We now have the logic to detect and remove duplicates in the tracing_map hash table. The code which merges duplicates in the diff --git a/kernel/patches-4.14.x-rt/0082-ring-buffer-Add-interface-for-setting-absolute-time-.patch b/kernel/patches-4.14.x-rt/0082-ring-buffer-Add-interface-for-setting-absolute-time-.patch index 3f7ccb04e..9bd9b6af6 100644 --- a/kernel/patches-4.14.x-rt/0082-ring-buffer-Add-interface-for-setting-absolute-time-.patch +++ b/kernel/patches-4.14.x-rt/0082-ring-buffer-Add-interface-for-setting-absolute-time-.patch @@ -1,7 +1,7 @@ -From 06f1ea65611d18c2fce8e1c4fed1671f95d35702 Mon Sep 17 00:00:00 2001 +From 340a244f82269fcefc375632ede3243326f403ee Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:39 -0600 -Subject: [PATCH 082/414] ring-buffer: Add interface for setting absolute time +Subject: [PATCH 082/413] ring-buffer: Add interface for setting absolute time stamps Define a new function, tracing_set_time_stamp_abs(), which can be used @@ -26,10 +26,10 @@ Signed-off-by: Sebastian Andrzej Siewior 4 files changed, 48 insertions(+), 1 deletion(-) diff --git a/include/linux/ring_buffer.h b/include/linux/ring_buffer.h -index 289e4d54e3e0..42b626aa88c7 100644 +index 5caa062a02b2..adffb56bae8f 100644 --- a/include/linux/ring_buffer.h +++ b/include/linux/ring_buffer.h -@@ -178,6 +178,8 @@ void ring_buffer_normalize_time_stamp(struct ring_buffer *buffer, +@@ -179,6 +179,8 @@ void ring_buffer_normalize_time_stamp(struct ring_buffer *buffer, int cpu, u64 *ts); void ring_buffer_set_clock(struct ring_buffer *buffer, u64 (*clock)(void)); @@ -39,7 +39,7 @@ index 289e4d54e3e0..42b626aa88c7 100644 size_t ring_buffer_page_len(void *page); diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c -index 29bad749560a..2be361b63c7b 100644 +index c3b6b47fd44a..dc6f47802d02 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -488,6 +488,7 @@ struct ring_buffer { @@ -68,10 +68,10 @@ index 29bad749560a..2be361b63c7b 100644 static inline unsigned long rb_page_entries(struct buffer_page *bpage) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 5aea670a9b7e..f75eb0df7dd9 100644 +index 99b415e5cd11..e64ba2addfe7 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -2269,7 +2269,7 @@ trace_event_buffer_lock_reserve(struct ring_buffer **current_rb, +@@ -2275,7 +2275,7 @@ trace_event_buffer_lock_reserve(struct ring_buffer **current_rb, *current_rb = trace_file->tr->trace_buffer.buffer; @@ -80,7 +80,7 @@ index 5aea670a9b7e..f75eb0df7dd9 100644 (EVENT_FILE_FL_SOFT_DISABLED | EVENT_FILE_FL_FILTERED)) && (entry = this_cpu_read(trace_buffered_event))) { /* Try to use the per cpu buffer first */ -@@ -6287,6 +6287,37 @@ static int tracing_clock_open(struct inode *inode, struct file *file) +@@ -6293,6 +6293,37 @@ static int tracing_clock_open(struct inode *inode, struct file *file) return ret; } diff --git a/kernel/patches-4.14.x-rt/0083-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch b/kernel/patches-4.14.x-rt/0083-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch index d2af5aa92..52e77b68d 100644 --- a/kernel/patches-4.14.x-rt/0083-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch +++ b/kernel/patches-4.14.x-rt/0083-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch @@ -1,7 +1,7 @@ -From 9f67e02e27ed28e415ea0e2b36e3ed12113bdb37 Mon Sep 17 00:00:00 2001 +From 84238420757684f86aa07eca0f5fc81fffdaeb27 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:40 -0600 -Subject: [PATCH 083/414] ring-buffer: Redefine the unimplemented +Subject: [PATCH 083/413] ring-buffer: Redefine the unimplemented RINGBUF_TYPE_TIME_STAMP RINGBUF_TYPE_TIME_STAMP is defined but not used, and from what I can @@ -33,7 +33,7 @@ Signed-off-by: Sebastian Andrzej Siewior 2 files changed, 83 insertions(+), 33 deletions(-) diff --git a/include/linux/ring_buffer.h b/include/linux/ring_buffer.h -index 42b626aa88c7..b37a5df05e81 100644 +index adffb56bae8f..6c2a6b3f3c6d 100644 --- a/include/linux/ring_buffer.h +++ b/include/linux/ring_buffer.h @@ -34,10 +34,12 @@ struct ring_buffer_event { @@ -68,7 +68,7 @@ index 42b626aa88c7..b37a5df05e81 100644 /* * ring_buffer_discard_commit will remove an event that has not diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c -index 2be361b63c7b..e48989ff0427 100644 +index dc6f47802d02..a9cb4359c280 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -41,6 +41,8 @@ int ring_buffer_print_entry_header(struct trace_seq *s) @@ -230,7 +230,7 @@ index 2be361b63c7b..e48989ff0427 100644 info.delta = diff; if (unlikely(test_time_stamp(info.delta))) rb_handle_timestamp(cpu_buffer, &info); -@@ -3424,14 +3459,13 @@ rb_update_read_stamp(struct ring_buffer_per_cpu *cpu_buffer, +@@ -3440,14 +3475,13 @@ rb_update_read_stamp(struct ring_buffer_per_cpu *cpu_buffer, return; case RINGBUF_TYPE_TIME_EXTEND: @@ -248,7 +248,7 @@ index 2be361b63c7b..e48989ff0427 100644 return; case RINGBUF_TYPE_DATA: -@@ -3455,14 +3489,13 @@ rb_update_iter_read_stamp(struct ring_buffer_iter *iter, +@@ -3471,14 +3505,13 @@ rb_update_iter_read_stamp(struct ring_buffer_iter *iter, return; case RINGBUF_TYPE_TIME_EXTEND: @@ -266,7 +266,7 @@ index 2be361b63c7b..e48989ff0427 100644 return; case RINGBUF_TYPE_DATA: -@@ -3686,6 +3719,8 @@ rb_buffer_peek(struct ring_buffer_per_cpu *cpu_buffer, u64 *ts, +@@ -3702,6 +3735,8 @@ rb_buffer_peek(struct ring_buffer_per_cpu *cpu_buffer, u64 *ts, struct buffer_page *reader; int nr_loops = 0; @@ -275,7 +275,7 @@ index 2be361b63c7b..e48989ff0427 100644 again: /* * We repeat when a time extend is encountered. -@@ -3722,12 +3757,17 @@ rb_buffer_peek(struct ring_buffer_per_cpu *cpu_buffer, u64 *ts, +@@ -3738,12 +3773,17 @@ rb_buffer_peek(struct ring_buffer_per_cpu *cpu_buffer, u64 *ts, goto again; case RINGBUF_TYPE_TIME_STAMP: @@ -295,7 +295,7 @@ index 2be361b63c7b..e48989ff0427 100644 *ts = cpu_buffer->read_stamp + event->time_delta; ring_buffer_normalize_time_stamp(cpu_buffer->buffer, cpu_buffer->cpu, ts); -@@ -3752,6 +3792,9 @@ rb_iter_peek(struct ring_buffer_iter *iter, u64 *ts) +@@ -3768,6 +3808,9 @@ rb_iter_peek(struct ring_buffer_iter *iter, u64 *ts) struct ring_buffer_event *event; int nr_loops = 0; @@ -305,7 +305,7 @@ index 2be361b63c7b..e48989ff0427 100644 cpu_buffer = iter->cpu_buffer; buffer = cpu_buffer->buffer; -@@ -3804,12 +3847,17 @@ rb_iter_peek(struct ring_buffer_iter *iter, u64 *ts) +@@ -3820,12 +3863,17 @@ rb_iter_peek(struct ring_buffer_iter *iter, u64 *ts) goto again; case RINGBUF_TYPE_TIME_STAMP: diff --git a/kernel/patches-4.14.x-rt/0084-tracing-Add-timestamp_mode-trace-file.patch b/kernel/patches-4.14.x-rt/0084-tracing-Add-timestamp_mode-trace-file.patch index 2ea2af9d1..aae078658 100644 --- a/kernel/patches-4.14.x-rt/0084-tracing-Add-timestamp_mode-trace-file.patch +++ b/kernel/patches-4.14.x-rt/0084-tracing-Add-timestamp_mode-trace-file.patch @@ -1,7 +1,7 @@ -From 15e2d254eb4b12f827423744fe5e69ce42507f2c Mon Sep 17 00:00:00 2001 +From 91cf6512ab5c35ffa8de75ccea423edd949d0bf2 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:41 -0600 -Subject: [PATCH 084/414] tracing: Add timestamp_mode trace file +Subject: [PATCH 084/413] tracing: Add timestamp_mode trace file Add a new option flag indicating whether or not the ring buffer is in 'absolute timestamp' mode. @@ -62,10 +62,10 @@ index d4601df6e72e..54213e5c23f6 100644 Directory for the Hardware Latency Detector. diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index f75eb0df7dd9..ed50ecb0592b 100644 +index e64ba2addfe7..b101ccf0b9fb 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -4520,6 +4520,9 @@ static const char readme_msg[] = +@@ -4526,6 +4526,9 @@ static const char readme_msg[] = #ifdef CONFIG_X86_64 " x86-tsc: TSC cycle counter\n" #endif @@ -75,7 +75,7 @@ index f75eb0df7dd9..ed50ecb0592b 100644 "\n trace_marker\t\t- Writes into this file writes into the kernel buffer\n" "\n trace_marker_raw\t\t- Writes into this file writes binary data into the kernel buffer\n" " tracing_cpumask\t- Limit which CPUs to trace\n" -@@ -6287,6 +6290,40 @@ static int tracing_clock_open(struct inode *inode, struct file *file) +@@ -6293,6 +6296,40 @@ static int tracing_clock_open(struct inode *inode, struct file *file) return ret; } @@ -116,7 +116,7 @@ index f75eb0df7dd9..ed50ecb0592b 100644 int tracing_set_time_stamp_abs(struct trace_array *tr, bool abs) { int ret = 0; -@@ -6565,6 +6602,13 @@ static const struct file_operations trace_clock_fops = { +@@ -6571,6 +6608,13 @@ static const struct file_operations trace_clock_fops = { .write = tracing_clock_write, }; @@ -130,7 +130,7 @@ index f75eb0df7dd9..ed50ecb0592b 100644 #ifdef CONFIG_TRACER_SNAPSHOT static const struct file_operations snapshot_fops = { .open = tracing_snapshot_open, -@@ -7887,6 +7931,9 @@ init_tracer_tracefs(struct trace_array *tr, struct dentry *d_tracer) +@@ -7893,6 +7937,9 @@ init_tracer_tracefs(struct trace_array *tr, struct dentry *d_tracer) trace_create_file("tracing_on", 0644, d_tracer, tr, &rb_simple_fops); diff --git a/kernel/patches-4.14.x-rt/0085-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch b/kernel/patches-4.14.x-rt/0085-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch index 16e9ea415..988af013f 100644 --- a/kernel/patches-4.14.x-rt/0085-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch +++ b/kernel/patches-4.14.x-rt/0085-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch @@ -1,7 +1,7 @@ -From 88ddb6459b76ae7f56abd46e62b976906d96701c Mon Sep 17 00:00:00 2001 +From 794e7fb5827ff40ea3d54b8e4a1ce42d0fec1fc2 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:42 -0600 -Subject: [PATCH 085/414] tracing: Give event triggers access to +Subject: [PATCH 085/413] tracing: Give event triggers access to ring_buffer_event The ring_buffer event can provide a timestamp that may be useful to @@ -137,7 +137,7 @@ index c57e5369b0c2..77079c79b6d4 100644 static struct event_trigger_ops hist_enable_trigger_ops = { diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c -index b413fab7d75b..9dd8b9ce2594 100644 +index 43254c5e7e16..4c269f2e00a4 100644 --- a/kernel/trace/trace_events_trigger.c +++ b/kernel/trace/trace_events_trigger.c @@ -63,7 +63,8 @@ void trigger_data_free(struct event_trigger_data *data) @@ -186,7 +186,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 } } EXPORT_SYMBOL_GPL(event_triggers_post_call); -@@ -911,7 +912,8 @@ void set_named_trigger_data(struct event_trigger_data *data, +@@ -915,7 +916,8 @@ void set_named_trigger_data(struct event_trigger_data *data, } static void @@ -196,7 +196,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 { if (tracing_is_on()) return; -@@ -920,7 +922,8 @@ traceon_trigger(struct event_trigger_data *data, void *rec) +@@ -924,7 +926,8 @@ traceon_trigger(struct event_trigger_data *data, void *rec) } static void @@ -206,7 +206,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 { if (tracing_is_on()) return; -@@ -935,7 +938,8 @@ traceon_count_trigger(struct event_trigger_data *data, void *rec) +@@ -939,7 +942,8 @@ traceon_count_trigger(struct event_trigger_data *data, void *rec) } static void @@ -216,7 +216,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 { if (!tracing_is_on()) return; -@@ -944,7 +948,8 @@ traceoff_trigger(struct event_trigger_data *data, void *rec) +@@ -948,7 +952,8 @@ traceoff_trigger(struct event_trigger_data *data, void *rec) } static void @@ -226,7 +226,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 { if (!tracing_is_on()) return; -@@ -1041,7 +1046,8 @@ static struct event_command trigger_traceoff_cmd = { +@@ -1045,7 +1050,8 @@ static struct event_command trigger_traceoff_cmd = { #ifdef CONFIG_TRACER_SNAPSHOT static void @@ -236,7 +236,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 { struct trace_event_file *file = data->private_data; -@@ -1052,7 +1058,8 @@ snapshot_trigger(struct event_trigger_data *data, void *rec) +@@ -1056,7 +1062,8 @@ snapshot_trigger(struct event_trigger_data *data, void *rec) } static void @@ -246,7 +246,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 { if (!data->count) return; -@@ -1060,7 +1067,7 @@ snapshot_count_trigger(struct event_trigger_data *data, void *rec) +@@ -1064,7 +1071,7 @@ snapshot_count_trigger(struct event_trigger_data *data, void *rec) if (data->count != -1) (data->count)--; @@ -255,7 +255,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 } static int -@@ -1139,13 +1146,15 @@ static __init int register_trigger_snapshot_cmd(void) { return 0; } +@@ -1143,13 +1150,15 @@ static __init int register_trigger_snapshot_cmd(void) { return 0; } #define STACK_SKIP 3 static void @@ -273,7 +273,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 { if (!data->count) return; -@@ -1153,7 +1162,7 @@ stacktrace_count_trigger(struct event_trigger_data *data, void *rec) +@@ -1157,7 +1166,7 @@ stacktrace_count_trigger(struct event_trigger_data *data, void *rec) if (data->count != -1) (data->count)--; @@ -282,7 +282,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 } static int -@@ -1215,7 +1224,8 @@ static __init void unregister_trigger_traceon_traceoff_cmds(void) +@@ -1219,7 +1228,8 @@ static __init void unregister_trigger_traceon_traceoff_cmds(void) } static void @@ -292,7 +292,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 { struct enable_trigger_data *enable_data = data->private_data; -@@ -1226,7 +1236,8 @@ event_enable_trigger(struct event_trigger_data *data, void *rec) +@@ -1230,7 +1240,8 @@ event_enable_trigger(struct event_trigger_data *data, void *rec) } static void @@ -302,7 +302,7 @@ index b413fab7d75b..9dd8b9ce2594 100644 { struct enable_trigger_data *enable_data = data->private_data; -@@ -1240,7 +1251,7 @@ event_enable_count_trigger(struct event_trigger_data *data, void *rec) +@@ -1244,7 +1255,7 @@ event_enable_count_trigger(struct event_trigger_data *data, void *rec) if (data->count != -1) (data->count)--; diff --git a/kernel/patches-4.14.x-rt/0086-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch b/kernel/patches-4.14.x-rt/0086-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch index 82196db1f..1f87bbf9d 100644 --- a/kernel/patches-4.14.x-rt/0086-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch +++ b/kernel/patches-4.14.x-rt/0086-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch @@ -1,7 +1,7 @@ -From e2a4c5f3252c8e72a9f2a7936708cb76bdc67e58 Mon Sep 17 00:00:00 2001 +From 61f2ce425bc32c663a1d89fa603d0dc3906ab88d Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:43 -0600 -Subject: [PATCH 086/414] tracing: Add ring buffer event param to hist field +Subject: [PATCH 086/413] tracing: Add ring buffer event param to hist field functions Some events such as timestamps require access to a ring_buffer_event diff --git a/kernel/patches-4.14.x-rt/0087-tracing-Break-out-hist-trigger-assignment-parsing.patch b/kernel/patches-4.14.x-rt/0087-tracing-Break-out-hist-trigger-assignment-parsing.patch index 42840f054..731bb2ffc 100644 --- a/kernel/patches-4.14.x-rt/0087-tracing-Break-out-hist-trigger-assignment-parsing.patch +++ b/kernel/patches-4.14.x-rt/0087-tracing-Break-out-hist-trigger-assignment-parsing.patch @@ -1,7 +1,7 @@ -From 8c0e516c256760a737c21d9e830df9d5d586bba8 Mon Sep 17 00:00:00 2001 +From fe44332c3b607f3d93463a5a61faa65eda660a5a Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:44 -0600 -Subject: [PATCH 087/414] tracing: Break out hist trigger assignment parsing +Subject: [PATCH 087/413] tracing: Break out hist trigger assignment parsing This will make it easier to add variables, and makes the parsing code cleaner regardless. diff --git a/kernel/patches-4.14.x-rt/0088-tracing-Add-hist-trigger-timestamp-support.patch b/kernel/patches-4.14.x-rt/0088-tracing-Add-hist-trigger-timestamp-support.patch index c21cc9585..ab2fd5e0b 100644 --- a/kernel/patches-4.14.x-rt/0088-tracing-Add-hist-trigger-timestamp-support.patch +++ b/kernel/patches-4.14.x-rt/0088-tracing-Add-hist-trigger-timestamp-support.patch @@ -1,7 +1,7 @@ -From f5fc85120c33816190064e90232e0e70723df981 Mon Sep 17 00:00:00 2001 +From da1d8b0719fef4b967e297068245144456a8e3a3 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:45 -0600 -Subject: [PATCH 088/414] tracing: Add hist trigger timestamp support +Subject: [PATCH 088/413] tracing: Add hist trigger timestamp support Add support for a timestamp event field. This is actually a 'pseudo-' event field in that it behaves like it's part of the event record, but diff --git a/kernel/patches-4.14.x-rt/0089-tracing-Add-per-element-variable-support-to-tracing_.patch b/kernel/patches-4.14.x-rt/0089-tracing-Add-per-element-variable-support-to-tracing_.patch index 7402a207e..28b8b1adb 100644 --- a/kernel/patches-4.14.x-rt/0089-tracing-Add-per-element-variable-support-to-tracing_.patch +++ b/kernel/patches-4.14.x-rt/0089-tracing-Add-per-element-variable-support-to-tracing_.patch @@ -1,7 +1,7 @@ -From 45a3b7f05299ff169006f2aa6449ecd9de7abbb3 Mon Sep 17 00:00:00 2001 +From d955af7c03a290cac89faa263eaf599af12faa44 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:46 -0600 -Subject: [PATCH 089/414] tracing: Add per-element variable support to +Subject: [PATCH 089/413] tracing: Add per-element variable support to tracing_map In order to allow information to be passed between trace events, add diff --git a/kernel/patches-4.14.x-rt/0090-tracing-Add-hist_data-member-to-hist_field.patch b/kernel/patches-4.14.x-rt/0090-tracing-Add-hist_data-member-to-hist_field.patch index 9895f3cae..e924b48ce 100644 --- a/kernel/patches-4.14.x-rt/0090-tracing-Add-hist_data-member-to-hist_field.patch +++ b/kernel/patches-4.14.x-rt/0090-tracing-Add-hist_data-member-to-hist_field.patch @@ -1,7 +1,7 @@ -From df2a37f4a941491dde3d94a72010c3504b11ead3 Mon Sep 17 00:00:00 2001 +From 31100a21a9f76a38e09616077600214a62799b53 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:47 -0600 -Subject: [PATCH 090/414] tracing: Add hist_data member to hist_field +Subject: [PATCH 090/413] tracing: Add hist_data member to hist_field Allow hist_data access via hist_field. Some users of hist_fields require or will require more access to the associated hist_data. diff --git a/kernel/patches-4.14.x-rt/0091-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch b/kernel/patches-4.14.x-rt/0091-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch index b22cc725a..a46bd39e2 100644 --- a/kernel/patches-4.14.x-rt/0091-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch +++ b/kernel/patches-4.14.x-rt/0091-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch @@ -1,7 +1,7 @@ -From 2613c3be2bd48363cb6be506c88749dfc3134e8d Mon Sep 17 00:00:00 2001 +From 5aaa61969c551722784944cbb9586c489ca210d7 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:48 -0600 -Subject: [PATCH 091/414] tracing: Add usecs modifier for hist trigger +Subject: [PATCH 091/413] tracing: Add usecs modifier for hist trigger timestamps Appending .usecs onto a common_timestamp field will cause the @@ -41,7 +41,7 @@ index a4143f04a097..25c94730d3fe 100644 Note that in general the semantics of a given field aren't interpreted when applying a modifier to it, but there are some diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index ed50ecb0592b..3cefb457970e 100644 +index b101ccf0b9fb..49d2457947f5 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -1170,6 +1170,14 @@ static struct { @@ -59,7 +59,7 @@ index ed50ecb0592b..3cefb457970e 100644 /* * trace_parser_get_init - gets the buffer for trace parser */ -@@ -4699,8 +4707,9 @@ static const char readme_msg[] = +@@ -4705,8 +4713,9 @@ static const char readme_msg[] = "\t .sym display an address as a symbol\n" "\t .sym-offset display an address as a symbol and offset\n" "\t .execname display a common_pid as a program name\n" diff --git a/kernel/patches-4.14.x-rt/0092-tracing-Add-variable-support-to-hist-triggers.patch b/kernel/patches-4.14.x-rt/0092-tracing-Add-variable-support-to-hist-triggers.patch index 51a5aa410..43885e340 100644 --- a/kernel/patches-4.14.x-rt/0092-tracing-Add-variable-support-to-hist-triggers.patch +++ b/kernel/patches-4.14.x-rt/0092-tracing-Add-variable-support-to-hist-triggers.patch @@ -1,7 +1,7 @@ -From f2dc1339a756443004b858f819f0ab4fb85ea91a Mon Sep 17 00:00:00 2001 +From e625c5a90ca52df684096746d21dd42d88b7746f Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:49 -0600 -Subject: [PATCH 092/414] tracing: Add variable support to hist triggers +Subject: [PATCH 092/413] tracing: Add variable support to hist triggers Add support for saving the value of a current event's event field by assigning it to a variable that can be read by a subsequent event. diff --git a/kernel/patches-4.14.x-rt/0093-tracing-Account-for-variables-in-named-trigger-compa.patch b/kernel/patches-4.14.x-rt/0093-tracing-Account-for-variables-in-named-trigger-compa.patch index aba06befc..fcc31f73c 100644 --- a/kernel/patches-4.14.x-rt/0093-tracing-Account-for-variables-in-named-trigger-compa.patch +++ b/kernel/patches-4.14.x-rt/0093-tracing-Account-for-variables-in-named-trigger-compa.patch @@ -1,7 +1,7 @@ -From 00e76e4674dcb08f980b20339bd1e0df0bac774d Mon Sep 17 00:00:00 2001 +From 73c0b87644cdbf798e5f4de966debbc39c770b08 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:50 -0600 -Subject: [PATCH 093/414] tracing: Account for variables in named trigger +Subject: [PATCH 093/413] tracing: Account for variables in named trigger compatibility Named triggers must also have the same set of variables in order to be diff --git a/kernel/patches-4.14.x-rt/0094-tracing-Move-get_hist_field_flags.patch b/kernel/patches-4.14.x-rt/0094-tracing-Move-get_hist_field_flags.patch index 8e4ab6e31..938735eac 100644 --- a/kernel/patches-4.14.x-rt/0094-tracing-Move-get_hist_field_flags.patch +++ b/kernel/patches-4.14.x-rt/0094-tracing-Move-get_hist_field_flags.patch @@ -1,7 +1,7 @@ -From ce02f3f1b893b14481591ea65b0f9ed04a804824 Mon Sep 17 00:00:00 2001 +From 0b4fd077fb3691992a3bdc061531582eaeed8d8b Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:51 -0600 -Subject: [PATCH 094/414] tracing: Move get_hist_field_flags() +Subject: [PATCH 094/413] tracing: Move get_hist_field_flags() Move get_hist_field_flags() to make it more easily accessible for new code (and keep the move separate from new functionality). diff --git a/kernel/patches-4.14.x-rt/0095-tracing-Add-simple-expression-support-to-hist-trigge.patch b/kernel/patches-4.14.x-rt/0095-tracing-Add-simple-expression-support-to-hist-trigge.patch index 50a7f0b94..93e8bf5dd 100644 --- a/kernel/patches-4.14.x-rt/0095-tracing-Add-simple-expression-support-to-hist-trigge.patch +++ b/kernel/patches-4.14.x-rt/0095-tracing-Add-simple-expression-support-to-hist-trigge.patch @@ -1,7 +1,7 @@ -From 13e83fbfc0915adadbca222e863f7d93958bf009 Mon Sep 17 00:00:00 2001 +From 9ec4b3b72eb7ad4a5f464146950e03a33868154c Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:52 -0600 -Subject: [PATCH 095/414] tracing: Add simple expression support to hist +Subject: [PATCH 095/413] tracing: Add simple expression support to hist triggers Add support for simple addition, subtraction, and unary expressions diff --git a/kernel/patches-4.14.x-rt/0096-tracing-Generalize-per-element-hist-trigger-data.patch b/kernel/patches-4.14.x-rt/0096-tracing-Generalize-per-element-hist-trigger-data.patch index f7dd747ce..9b576f983 100644 --- a/kernel/patches-4.14.x-rt/0096-tracing-Generalize-per-element-hist-trigger-data.patch +++ b/kernel/patches-4.14.x-rt/0096-tracing-Generalize-per-element-hist-trigger-data.patch @@ -1,7 +1,7 @@ -From c90c725c2ac00315e80251d6ed44bb3860b6484f Mon Sep 17 00:00:00 2001 +From d95785f49fa17053815aaf4aa879b0bb5f680b8c Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:53 -0600 -Subject: [PATCH 096/414] tracing: Generalize per-element hist trigger data +Subject: [PATCH 096/413] tracing: Generalize per-element hist trigger data Up until now, hist triggers only needed per-element support for saving 'comm' data, which was saved directly as a private data pointer. diff --git a/kernel/patches-4.14.x-rt/0097-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch b/kernel/patches-4.14.x-rt/0097-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch index 51ca11f32..e8a6c10c3 100644 --- a/kernel/patches-4.14.x-rt/0097-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch +++ b/kernel/patches-4.14.x-rt/0097-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch @@ -1,7 +1,7 @@ -From f685a8ce4ebde4bae2faed2f1ceecfb86e752f9d Mon Sep 17 00:00:00 2001 +From 8166b214eed5311463c837dc24b349d65f06b9f0 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:54 -0600 -Subject: [PATCH 097/414] tracing: Pass tracing_map_elt to hist_field accessor +Subject: [PATCH 097/413] tracing: Pass tracing_map_elt to hist_field accessor functions Some accessor functions, such as for variable references, require diff --git a/kernel/patches-4.14.x-rt/0098-tracing-Add-hist_field-type-field.patch b/kernel/patches-4.14.x-rt/0098-tracing-Add-hist_field-type-field.patch index d19d9bdc4..696750dfd 100644 --- a/kernel/patches-4.14.x-rt/0098-tracing-Add-hist_field-type-field.patch +++ b/kernel/patches-4.14.x-rt/0098-tracing-Add-hist_field-type-field.patch @@ -1,7 +1,7 @@ -From 42196fbffec1f62007e444960ea133ce362e4980 Mon Sep 17 00:00:00 2001 +From 4a62814a84d553e653af96d3ac62631711d0e5ad Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:55 -0600 -Subject: [PATCH 098/414] tracing: Add hist_field 'type' field +Subject: [PATCH 098/413] tracing: Add hist_field 'type' field Future support for synthetic events requires hist_field 'type' information, so add a field for that. diff --git a/kernel/patches-4.14.x-rt/0099-tracing-Add-variable-reference-handling-to-hist-trig.patch b/kernel/patches-4.14.x-rt/0099-tracing-Add-variable-reference-handling-to-hist-trig.patch index ecb448219..03bc49da8 100644 --- a/kernel/patches-4.14.x-rt/0099-tracing-Add-variable-reference-handling-to-hist-trig.patch +++ b/kernel/patches-4.14.x-rt/0099-tracing-Add-variable-reference-handling-to-hist-trig.patch @@ -1,7 +1,7 @@ -From 3c12b641e2f0c57f21462cac690c044fba9754b7 Mon Sep 17 00:00:00 2001 +From cac5f3c3ce0bc6dff0a2f453b8a99c8a67ba9ec1 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:56 -0600 -Subject: [PATCH 099/414] tracing: Add variable reference handling to hist +Subject: [PATCH 099/413] tracing: Add variable reference handling to hist triggers Add the necessary infrastructure to allow the variables defined on one @@ -36,10 +36,10 @@ Signed-off-by: Sebastian Andrzej Siewior 4 files changed, 656 insertions(+), 16 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 3cefb457970e..68e19414258c 100644 +index 49d2457947f5..1bbef798b98c 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -7788,6 +7788,7 @@ static int instance_mkdir(const char *name) +@@ -7794,6 +7794,7 @@ static int instance_mkdir(const char *name) INIT_LIST_HEAD(&tr->systems); INIT_LIST_HEAD(&tr->events); @@ -47,7 +47,7 @@ index 3cefb457970e..68e19414258c 100644 if (allocate_trace_buffers(tr, trace_buf_size) < 0) goto out_free_tr; -@@ -8538,6 +8539,7 @@ __init static int tracer_alloc_buffers(void) +@@ -8544,6 +8545,7 @@ __init static int tracer_alloc_buffers(void) INIT_LIST_HEAD(&global_trace.systems); INIT_LIST_HEAD(&global_trace.events); @@ -946,10 +946,10 @@ index 6e60cb794dcd..2bc1f76915ef 100644 destroy_hist_data(hist_data); diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c -index 9dd8b9ce2594..5d41bc2aad1c 100644 +index 4c269f2e00a4..24d42350d738 100644 --- a/kernel/trace/trace_events_trigger.c +++ b/kernel/trace/trace_events_trigger.c -@@ -911,6 +911,12 @@ void set_named_trigger_data(struct event_trigger_data *data, +@@ -915,6 +915,12 @@ void set_named_trigger_data(struct event_trigger_data *data, data->named_data = named_data; } diff --git a/kernel/patches-4.14.x-rt/0100-tracing-Add-hist-trigger-action-hook.patch b/kernel/patches-4.14.x-rt/0100-tracing-Add-hist-trigger-action-hook.patch index 1b07e8e02..6e2cb160a 100644 --- a/kernel/patches-4.14.x-rt/0100-tracing-Add-hist-trigger-action-hook.patch +++ b/kernel/patches-4.14.x-rt/0100-tracing-Add-hist-trigger-action-hook.patch @@ -1,7 +1,7 @@ -From 0a26db49b33d5b2f2b81cc77964e3c2d5d7be74b Mon Sep 17 00:00:00 2001 +From 79ee29d5b982e3238f6738aaa2bbfd449e092a7d Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:57 -0600 -Subject: [PATCH 100/414] tracing: Add hist trigger action hook +Subject: [PATCH 100/413] tracing: Add hist trigger action hook Add a hook for executing extra actions whenever a histogram entry is added or updated. diff --git a/kernel/patches-4.14.x-rt/0101-tracing-Add-support-for-synthetic-events.patch b/kernel/patches-4.14.x-rt/0101-tracing-Add-support-for-synthetic-events.patch index 8895c40f0..84225b506 100644 --- a/kernel/patches-4.14.x-rt/0101-tracing-Add-support-for-synthetic-events.patch +++ b/kernel/patches-4.14.x-rt/0101-tracing-Add-support-for-synthetic-events.patch @@ -1,7 +1,7 @@ -From adb00508625b281da71f181e17ca92dd480a4983 Mon Sep 17 00:00:00 2001 +From 196f5e395faf8badf57cfc35a0ec1f0440165621 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:58 -0600 -Subject: [PATCH 101/414] tracing: Add support for 'synthetic' events +Subject: [PATCH 101/413] tracing: Add support for 'synthetic' events Synthetic events are user-defined events generated from hist trigger variables saved from one or more other events. diff --git a/kernel/patches-4.14.x-rt/0102-tracing-Add-support-for-field-variables.patch b/kernel/patches-4.14.x-rt/0102-tracing-Add-support-for-field-variables.patch index 1200d4293..8abbc24b0 100644 --- a/kernel/patches-4.14.x-rt/0102-tracing-Add-support-for-field-variables.patch +++ b/kernel/patches-4.14.x-rt/0102-tracing-Add-support-for-field-variables.patch @@ -1,7 +1,7 @@ -From eb053a5d83bfc1cc156d4aa3a5ed063323813d96 Mon Sep 17 00:00:00 2001 +From 6619ce5da801599160c7aa9f201c92f42d5ae339 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:51:59 -0600 -Subject: [PATCH 102/414] tracing: Add support for 'field variables' +Subject: [PATCH 102/413] tracing: Add support for 'field variables' Users should be able to directly specify event fields in hist trigger 'actions' rather than being forced to explicitly create a variable for diff --git a/kernel/patches-4.14.x-rt/0103-tracing-Add-onmatch-hist-trigger-action-support.patch b/kernel/patches-4.14.x-rt/0103-tracing-Add-onmatch-hist-trigger-action-support.patch index 4580e166d..749902df4 100644 --- a/kernel/patches-4.14.x-rt/0103-tracing-Add-onmatch-hist-trigger-action-support.patch +++ b/kernel/patches-4.14.x-rt/0103-tracing-Add-onmatch-hist-trigger-action-support.patch @@ -1,7 +1,7 @@ -From d2e765bcd140d3aff656231ef10d3bfbdad5ae56 Mon Sep 17 00:00:00 2001 +From bc1e8e96346b050f885ee2bfc339022752233ae6 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:00 -0600 -Subject: [PATCH 103/414] tracing: Add 'onmatch' hist trigger action support +Subject: [PATCH 103/413] tracing: Add 'onmatch' hist trigger action support Add an 'onmatch(matching.event).(param list)' hist trigger action which is invoked with the set of variables or diff --git a/kernel/patches-4.14.x-rt/0104-tracing-Add-onmax-hist-trigger-action-support.patch b/kernel/patches-4.14.x-rt/0104-tracing-Add-onmax-hist-trigger-action-support.patch index f39915f0f..eb848a1ea 100644 --- a/kernel/patches-4.14.x-rt/0104-tracing-Add-onmax-hist-trigger-action-support.patch +++ b/kernel/patches-4.14.x-rt/0104-tracing-Add-onmax-hist-trigger-action-support.patch @@ -1,7 +1,7 @@ -From f803175d61cadb7e6c0c1fd9f82548062b527e8c Mon Sep 17 00:00:00 2001 +From 97d834e3fbed12dcab7e969ec85ca9a6f91af937 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:01 -0600 -Subject: [PATCH 104/414] tracing: Add 'onmax' hist trigger action support +Subject: [PATCH 104/413] tracing: Add 'onmax' hist trigger action support Add an 'onmax(var).save(field,...)' hist trigger action which is invoked whenever an event exceeds the current maximum. diff --git a/kernel/patches-4.14.x-rt/0105-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch b/kernel/patches-4.14.x-rt/0105-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch index 2835afaa2..7867dda86 100644 --- a/kernel/patches-4.14.x-rt/0105-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch +++ b/kernel/patches-4.14.x-rt/0105-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch @@ -1,7 +1,7 @@ -From 49185cfb15824d5bf9273cbc8595451e4885e8e4 Mon Sep 17 00:00:00 2001 +From 4b72e6c298c4a4bb412803bd380bb2bc4c526e1a Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:02 -0600 -Subject: [PATCH 105/414] tracing: Allow whitespace to surround hist trigger +Subject: [PATCH 105/413] tracing: Allow whitespace to surround hist trigger filter The existing code only allows for one space before and after the 'if' diff --git a/kernel/patches-4.14.x-rt/0106-tracing-Add-cpu-field-for-hist-triggers.patch b/kernel/patches-4.14.x-rt/0106-tracing-Add-cpu-field-for-hist-triggers.patch index acbea1e72..8eae458aa 100644 --- a/kernel/patches-4.14.x-rt/0106-tracing-Add-cpu-field-for-hist-triggers.patch +++ b/kernel/patches-4.14.x-rt/0106-tracing-Add-cpu-field-for-hist-triggers.patch @@ -1,7 +1,7 @@ -From 6f53e9ca444c3de795b5ca863a776d7f2006865b Mon Sep 17 00:00:00 2001 +From 7164030a052fa33739389ac57bb0fc8ea972b1a6 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:03 -0600 -Subject: [PATCH 106/414] tracing: Add cpu field for hist triggers +Subject: [PATCH 106/413] tracing: Add cpu field for hist triggers A common key to use in a histogram is the cpuid - add a new cpu 'synthetic' field named 'cpu' for that purpose. diff --git a/kernel/patches-4.14.x-rt/0107-tracing-Add-hist-trigger-support-for-variable-refere.patch b/kernel/patches-4.14.x-rt/0107-tracing-Add-hist-trigger-support-for-variable-refere.patch index 3be71c9e8..656127a2d 100644 --- a/kernel/patches-4.14.x-rt/0107-tracing-Add-hist-trigger-support-for-variable-refere.patch +++ b/kernel/patches-4.14.x-rt/0107-tracing-Add-hist-trigger-support-for-variable-refere.patch @@ -1,7 +1,7 @@ -From 4edfd3a3f500080e61849f98722137377b8272b0 Mon Sep 17 00:00:00 2001 +From 5b6ac5c210fab67ecd3814c350f75e3c4b2dded2 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:04 -0600 -Subject: [PATCH 107/414] tracing: Add hist trigger support for variable +Subject: [PATCH 107/413] tracing: Add hist trigger support for variable reference aliases Add support for alias=$somevar where alias can be used as diff --git a/kernel/patches-4.14.x-rt/0108-tracing-Add-last-error-error-facility-for-hist-trigg.patch b/kernel/patches-4.14.x-rt/0108-tracing-Add-last-error-error-facility-for-hist-trigg.patch index 2ae92d7ec..fba493c66 100644 --- a/kernel/patches-4.14.x-rt/0108-tracing-Add-last-error-error-facility-for-hist-trigg.patch +++ b/kernel/patches-4.14.x-rt/0108-tracing-Add-last-error-error-facility-for-hist-trigg.patch @@ -1,7 +1,7 @@ -From aefb9d651a23ec74b9feddb74c0ca14958df5a02 Mon Sep 17 00:00:00 2001 +From de3217e3360ab336812f25ff76727829118a6ef4 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:05 -0600 -Subject: [PATCH 108/414] tracing: Add 'last error' error facility for hist +Subject: [PATCH 108/413] tracing: Add 'last error' error facility for hist triggers With the addition of variables and actions, it's become necessary to diff --git a/kernel/patches-4.14.x-rt/0109-tracing-Add-inter-event-hist-trigger-Documentation.patch b/kernel/patches-4.14.x-rt/0109-tracing-Add-inter-event-hist-trigger-Documentation.patch index 4f76d5cfa..9e31d6b9f 100644 --- a/kernel/patches-4.14.x-rt/0109-tracing-Add-inter-event-hist-trigger-Documentation.patch +++ b/kernel/patches-4.14.x-rt/0109-tracing-Add-inter-event-hist-trigger-Documentation.patch @@ -1,7 +1,7 @@ -From f796b4181cb92acbb32dc699e14c48939d620392 Mon Sep 17 00:00:00 2001 +From 40158a259afd7713f15d34fae11ff6ceb1000765 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:06 -0600 -Subject: [PATCH 109/414] tracing: Add inter-event hist trigger Documentation +Subject: [PATCH 109/413] tracing: Add inter-event hist trigger Documentation Add background and details on inter-event hist triggers, including hist variables, synthetic events, and actions. diff --git a/kernel/patches-4.14.x-rt/0110-tracing-Make-tracing_set_clock-non-static.patch b/kernel/patches-4.14.x-rt/0110-tracing-Make-tracing_set_clock-non-static.patch index 366478ffa..9ed6dcae2 100644 --- a/kernel/patches-4.14.x-rt/0110-tracing-Make-tracing_set_clock-non-static.patch +++ b/kernel/patches-4.14.x-rt/0110-tracing-Make-tracing_set_clock-non-static.patch @@ -1,7 +1,7 @@ -From 992431d76e6245d8e63a730edc327af64290c6b1 Mon Sep 17 00:00:00 2001 +From 9d1afc68755f7a6c5ab077e59ad5a3eec8fea99b Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:07 -0600 -Subject: [PATCH 110/414] tracing: Make tracing_set_clock() non-static +Subject: [PATCH 110/413] tracing: Make tracing_set_clock() non-static Allow tracing code outside of trace.c to access tracing_set_clock(). @@ -22,10 +22,10 @@ Signed-off-by: Sebastian Andrzej Siewior 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 68e19414258c..f8413f284892 100644 +index 1bbef798b98c..73b3e330ac0a 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -6219,7 +6219,7 @@ static int tracing_clock_show(struct seq_file *m, void *v) +@@ -6225,7 +6225,7 @@ static int tracing_clock_show(struct seq_file *m, void *v) return 0; } diff --git a/kernel/patches-4.14.x-rt/0111-tracing-Add-a-clock-attribute-for-hist-triggers.patch b/kernel/patches-4.14.x-rt/0111-tracing-Add-a-clock-attribute-for-hist-triggers.patch index 702488638..ec5cf5aab 100644 --- a/kernel/patches-4.14.x-rt/0111-tracing-Add-a-clock-attribute-for-hist-triggers.patch +++ b/kernel/patches-4.14.x-rt/0111-tracing-Add-a-clock-attribute-for-hist-triggers.patch @@ -1,7 +1,7 @@ -From 2f708bba80c1ae7401567275c97cba9c3f7312ec Mon Sep 17 00:00:00 2001 +From d2279861360cdfc04dcf05d1d006d69a4c72f164 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:08 -0600 -Subject: [PATCH 111/414] tracing: Add a clock attribute for hist triggers +Subject: [PATCH 111/413] tracing: Add a clock attribute for hist triggers The default clock if timestamps are used in a histogram is "global". If timestamps aren't used, the clock is irrelevant. diff --git a/kernel/patches-4.14.x-rt/0112-ring-buffer-Bring-back-context-level-recursive-check.patch b/kernel/patches-4.14.x-rt/0112-ring-buffer-Bring-back-context-level-recursive-check.patch index 17d67684c..e0ad7e422 100644 --- a/kernel/patches-4.14.x-rt/0112-ring-buffer-Bring-back-context-level-recursive-check.patch +++ b/kernel/patches-4.14.x-rt/0112-ring-buffer-Bring-back-context-level-recursive-check.patch @@ -1,7 +1,7 @@ -From aeb7171b8733753e4405dccdd2f31abd9932ff41 Mon Sep 17 00:00:00 2001 +From 76b7d21ec0ec5f6d9a60f9374be7c168ee82cf34 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Mon, 15 Jan 2018 10:47:09 -0500 -Subject: [PATCH 112/414] ring-buffer: Bring back context level recursive +Subject: [PATCH 112/413] ring-buffer: Bring back context level recursive checks Commit 1a149d7d3f45 ("ring-buffer: Rewrite trace_recursive_(un)lock() to be @@ -40,7 +40,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 45 insertions(+), 17 deletions(-) diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c -index e48989ff0427..3621164c234b 100644 +index a9cb4359c280..07c0bb03d614 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -2588,29 +2588,59 @@ rb_wakeups(struct ring_buffer *buffer, struct ring_buffer_per_cpu *cpu_buffer) diff --git a/kernel/patches-4.14.x-rt/0113-ring-buffer-Fix-duplicate-results-in-mapping-context.patch b/kernel/patches-4.14.x-rt/0113-ring-buffer-Fix-duplicate-results-in-mapping-context.patch index 09e1c22b3..4bb701fc0 100644 --- a/kernel/patches-4.14.x-rt/0113-ring-buffer-Fix-duplicate-results-in-mapping-context.patch +++ b/kernel/patches-4.14.x-rt/0113-ring-buffer-Fix-duplicate-results-in-mapping-context.patch @@ -1,7 +1,7 @@ -From b7c042e24327f006567db33280debfcab01a3b67 Mon Sep 17 00:00:00 2001 +From 79951da37849d43aff7494bb673be2f630b7ce21 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Thu, 18 Jan 2018 15:42:09 -0500 -Subject: [PATCH 113/414] ring-buffer: Fix duplicate results in mapping context +Subject: [PATCH 113/413] ring-buffer: Fix duplicate results in mapping context to bits in recursive lock In bringing back the context checks, the code checks first if its normal @@ -24,7 +24,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c -index 3621164c234b..cad398ba3009 100644 +index 07c0bb03d614..45fc91559aa6 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -2633,8 +2633,7 @@ trace_recursive_lock(struct ring_buffer_per_cpu *cpu_buffer) diff --git a/kernel/patches-4.14.x-rt/0114-ring-buffer-Add-nesting-for-adding-events-within-eve.patch b/kernel/patches-4.14.x-rt/0114-ring-buffer-Add-nesting-for-adding-events-within-eve.patch index e852c2347..a8e6b5a84 100644 --- a/kernel/patches-4.14.x-rt/0114-ring-buffer-Add-nesting-for-adding-events-within-eve.patch +++ b/kernel/patches-4.14.x-rt/0114-ring-buffer-Add-nesting-for-adding-events-within-eve.patch @@ -1,7 +1,7 @@ -From e2362ee3701ecc002cd86b8dfa988fba8f3eb4f0 Mon Sep 17 00:00:00 2001 +From b11b0220347c782777ff50059fc4f283ce7f1a5b Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Wed, 7 Feb 2018 17:26:32 -0500 -Subject: [PATCH 114/414] ring-buffer: Add nesting for adding events within +Subject: [PATCH 114/413] ring-buffer: Add nesting for adding events within events The ring-buffer code has recusion protection in case tracing ends up tracing @@ -25,7 +25,7 @@ Signed-off-by: Sebastian Andrzej Siewior 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/include/linux/ring_buffer.h b/include/linux/ring_buffer.h -index b37a5df05e81..467db0a7b82d 100644 +index 6c2a6b3f3c6d..abce5f5325e1 100644 --- a/include/linux/ring_buffer.h +++ b/include/linux/ring_buffer.h @@ -117,6 +117,9 @@ int ring_buffer_unlock_commit(struct ring_buffer *buffer, @@ -39,7 +39,7 @@ index b37a5df05e81..467db0a7b82d 100644 ring_buffer_peek(struct ring_buffer *buffer, int cpu, u64 *ts, unsigned long *lost_events); diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c -index cad398ba3009..1866b28e58ea 100644 +index 45fc91559aa6..75fea9321ffb 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -477,6 +477,7 @@ struct ring_buffer_per_cpu { diff --git a/kernel/patches-4.14.x-rt/0115-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch b/kernel/patches-4.14.x-rt/0115-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch index c740e3e5d..32f409341 100644 --- a/kernel/patches-4.14.x-rt/0115-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch +++ b/kernel/patches-4.14.x-rt/0115-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch @@ -1,7 +1,7 @@ -From f39dfa9c11e62c1946a6c2786537011bbb92505b Mon Sep 17 00:00:00 2001 +From efb3e23919257687f390d2cb31c3b5727274dd29 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Wed, 7 Feb 2018 17:29:46 -0500 -Subject: [PATCH 115/414] tracing: Use the ring-buffer nesting to allow +Subject: [PATCH 115/413] tracing: Use the ring-buffer nesting to allow synthetic events to be traced Synthetic events can be done within the recording of other events. Notify diff --git a/kernel/patches-4.14.x-rt/0116-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch b/kernel/patches-4.14.x-rt/0116-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch index 578986a19..22de9b805 100644 --- a/kernel/patches-4.14.x-rt/0116-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch +++ b/kernel/patches-4.14.x-rt/0116-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch @@ -1,7 +1,7 @@ -From a640914843d66271e9087e3de8b4036ce7f9b531 Mon Sep 17 00:00:00 2001 +From 3f6f5cb5821242c5bdb3dfbc3a4f8c2562669d69 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 15 Jan 2018 20:52:10 -0600 -Subject: [PATCH 116/414] tracing: Add inter-event blurb to HIST_TRIGGERS +Subject: [PATCH 116/413] tracing: Add inter-event blurb to HIST_TRIGGERS config option So that users know that inter-event tracing is supported as part of diff --git a/kernel/patches-4.14.x-rt/0117-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch b/kernel/patches-4.14.x-rt/0117-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch index 7aa47e736..8a0ca717d 100644 --- a/kernel/patches-4.14.x-rt/0117-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch +++ b/kernel/patches-4.14.x-rt/0117-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch @@ -1,7 +1,7 @@ -From a5a32037f279afe4bea01f3a9825d921b0148219 Mon Sep 17 00:00:00 2001 +From c8580367997fd26ff3e82c58bb0d0193c02a6b42 Mon Sep 17 00:00:00 2001 From: Rajvi Jingar Date: Mon, 15 Jan 2018 20:52:11 -0600 -Subject: [PATCH 117/414] selftests: ftrace: Add inter-event hist triggers +Subject: [PATCH 117/413] selftests: ftrace: Add inter-event hist triggers testcases This adds inter-event hist triggers testcases which covers following: diff --git a/kernel/patches-4.14.x-rt/0118-tracing-Fix-display-of-hist-trigger-expressions-cont.patch b/kernel/patches-4.14.x-rt/0118-tracing-Fix-display-of-hist-trigger-expressions-cont.patch index b9e27343d..8d27503b0 100644 --- a/kernel/patches-4.14.x-rt/0118-tracing-Fix-display-of-hist-trigger-expressions-cont.patch +++ b/kernel/patches-4.14.x-rt/0118-tracing-Fix-display-of-hist-trigger-expressions-cont.patch @@ -1,7 +1,7 @@ -From a43ea4bd555207b0e3565ad2b033e84bb6b3d8fc Mon Sep 17 00:00:00 2001 +From 2f93bc0b523102f46bbb4ea708b40e0cff8a7c59 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 28 Mar 2018 15:10:53 -0500 -Subject: [PATCH 118/414] tracing: Fix display of hist trigger expressions +Subject: [PATCH 118/413] tracing: Fix display of hist trigger expressions containing timestamps When displaying hist triggers, variable references that have the diff --git a/kernel/patches-4.14.x-rt/0119-tracing-Don-t-add-flag-strings-when-displaying-varia.patch b/kernel/patches-4.14.x-rt/0119-tracing-Don-t-add-flag-strings-when-displaying-varia.patch index 1dd3e401e..dcceb8f33 100644 --- a/kernel/patches-4.14.x-rt/0119-tracing-Don-t-add-flag-strings-when-displaying-varia.patch +++ b/kernel/patches-4.14.x-rt/0119-tracing-Don-t-add-flag-strings-when-displaying-varia.patch @@ -1,7 +1,7 @@ -From b6750860f3a3df56c7b96d8585a0d889d9c6c64e Mon Sep 17 00:00:00 2001 +From 619645d5a5982dc2dc533c6567344d48a1288397 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 28 Mar 2018 15:10:54 -0500 -Subject: [PATCH 119/414] tracing: Don't add flag strings when displaying +Subject: [PATCH 119/413] tracing: Don't add flag strings when displaying variable references Variable references should never have flags appended when displayed - diff --git a/kernel/patches-4.14.x-rt/0120-tracing-Add-action-comparisons-when-testing-matching.patch b/kernel/patches-4.14.x-rt/0120-tracing-Add-action-comparisons-when-testing-matching.patch index b255beef8..15e5e9181 100644 --- a/kernel/patches-4.14.x-rt/0120-tracing-Add-action-comparisons-when-testing-matching.patch +++ b/kernel/patches-4.14.x-rt/0120-tracing-Add-action-comparisons-when-testing-matching.patch @@ -1,7 +1,7 @@ -From eeed766d5f4f6f79053830647206c0e5e10d137c Mon Sep 17 00:00:00 2001 +From 270dc0a08e5c47b40f876a67bf26c46148f6b5bf Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 28 Mar 2018 15:10:55 -0500 -Subject: [PATCH 120/414] tracing: Add action comparisons when testing matching +Subject: [PATCH 120/413] tracing: Add action comparisons when testing matching hist triggers Actions also need to be considered when checking for matching triggers diff --git a/kernel/patches-4.14.x-rt/0121-tracing-Make-sure-variable-string-fields-are-NULL-te.patch b/kernel/patches-4.14.x-rt/0121-tracing-Make-sure-variable-string-fields-are-NULL-te.patch index ffe08985f..2741b7268 100644 --- a/kernel/patches-4.14.x-rt/0121-tracing-Make-sure-variable-string-fields-are-NULL-te.patch +++ b/kernel/patches-4.14.x-rt/0121-tracing-Make-sure-variable-string-fields-are-NULL-te.patch @@ -1,7 +1,7 @@ -From a81e6c9cc4ebc43eb8b658a8f49e934c48d9895e Mon Sep 17 00:00:00 2001 +From fb5d4884cb1cfd7c58c4afb46dff91d5fbd7a23e Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 28 Mar 2018 15:10:56 -0500 -Subject: [PATCH 121/414] tracing: Make sure variable string fields are +Subject: [PATCH 121/413] tracing: Make sure variable string fields are NULL-terminated The strncpy() currently being used for variable string fields can diff --git a/kernel/patches-4.14.x-rt/0122-block-Shorten-interrupt-disabled-regions.patch b/kernel/patches-4.14.x-rt/0122-block-Shorten-interrupt-disabled-regions.patch index deb2d918c..cba7dae99 100644 --- a/kernel/patches-4.14.x-rt/0122-block-Shorten-interrupt-disabled-regions.patch +++ b/kernel/patches-4.14.x-rt/0122-block-Shorten-interrupt-disabled-regions.patch @@ -1,7 +1,7 @@ -From adc5656f17ae62e95ade16b068a3a45681ddeab0 Mon Sep 17 00:00:00 2001 +From ccee4234cea2df5d719dbb0b7709260b7a2884e1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 19:47:02 +0200 -Subject: [PATCH 122/414] block: Shorten interrupt disabled regions +Subject: [PATCH 122/413] block: Shorten interrupt disabled regions Moving the blk_sched_flush_plug() call out of the interrupt/preempt disabled region in the scheduler allows us to replace diff --git a/kernel/patches-4.14.x-rt/0123-timekeeping-Split-jiffies-seqlock.patch b/kernel/patches-4.14.x-rt/0123-timekeeping-Split-jiffies-seqlock.patch index bbe053ae5..ef0dc4081 100644 --- a/kernel/patches-4.14.x-rt/0123-timekeeping-Split-jiffies-seqlock.patch +++ b/kernel/patches-4.14.x-rt/0123-timekeeping-Split-jiffies-seqlock.patch @@ -1,7 +1,7 @@ -From 6edf0cab78911a30359452d1c7d0d93775f5d86a Mon Sep 17 00:00:00 2001 +From 58adfd3be63c551354a9e2d73cde488d720890a6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 14 Feb 2013 22:36:59 +0100 -Subject: [PATCH 123/414] timekeeping: Split jiffies seqlock +Subject: [PATCH 123/413] timekeeping: Split jiffies seqlock Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so it can be taken in atomic context on RT. @@ -76,7 +76,7 @@ index 49edc1c4f3e6..7f5a26c3a8ee 100644 clockevents_switch_state(dev, CLOCK_EVT_STATE_ONESHOT); diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c -index 9a372e16791c..d8d91b06f057 100644 +index 7f924eba78da..542817a88618 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -66,7 +66,8 @@ static void tick_do_update_jiffies64(ktime_t now) diff --git a/kernel/patches-4.14.x-rt/0124-tracing-Account-for-preempt-off-in-preempt_schedule.patch b/kernel/patches-4.14.x-rt/0124-tracing-Account-for-preempt-off-in-preempt_schedule.patch index 1c50fab50..8c12d15cf 100644 --- a/kernel/patches-4.14.x-rt/0124-tracing-Account-for-preempt-off-in-preempt_schedule.patch +++ b/kernel/patches-4.14.x-rt/0124-tracing-Account-for-preempt-off-in-preempt_schedule.patch @@ -1,7 +1,7 @@ -From 9f92849595bdcb42bece1a0cbdb4a169f2350698 Mon Sep 17 00:00:00 2001 +From d0020df0656bca7ba130c14d4132a7bf3992fa4b Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 29 Sep 2011 12:24:30 -0500 -Subject: [PATCH 124/414] tracing: Account for preempt off in +Subject: [PATCH 124/413] tracing: Account for preempt off in preempt_schedule() The preempt_schedule() uses the preempt_disable_notrace() version @@ -28,7 +28,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 9 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index f62dd754def1..a85c4bf6e66f 100644 +index 40a07276d5a3..cca96e5a8263 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3607,7 +3607,16 @@ asmlinkage __visible void __sched notrace preempt_schedule_notrace(void) diff --git a/kernel/patches-4.14.x-rt/0125-signal-Revert-ptrace-preempt-magic.patch b/kernel/patches-4.14.x-rt/0125-signal-Revert-ptrace-preempt-magic.patch index e17889ea6..77377c00a 100644 --- a/kernel/patches-4.14.x-rt/0125-signal-Revert-ptrace-preempt-magic.patch +++ b/kernel/patches-4.14.x-rt/0125-signal-Revert-ptrace-preempt-magic.patch @@ -1,7 +1,7 @@ -From 68a5ce7cbcdc35343ddbcc7230fa1b8cde1fed83 Mon Sep 17 00:00:00 2001 +From 32657ae0ca9a7f2e107f08aa68774d1b4f9977c2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 21 Sep 2011 19:57:12 +0200 -Subject: [PATCH 125/414] signal: Revert ptrace preempt magic +Subject: [PATCH 125/413] signal: Revert ptrace preempt magic Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more than a bandaid around the ptrace design trainwreck. It's not a diff --git a/kernel/patches-4.14.x-rt/0126-arm-Convert-arm-boot_lock-to-raw.patch b/kernel/patches-4.14.x-rt/0126-arm-Convert-arm-boot_lock-to-raw.patch index 7f7c1de42..62e4bc558 100644 --- a/kernel/patches-4.14.x-rt/0126-arm-Convert-arm-boot_lock-to-raw.patch +++ b/kernel/patches-4.14.x-rt/0126-arm-Convert-arm-boot_lock-to-raw.patch @@ -1,7 +1,7 @@ -From d8fddc17ebd5134f2dcf942c75e07b6b78709294 Mon Sep 17 00:00:00 2001 +From 3a404b67776194e86063ef352c7612dd405701f6 Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Mon, 19 Sep 2011 14:51:14 -0700 -Subject: [PATCH 126/414] arm: Convert arm boot_lock to raw +Subject: [PATCH 126/413] arm: Convert arm boot_lock to raw The arm boot_lock is used by the secondary processor startup code. The locking task is the idle thread, which has idle->sched_class == &idle_sched_class. diff --git a/kernel/patches-4.14.x-rt/0127-arm-kprobe-replace-patch_lock-to-raw-lock.patch b/kernel/patches-4.14.x-rt/0127-arm-kprobe-replace-patch_lock-to-raw-lock.patch index 7b38e6628..3451fe864 100644 --- a/kernel/patches-4.14.x-rt/0127-arm-kprobe-replace-patch_lock-to-raw-lock.patch +++ b/kernel/patches-4.14.x-rt/0127-arm-kprobe-replace-patch_lock-to-raw-lock.patch @@ -1,7 +1,7 @@ -From f110c2a4f9b3df4241e0cc7c8490b524daac2bd3 Mon Sep 17 00:00:00 2001 +From 6d1528b116cffde47e314e05c9166dae6fbeefa7 Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Thu, 10 Nov 2016 16:17:55 -0800 -Subject: [PATCH 127/414] arm: kprobe: replace patch_lock to raw lock +Subject: [PATCH 127/413] arm: kprobe: replace patch_lock to raw lock When running kprobe on -rt kernel, the below bug is caught: diff --git a/kernel/patches-4.14.x-rt/0128-posix-timers-Prevent-broadcast-signals.patch b/kernel/patches-4.14.x-rt/0128-posix-timers-Prevent-broadcast-signals.patch index a715c0d2b..546034fb7 100644 --- a/kernel/patches-4.14.x-rt/0128-posix-timers-Prevent-broadcast-signals.patch +++ b/kernel/patches-4.14.x-rt/0128-posix-timers-Prevent-broadcast-signals.patch @@ -1,7 +1,7 @@ -From 6238dd6ef59542a7003b6ab5225d70beea6805ff Mon Sep 17 00:00:00 2001 +From c058c34e9e18577071d029a5d03d5e4db24c7f57 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:29:20 -0500 -Subject: [PATCH 128/414] posix-timers: Prevent broadcast signals +Subject: [PATCH 128/413] posix-timers: Prevent broadcast signals Posix timers should not send broadcast signals and kernel only signals. Prevent it. diff --git a/kernel/patches-4.14.x-rt/0129-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch b/kernel/patches-4.14.x-rt/0129-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch index e1d18915e..d60ef5038 100644 --- a/kernel/patches-4.14.x-rt/0129-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch +++ b/kernel/patches-4.14.x-rt/0129-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch @@ -1,7 +1,7 @@ -From b5a768dc1a98e627d918275bcd8a8d5f6fad18d9 Mon Sep 17 00:00:00 2001 +From d9e324e732ef78101684a4a5a48ede6404c64ed2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:56 -0500 -Subject: [PATCH 129/414] signals: Allow rt tasks to cache one sigqueue struct +Subject: [PATCH 129/413] signals: Allow rt tasks to cache one sigqueue struct To avoid allocation allow rt tasks to cache one sigqueue struct in task struct. @@ -54,10 +54,10 @@ index e3a08761eb40..26f3b352b37a 100644 spin_unlock(&sighand->siglock); diff --git a/kernel/fork.c b/kernel/fork.c -index 04c3ebd7a9a9..7d23fd8ecd69 100644 +index d146f616bf9e..390a401be5d6 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1648,6 +1648,7 @@ static __latent_entropy struct task_struct *copy_process( +@@ -1647,6 +1647,7 @@ static __latent_entropy struct task_struct *copy_process( spin_lock_init(&p->alloc_lock); init_sigpending(&p->pending); diff --git a/kernel/patches-4.14.x-rt/0130-drivers-random-Reduce-preempt-disabled-region.patch b/kernel/patches-4.14.x-rt/0130-drivers-random-Reduce-preempt-disabled-region.patch index 7513033b6..d0b7c5274 100644 --- a/kernel/patches-4.14.x-rt/0130-drivers-random-Reduce-preempt-disabled-region.patch +++ b/kernel/patches-4.14.x-rt/0130-drivers-random-Reduce-preempt-disabled-region.patch @@ -1,7 +1,7 @@ -From ea47cc05321649c62a036b5ee23a11856cb86f01 Mon Sep 17 00:00:00 2001 +From 51e79b022d74c886c89ee4fe02beb03534e409d8 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:30 -0500 -Subject: [PATCH 130/414] drivers: random: Reduce preempt disabled region +Subject: [PATCH 130/413] drivers: random: Reduce preempt disabled region No need to keep preemption disabled across the whole function. @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 3 deletions(-) diff --git a/drivers/char/random.c b/drivers/char/random.c -index ddc493d976fd..106abdf67efd 100644 +index ea4dbfa30657..8a6228ab983c 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1122,8 +1122,6 @@ static void add_timer_randomness(struct timer_rand_state *state, unsigned num) diff --git a/kernel/patches-4.14.x-rt/0131-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch b/kernel/patches-4.14.x-rt/0131-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch index c79101978..c4b3d77a3 100644 --- a/kernel/patches-4.14.x-rt/0131-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch +++ b/kernel/patches-4.14.x-rt/0131-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch @@ -1,7 +1,7 @@ -From a8d27a8ea16e9fd93ec9cd2d4275edf55743b0e1 Mon Sep 17 00:00:00 2001 +From 031780d23867c915c2940c8c04e3b5b7d8e64f49 Mon Sep 17 00:00:00 2001 From: Benedikt Spranger Date: Sat, 6 Mar 2010 17:47:10 +0100 -Subject: [PATCH 131/414] ARM: AT91: PIT: Remove irq handler when clock event +Subject: [PATCH 131/413] ARM: AT91: PIT: Remove irq handler when clock event is unused MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/kernel/patches-4.14.x-rt/0132-clockevents-drivers-timer-atmel-pit-fix-double-free_.patch b/kernel/patches-4.14.x-rt/0132-clockevents-drivers-timer-atmel-pit-fix-double-free_.patch index 7c724d765..4f023c6be 100644 --- a/kernel/patches-4.14.x-rt/0132-clockevents-drivers-timer-atmel-pit-fix-double-free_.patch +++ b/kernel/patches-4.14.x-rt/0132-clockevents-drivers-timer-atmel-pit-fix-double-free_.patch @@ -1,7 +1,7 @@ -From 378d6a5808708082f43477726b1a71d174837bfa Mon Sep 17 00:00:00 2001 +From 8b1d865f827e2b511b58477075b69224044dac32 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Thu, 17 Mar 2016 21:09:43 +0100 -Subject: [PATCH 132/414] clockevents/drivers/timer-atmel-pit: fix double +Subject: [PATCH 132/413] clockevents/drivers/timer-atmel-pit: fix double free_irq clockevents_exchange_device() changes the state from detached to shutdown diff --git a/kernel/patches-4.14.x-rt/0133-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch b/kernel/patches-4.14.x-rt/0133-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch index dbef849f6..135f2661e 100644 --- a/kernel/patches-4.14.x-rt/0133-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch +++ b/kernel/patches-4.14.x-rt/0133-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch @@ -1,7 +1,7 @@ -From 9141fb2cb13b8db2b10a5241330974dac538a15b Mon Sep 17 00:00:00 2001 +From affc78e03e4bff21dad45a0b92770e9398e5e765 Mon Sep 17 00:00:00 2001 From: Benedikt Spranger Date: Mon, 8 Mar 2010 18:57:04 +0100 -Subject: [PATCH 133/414] clocksource: TCLIB: Allow higher clock rates for +Subject: [PATCH 133/413] clocksource: TCLIB: Allow higher clock rates for clock events MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/kernel/patches-4.14.x-rt/0134-suspend-Prevent-might-sleep-splats.patch b/kernel/patches-4.14.x-rt/0134-suspend-Prevent-might-sleep-splats.patch index 3adf261d7..e891893c9 100644 --- a/kernel/patches-4.14.x-rt/0134-suspend-Prevent-might-sleep-splats.patch +++ b/kernel/patches-4.14.x-rt/0134-suspend-Prevent-might-sleep-splats.patch @@ -1,7 +1,7 @@ -From 3a5f45a3ca9930690423b2744d8b7666408d4fc2 Mon Sep 17 00:00:00 2001 +From 6b88b389d03fc38ef70181df0d0c989e38797e5e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 15 Jul 2010 10:29:00 +0200 -Subject: [PATCH 134/414] suspend: Prevent might sleep splats +Subject: [PATCH 134/413] suspend: Prevent might sleep splats timekeeping suspend/resume calls read_persistant_clock() which takes rtc_lock. That results in might sleep warnings because at that point @@ -89,7 +89,7 @@ index a5c36e9c56a6..7c7dbbf23f37 100644 Enable_cpus: diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c -index 0685c4499431..d74d04d49248 100644 +index c0bc2c89697a..0d3dab53c527 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c @@ -428,6 +428,8 @@ static int suspend_enter(suspend_state_t state, bool *wakeup) diff --git a/kernel/patches-4.14.x-rt/0135-net-flip-lock-dep-thingy.patch.patch b/kernel/patches-4.14.x-rt/0135-net-flip-lock-dep-thingy.patch.patch index d5f2c4546..d62780930 100644 --- a/kernel/patches-4.14.x-rt/0135-net-flip-lock-dep-thingy.patch.patch +++ b/kernel/patches-4.14.x-rt/0135-net-flip-lock-dep-thingy.patch.patch @@ -1,7 +1,7 @@ -From 3adf880cb390bb4b6facea30dd0608c6032bc554 Mon Sep 17 00:00:00 2001 +From 2d2b36eef64e8ceb75a858944ce1aca8a2b77d00 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 10:59:58 +0200 -Subject: [PATCH 135/414] net-flip-lock-dep-thingy.patch +Subject: [PATCH 135/413] net-flip-lock-dep-thingy.patch ======================================================= [ INFO: possible circular locking dependency detected ] diff --git a/kernel/patches-4.14.x-rt/0136-net-sched-Use-msleep-instead-of-yield.patch b/kernel/patches-4.14.x-rt/0136-net-sched-Use-msleep-instead-of-yield.patch index e9957d8ba..ac3559697 100644 --- a/kernel/patches-4.14.x-rt/0136-net-sched-Use-msleep-instead-of-yield.patch +++ b/kernel/patches-4.14.x-rt/0136-net-sched-Use-msleep-instead-of-yield.patch @@ -1,7 +1,7 @@ -From ca14dd94c8a9a1bd5dd7cb5451adcf079e825a64 Mon Sep 17 00:00:00 2001 +From 8d1879bd5b22e6343a0eea0c316e941af133cae6 Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde Date: Wed, 5 Mar 2014 00:49:47 +0100 -Subject: [PATCH 136/414] net: sched: Use msleep() instead of yield() +Subject: [PATCH 136/413] net: sched: Use msleep() instead of yield() On PREEMPT_RT enabled systems the interrupt handler run as threads at prio 50 (by default). If a high priority userspace process tries to shut down a busy diff --git a/kernel/patches-4.14.x-rt/0137-net-core-disable-NET_RX_BUSY_POLL.patch b/kernel/patches-4.14.x-rt/0137-net-core-disable-NET_RX_BUSY_POLL.patch index bf360271e..2cdfe8c83 100644 --- a/kernel/patches-4.14.x-rt/0137-net-core-disable-NET_RX_BUSY_POLL.patch +++ b/kernel/patches-4.14.x-rt/0137-net-core-disable-NET_RX_BUSY_POLL.patch @@ -1,7 +1,7 @@ -From 695ab2e89334c7c472fada130938fdd8bd3b133a Mon Sep 17 00:00:00 2001 +From 11ec37812679939bde72fec16682fab9e6d25771 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Sat, 27 May 2017 19:02:06 +0200 -Subject: [PATCH 137/414] net/core: disable NET_RX_BUSY_POLL +Subject: [PATCH 137/413] net/core: disable NET_RX_BUSY_POLL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0138-x86-ioapic-Do-not-unmask-io_apic-when-interrupt-is-i.patch b/kernel/patches-4.14.x-rt/0138-x86-ioapic-Do-not-unmask-io_apic-when-interrupt-is-i.patch index 790579e5a..1f8010dc4 100644 --- a/kernel/patches-4.14.x-rt/0138-x86-ioapic-Do-not-unmask-io_apic-when-interrupt-is-i.patch +++ b/kernel/patches-4.14.x-rt/0138-x86-ioapic-Do-not-unmask-io_apic-when-interrupt-is-i.patch @@ -1,7 +1,7 @@ -From 703b87e87a5374b9d18cde645b1f611d0a6b30de Mon Sep 17 00:00:00 2001 +From dae99daa571095fe826bc1b2b4739c2154133849 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:27 -0500 -Subject: [PATCH 138/414] x86/ioapic: Do not unmask io_apic when interrupt is +Subject: [PATCH 138/413] x86/ioapic: Do not unmask io_apic when interrupt is in progress With threaded interrupts we might see an interrupt in progress on @@ -14,10 +14,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index 3b89b27945ff..9744fbb856af 100644 +index 96a8a68f9c79..5832a9d657f2 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c -@@ -1690,7 +1690,8 @@ static bool io_apic_level_ack_pending(struct mp_chip_data *data) +@@ -1691,7 +1691,8 @@ static bool io_apic_level_ack_pending(struct mp_chip_data *data) static inline bool ioapic_irqd_mask(struct irq_data *data) { /* If we are moving the irq we need to mask it */ diff --git a/kernel/patches-4.14.x-rt/0139-rcu-segcblist-include-rcupdate.h.patch b/kernel/patches-4.14.x-rt/0139-rcu-segcblist-include-rcupdate.h.patch index 9f1b7bcd0..7b9ab2e44 100644 --- a/kernel/patches-4.14.x-rt/0139-rcu-segcblist-include-rcupdate.h.patch +++ b/kernel/patches-4.14.x-rt/0139-rcu-segcblist-include-rcupdate.h.patch @@ -1,7 +1,7 @@ -From c728fba7f8619edaab65fe4b225d1fd2e9f25a62 Mon Sep 17 00:00:00 2001 +From 42acc2821f5e4a9f596d81ec24500460a93f61da Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 22 Sep 2017 15:01:46 +0200 -Subject: [PATCH 139/414] rcu/segcblist: include rcupdate.h +Subject: [PATCH 139/413] rcu/segcblist: include rcupdate.h The RT build on ARM complains about non-existing ULONG_CMP_LT. Since rcu_segcblist.c uses that macro it should include the header file. diff --git a/kernel/patches-4.14.x-rt/0140-printk-Add-a-printk-kill-switch.patch b/kernel/patches-4.14.x-rt/0140-printk-Add-a-printk-kill-switch.patch index 56a2c4070..c12d7316c 100644 --- a/kernel/patches-4.14.x-rt/0140-printk-Add-a-printk-kill-switch.patch +++ b/kernel/patches-4.14.x-rt/0140-printk-Add-a-printk-kill-switch.patch @@ -1,7 +1,7 @@ -From b0a82aad5110af9b01d009d6bde8a00de490d2e5 Mon Sep 17 00:00:00 2001 +From 3b5c98e34ec1c0396afdd58a72f2446262cc5d30 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 22 Jul 2011 17:58:40 +0200 -Subject: [PATCH 140/414] printk: Add a printk kill switch +Subject: [PATCH 140/413] printk: Add a printk kill switch Add a prinkt-kill-switch. This is used from (NMI) watchdog to ensure that it does not dead-lock with the early printk code. diff --git a/kernel/patches-4.14.x-rt/0141-printk-Add-force_early_printk-boot-param-to-help-wit.patch b/kernel/patches-4.14.x-rt/0141-printk-Add-force_early_printk-boot-param-to-help-wit.patch index 4e0bb25d5..e7dfa9150 100644 --- a/kernel/patches-4.14.x-rt/0141-printk-Add-force_early_printk-boot-param-to-help-wit.patch +++ b/kernel/patches-4.14.x-rt/0141-printk-Add-force_early_printk-boot-param-to-help-wit.patch @@ -1,7 +1,7 @@ -From e3e0429866b1fe2b89eb3fa326b31399040a3a53 Mon Sep 17 00:00:00 2001 +From 29214cb68d4a0a56ac492c3925184db09a8a6d5a Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 2 Sep 2011 14:41:29 +0200 -Subject: [PATCH 141/414] printk: Add "force_early_printk" boot param to help +Subject: [PATCH 141/413] printk: Add "force_early_printk" boot param to help with debugging Gives me an option to screw printk and actually see what the machine diff --git a/kernel/patches-4.14.x-rt/0142-rt-Provide-PREEMPT_RT_BASE-config-switch.patch b/kernel/patches-4.14.x-rt/0142-rt-Provide-PREEMPT_RT_BASE-config-switch.patch index dd42212cc..ee204bffc 100644 --- a/kernel/patches-4.14.x-rt/0142-rt-Provide-PREEMPT_RT_BASE-config-switch.patch +++ b/kernel/patches-4.14.x-rt/0142-rt-Provide-PREEMPT_RT_BASE-config-switch.patch @@ -1,7 +1,7 @@ -From 835ef9486978d905b28322958f61efa91a11be1c Mon Sep 17 00:00:00 2001 +From d67c8c2ad5738f41476f7e6b9ea005879e2ff591 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 17 Jun 2011 12:39:57 +0200 -Subject: [PATCH 142/414] rt: Provide PREEMPT_RT_BASE config switch +Subject: [PATCH 142/413] rt: Provide PREEMPT_RT_BASE config switch Introduce PREEMPT_RT_BASE which enables parts of PREEMPT_RT_FULL. Forces interrupt threading and enables some of the RT diff --git a/kernel/patches-4.14.x-rt/0143-kconfig-Disable-config-options-which-are-not-RT-comp.patch b/kernel/patches-4.14.x-rt/0143-kconfig-Disable-config-options-which-are-not-RT-comp.patch index b45c2dbc1..1038931eb 100644 --- a/kernel/patches-4.14.x-rt/0143-kconfig-Disable-config-options-which-are-not-RT-comp.patch +++ b/kernel/patches-4.14.x-rt/0143-kconfig-Disable-config-options-which-are-not-RT-comp.patch @@ -1,7 +1,7 @@ -From c72a0cf2454273e3eed05132ec18684eb11e94bc Mon Sep 17 00:00:00 2001 +From 199d6d178f032f6c96f749cb130501155a916530 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 24 Jul 2011 12:11:43 +0200 -Subject: [PATCH 143/414] kconfig: Disable config options which are not RT +Subject: [PATCH 143/413] kconfig: Disable config options which are not RT compatible Disable stuff which is known to have issues on RT @@ -13,10 +13,10 @@ Signed-off-by: Thomas Gleixner 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/Kconfig b/arch/Kconfig -index 400b9e1b2f27..2f99c0d2166a 100644 +index 4e01862f58e4..ff8ae8cdaaf7 100644 --- a/arch/Kconfig +++ b/arch/Kconfig -@@ -17,6 +17,7 @@ config OPROFILE +@@ -20,6 +20,7 @@ config OPROFILE tristate "OProfile system profiling" depends on PROFILING depends on HAVE_OPROFILE diff --git a/kernel/patches-4.14.x-rt/0144-kconfig-Add-PREEMPT_RT_FULL.patch b/kernel/patches-4.14.x-rt/0144-kconfig-Add-PREEMPT_RT_FULL.patch index e3517cda1..1aa73bd58 100644 --- a/kernel/patches-4.14.x-rt/0144-kconfig-Add-PREEMPT_RT_FULL.patch +++ b/kernel/patches-4.14.x-rt/0144-kconfig-Add-PREEMPT_RT_FULL.patch @@ -1,7 +1,7 @@ -From 52d7dcec9ecbf158d2c91222af9d377d848d3ba1 Mon Sep 17 00:00:00 2001 +From da1e8eca231faa6f336291940045ed3038526bfa Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 14:58:57 +0200 -Subject: [PATCH 144/414] kconfig: Add PREEMPT_RT_FULL +Subject: [PATCH 144/413] kconfig: Add PREEMPT_RT_FULL Introduce the final symbol for PREEMPT_RT_FULL. diff --git a/kernel/patches-4.14.x-rt/0145-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch b/kernel/patches-4.14.x-rt/0145-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch index 4ad147f9f..de6249882 100644 --- a/kernel/patches-4.14.x-rt/0145-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch +++ b/kernel/patches-4.14.x-rt/0145-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch @@ -1,7 +1,7 @@ -From af460d99363f98df2653a9a18f91d6b024fddff3 Mon Sep 17 00:00:00 2001 +From 0576be5437acfaa11cfb642b3540c6bfcd0a393e Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:58 -0500 -Subject: [PATCH 145/414] bug: BUG_ON/WARN_ON variants dependend on RT/!RT +Subject: [PATCH 145/413] bug: BUG_ON/WARN_ON variants dependend on RT/!RT Introduce RT/NON-RT WARN/BUG statements to avoid ifdefs in the code. diff --git a/kernel/patches-4.14.x-rt/0146-iommu-amd-Use-WARN_ON_NORT-in-__attach_device.patch b/kernel/patches-4.14.x-rt/0146-iommu-amd-Use-WARN_ON_NORT-in-__attach_device.patch index 4583453ac..73332fae2 100644 --- a/kernel/patches-4.14.x-rt/0146-iommu-amd-Use-WARN_ON_NORT-in-__attach_device.patch +++ b/kernel/patches-4.14.x-rt/0146-iommu-amd-Use-WARN_ON_NORT-in-__attach_device.patch @@ -1,7 +1,7 @@ -From f4eeeabb3a99c8b378265895088918d02f4ea2bf Mon Sep 17 00:00:00 2001 +From c2b6f6ff5194b5c76eea57cff6a25611129aa6e4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 27 Feb 2016 10:22:23 +0100 -Subject: [PATCH 146/414] iommu/amd: Use WARN_ON_NORT in __attach_device() +Subject: [PATCH 146/413] iommu/amd: Use WARN_ON_NORT in __attach_device() RT does not disable interrupts here, but the protection is still correct. Fixup the WARN_ON so it won't yell on RT. diff --git a/kernel/patches-4.14.x-rt/0147-rt-local_irq_-variants-depending-on-RT-RT.patch b/kernel/patches-4.14.x-rt/0147-rt-local_irq_-variants-depending-on-RT-RT.patch index 6989744c8..49cefa04e 100644 --- a/kernel/patches-4.14.x-rt/0147-rt-local_irq_-variants-depending-on-RT-RT.patch +++ b/kernel/patches-4.14.x-rt/0147-rt-local_irq_-variants-depending-on-RT-RT.patch @@ -1,7 +1,7 @@ -From 8449451b1ab0512de79b3a37764247b2a5eba56f Mon Sep 17 00:00:00 2001 +From 390089fdda959fa80d82a9be49d46ef817e37c24 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 22:34:14 +0200 -Subject: [PATCH 147/414] rt: local_irq_* variants depending on RT/!RT +Subject: [PATCH 147/413] rt: local_irq_* variants depending on RT/!RT Add local_irq_*_(no)rt variant which are mainly used to break interrupt disabled sections on PREEMPT_RT or to explicitely disable diff --git a/kernel/patches-4.14.x-rt/0148-preempt-Provide-preempt_-_-no-rt-variants.patch b/kernel/patches-4.14.x-rt/0148-preempt-Provide-preempt_-_-no-rt-variants.patch index b6b6a4584..a97e15267 100644 --- a/kernel/patches-4.14.x-rt/0148-preempt-Provide-preempt_-_-no-rt-variants.patch +++ b/kernel/patches-4.14.x-rt/0148-preempt-Provide-preempt_-_-no-rt-variants.patch @@ -1,7 +1,7 @@ -From 208925ba21c360d6a2472e8a2611b8229dd9311c Mon Sep 17 00:00:00 2001 +From 68ab2ca4f0c37128003be211a13ffa1a77efa27a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jul 2009 12:38:56 +0200 -Subject: [PATCH 148/414] preempt: Provide preempt_*_(no)rt variants +Subject: [PATCH 148/413] preempt: Provide preempt_*_(no)rt variants RT needs a few preempt_disable/enable points which are not necessary otherwise. Implement variants to avoid #ifdeffery. diff --git a/kernel/patches-4.14.x-rt/0149-futex-workaround-migrate_disable-enable-in-different.patch b/kernel/patches-4.14.x-rt/0149-futex-workaround-migrate_disable-enable-in-different.patch index f12517ee8..83e6ec749 100644 --- a/kernel/patches-4.14.x-rt/0149-futex-workaround-migrate_disable-enable-in-different.patch +++ b/kernel/patches-4.14.x-rt/0149-futex-workaround-migrate_disable-enable-in-different.patch @@ -1,7 +1,7 @@ -From 51cbdb1bee9aa58d955972a209b64c8077037bf5 Mon Sep 17 00:00:00 2001 +From 06ccd7bf2ef5a5a0a5b2763085a3dfd3b847ab5b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 8 Mar 2017 14:23:35 +0100 -Subject: [PATCH 149/414] futex: workaround migrate_disable/enable in different +Subject: [PATCH 149/413] futex: workaround migrate_disable/enable in different context migrate_disable()/migrate_enable() takes a different path in atomic() vs diff --git a/kernel/patches-4.14.x-rt/0150-rt-Add-local-irq-locks.patch b/kernel/patches-4.14.x-rt/0150-rt-Add-local-irq-locks.patch index 3833b729a..3c5a9b7cd 100644 --- a/kernel/patches-4.14.x-rt/0150-rt-Add-local-irq-locks.patch +++ b/kernel/patches-4.14.x-rt/0150-rt-Add-local-irq-locks.patch @@ -1,7 +1,7 @@ -From 1f39749e8455f909b304c7e242acc49af05fda24 Mon Sep 17 00:00:00 2001 +From e5580c13b1cb3b7effa0ab3c3dd46d9facd80010 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 20 Jun 2011 09:03:47 +0200 -Subject: [PATCH 150/414] rt: Add local irq locks +Subject: [PATCH 150/413] rt: Add local irq locks Introduce locallock. For !RT this maps to preempt_disable()/ local_irq_disable() so there is not much that changes. For RT this will diff --git a/kernel/patches-4.14.x-rt/0151-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch b/kernel/patches-4.14.x-rt/0151-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch index b8e6b27da..dc5bc133d 100644 --- a/kernel/patches-4.14.x-rt/0151-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch +++ b/kernel/patches-4.14.x-rt/0151-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch @@ -1,7 +1,7 @@ -From d7a164e99b31494c5e3f7c4ffe22d63bc3d0f325 Mon Sep 17 00:00:00 2001 +From c54d10c81e83b8ad824e5534585cf770345cb99e Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 08:44:29 -0500 -Subject: [PATCH 151/414] ata: Do not disable interrupts in ide code for +Subject: [PATCH 151/413] ata: Do not disable interrupts in ide code for preempt-rt Use the local_irq_*_nort variants. diff --git a/kernel/patches-4.14.x-rt/0152-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch b/kernel/patches-4.14.x-rt/0152-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch index e0d1f407a..3c5c5c732 100644 --- a/kernel/patches-4.14.x-rt/0152-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch +++ b/kernel/patches-4.14.x-rt/0152-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch @@ -1,7 +1,7 @@ -From 7a0095e8ab489efff9cac45944f23feea96b5d25 Mon Sep 17 00:00:00 2001 +From 78f30960840658bff95158e5be29429678b68b05 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:16 -0500 -Subject: [PATCH 152/414] ide: Do not disable interrupts for PREEMPT-RT +Subject: [PATCH 152/413] ide: Do not disable interrupts for PREEMPT-RT Use the local_irq_*_nort variants. diff --git a/kernel/patches-4.14.x-rt/0153-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch b/kernel/patches-4.14.x-rt/0153-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch index 676d58b0c..7e7c403ad 100644 --- a/kernel/patches-4.14.x-rt/0153-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch +++ b/kernel/patches-4.14.x-rt/0153-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch @@ -1,7 +1,7 @@ -From 0a45a53852f40850f58ed09b40087ed03dee05e7 Mon Sep 17 00:00:00 2001 +From 663fe2aadfcaabdf239cfdfffe3c66a26ddc751b Mon Sep 17 00:00:00 2001 From: Sven-Thorsten Dietrich Date: Fri, 3 Jul 2009 08:30:35 -0500 -Subject: [PATCH 153/414] infiniband: Mellanox IB driver patch use _nort() +Subject: [PATCH 153/413] infiniband: Mellanox IB driver patch use _nort() primitives Fixes in_atomic stack-dump, when Mellanox module is loaded into the RT diff --git a/kernel/patches-4.14.x-rt/0154-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch b/kernel/patches-4.14.x-rt/0154-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch index 3742cfef6..5c86892c3 100644 --- a/kernel/patches-4.14.x-rt/0154-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch +++ b/kernel/patches-4.14.x-rt/0154-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch @@ -1,7 +1,7 @@ -From c57e45f35eed96daaeb7c460b7c7cdf08fa01b37 Mon Sep 17 00:00:00 2001 +From 9c0f31a117bdc257012d65b9d769e9301bf95478 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:16 -0500 -Subject: [PATCH 154/414] input: gameport: Do not disable interrupts on +Subject: [PATCH 154/413] input: gameport: Do not disable interrupts on PREEMPT_RT Use the _nort() primitives. diff --git a/kernel/patches-4.14.x-rt/0155-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch b/kernel/patches-4.14.x-rt/0155-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch index 7c1e36297..845d36169 100644 --- a/kernel/patches-4.14.x-rt/0155-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch +++ b/kernel/patches-4.14.x-rt/0155-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch @@ -1,7 +1,7 @@ -From ec4d7dfc11d797eeee2236fd32856f0ef1ab4efc Mon Sep 17 00:00:00 2001 +From d605b032a96d481dbaf60beeb0e8d7477e46b82b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 23:06:05 +0200 -Subject: [PATCH 155/414] core: Do not disable interrupts on RT in +Subject: [PATCH 155/413] core: Do not disable interrupts on RT in kernel/users.c Use the local_irq_*_nort variants to reduce latencies in RT. The code diff --git a/kernel/patches-4.14.x-rt/0156-usb-Use-_nort-in-giveback-function.patch b/kernel/patches-4.14.x-rt/0156-usb-Use-_nort-in-giveback-function.patch index 5671e04e8..2e4c10c63 100644 --- a/kernel/patches-4.14.x-rt/0156-usb-Use-_nort-in-giveback-function.patch +++ b/kernel/patches-4.14.x-rt/0156-usb-Use-_nort-in-giveback-function.patch @@ -1,7 +1,7 @@ -From e96058902fe566dfe3ab5c0ab817b5ec6d09a085 Mon Sep 17 00:00:00 2001 +From 9d7f256f26ee2247b975e14a0ee61235d33334cf Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 8 Nov 2013 17:34:54 +0100 -Subject: [PATCH 156/414] usb: Use _nort in giveback function +Subject: [PATCH 156/413] usb: Use _nort in giveback function Since commit 94dfd7ed ("USB: HCD: support giveback of URB in tasklet context") I see diff --git a/kernel/patches-4.14.x-rt/0157-mm-scatterlist-Do-not-disable-irqs-on-RT.patch b/kernel/patches-4.14.x-rt/0157-mm-scatterlist-Do-not-disable-irqs-on-RT.patch index 975cf76d7..043d8990d 100644 --- a/kernel/patches-4.14.x-rt/0157-mm-scatterlist-Do-not-disable-irqs-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0157-mm-scatterlist-Do-not-disable-irqs-on-RT.patch @@ -1,7 +1,7 @@ -From ae871acd1253742f6ce7d3bc2d8599d7fa1e6337 Mon Sep 17 00:00:00 2001 +From a275a4f284bbe53d927bc62394983a23e1cefe4c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:34 -0500 -Subject: [PATCH 157/414] mm/scatterlist: Do not disable irqs on RT +Subject: [PATCH 157/413] mm/scatterlist: Do not disable irqs on RT For -RT it is enough to keep pagefault disabled (which is currently handled by kmap_atomic()). diff --git a/kernel/patches-4.14.x-rt/0158-mm-workingset-Do-not-protect-workingset_shadow_nodes.patch b/kernel/patches-4.14.x-rt/0158-mm-workingset-Do-not-protect-workingset_shadow_nodes.patch index 1f020454f..1c70ec5a9 100644 --- a/kernel/patches-4.14.x-rt/0158-mm-workingset-Do-not-protect-workingset_shadow_nodes.patch +++ b/kernel/patches-4.14.x-rt/0158-mm-workingset-Do-not-protect-workingset_shadow_nodes.patch @@ -1,7 +1,7 @@ -From ab698a021d86611968ca065ad168e6fc9b401481 Mon Sep 17 00:00:00 2001 +From 414bc4726e63df9af453ded6613dd7083c3388a7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Jan 2015 17:19:44 +0100 -Subject: [PATCH 158/414] mm/workingset: Do not protect workingset_shadow_nodes +Subject: [PATCH 158/413] mm/workingset: Do not protect workingset_shadow_nodes with irq off workingset_shadow_nodes is protected by local_irq_disable(). Some users diff --git a/kernel/patches-4.14.x-rt/0159-signal-Make-__lock_task_sighand-RT-aware.patch b/kernel/patches-4.14.x-rt/0159-signal-Make-__lock_task_sighand-RT-aware.patch index e45d64c33..067705089 100644 --- a/kernel/patches-4.14.x-rt/0159-signal-Make-__lock_task_sighand-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0159-signal-Make-__lock_task_sighand-RT-aware.patch @@ -1,7 +1,7 @@ -From f10b95267c7cda93b855a602eea8b70dd2a7672c Mon Sep 17 00:00:00 2001 +From 33ddd963cffc0f9b25dbfec2e32e281284a7e7ce Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 22 Jul 2011 08:07:08 +0200 -Subject: [PATCH 159/414] signal: Make __lock_task_sighand() RT aware +Subject: [PATCH 159/413] signal: Make __lock_task_sighand() RT aware local_irq_save() + spin_lock(&sighand->siglock) does not work on -RT. Use the nort variants. diff --git a/kernel/patches-4.14.x-rt/0160-signal-x86-Delay-calling-signals-in-atomic.patch b/kernel/patches-4.14.x-rt/0160-signal-x86-Delay-calling-signals-in-atomic.patch index d10ea2b1d..0938d4d30 100644 --- a/kernel/patches-4.14.x-rt/0160-signal-x86-Delay-calling-signals-in-atomic.patch +++ b/kernel/patches-4.14.x-rt/0160-signal-x86-Delay-calling-signals-in-atomic.patch @@ -1,7 +1,7 @@ -From d9ce5df092f398cb9fb8b930e4fa9c397fa4ab09 Mon Sep 17 00:00:00 2001 +From 56c536d8a5703cbc70180abb4bdc1ad4e57f02fb Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 160/414] signal/x86: Delay calling signals in atomic +Subject: [PATCH 160/413] signal/x86: Delay calling signals in atomic On x86_64 we must disable preemption before we enable interrupts for stack faults, int3 and debugging, because the current task is using diff --git a/kernel/patches-4.14.x-rt/0161-x86-signal-delay-calling-signals-on-32bit.patch b/kernel/patches-4.14.x-rt/0161-x86-signal-delay-calling-signals-on-32bit.patch index 6a2a7984b..33b876734 100644 --- a/kernel/patches-4.14.x-rt/0161-x86-signal-delay-calling-signals-on-32bit.patch +++ b/kernel/patches-4.14.x-rt/0161-x86-signal-delay-calling-signals-on-32bit.patch @@ -1,7 +1,7 @@ -From 7d739bdbec169c3e083f85b6330083ed6760467e Mon Sep 17 00:00:00 2001 +From d83e00d620794438af2d5fa2067540d963cb71c5 Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Thu, 10 Dec 2015 10:58:51 -0800 -Subject: [PATCH 161/414] x86/signal: delay calling signals on 32bit +Subject: [PATCH 161/413] x86/signal: delay calling signals on 32bit When running some ptrace single step tests on x86-32 machine, the below problem is triggered: diff --git a/kernel/patches-4.14.x-rt/0162-net-wireless-Use-WARN_ON_NORT.patch b/kernel/patches-4.14.x-rt/0162-net-wireless-Use-WARN_ON_NORT.patch index b9ff9038d..f7e79dc3d 100644 --- a/kernel/patches-4.14.x-rt/0162-net-wireless-Use-WARN_ON_NORT.patch +++ b/kernel/patches-4.14.x-rt/0162-net-wireless-Use-WARN_ON_NORT.patch @@ -1,7 +1,7 @@ -From 701f386aec46c99105c5d3898566c0ecb2087e0e Mon Sep 17 00:00:00 2001 +From d32055f20aec6d1fd9e6e0ce12d248961b42c398 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jul 2011 21:05:33 +0200 -Subject: [PATCH 162/414] net/wireless: Use WARN_ON_NORT() +Subject: [PATCH 162/413] net/wireless: Use WARN_ON_NORT() The softirq counter is meaningless on RT, so the check triggers a false positive. diff --git a/kernel/patches-4.14.x-rt/0163-buffer_head-Replace-bh_uptodate_lock-for-rt.patch b/kernel/patches-4.14.x-rt/0163-buffer_head-Replace-bh_uptodate_lock-for-rt.patch index fd04a9f06..df52bc981 100644 --- a/kernel/patches-4.14.x-rt/0163-buffer_head-Replace-bh_uptodate_lock-for-rt.patch +++ b/kernel/patches-4.14.x-rt/0163-buffer_head-Replace-bh_uptodate_lock-for-rt.patch @@ -1,7 +1,7 @@ -From f18a336d84f940fa35c07b4092c5631e90c61694 Mon Sep 17 00:00:00 2001 +From b1b69a9f1dc6840bba68fa412c4671d21464fc5f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 09:18:52 +0100 -Subject: [PATCH 163/414] buffer_head: Replace bh_uptodate_lock for -rt +Subject: [PATCH 163/413] buffer_head: Replace bh_uptodate_lock for -rt Wrap the bit_spin_lock calls into a separate inline and add the RT replacements with a real spinlock. diff --git a/kernel/patches-4.14.x-rt/0164-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch b/kernel/patches-4.14.x-rt/0164-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch index c951ed87d..afe2a2a66 100644 --- a/kernel/patches-4.14.x-rt/0164-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch +++ b/kernel/patches-4.14.x-rt/0164-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch @@ -1,7 +1,7 @@ -From d2f451b7ae13da528b7b1fa3ebf38c5db3ca07b5 Mon Sep 17 00:00:00 2001 +From bb7c12780e572adc307d4982f9e565482fe064f7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 10:11:25 +0100 -Subject: [PATCH 164/414] fs: jbd/jbd2: Make state lock and journal head lock +Subject: [PATCH 164/413] fs: jbd/jbd2: Make state lock and journal head lock rt safe bit_spin_locks break under RT. diff --git a/kernel/patches-4.14.x-rt/0165-list_bl-Make-list-head-locking-RT-safe.patch b/kernel/patches-4.14.x-rt/0165-list_bl-Make-list-head-locking-RT-safe.patch index bd6d80d13..2cf66c1d6 100644 --- a/kernel/patches-4.14.x-rt/0165-list_bl-Make-list-head-locking-RT-safe.patch +++ b/kernel/patches-4.14.x-rt/0165-list_bl-Make-list-head-locking-RT-safe.patch @@ -1,7 +1,7 @@ -From 34c68abc9d8ef5bf7e73558374dce20d516283e8 Mon Sep 17 00:00:00 2001 +From acf0c7e5add6daa111882b9f83fadeaf22be984f Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Fri, 21 Jun 2013 15:07:25 -0400 -Subject: [PATCH 165/414] list_bl: Make list head locking RT safe +Subject: [PATCH 165/413] list_bl: Make list head locking RT safe As per changes in include/linux/jbd_common.h for avoiding the bit_spin_locks on RT ("fs: jbd/jbd2: Make state lock and journal diff --git a/kernel/patches-4.14.x-rt/0166-list_bl-fixup-bogus-lockdep-warning.patch b/kernel/patches-4.14.x-rt/0166-list_bl-fixup-bogus-lockdep-warning.patch index 7aae8b081..3d830f976 100644 --- a/kernel/patches-4.14.x-rt/0166-list_bl-fixup-bogus-lockdep-warning.patch +++ b/kernel/patches-4.14.x-rt/0166-list_bl-fixup-bogus-lockdep-warning.patch @@ -1,7 +1,7 @@ -From 168f134c4f7fab8fed72fa7c3e191c02d4f5b99c Mon Sep 17 00:00:00 2001 +From 2febfa6414d89785e14b4debae3729114450bb81 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 31 Mar 2016 00:04:25 -0500 -Subject: [PATCH 166/414] list_bl: fixup bogus lockdep warning +Subject: [PATCH 166/413] list_bl: fixup bogus lockdep warning At first glance, the use of 'static inline' seems appropriate for INIT_HLIST_BL_HEAD(). diff --git a/kernel/patches-4.14.x-rt/0167-genirq-Disable-irqpoll-on-rt.patch b/kernel/patches-4.14.x-rt/0167-genirq-Disable-irqpoll-on-rt.patch index 74d880906..345e5a3de 100644 --- a/kernel/patches-4.14.x-rt/0167-genirq-Disable-irqpoll-on-rt.patch +++ b/kernel/patches-4.14.x-rt/0167-genirq-Disable-irqpoll-on-rt.patch @@ -1,7 +1,7 @@ -From e1e3c6c6592592b4b4dfeebb076880f2ecce9168 Mon Sep 17 00:00:00 2001 +From fcdecf2d2f78c0041a1b2e7c23120491dd5fd5ea Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:57 -0500 -Subject: [PATCH 167/414] genirq: Disable irqpoll on -rt +Subject: [PATCH 167/413] genirq: Disable irqpoll on -rt Creates long latencies for no value diff --git a/kernel/patches-4.14.x-rt/0168-genirq-Force-interrupt-thread-on-RT.patch b/kernel/patches-4.14.x-rt/0168-genirq-Force-interrupt-thread-on-RT.patch index a1ff90fe3..24fb60b84 100644 --- a/kernel/patches-4.14.x-rt/0168-genirq-Force-interrupt-thread-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0168-genirq-Force-interrupt-thread-on-RT.patch @@ -1,7 +1,7 @@ -From 33a459fe919597d1a497fe5fbe5b80905317dadc Mon Sep 17 00:00:00 2001 +From e463e262439aef3e494b57754a697cf7b170e98d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 3 Apr 2011 11:57:29 +0200 -Subject: [PATCH 168/414] genirq: Force interrupt thread on RT +Subject: [PATCH 168/413] genirq: Force interrupt thread on RT Force threaded_irqs and optimize the code (force_irqthreads) in regard to this. @@ -32,7 +32,7 @@ index 2957da07e967..2395ebb443b9 100644 #ifndef __ARCH_SET_SOFTIRQ_PENDING diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index b02caa442776..6d1f321152d0 100644 +index 069311541577..0dc9ef91898a 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -24,6 +24,7 @@ diff --git a/kernel/patches-4.14.x-rt/0169-drivers-net-vortex-fix-locking-issues.patch b/kernel/patches-4.14.x-rt/0169-drivers-net-vortex-fix-locking-issues.patch index 98862135c..83a767470 100644 --- a/kernel/patches-4.14.x-rt/0169-drivers-net-vortex-fix-locking-issues.patch +++ b/kernel/patches-4.14.x-rt/0169-drivers-net-vortex-fix-locking-issues.patch @@ -1,7 +1,7 @@ -From 642176f3d9d3bf7e4470e06d8c5dc7b8ab9dd139 Mon Sep 17 00:00:00 2001 +From 81e793dc9d28b9968903766466d5f68e88419a6c Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 08:30:00 -0500 -Subject: [PATCH 169/414] drivers/net: vortex fix locking issues +Subject: [PATCH 169/413] drivers/net: vortex fix locking issues Argh, cut and paste wasn't enough... diff --git a/kernel/patches-4.14.x-rt/0170-delayacct-use-raw_spinlocks.patch b/kernel/patches-4.14.x-rt/0170-delayacct-use-raw_spinlocks.patch deleted file mode 100644 index d6a7e9c82..000000000 --- a/kernel/patches-4.14.x-rt/0170-delayacct-use-raw_spinlocks.patch +++ /dev/null @@ -1,94 +0,0 @@ -From bf55b13ea16db2da8b97d305abbbf8fb8c577ebd Mon Sep 17 00:00:00 2001 -From: Sebastian Andrzej Siewior -Date: Sat, 20 May 2017 12:32:23 +0200 -Subject: [PATCH 170/414] delayacct: use raw_spinlocks - -try_to_wake_up() might invoke delayacct_blkio_end() while holding the -pi_lock. The lock is only held for a short amount of time so it should -be safe to make it raw. - -Signed-off-by: Sebastian Andrzej Siewior ---- - include/linux/delayacct.h | 2 +- - kernel/delayacct.c | 16 ++++++++-------- - 2 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/include/linux/delayacct.h b/include/linux/delayacct.h -index 5e335b6203f4..e6c0448ebcc7 100644 ---- a/include/linux/delayacct.h -+++ b/include/linux/delayacct.h -@@ -29,7 +29,7 @@ - - #ifdef CONFIG_TASK_DELAY_ACCT - struct task_delay_info { -- spinlock_t lock; -+ raw_spinlock_t lock; - unsigned int flags; /* Private per-task flags */ - - /* For each stat XXX, add following, aligned appropriately -diff --git a/kernel/delayacct.c b/kernel/delayacct.c -index e2764d767f18..0c1b7025950f 100644 ---- a/kernel/delayacct.c -+++ b/kernel/delayacct.c -@@ -44,23 +44,23 @@ void __delayacct_tsk_init(struct task_struct *tsk) - { - tsk->delays = kmem_cache_zalloc(delayacct_cache, GFP_KERNEL); - if (tsk->delays) -- spin_lock_init(&tsk->delays->lock); -+ raw_spin_lock_init(&tsk->delays->lock); - } - - /* - * Finish delay accounting for a statistic using its timestamps (@start), - * accumalator (@total) and @count - */ --static void delayacct_end(spinlock_t *lock, u64 *start, u64 *total, u32 *count) -+static void delayacct_end(raw_spinlock_t *lock, u64 *start, u64 *total, u32 *count) - { - s64 ns = ktime_get_ns() - *start; - unsigned long flags; - - if (ns > 0) { -- spin_lock_irqsave(lock, flags); -+ raw_spin_lock_irqsave(lock, flags); - *total += ns; - (*count)++; -- spin_unlock_irqrestore(lock, flags); -+ raw_spin_unlock_irqrestore(lock, flags); - } - } - -@@ -127,7 +127,7 @@ int __delayacct_add_tsk(struct taskstats *d, struct task_struct *tsk) - - /* zero XXX_total, non-zero XXX_count implies XXX stat overflowed */ - -- spin_lock_irqsave(&tsk->delays->lock, flags); -+ raw_spin_lock_irqsave(&tsk->delays->lock, flags); - tmp = d->blkio_delay_total + tsk->delays->blkio_delay; - d->blkio_delay_total = (tmp < d->blkio_delay_total) ? 0 : tmp; - tmp = d->swapin_delay_total + tsk->delays->swapin_delay; -@@ -137,7 +137,7 @@ int __delayacct_add_tsk(struct taskstats *d, struct task_struct *tsk) - d->blkio_count += tsk->delays->blkio_count; - d->swapin_count += tsk->delays->swapin_count; - d->freepages_count += tsk->delays->freepages_count; -- spin_unlock_irqrestore(&tsk->delays->lock, flags); -+ raw_spin_unlock_irqrestore(&tsk->delays->lock, flags); - - return 0; - } -@@ -147,10 +147,10 @@ __u64 __delayacct_blkio_ticks(struct task_struct *tsk) - __u64 ret; - unsigned long flags; - -- spin_lock_irqsave(&tsk->delays->lock, flags); -+ raw_spin_lock_irqsave(&tsk->delays->lock, flags); - ret = nsec_to_clock_t(tsk->delays->blkio_delay + - tsk->delays->swapin_delay); -- spin_unlock_irqrestore(&tsk->delays->lock, flags); -+ raw_spin_unlock_irqrestore(&tsk->delays->lock, flags); - return ret; - } - --- -2.18.0 - diff --git a/kernel/patches-4.14.x-rt/0171-mm-page_alloc-rt-friendly-per-cpu-pages.patch b/kernel/patches-4.14.x-rt/0170-mm-page_alloc-rt-friendly-per-cpu-pages.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0171-mm-page_alloc-rt-friendly-per-cpu-pages.patch rename to kernel/patches-4.14.x-rt/0170-mm-page_alloc-rt-friendly-per-cpu-pages.patch index b8044b2b6..7c9bbd613 100644 --- a/kernel/patches-4.14.x-rt/0171-mm-page_alloc-rt-friendly-per-cpu-pages.patch +++ b/kernel/patches-4.14.x-rt/0170-mm-page_alloc-rt-friendly-per-cpu-pages.patch @@ -1,7 +1,7 @@ -From 3beb269788b70944375ddb3551db4e06cdd70522 Mon Sep 17 00:00:00 2001 +From d0c71e65d57140421324065cbbfb34d8eeaae9f4 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:37 -0500 -Subject: [PATCH 171/414] mm: page_alloc: rt-friendly per-cpu pages +Subject: [PATCH 170/413] mm: page_alloc: rt-friendly per-cpu pages rt-friendly per-cpu pages: convert the irqs-off per-cpu locking method into a preemptible, explicit-per-cpu-locks method. diff --git a/kernel/patches-4.14.x-rt/0172-mm-page_alloc-Reduce-lock-sections-further.patch b/kernel/patches-4.14.x-rt/0171-mm-page_alloc-Reduce-lock-sections-further.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0172-mm-page_alloc-Reduce-lock-sections-further.patch rename to kernel/patches-4.14.x-rt/0171-mm-page_alloc-Reduce-lock-sections-further.patch index e0ac6d2c9..7468da59f 100644 --- a/kernel/patches-4.14.x-rt/0172-mm-page_alloc-Reduce-lock-sections-further.patch +++ b/kernel/patches-4.14.x-rt/0171-mm-page_alloc-Reduce-lock-sections-further.patch @@ -1,7 +1,7 @@ -From f9786a7e85762efef786023fc1293eb3183e6fc7 Mon Sep 17 00:00:00 2001 +From ff3fa40e097c563abc5166a2c77e95e3cd1076e3 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 3 Jul 2009 08:44:37 -0500 -Subject: [PATCH 172/414] mm: page_alloc: Reduce lock sections further +Subject: [PATCH 171/413] mm: page_alloc: Reduce lock sections further Split out the pages which are to be freed into a separate list and call free_pages_bulk() outside of the percpu page allocator locks. diff --git a/kernel/patches-4.14.x-rt/0173-mm-swap-Convert-to-percpu-locked.patch b/kernel/patches-4.14.x-rt/0172-mm-swap-Convert-to-percpu-locked.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0173-mm-swap-Convert-to-percpu-locked.patch rename to kernel/patches-4.14.x-rt/0172-mm-swap-Convert-to-percpu-locked.patch index 183c33e70..52b3f6fd8 100644 --- a/kernel/patches-4.14.x-rt/0173-mm-swap-Convert-to-percpu-locked.patch +++ b/kernel/patches-4.14.x-rt/0172-mm-swap-Convert-to-percpu-locked.patch @@ -1,7 +1,7 @@ -From 78952ca2b130a6f907b7e980a807bf2ba386abd9 Mon Sep 17 00:00:00 2001 +From 02af8f2883cde6ef4ebeebed21d1b80ab1283c73 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:51 -0500 -Subject: [PATCH 173/414] mm/swap: Convert to percpu locked +Subject: [PATCH 172/413] mm/swap: Convert to percpu locked Replace global locks (get_cpu + local_irq_save) with "local_locks()". Currently there is one of for "rotate" and one for "swap". diff --git a/kernel/patches-4.14.x-rt/0174-mm-perform-lru_add_drain_all-remotely.patch b/kernel/patches-4.14.x-rt/0173-mm-perform-lru_add_drain_all-remotely.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0174-mm-perform-lru_add_drain_all-remotely.patch rename to kernel/patches-4.14.x-rt/0173-mm-perform-lru_add_drain_all-remotely.patch index 8f11c8506..1291fcec0 100644 --- a/kernel/patches-4.14.x-rt/0174-mm-perform-lru_add_drain_all-remotely.patch +++ b/kernel/patches-4.14.x-rt/0173-mm-perform-lru_add_drain_all-remotely.patch @@ -1,7 +1,7 @@ -From d4ad6785b6b124a609f2362c78278a11cd2451ca Mon Sep 17 00:00:00 2001 +From 6bb5c8b54644f251e19013fc628cb5d1d76aa229 Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Fri, 27 May 2016 15:03:28 +0200 -Subject: [PATCH 174/414] mm: perform lru_add_drain_all() remotely +Subject: [PATCH 173/413] mm: perform lru_add_drain_all() remotely lru_add_drain_all() works by scheduling lru_add_drain_cpu() to run on all CPUs that have non-empty LRU pagevecs and then waiting for diff --git a/kernel/patches-4.14.x-rt/0175-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch b/kernel/patches-4.14.x-rt/0174-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0175-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch rename to kernel/patches-4.14.x-rt/0174-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch index 24489b992..c122328c5 100644 --- a/kernel/patches-4.14.x-rt/0175-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch +++ b/kernel/patches-4.14.x-rt/0174-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch @@ -1,7 +1,7 @@ -From be6f3e4a00ad8867b1cd777d0e2feeeebadba989 Mon Sep 17 00:00:00 2001 +From 465719a81fbe82ff327a5e2e3009ac9d41915668 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:13 -0500 -Subject: [PATCH 175/414] mm/vmstat: Protect per cpu variables with preempt +Subject: [PATCH 174/413] mm/vmstat: Protect per cpu variables with preempt disable on RT Disable preemption on -RT for the vmstat code. On vanila the code runs in diff --git a/kernel/patches-4.14.x-rt/0176-ARM-Initialize-split-page-table-locks-for-vector-pag.patch b/kernel/patches-4.14.x-rt/0175-ARM-Initialize-split-page-table-locks-for-vector-pag.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0176-ARM-Initialize-split-page-table-locks-for-vector-pag.patch rename to kernel/patches-4.14.x-rt/0175-ARM-Initialize-split-page-table-locks-for-vector-pag.patch index af1db3ded..2e0f28874 100644 --- a/kernel/patches-4.14.x-rt/0176-ARM-Initialize-split-page-table-locks-for-vector-pag.patch +++ b/kernel/patches-4.14.x-rt/0175-ARM-Initialize-split-page-table-locks-for-vector-pag.patch @@ -1,7 +1,7 @@ -From 0eb06df3fe3a41b57035c19a9ad517549325c212 Mon Sep 17 00:00:00 2001 +From 1e8d208c019037a06063161ee92658f16b1b99df Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Sat, 1 Oct 2011 18:58:13 -0700 -Subject: [PATCH 176/414] ARM: Initialize split page table locks for vector +Subject: [PATCH 175/413] ARM: Initialize split page table locks for vector page Without this patch, ARM can not use SPLIT_PTLOCK_CPUS if diff --git a/kernel/patches-4.14.x-rt/0177-mm-bounce-Use-local_irq_save_nort.patch b/kernel/patches-4.14.x-rt/0176-mm-bounce-Use-local_irq_save_nort.patch similarity index 86% rename from kernel/patches-4.14.x-rt/0177-mm-bounce-Use-local_irq_save_nort.patch rename to kernel/patches-4.14.x-rt/0176-mm-bounce-Use-local_irq_save_nort.patch index ecbc53741..e60b338e0 100644 --- a/kernel/patches-4.14.x-rt/0177-mm-bounce-Use-local_irq_save_nort.patch +++ b/kernel/patches-4.14.x-rt/0176-mm-bounce-Use-local_irq_save_nort.patch @@ -1,7 +1,7 @@ -From d0d960a45f71c4958bb6d492d22f814c18a646c6 Mon Sep 17 00:00:00 2001 +From 647799235eb3c3cbf6cdb6c2613dfef697b5e3f6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 10:33:09 +0100 -Subject: [PATCH 177/414] mm: bounce: Use local_irq_save_nort +Subject: [PATCH 176/413] mm: bounce: Use local_irq_save_nort kmap_atomic() is preemptible on RT. diff --git a/kernel/patches-4.14.x-rt/0178-mm-Allow-only-slub-on-RT.patch b/kernel/patches-4.14.x-rt/0177-mm-Allow-only-slub-on-RT.patch similarity index 88% rename from kernel/patches-4.14.x-rt/0178-mm-Allow-only-slub-on-RT.patch rename to kernel/patches-4.14.x-rt/0177-mm-Allow-only-slub-on-RT.patch index 5154920a3..54241a70e 100644 --- a/kernel/patches-4.14.x-rt/0178-mm-Allow-only-slub-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0177-mm-Allow-only-slub-on-RT.patch @@ -1,7 +1,7 @@ -From 56c0f6e710896bbb69445f4d5cb3ca040a4b4a2a Mon Sep 17 00:00:00 2001 +From ba10973df982e1d222446b9aa0cd599a85091f27 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:44:03 -0500 -Subject: [PATCH 178/414] mm: Allow only slub on RT +Subject: [PATCH 177/413] mm: Allow only slub on RT Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs. diff --git a/kernel/patches-4.14.x-rt/0179-mm-Enable-SLUB-for-RT.patch b/kernel/patches-4.14.x-rt/0178-mm-Enable-SLUB-for-RT.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0179-mm-Enable-SLUB-for-RT.patch rename to kernel/patches-4.14.x-rt/0178-mm-Enable-SLUB-for-RT.patch index e3ede3ff9..0ddcee1db 100644 --- a/kernel/patches-4.14.x-rt/0179-mm-Enable-SLUB-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0178-mm-Enable-SLUB-for-RT.patch @@ -1,7 +1,7 @@ -From 59431238576a6ad2a5ce71a5422a61c48036c78a Mon Sep 17 00:00:00 2001 +From be4b351f19d5ea8cf72c1fe5e15be45ffd4918bf Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 25 Oct 2012 10:32:35 +0100 -Subject: [PATCH 179/414] mm: Enable SLUB for RT +Subject: [PATCH 178/413] mm: Enable SLUB for RT Make SLUB RT aware by converting locks to raw and using free lists to move the freeing out of the lock held region. @@ -29,7 +29,7 @@ index 485d9fbb8802..f3b06c48bf39 100644 #ifdef CONFIG_SLAB struct list_head slabs_partial; /* partial list first, better asm code */ diff --git a/mm/slub.c b/mm/slub.c -index c38e71cea6d3..91d46992fa59 100644 +index 10e54c4acd19..ec77367359de 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1179,7 +1179,7 @@ static noinline int free_debug_processing( diff --git a/kernel/patches-4.14.x-rt/0180-mm-slub-close-possible-memory-leak-in-kmem_cache_all.patch b/kernel/patches-4.14.x-rt/0179-mm-slub-close-possible-memory-leak-in-kmem_cache_all.patch similarity index 81% rename from kernel/patches-4.14.x-rt/0180-mm-slub-close-possible-memory-leak-in-kmem_cache_all.patch rename to kernel/patches-4.14.x-rt/0179-mm-slub-close-possible-memory-leak-in-kmem_cache_all.patch index 62d653f92..b276d06a8 100644 --- a/kernel/patches-4.14.x-rt/0180-mm-slub-close-possible-memory-leak-in-kmem_cache_all.patch +++ b/kernel/patches-4.14.x-rt/0179-mm-slub-close-possible-memory-leak-in-kmem_cache_all.patch @@ -1,7 +1,7 @@ -From ed5f196a25aba453066d555488889cdc96e2453d Mon Sep 17 00:00:00 2001 +From 7abd59836eaf908e121f6fa6f36e3f33cd21434c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Dec 2017 12:44:14 +0100 -Subject: [PATCH 180/414] mm/slub: close possible memory-leak in +Subject: [PATCH 179/413] mm/slub: close possible memory-leak in kmem_cache_alloc_bulk() Under certain circumstances we could leak elements which were moved to @@ -15,7 +15,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 1 insertion(+) diff --git a/mm/slub.c b/mm/slub.c -index 91d46992fa59..9751f258d06a 100644 +index ec77367359de..c88f8f9e2d12 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -3218,6 +3218,7 @@ int kmem_cache_alloc_bulk(struct kmem_cache *s, gfp_t flags, size_t size, diff --git a/kernel/patches-4.14.x-rt/0181-slub-Enable-irqs-for-__GFP_WAIT.patch b/kernel/patches-4.14.x-rt/0180-slub-Enable-irqs-for-__GFP_WAIT.patch similarity index 88% rename from kernel/patches-4.14.x-rt/0181-slub-Enable-irqs-for-__GFP_WAIT.patch rename to kernel/patches-4.14.x-rt/0180-slub-Enable-irqs-for-__GFP_WAIT.patch index 9c2bec39b..0481cc7b2 100644 --- a/kernel/patches-4.14.x-rt/0181-slub-Enable-irqs-for-__GFP_WAIT.patch +++ b/kernel/patches-4.14.x-rt/0180-slub-Enable-irqs-for-__GFP_WAIT.patch @@ -1,7 +1,7 @@ -From 53f371be8bfb55e00290e7dbffc91a3528a3a44f Mon Sep 17 00:00:00 2001 +From 7837e3115ba501afe0dff50e877d3d6fd3c0946e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 12:08:15 +0100 -Subject: [PATCH 181/414] slub: Enable irqs for __GFP_WAIT +Subject: [PATCH 180/413] slub: Enable irqs for __GFP_WAIT SYSTEM_RUNNING might be too late for enabling interrupts. Allocations with GFP_WAIT can happen before that. So use this as an indicator. @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/mm/slub.c b/mm/slub.c -index 9751f258d06a..6c238ee56667 100644 +index c88f8f9e2d12..13bb67ee32e8 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1567,14 +1567,17 @@ static struct page *allocate_slab(struct kmem_cache *s, gfp_t flags, int node) diff --git a/kernel/patches-4.14.x-rt/0182-slub-Disable-SLUB_CPU_PARTIAL.patch b/kernel/patches-4.14.x-rt/0181-slub-Disable-SLUB_CPU_PARTIAL.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0182-slub-Disable-SLUB_CPU_PARTIAL.patch rename to kernel/patches-4.14.x-rt/0181-slub-Disable-SLUB_CPU_PARTIAL.patch index b611d1581..ed20a9f1a 100644 --- a/kernel/patches-4.14.x-rt/0182-slub-Disable-SLUB_CPU_PARTIAL.patch +++ b/kernel/patches-4.14.x-rt/0181-slub-Disable-SLUB_CPU_PARTIAL.patch @@ -1,7 +1,7 @@ -From 5f9a254be47377af3cf57d1f3eabb4b500206136 Mon Sep 17 00:00:00 2001 +From bc775043e1620da873497dca9cfb3d74253ae5dd Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 15 Apr 2015 19:00:47 +0200 -Subject: [PATCH 182/414] slub: Disable SLUB_CPU_PARTIAL +Subject: [PATCH 181/413] slub: Disable SLUB_CPU_PARTIAL |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915 |in_atomic(): 1, irqs_disabled(): 0, pid: 87, name: rcuop/7 diff --git a/kernel/patches-4.14.x-rt/0183-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch b/kernel/patches-4.14.x-rt/0182-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch similarity index 89% rename from kernel/patches-4.14.x-rt/0183-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch rename to kernel/patches-4.14.x-rt/0182-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch index 63451c6be..da09d46d2 100644 --- a/kernel/patches-4.14.x-rt/0183-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch +++ b/kernel/patches-4.14.x-rt/0182-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch @@ -1,7 +1,7 @@ -From f647f702943a4c3d7417b80d59f2757e080b53ca Mon Sep 17 00:00:00 2001 +From ba69c1efae72092f14a1a78ef2f38b4d57e830be Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 27 Sep 2012 11:11:46 +0200 -Subject: [PATCH 183/414] mm: page_alloc: Use local_lock_on() instead of plain +Subject: [PATCH 182/413] mm: page_alloc: Use local_lock_on() instead of plain spinlock The plain spinlock while sufficient does not update the local_lock diff --git a/kernel/patches-4.14.x-rt/0184-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch b/kernel/patches-4.14.x-rt/0183-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0184-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch rename to kernel/patches-4.14.x-rt/0183-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch index 2a8273bf5..944a8e76d 100644 --- a/kernel/patches-4.14.x-rt/0184-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch +++ b/kernel/patches-4.14.x-rt/0183-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch @@ -1,7 +1,7 @@ -From c62b1b6e4bbee9e9b1ce5215d1c6e8aa62072651 Mon Sep 17 00:00:00 2001 +From d5fe72a7ab57c19bf182e14168f7e73836410d36 Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Wed, 30 Oct 2013 11:48:33 -0700 -Subject: [PATCH 184/414] mm/memcontrol: Don't call schedule_work_on in +Subject: [PATCH 183/413] mm/memcontrol: Don't call schedule_work_on in preemption disabled context The following trace is triggered when running ltp oom test cases: diff --git a/kernel/patches-4.14.x-rt/0185-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch b/kernel/patches-4.14.x-rt/0184-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0185-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch rename to kernel/patches-4.14.x-rt/0184-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch index 9a5d5c3e5..3e283d138 100644 --- a/kernel/patches-4.14.x-rt/0185-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch +++ b/kernel/patches-4.14.x-rt/0184-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch @@ -1,7 +1,7 @@ -From 81a45d050a92d7bacd31bfb536d6ea7531ec8fb1 Mon Sep 17 00:00:00 2001 +From 7722d2d2fa821eef1b50b899e0bdc1c479b4c3e5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 28 Jan 2015 17:14:16 +0100 -Subject: [PATCH 185/414] mm/memcontrol: Replace local_irq_disable with local +Subject: [PATCH 184/413] mm/memcontrol: Replace local_irq_disable with local locks There are a few local_irq_disable() which then take sleeping locks. This diff --git a/kernel/patches-4.14.x-rt/0186-mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch b/kernel/patches-4.14.x-rt/0185-mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch similarity index 92% rename from kernel/patches-4.14.x-rt/0186-mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch rename to kernel/patches-4.14.x-rt/0185-mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch index 341476388..298eab384 100644 --- a/kernel/patches-4.14.x-rt/0186-mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch +++ b/kernel/patches-4.14.x-rt/0185-mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch @@ -1,7 +1,7 @@ -From 03887bdf17a00d8be96c0f0f1063172c933ee06d Mon Sep 17 00:00:00 2001 +From f2c4a2583966d1c608b3f12db4f5f71f44a0fad2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 5 Feb 2016 12:17:14 +0100 -Subject: [PATCH 186/414] mm: backing-dev: don't disable IRQs in +Subject: [PATCH 185/413] mm: backing-dev: don't disable IRQs in wb_congested_put() it triggers: diff --git a/kernel/patches-4.14.x-rt/0187-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch b/kernel/patches-4.14.x-rt/0186-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0187-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch rename to kernel/patches-4.14.x-rt/0186-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch index 31c9276ae..1c8985c6c 100644 --- a/kernel/patches-4.14.x-rt/0187-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch +++ b/kernel/patches-4.14.x-rt/0186-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch @@ -1,7 +1,7 @@ -From af07d86bbb9f244b3f576726395ed6dc6dc38450 Mon Sep 17 00:00:00 2001 +From a552180b64e0b5ed7233ae66ce34c8a906428cc5 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Tue, 22 Mar 2016 11:16:09 +0100 -Subject: [PATCH 187/414] mm/zsmalloc: copy with get_cpu_var() and locking +Subject: [PATCH 186/413] mm/zsmalloc: copy with get_cpu_var() and locking get_cpu_var() disables preemption and triggers a might_sleep() splat later. This is replaced with get_locked_var(). diff --git a/kernel/patches-4.14.x-rt/0188-radix-tree-use-local-locks.patch b/kernel/patches-4.14.x-rt/0187-radix-tree-use-local-locks.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0188-radix-tree-use-local-locks.patch rename to kernel/patches-4.14.x-rt/0187-radix-tree-use-local-locks.patch index 2d620ac06..6a271ab37 100644 --- a/kernel/patches-4.14.x-rt/0188-radix-tree-use-local-locks.patch +++ b/kernel/patches-4.14.x-rt/0187-radix-tree-use-local-locks.patch @@ -1,7 +1,7 @@ -From 3b0bc674ab58f2b7eac2f2715899e6937f59ebbd Mon Sep 17 00:00:00 2001 +From 3fd8ae763381b567d8acdb7fbea7e0f312357bce Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 25 Jan 2017 16:34:27 +0100 -Subject: [PATCH 188/414] radix-tree: use local locks +Subject: [PATCH 187/413] radix-tree: use local locks The preload functionality uses per-CPU variables and preempt-disable to ensure that it does not switch CPUs during its usage. This patch adds diff --git a/kernel/patches-4.14.x-rt/0189-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch b/kernel/patches-4.14.x-rt/0188-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch similarity index 84% rename from kernel/patches-4.14.x-rt/0189-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch rename to kernel/patches-4.14.x-rt/0188-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch index 8e07ea05d..be8385482 100644 --- a/kernel/patches-4.14.x-rt/0189-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch +++ b/kernel/patches-4.14.x-rt/0188-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch @@ -1,7 +1,7 @@ -From daef472c39406fb24e38084be2cd123782bbee80 Mon Sep 17 00:00:00 2001 +From 0ba8b20a137fbe66be0d8941e6ca96ac797b5f82 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 189/414] panic: skip get_random_bytes for RT_FULL in +Subject: [PATCH 188/413] panic: skip get_random_bytes for RT_FULL in init_oops_id Disable on -RT. If this is invoked from irq-context we will have problems diff --git a/kernel/patches-4.14.x-rt/0190-timers-Prepare-for-full-preemption.patch b/kernel/patches-4.14.x-rt/0189-timers-Prepare-for-full-preemption.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0190-timers-Prepare-for-full-preemption.patch rename to kernel/patches-4.14.x-rt/0189-timers-Prepare-for-full-preemption.patch index 791c86c9e..7608dfdda 100644 --- a/kernel/patches-4.14.x-rt/0190-timers-Prepare-for-full-preemption.patch +++ b/kernel/patches-4.14.x-rt/0189-timers-Prepare-for-full-preemption.patch @@ -1,7 +1,7 @@ -From eaf84ea3a12c035efaf3b18e0f9841e31c1b4916 Mon Sep 17 00:00:00 2001 +From b6b8c036e78e405426694e06f254b0e0ad09fbaf Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:34 -0500 -Subject: [PATCH 190/414] timers: Prepare for full preemption +Subject: [PATCH 189/413] timers: Prepare for full preemption When softirqs can be preempted we need to make sure that cancelling the timer from the active thread can not deadlock vs. a running timer @@ -29,7 +29,7 @@ index e0ea1fe87572..df3085ddf662 100644 #else # define del_timer_sync(t) del_timer(t) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index a85c4bf6e66f..4ce51d64b88b 100644 +index cca96e5a8263..8cd98168bd8b 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -523,11 +523,14 @@ void resched_cpu(int cpu) diff --git a/kernel/patches-4.14.x-rt/0191-timer-delay-waking-softirqs-from-the-jiffy-tick.patch b/kernel/patches-4.14.x-rt/0190-timer-delay-waking-softirqs-from-the-jiffy-tick.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0191-timer-delay-waking-softirqs-from-the-jiffy-tick.patch rename to kernel/patches-4.14.x-rt/0190-timer-delay-waking-softirqs-from-the-jiffy-tick.patch index cd355bbd4..0bca09bbd 100644 --- a/kernel/patches-4.14.x-rt/0191-timer-delay-waking-softirqs-from-the-jiffy-tick.patch +++ b/kernel/patches-4.14.x-rt/0190-timer-delay-waking-softirqs-from-the-jiffy-tick.patch @@ -1,7 +1,7 @@ -From 074660f4db8ff4bf7e5145686003e7ec207c99dd Mon Sep 17 00:00:00 2001 +From 1da2397432efc2b15529da1159f423ac59dedb5e Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 21 Aug 2009 11:56:45 +0200 -Subject: [PATCH 191/414] timer: delay waking softirqs from the jiffy tick +Subject: [PATCH 190/413] timer: delay waking softirqs from the jiffy tick People were complaining about broken balancing with the recent -rt series. diff --git a/kernel/patches-4.14.x-rt/0192-nohz-Prevent-erroneous-tick-stop-invocations.patch b/kernel/patches-4.14.x-rt/0191-nohz-Prevent-erroneous-tick-stop-invocations.patch similarity index 88% rename from kernel/patches-4.14.x-rt/0192-nohz-Prevent-erroneous-tick-stop-invocations.patch rename to kernel/patches-4.14.x-rt/0191-nohz-Prevent-erroneous-tick-stop-invocations.patch index 4af7a3849..16557a5db 100644 --- a/kernel/patches-4.14.x-rt/0192-nohz-Prevent-erroneous-tick-stop-invocations.patch +++ b/kernel/patches-4.14.x-rt/0191-nohz-Prevent-erroneous-tick-stop-invocations.patch @@ -1,7 +1,7 @@ -From 8d8244338713db1dea1a6f9a99d18dc555e702a4 Mon Sep 17 00:00:00 2001 +From f0d40dc1bc45b82ee54fb09211005f9bed64e7f4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 22 Dec 2017 15:51:13 +0100 -Subject: [PATCH 192/414] nohz: Prevent erroneous tick stop invocations +Subject: [PATCH 191/413] nohz: Prevent erroneous tick stop invocations The conditions in irq_exit() to invoke tick_nohz_irq_exit() are: @@ -36,10 +36,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kernel/softirq.c b/kernel/softirq.c -index 359cec869172..0f84f2a8f564 100644 +index 1a5dfc8dcf49..36092932c532 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c -@@ -381,7 +381,13 @@ static inline void tick_irq_exit(void) +@@ -385,7 +385,13 @@ static inline void tick_irq_exit(void) int cpu = smp_processor_id(); /* Make sure that timer wheel updates are propagated */ @@ -51,7 +51,7 @@ index 359cec869172..0f84f2a8f564 100644 + if ((idle_cpu(cpu) && !need_resched()) || tick_nohz_full_cpu(cpu)) +#endif + { - if (!in_interrupt()) + if (!in_irq()) tick_nohz_irq_exit(); } -- diff --git a/kernel/patches-4.14.x-rt/0193-x86-kvm-Require-const-tsc-for-RT.patch b/kernel/patches-4.14.x-rt/0192-x86-kvm-Require-const-tsc-for-RT.patch similarity index 79% rename from kernel/patches-4.14.x-rt/0193-x86-kvm-Require-const-tsc-for-RT.patch rename to kernel/patches-4.14.x-rt/0192-x86-kvm-Require-const-tsc-for-RT.patch index d2b2cbd18..37c427d37 100644 --- a/kernel/patches-4.14.x-rt/0193-x86-kvm-Require-const-tsc-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0192-x86-kvm-Require-const-tsc-for-RT.patch @@ -1,7 +1,7 @@ -From c5b5aea783d373c436c9793a47739b72e62422d6 Mon Sep 17 00:00:00 2001 +From d05976039ed0eb02f838294b5a514ba6e37af94d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 6 Nov 2011 12:26:18 +0100 -Subject: [PATCH 193/414] x86: kvm Require const tsc for RT +Subject: [PATCH 192/413] x86: kvm Require const tsc for RT Non constant TSC is a nightmare on bare metal already, but with virtualization it becomes a complete disaster because the workarounds @@ -14,10 +14,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 7 insertions(+) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 2f3fe25639b3..f1bd2c2c5c04 100644 +index 5c2c09f6c1c3..13b30aa2f78e 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c -@@ -6168,6 +6168,13 @@ int kvm_arch_init(void *opaque) +@@ -6285,6 +6285,13 @@ int kvm_arch_init(void *opaque) goto out; } diff --git a/kernel/patches-4.14.x-rt/0194-wait.h-include-atomic.h.patch b/kernel/patches-4.14.x-rt/0193-wait.h-include-atomic.h.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0194-wait.h-include-atomic.h.patch rename to kernel/patches-4.14.x-rt/0193-wait.h-include-atomic.h.patch index e8568c17c..6aefdc9b0 100644 --- a/kernel/patches-4.14.x-rt/0194-wait.h-include-atomic.h.patch +++ b/kernel/patches-4.14.x-rt/0193-wait.h-include-atomic.h.patch @@ -1,7 +1,7 @@ -From 759b3af9507fccfe13d14ec2edf792e8f92cac6b Mon Sep 17 00:00:00 2001 +From 549bc4f3c9e864b92fbe38e69e5c859750e1db20 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 28 Oct 2013 12:19:57 +0100 -Subject: [PATCH 194/414] wait.h: include atomic.h +Subject: [PATCH 193/413] wait.h: include atomic.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0195-work-simple-Simple-work-queue-implemenation.patch b/kernel/patches-4.14.x-rt/0194-work-simple-Simple-work-queue-implemenation.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0195-work-simple-Simple-work-queue-implemenation.patch rename to kernel/patches-4.14.x-rt/0194-work-simple-Simple-work-queue-implemenation.patch index b88863b84..efcf4b9f1 100644 --- a/kernel/patches-4.14.x-rt/0195-work-simple-Simple-work-queue-implemenation.patch +++ b/kernel/patches-4.14.x-rt/0194-work-simple-Simple-work-queue-implemenation.patch @@ -1,7 +1,7 @@ -From e9cf87007ef1fafa6f7fd8537f75fbc8244ba2db Mon Sep 17 00:00:00 2001 +From 33ba691d4add2b96d6d919f7481946ff0f87a026 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Fri, 11 Jul 2014 15:26:11 +0200 -Subject: [PATCH 195/414] work-simple: Simple work queue implemenation +Subject: [PATCH 194/413] work-simple: Simple work queue implemenation Provides a framework for enqueuing callbacks from irq context PREEMPT_RT_FULL safe. The callbacks are executed in kthread context. diff --git a/kernel/patches-4.14.x-rt/0196-completion-Use-simple-wait-queues.patch b/kernel/patches-4.14.x-rt/0195-completion-Use-simple-wait-queues.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0196-completion-Use-simple-wait-queues.patch rename to kernel/patches-4.14.x-rt/0195-completion-Use-simple-wait-queues.patch index 0118cfec3..978166245 100644 --- a/kernel/patches-4.14.x-rt/0196-completion-Use-simple-wait-queues.patch +++ b/kernel/patches-4.14.x-rt/0195-completion-Use-simple-wait-queues.patch @@ -1,7 +1,7 @@ -From 4d71a8d1cea969dfc8dabeb1026fdf631a1f4008 Mon Sep 17 00:00:00 2001 +From c222fc06f776c8e80987c13135b6148a3f0d8cfd Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 11 Jan 2013 11:23:51 +0100 -Subject: [PATCH 196/414] completion: Use simple wait queues +Subject: [PATCH 195/413] completion: Use simple wait queues Completions have no long lasting callbacks and therefor do not need the complex waitqueue variant. Use simple waitqueues which reduces the @@ -177,7 +177,7 @@ index 7c7dbbf23f37..a4b83cb0c6e5 100644 return error; diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c -index d74d04d49248..44e17d70154f 100644 +index 0d3dab53c527..999236413460 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c @@ -593,6 +593,8 @@ static int enter_state(suspend_state_t state) @@ -308,10 +308,10 @@ index 2ddaec40956f..0fe2982e46a0 100644 } EXPORT_SYMBOL(completion_done); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 4ce51d64b88b..0e27158e4083 100644 +index 8cd98168bd8b..b427b127857d 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6819,7 +6819,10 @@ void migrate_disable(void) +@@ -6813,7 +6813,10 @@ void migrate_disable(void) return; } #ifdef CONFIG_SCHED_DEBUG @@ -323,7 +323,7 @@ index 4ce51d64b88b..0e27158e4083 100644 #endif if (p->migrate_disable) { -@@ -6849,7 +6852,10 @@ void migrate_enable(void) +@@ -6843,7 +6846,10 @@ void migrate_enable(void) } #ifdef CONFIG_SCHED_DEBUG diff --git a/kernel/patches-4.14.x-rt/0197-fs-aio-simple-simple-work.patch b/kernel/patches-4.14.x-rt/0196-fs-aio-simple-simple-work.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0197-fs-aio-simple-simple-work.patch rename to kernel/patches-4.14.x-rt/0196-fs-aio-simple-simple-work.patch index 4b7cb431f..5a4bd4a7c 100644 --- a/kernel/patches-4.14.x-rt/0197-fs-aio-simple-simple-work.patch +++ b/kernel/patches-4.14.x-rt/0196-fs-aio-simple-simple-work.patch @@ -1,7 +1,7 @@ -From ea5c9dfac00b4724e153989456d213ff87d8e45d Mon Sep 17 00:00:00 2001 +From 2d26be6a78cd471280b6c435741d40d0464b0690 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 16 Feb 2015 18:49:10 +0100 -Subject: [PATCH 197/414] fs/aio: simple simple work +Subject: [PATCH 196/413] fs/aio: simple simple work |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:768 |in_atomic(): 1, irqs_disabled(): 0, pid: 26, name: rcuos/2 diff --git a/kernel/patches-4.14.x-rt/0198-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch b/kernel/patches-4.14.x-rt/0197-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0198-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch rename to kernel/patches-4.14.x-rt/0197-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch index 0ed9863b0..f2a939719 100644 --- a/kernel/patches-4.14.x-rt/0198-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch +++ b/kernel/patches-4.14.x-rt/0197-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch @@ -1,7 +1,7 @@ -From 686dd0c3355ad81b1b8c70680c36248cb029bf0a Mon Sep 17 00:00:00 2001 +From a4a03f4d4330c61d0a84fdc2318f02da168bb084 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 21 Aug 2013 17:48:46 +0200 -Subject: [PATCH 198/414] genirq: Do not invoke the affinity callback via a +Subject: [PATCH 197/413] genirq: Do not invoke the affinity callback via a workqueue on RT Joe Korty reported, that __irq_set_affinity_locked() schedules a @@ -48,7 +48,7 @@ index 2395ebb443b9..172376b9a049 100644 void (*release)(struct kref *ref); }; diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 6d1f321152d0..5007ea8ac740 100644 +index 0dc9ef91898a..7b927944e028 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -226,7 +226,12 @@ int irq_set_affinity_locked(struct irq_data *data, const struct cpumask *mask, diff --git a/kernel/patches-4.14.x-rt/0199-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch b/kernel/patches-4.14.x-rt/0198-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0199-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch rename to kernel/patches-4.14.x-rt/0198-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch index e79090d48..b7ff1018e 100644 --- a/kernel/patches-4.14.x-rt/0199-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch +++ b/kernel/patches-4.14.x-rt/0198-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch @@ -1,7 +1,7 @@ -From c310590bd1a8f8a10321e6f29c5cf3f8da2059fd Mon Sep 17 00:00:00 2001 +From 8a72839336a4d05ac68aca46c621c86df7c0bb06 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 15 Nov 2017 17:29:51 +0100 -Subject: [PATCH 199/414] time/hrtimer: avoid schedule_work() with interrupts +Subject: [PATCH 198/413] time/hrtimer: avoid schedule_work() with interrupts disabled The NOHZ code tries to schedule a workqueue with interrupts disabled. diff --git a/kernel/patches-4.14.x-rt/0200-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch b/kernel/patches-4.14.x-rt/0199-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0200-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch rename to kernel/patches-4.14.x-rt/0199-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch index d5a1807fc..3d2f483f5 100644 --- a/kernel/patches-4.14.x-rt/0200-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch +++ b/kernel/patches-4.14.x-rt/0199-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch @@ -1,7 +1,7 @@ -From 2c212a81aa3813f0e9e68e35f2932ed029459b24 Mon Sep 17 00:00:00 2001 +From 12f9abd8917d3ac5127894f7525f5c7d17d3daf1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 4 Sep 2017 18:31:50 +0200 -Subject: [PATCH 200/414] hrtimer: consolidate hrtimer_init() + +Subject: [PATCH 199/413] hrtimer: consolidate hrtimer_init() + hrtimer_init_sleeper() calls hrtimer_init_sleeper() calls require a prior initialisation of the diff --git a/kernel/patches-4.14.x-rt/0201-hrtimers-Prepare-full-preemption.patch b/kernel/patches-4.14.x-rt/0200-hrtimers-Prepare-full-preemption.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0201-hrtimers-Prepare-full-preemption.patch rename to kernel/patches-4.14.x-rt/0200-hrtimers-Prepare-full-preemption.patch index c182c199a..d644770a1 100644 --- a/kernel/patches-4.14.x-rt/0201-hrtimers-Prepare-full-preemption.patch +++ b/kernel/patches-4.14.x-rt/0200-hrtimers-Prepare-full-preemption.patch @@ -1,7 +1,7 @@ -From 40c4114e9789ff79b4472ef2d2f7973dcc07043f Mon Sep 17 00:00:00 2001 +From 9c4d61442dc25cbc6b352f5a123c8d4ed84cd032 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:34 -0500 -Subject: [PATCH 201/414] hrtimers: Prepare full preemption +Subject: [PATCH 200/413] hrtimers: Prepare full preemption Make cancellation of a running callback in softirq context safe against preemption. diff --git a/kernel/patches-4.14.x-rt/0202-hrtimer-by-timers-by-default-into-the-softirq-contex.patch b/kernel/patches-4.14.x-rt/0201-hrtimer-by-timers-by-default-into-the-softirq-contex.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0202-hrtimer-by-timers-by-default-into-the-softirq-contex.patch rename to kernel/patches-4.14.x-rt/0201-hrtimer-by-timers-by-default-into-the-softirq-contex.patch index 651a61d58..63bc63a5b 100644 --- a/kernel/patches-4.14.x-rt/0202-hrtimer-by-timers-by-default-into-the-softirq-contex.patch +++ b/kernel/patches-4.14.x-rt/0201-hrtimer-by-timers-by-default-into-the-softirq-contex.patch @@ -1,7 +1,7 @@ -From b8caa2610ce5ba57f973a745413fb378bfdb1402 Mon Sep 17 00:00:00 2001 +From 07a232e1adc841dbe995103da667c2eff70118c6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 3 Jul 2009 08:44:31 -0500 -Subject: [PATCH 202/414] hrtimer: by timers by default into the softirq +Subject: [PATCH 201/413] hrtimer: by timers by default into the softirq context We can't have hrtimers callbacks running in hardirq context on RT. Therefore @@ -86,7 +86,7 @@ index 7c394ddf1ce6..178d9c5feb62 100644 /* diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 0e27158e4083..a4b8316cdab5 100644 +index b427b127857d..22f202ace8b5 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -341,7 +341,7 @@ static void init_rq_hrtick(struct rq *rq) @@ -207,7 +207,7 @@ index 58045eb976c3..f0a34afbc252 100644 clockevents_register_device(&ce_broadcast_hrtimer); } diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c -index d8d91b06f057..145dc49881e6 100644 +index 542817a88618..3af3d93f49ce 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -1255,7 +1255,7 @@ void tick_setup_sched_timer(void) diff --git a/kernel/patches-4.14.x-rt/0203-alarmtimer-Prevent-live-lock-in-alarm_cancel.patch b/kernel/patches-4.14.x-rt/0202-alarmtimer-Prevent-live-lock-in-alarm_cancel.patch similarity index 87% rename from kernel/patches-4.14.x-rt/0203-alarmtimer-Prevent-live-lock-in-alarm_cancel.patch rename to kernel/patches-4.14.x-rt/0202-alarmtimer-Prevent-live-lock-in-alarm_cancel.patch index c3e954826..11e7b0617 100644 --- a/kernel/patches-4.14.x-rt/0203-alarmtimer-Prevent-live-lock-in-alarm_cancel.patch +++ b/kernel/patches-4.14.x-rt/0202-alarmtimer-Prevent-live-lock-in-alarm_cancel.patch @@ -1,7 +1,7 @@ -From a18815594532533cf9acdf9c1f7f039d4937c6ac Mon Sep 17 00:00:00 2001 +From 38ef953461926845ffb7659f73223d68ec2e86a6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 27 Mar 2018 15:58:16 +0200 -Subject: [PATCH 203/414] alarmtimer: Prevent live lock in alarm_cancel() +Subject: [PATCH 202/413] alarmtimer: Prevent live lock in alarm_cancel() If alarm_try_to_cancel() requires a retry, then depending on the priority setting the retry loop might prevent timer callback completion diff --git a/kernel/patches-4.14.x-rt/0204-posix-timers-user-proper-timer-while-waiting-for-ala.patch b/kernel/patches-4.14.x-rt/0203-posix-timers-user-proper-timer-while-waiting-for-ala.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0204-posix-timers-user-proper-timer-while-waiting-for-ala.patch rename to kernel/patches-4.14.x-rt/0203-posix-timers-user-proper-timer-while-waiting-for-ala.patch index e54e38b25..1822fe1ce 100644 --- a/kernel/patches-4.14.x-rt/0204-posix-timers-user-proper-timer-while-waiting-for-ala.patch +++ b/kernel/patches-4.14.x-rt/0203-posix-timers-user-proper-timer-while-waiting-for-ala.patch @@ -1,7 +1,7 @@ -From e43be478160f9860d2691e7b3b3a6a474330a801 Mon Sep 17 00:00:00 2001 +From 504f1c2759f8e201fd6c2930a82f391fc98aaf78 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 28 Mar 2018 10:45:40 +0200 -Subject: [PATCH 204/414] posix-timers: user proper timer while waiting for +Subject: [PATCH 203/413] posix-timers: user proper timer while waiting for alarmtimer On RT the timer can be preempted while running and therefore we wait diff --git a/kernel/patches-4.14.x-rt/0205-posix-timers-move-the-rcu-head-out-of-the-union.patch b/kernel/patches-4.14.x-rt/0204-posix-timers-move-the-rcu-head-out-of-the-union.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0205-posix-timers-move-the-rcu-head-out-of-the-union.patch rename to kernel/patches-4.14.x-rt/0204-posix-timers-move-the-rcu-head-out-of-the-union.patch index 89c3923ef..192b5d48a 100644 --- a/kernel/patches-4.14.x-rt/0205-posix-timers-move-the-rcu-head-out-of-the-union.patch +++ b/kernel/patches-4.14.x-rt/0204-posix-timers-move-the-rcu-head-out-of-the-union.patch @@ -1,7 +1,7 @@ -From 1bcd91741c38f5243f9a70517dd3018b1258a244 Mon Sep 17 00:00:00 2001 +From 388c30a354f22dfb3439de96819d1d65a76068e3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 28 Mar 2018 11:15:19 +0200 -Subject: [PATCH 205/414] posix-timers: move the rcu head out of the union +Subject: [PATCH 204/413] posix-timers: move the rcu head out of the union On RT the timer can be preempted while running and therefore we wait with timer_wait_for_callback() for the timer to complete (instead of diff --git a/kernel/patches-4.14.x-rt/0206-hrtimer-Move-schedule_work-call-to-helper-thread.patch b/kernel/patches-4.14.x-rt/0205-hrtimer-Move-schedule_work-call-to-helper-thread.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0206-hrtimer-Move-schedule_work-call-to-helper-thread.patch rename to kernel/patches-4.14.x-rt/0205-hrtimer-Move-schedule_work-call-to-helper-thread.patch index 45d257198..d1c5a84dd 100644 --- a/kernel/patches-4.14.x-rt/0206-hrtimer-Move-schedule_work-call-to-helper-thread.patch +++ b/kernel/patches-4.14.x-rt/0205-hrtimer-Move-schedule_work-call-to-helper-thread.patch @@ -1,7 +1,7 @@ -From 1e539f5c60cf22963ee0965f240613c32096418a Mon Sep 17 00:00:00 2001 +From e6d04a752b408128a692a3eab7b0d2b81c0d18cf Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Mon, 16 Sep 2013 14:09:19 -0700 -Subject: [PATCH 206/414] hrtimer: Move schedule_work call to helper thread +Subject: [PATCH 205/413] hrtimer: Move schedule_work call to helper thread When run ltp leapsec_timer test, the following call trace is caught: diff --git a/kernel/patches-4.14.x-rt/0207-timer-fd-Prevent-live-lock.patch b/kernel/patches-4.14.x-rt/0206-timer-fd-Prevent-live-lock.patch similarity index 88% rename from kernel/patches-4.14.x-rt/0207-timer-fd-Prevent-live-lock.patch rename to kernel/patches-4.14.x-rt/0206-timer-fd-Prevent-live-lock.patch index 4a69c066a..56fc3f94c 100644 --- a/kernel/patches-4.14.x-rt/0207-timer-fd-Prevent-live-lock.patch +++ b/kernel/patches-4.14.x-rt/0206-timer-fd-Prevent-live-lock.patch @@ -1,7 +1,7 @@ -From 8bfefaf19ca15690862c7a5750c63a45037a04e3 Mon Sep 17 00:00:00 2001 +From a4acc38c5a68d49499def9b4a307664839d88f00 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 25 Jan 2012 11:08:40 +0100 -Subject: [PATCH 207/414] timer-fd: Prevent live lock +Subject: [PATCH 206/413] timer-fd: Prevent live lock If hrtimer_try_to_cancel() requires a retry, then depending on the priority setting te retry loop might prevent timer callback completion diff --git a/kernel/patches-4.14.x-rt/0208-posix-timers-Thread-posix-cpu-timers-on-rt.patch b/kernel/patches-4.14.x-rt/0207-posix-timers-Thread-posix-cpu-timers-on-rt.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0208-posix-timers-Thread-posix-cpu-timers-on-rt.patch rename to kernel/patches-4.14.x-rt/0207-posix-timers-Thread-posix-cpu-timers-on-rt.patch index 69cdab5a9..13908715b 100644 --- a/kernel/patches-4.14.x-rt/0208-posix-timers-Thread-posix-cpu-timers-on-rt.patch +++ b/kernel/patches-4.14.x-rt/0207-posix-timers-Thread-posix-cpu-timers-on-rt.patch @@ -1,7 +1,7 @@ -From 22b68305265755feb15542c4e41b1a9e867229ca Mon Sep 17 00:00:00 2001 +From 1254f883c4fd95386cb8c588d0c95802c26165c5 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Fri, 3 Jul 2009 08:29:58 -0500 -Subject: [PATCH 208/414] posix-timers: Thread posix-cpu-timers on -rt +Subject: [PATCH 207/413] posix-timers: Thread posix-cpu-timers on -rt posix-cpu-timer code takes non -rt safe locks in hard irq context. Move it to a thread. @@ -57,10 +57,10 @@ index 620d9703a125..d1e0ea1dfe71 100644 /* Process credentials: */ diff --git a/kernel/fork.c b/kernel/fork.c -index 7d23fd8ecd69..00c3a42d681b 100644 +index 390a401be5d6..ee4894eb31d7 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1496,6 +1496,9 @@ static void rt_mutex_init_task(struct task_struct *p) +@@ -1495,6 +1495,9 @@ static void rt_mutex_init_task(struct task_struct *p) */ static void posix_cpu_timers_init(struct task_struct *tsk) { diff --git a/kernel/patches-4.14.x-rt/0209-sched-Move-task_struct-cleanup-to-RCU.patch b/kernel/patches-4.14.x-rt/0208-sched-Move-task_struct-cleanup-to-RCU.patch similarity index 89% rename from kernel/patches-4.14.x-rt/0209-sched-Move-task_struct-cleanup-to-RCU.patch rename to kernel/patches-4.14.x-rt/0208-sched-Move-task_struct-cleanup-to-RCU.patch index 9a16515c6..b7b766b1f 100644 --- a/kernel/patches-4.14.x-rt/0209-sched-Move-task_struct-cleanup-to-RCU.patch +++ b/kernel/patches-4.14.x-rt/0208-sched-Move-task_struct-cleanup-to-RCU.patch @@ -1,7 +1,7 @@ -From f9e4fa1e9b5f49c8ccc218832f44dc85cf2216c1 Mon Sep 17 00:00:00 2001 +From 51e9e03debe37728482536f2da9aa29d6bd7738f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 May 2011 16:59:16 +0200 -Subject: [PATCH 209/414] sched: Move task_struct cleanup to RCU +Subject: [PATCH 208/413] sched: Move task_struct cleanup to RCU __put_task_struct() does quite some expensive work. We don't want to burden random tasks with that. @@ -57,10 +57,10 @@ index a74ec619ac51..8e7f741370c5 100644 #ifdef CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT diff --git a/kernel/fork.c b/kernel/fork.c -index 00c3a42d681b..110d2d9b6421 100644 +index ee4894eb31d7..0e4f96449066 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -408,7 +408,9 @@ static inline void put_signal_struct(struct signal_struct *sig) +@@ -407,7 +407,9 @@ static inline void put_signal_struct(struct signal_struct *sig) if (atomic_dec_and_test(&sig->sigcnt)) free_signal_struct(sig); } @@ -71,7 +71,7 @@ index 00c3a42d681b..110d2d9b6421 100644 void __put_task_struct(struct task_struct *tsk) { WARN_ON(!tsk->exit_state); -@@ -425,7 +427,18 @@ void __put_task_struct(struct task_struct *tsk) +@@ -424,7 +426,18 @@ void __put_task_struct(struct task_struct *tsk) if (!profile_handoff_task(tsk)) free_task(tsk); } diff --git a/kernel/patches-4.14.x-rt/0210-sched-Limit-the-number-of-task-migrations-per-batch.patch b/kernel/patches-4.14.x-rt/0209-sched-Limit-the-number-of-task-migrations-per-batch.patch similarity index 83% rename from kernel/patches-4.14.x-rt/0210-sched-Limit-the-number-of-task-migrations-per-batch.patch rename to kernel/patches-4.14.x-rt/0209-sched-Limit-the-number-of-task-migrations-per-batch.patch index 27ecb13e5..3c68e191a 100644 --- a/kernel/patches-4.14.x-rt/0210-sched-Limit-the-number-of-task-migrations-per-batch.patch +++ b/kernel/patches-4.14.x-rt/0209-sched-Limit-the-number-of-task-migrations-per-batch.patch @@ -1,7 +1,7 @@ -From bcb95ecf8a91b3689118accccaca5a686996c165 Mon Sep 17 00:00:00 2001 +From 818d3157439919b3a7cbfd7ddc3b549ed6841bd6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:12:51 +0200 -Subject: [PATCH 210/414] sched: Limit the number of task migrations per batch +Subject: [PATCH 209/413] sched: Limit the number of task migrations per batch Put an upper limit on the number of tasks which are migrated per batch to avoid large latencies. @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 4 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index a4b8316cdab5..db71db21f52c 100644 +index 22f202ace8b5..127983f32776 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -59,7 +59,11 @@ const_debug unsigned int sysctl_sched_features = diff --git a/kernel/patches-4.14.x-rt/0211-sched-Move-mmdrop-to-RCU-on-RT.patch b/kernel/patches-4.14.x-rt/0210-sched-Move-mmdrop-to-RCU-on-RT.patch similarity index 92% rename from kernel/patches-4.14.x-rt/0211-sched-Move-mmdrop-to-RCU-on-RT.patch rename to kernel/patches-4.14.x-rt/0210-sched-Move-mmdrop-to-RCU-on-RT.patch index 303146045..e427b068a 100644 --- a/kernel/patches-4.14.x-rt/0211-sched-Move-mmdrop-to-RCU-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0210-sched-Move-mmdrop-to-RCU-on-RT.patch @@ -1,7 +1,7 @@ -From de2bfc62dbacc14cca344dbf9c7d03c2a7707804 Mon Sep 17 00:00:00 2001 +From 58ee061e0b0a8e590cf21d35609e9bddebe8dac1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:20:33 +0200 -Subject: [PATCH 211/414] sched: Move mmdrop to RCU on RT +Subject: [PATCH 210/413] sched: Move mmdrop to RCU on RT Takes sleeping locks and calls into the memory allocator, so nothing we want to do in task switch and oder atomic contexts. @@ -59,10 +59,10 @@ index 3d49b91b674d..d8f2fa8f500c 100644 { struct mm_struct *mm = container_of(work, struct mm_struct, async_put_work); diff --git a/kernel/fork.c b/kernel/fork.c -index 110d2d9b6421..a55e0ac401ab 100644 +index 0e4f96449066..279bc8ae6543 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -930,6 +930,19 @@ void __mmdrop(struct mm_struct *mm) +@@ -929,6 +929,19 @@ void __mmdrop(struct mm_struct *mm) } EXPORT_SYMBOL_GPL(__mmdrop); @@ -83,7 +83,7 @@ index 110d2d9b6421..a55e0ac401ab 100644 { VM_BUG_ON(atomic_read(&mm->mm_users)); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index db71db21f52c..bbc54f9048c3 100644 +index 127983f32776..b99908d5d3cb 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2713,8 +2713,12 @@ static struct rq *finish_task_switch(struct task_struct *prev) @@ -123,7 +123,7 @@ index db71db21f52c..bbc54f9048c3 100644 } /* -@@ -5753,6 +5764,10 @@ int sched_cpu_dying(unsigned int cpu) +@@ -5765,6 +5776,10 @@ int sched_cpu_dying(unsigned int cpu) update_max_interval(); nohz_balance_exit_idle(cpu); hrtick_clear(rq); diff --git a/kernel/patches-4.14.x-rt/0212-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch b/kernel/patches-4.14.x-rt/0211-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch similarity index 86% rename from kernel/patches-4.14.x-rt/0212-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch rename to kernel/patches-4.14.x-rt/0211-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch index 714267fc3..13233a420 100644 --- a/kernel/patches-4.14.x-rt/0212-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch +++ b/kernel/patches-4.14.x-rt/0211-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch @@ -1,7 +1,7 @@ -From f2374b53ef30d0c2352ba947e1be3cf7d2e9ab48 Mon Sep 17 00:00:00 2001 +From 4db0fe169dafce4184bb90324a6fcef4af8b8c20 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 21 Nov 2016 19:31:08 +0100 -Subject: [PATCH 212/414] kernel/sched: move stack + kprobe clean up to +Subject: [PATCH 211/413] kernel/sched: move stack + kprobe clean up to __put_task_struct() There is no need to free the stack before the task struct. This also @@ -16,7 +16,7 @@ Signed-off-by: Sebastian Andrzej Siewior 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/kernel/fork.c b/kernel/fork.c -index a55e0ac401ab..fe48256ed179 100644 +index 279bc8ae6543..7f1faa476ca5 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -40,6 +40,7 @@ @@ -27,7 +27,7 @@ index a55e0ac401ab..fe48256ed179 100644 #include #include #include -@@ -417,6 +418,15 @@ void __put_task_struct(struct task_struct *tsk) +@@ -416,6 +417,15 @@ void __put_task_struct(struct task_struct *tsk) WARN_ON(atomic_read(&tsk->usage)); WARN_ON(tsk == current); @@ -44,7 +44,7 @@ index a55e0ac401ab..fe48256ed179 100644 task_numa_free(tsk); security_task_free(tsk); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index bbc54f9048c3..bc209b3994f2 100644 +index b99908d5d3cb..33951deb3a3d 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2723,15 +2723,6 @@ static struct rq *finish_task_switch(struct task_struct *prev) diff --git a/kernel/patches-4.14.x-rt/0213-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch b/kernel/patches-4.14.x-rt/0212-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0213-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch rename to kernel/patches-4.14.x-rt/0212-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch index 479615893..a98be909d 100644 --- a/kernel/patches-4.14.x-rt/0213-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch +++ b/kernel/patches-4.14.x-rt/0212-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch @@ -1,7 +1,7 @@ -From 1cf9026cb92cec557c31d0f5f3d861076cec78a0 Mon Sep 17 00:00:00 2001 +From 2f7259b2f2789d0dfabb8cf5c39bbb731b2a213e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 25 Jun 2011 09:21:04 +0200 -Subject: [PATCH 213/414] sched: Add saved_state for tasks blocked on sleeping +Subject: [PATCH 212/413] sched: Add saved_state for tasks blocked on sleeping locks Spinlocks are state preserving in !RT. RT changes the state when a @@ -39,7 +39,7 @@ index 84332b5139b5..cc5e4a3c2c63 100644 #ifdef CONFIG_SMP diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index bc209b3994f2..f6eb8d150a53 100644 +index 33951deb3a3d..2f646f4454b1 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2033,8 +2033,25 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) diff --git a/kernel/patches-4.14.x-rt/0214-sched-Prevent-task-state-corruption-by-spurious-lock.patch b/kernel/patches-4.14.x-rt/0213-sched-Prevent-task-state-corruption-by-spurious-lock.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0214-sched-Prevent-task-state-corruption-by-spurious-lock.patch rename to kernel/patches-4.14.x-rt/0213-sched-Prevent-task-state-corruption-by-spurious-lock.patch index 7ba396cd7..d3347b705 100644 --- a/kernel/patches-4.14.x-rt/0214-sched-Prevent-task-state-corruption-by-spurious-lock.patch +++ b/kernel/patches-4.14.x-rt/0213-sched-Prevent-task-state-corruption-by-spurious-lock.patch @@ -1,7 +1,7 @@ -From 749dfc8310318edcb55fa2ab20a41aada2af775e Mon Sep 17 00:00:00 2001 +From 2dd51f13b4568093b11fbb49fd4a71f8824c6c6e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 6 Jun 2017 14:20:37 +0200 -Subject: [PATCH 214/414] sched: Prevent task state corruption by spurious lock +Subject: [PATCH 213/413] sched: Prevent task state corruption by spurious lock wakeup Mathias and others reported GDB failures on RT. @@ -67,7 +67,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index f6eb8d150a53..32f291fe7959 100644 +index 2f646f4454b1..daaf3ebe7214 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2224,7 +2224,7 @@ EXPORT_SYMBOL(wake_up_process); diff --git a/kernel/patches-4.14.x-rt/0215-sched-Remove-TASK_ALL.patch b/kernel/patches-4.14.x-rt/0214-sched-Remove-TASK_ALL.patch similarity index 89% rename from kernel/patches-4.14.x-rt/0215-sched-Remove-TASK_ALL.patch rename to kernel/patches-4.14.x-rt/0214-sched-Remove-TASK_ALL.patch index 05570958f..12f6904ec 100644 --- a/kernel/patches-4.14.x-rt/0215-sched-Remove-TASK_ALL.patch +++ b/kernel/patches-4.14.x-rt/0214-sched-Remove-TASK_ALL.patch @@ -1,7 +1,7 @@ -From 94fce9b3e1dd5ac4f2b3fc8f0b548588783e6fd6 Mon Sep 17 00:00:00 2001 +From 522adae53648a1582529a4a33cc1ac8c9702bc9d Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Wed, 7 Jun 2017 10:12:45 +0200 -Subject: [PATCH 215/414] sched: Remove TASK_ALL +Subject: [PATCH 214/413] sched: Remove TASK_ALL It's unused: diff --git a/kernel/patches-4.14.x-rt/0216-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch b/kernel/patches-4.14.x-rt/0215-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch similarity index 87% rename from kernel/patches-4.14.x-rt/0216-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch rename to kernel/patches-4.14.x-rt/0215-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch index c2f45c5b7..52ff1671c 100644 --- a/kernel/patches-4.14.x-rt/0216-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch +++ b/kernel/patches-4.14.x-rt/0215-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch @@ -1,7 +1,7 @@ -From 2d69de34c6fd6f08db2c84c9d5a8842e80bdef6c Mon Sep 17 00:00:00 2001 +From 09e8e5715c2273b3e9e716277fc1a0b52c8a78e6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 7 Jun 2011 09:19:06 +0200 -Subject: [PATCH 216/414] sched: Do not account rcu_preempt_depth on RT in +Subject: [PATCH 215/413] sched: Do not account rcu_preempt_depth on RT in might_sleep() RT changes the rcu_preempt_depth semantics, so we cannot check for it @@ -39,10 +39,10 @@ index a6ddc42f87a5..dbadbdbc8643 100644 /* Internal to kernel */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 32f291fe7959..957477d98330 100644 +index daaf3ebe7214..5ca50d198b28 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6052,7 +6052,7 @@ void __init sched_init(void) +@@ -6046,7 +6046,7 @@ void __init sched_init(void) #ifdef CONFIG_DEBUG_ATOMIC_SLEEP static inline int preempt_count_equals(int preempt_offset) { diff --git a/kernel/patches-4.14.x-rt/0217-sched-Take-RT-softirq-semantics-into-account-in-cond.patch b/kernel/patches-4.14.x-rt/0216-sched-Take-RT-softirq-semantics-into-account-in-cond.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0217-sched-Take-RT-softirq-semantics-into-account-in-cond.patch rename to kernel/patches-4.14.x-rt/0216-sched-Take-RT-softirq-semantics-into-account-in-cond.patch index 359c43ef2..e657cc96c 100644 --- a/kernel/patches-4.14.x-rt/0217-sched-Take-RT-softirq-semantics-into-account-in-cond.patch +++ b/kernel/patches-4.14.x-rt/0216-sched-Take-RT-softirq-semantics-into-account-in-cond.patch @@ -1,7 +1,7 @@ -From ce876eb2af2cdfc73c34a1db566b2edeb4c29a5c Mon Sep 17 00:00:00 2001 +From c948b0350e3d708ce7df1eb11a9b33720d9f4712 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 14 Jul 2011 09:56:44 +0200 -Subject: [PATCH 217/414] sched: Take RT softirq semantics into account in +Subject: [PATCH 216/413] sched: Take RT softirq semantics into account in cond_resched() The softirq semantics work different on -RT. There is no SOFTIRQ_MASK in @@ -37,7 +37,7 @@ index 03b85406312d..209e71d83687 100644 static inline void cond_resched_rcu(void) { diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 957477d98330..f6987f504b74 100644 +index 5ca50d198b28..d1317216d326 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4948,6 +4948,7 @@ int __cond_resched_lock(spinlock_t *lock) diff --git a/kernel/patches-4.14.x-rt/0218-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch b/kernel/patches-4.14.x-rt/0217-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch similarity index 86% rename from kernel/patches-4.14.x-rt/0218-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch rename to kernel/patches-4.14.x-rt/0217-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch index 597c5aa04..65c16acdb 100644 --- a/kernel/patches-4.14.x-rt/0218-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch +++ b/kernel/patches-4.14.x-rt/0217-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch @@ -1,7 +1,7 @@ -From 3bdeab6360ada98e08b54988fee8550e21b7dbaf Mon Sep 17 00:00:00 2001 +From 31dd4b6a6d37a739b5ae60e097dcdbc8ae046101 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 22:51:33 +0200 -Subject: [PATCH 218/414] sched: Use the proper LOCK_OFFSET for cond_resched() +Subject: [PATCH 217/413] sched: Use the proper LOCK_OFFSET for cond_resched() RT does not increment preempt count when a 'sleeping' spinlock is locked. Update PREEMPT_LOCK_OFFSET for that case. diff --git a/kernel/patches-4.14.x-rt/0219-sched-Disable-TTWU_QUEUE-on-RT.patch b/kernel/patches-4.14.x-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch similarity index 88% rename from kernel/patches-4.14.x-rt/0219-sched-Disable-TTWU_QUEUE-on-RT.patch rename to kernel/patches-4.14.x-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch index 6a3b74e52..d26809e2f 100644 --- a/kernel/patches-4.14.x-rt/0219-sched-Disable-TTWU_QUEUE-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch @@ -1,7 +1,7 @@ -From 04c10a48d00536f0cd1ff9cbaf1390dd8d22a7e7 Mon Sep 17 00:00:00 2001 +From 7247028e2f22763c709c643bc83cba22b296539c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 13 Sep 2011 16:42:35 +0200 -Subject: [PATCH 219/414] sched: Disable TTWU_QUEUE on RT +Subject: [PATCH 218/413] sched: Disable TTWU_QUEUE on RT The queued remote wakeup mechanism can introduce rather large latencies if the number of migrated tasks is high. Disable it for RT. diff --git a/kernel/patches-4.14.x-rt/0220-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch b/kernel/patches-4.14.x-rt/0219-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch similarity index 87% rename from kernel/patches-4.14.x-rt/0220-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch rename to kernel/patches-4.14.x-rt/0219-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch index 109f53efb..ae225841f 100644 --- a/kernel/patches-4.14.x-rt/0220-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0219-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch @@ -1,7 +1,7 @@ -From fc3726c10f26ebcf9c3e0a2c7a4ee3b3c8cb68fb Mon Sep 17 00:00:00 2001 +From 93875e8b1ec4598e190ff47bda227aa24edd352b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:03:52 +0200 -Subject: [PATCH 220/414] sched: Disable CONFIG_RT_GROUP_SCHED on RT +Subject: [PATCH 219/413] sched: Disable CONFIG_RT_GROUP_SCHED on RT Carsten reported problems when running: diff --git a/kernel/patches-4.14.x-rt/0221-sched-ttwu-Return-success-when-only-changing-the-sav.patch b/kernel/patches-4.14.x-rt/0220-sched-ttwu-Return-success-when-only-changing-the-sav.patch similarity index 87% rename from kernel/patches-4.14.x-rt/0221-sched-ttwu-Return-success-when-only-changing-the-sav.patch rename to kernel/patches-4.14.x-rt/0220-sched-ttwu-Return-success-when-only-changing-the-sav.patch index c21925afc..8ce292c1a 100644 --- a/kernel/patches-4.14.x-rt/0221-sched-ttwu-Return-success-when-only-changing-the-sav.patch +++ b/kernel/patches-4.14.x-rt/0220-sched-ttwu-Return-success-when-only-changing-the-sav.patch @@ -1,7 +1,7 @@ -From 01316e40be028eefb54d0d56794a7f66f7d396ac Mon Sep 17 00:00:00 2001 +From cf732fd1f64ff930b9c521be9d88342a5bacaae6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 13 Dec 2011 21:42:19 +0100 -Subject: [PATCH 221/414] sched: ttwu: Return success when only changing the +Subject: [PATCH 220/413] sched: ttwu: Return success when only changing the saved_state value When a task blocks on a rt lock, it saves the current state in @@ -20,7 +20,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index f6987f504b74..39b5eca93fe9 100644 +index d1317216d326..dcbb3a4c2f53 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2040,8 +2040,10 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) diff --git a/kernel/patches-4.14.x-rt/0222-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch b/kernel/patches-4.14.x-rt/0221-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0222-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch rename to kernel/patches-4.14.x-rt/0221-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch index cdd8ab643..71d3d4e92 100644 --- a/kernel/patches-4.14.x-rt/0222-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch +++ b/kernel/patches-4.14.x-rt/0221-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch @@ -1,7 +1,7 @@ -From e65243e8470da2de7aaae6e89f5ae7e448161a79 Mon Sep 17 00:00:00 2001 +From cdf3ef6a3ff58f3b051439a4086874509a7648e3 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Mon, 18 Mar 2013 15:12:49 -0400 -Subject: [PATCH 222/414] sched/workqueue: Only wake up idle workers if not +Subject: [PATCH 221/413] sched/workqueue: Only wake up idle workers if not blocked on sleeping spin lock In -rt, most spin_locks() turn into mutexes. One of these spin_lock @@ -24,7 +24,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 39b5eca93fe9..12fb4ed30a3b 100644 +index dcbb3a4c2f53..39e892bbe1a2 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3405,8 +3405,10 @@ static void __sched notrace __schedule(bool preempt) diff --git a/kernel/patches-4.14.x-rt/0223-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch b/kernel/patches-4.14.x-rt/0222-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0223-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch rename to kernel/patches-4.14.x-rt/0222-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch index 7ec2fde6e..b7ec281a6 100644 --- a/kernel/patches-4.14.x-rt/0223-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch +++ b/kernel/patches-4.14.x-rt/0222-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch @@ -1,7 +1,7 @@ -From 43a296413e2320311658a0a0c9eded37c5301ae5 Mon Sep 17 00:00:00 2001 +From d12e21b0d4163d9232a4bdfb635bef4fb328b9b4 Mon Sep 17 00:00:00 2001 From: Daniel Bristot de Oliveira Date: Mon, 26 Jun 2017 17:07:15 +0200 -Subject: [PATCH 223/414] rt: Increase/decrease the nr of migratory tasks when +Subject: [PATCH 222/413] rt: Increase/decrease the nr of migratory tasks when enabling/disabling migration There is a problem in the migrate_disable()/enable() implementation @@ -81,10 +81,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 12fb4ed30a3b..b1ec461861b1 100644 +index 39e892bbe1a2..ad2e06ddd290 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6853,6 +6853,47 @@ const u32 sched_prio_to_wmult[40] = { +@@ -6847,6 +6847,47 @@ const u32 sched_prio_to_wmult[40] = { #if defined(CONFIG_PREEMPT_COUNT) && defined(CONFIG_SMP) @@ -132,7 +132,7 @@ index 12fb4ed30a3b..b1ec461861b1 100644 void migrate_disable(void) { struct task_struct *p = current; -@@ -6876,10 +6917,9 @@ void migrate_disable(void) +@@ -6870,10 +6911,9 @@ void migrate_disable(void) } preempt_disable(); @@ -145,7 +145,7 @@ index 12fb4ed30a3b..b1ec461861b1 100644 preempt_enable(); } -@@ -6911,9 +6951,8 @@ void migrate_enable(void) +@@ -6905,9 +6945,8 @@ void migrate_enable(void) preempt_disable(); diff --git a/kernel/patches-4.14.x-rt/0224-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch b/kernel/patches-4.14.x-rt/0223-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch similarity index 80% rename from kernel/patches-4.14.x-rt/0224-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch rename to kernel/patches-4.14.x-rt/0223-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch index cbdc69dfa..318c64839 100644 --- a/kernel/patches-4.14.x-rt/0224-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch +++ b/kernel/patches-4.14.x-rt/0223-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch @@ -1,7 +1,7 @@ -From b6eb80145120e188bb6567a94f6f31cf0dcd3e85 Mon Sep 17 00:00:00 2001 +From 792c16732659d97ec5f7083c3f5e1ffaaddc2d14 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:27 -0500 -Subject: [PATCH 224/414] stop_machine: convert stop_machine_run() to +Subject: [PATCH 223/413] stop_machine: convert stop_machine_run() to PREEMPT_RT Instead of playing with non-preemption, introduce explicit @@ -16,10 +16,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 10 insertions(+) diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c -index 2f6fa95de2d8..943680cd8f02 100644 +index e190d1ef3a23..74f3997a40fd 100644 --- a/kernel/stop_machine.c +++ b/kernel/stop_machine.c -@@ -488,6 +488,16 @@ static void cpu_stopper_thread(unsigned int cpu) +@@ -496,6 +496,16 @@ static void cpu_stopper_thread(unsigned int cpu) struct cpu_stop_done *done = work->done; int ret; diff --git a/kernel/patches-4.14.x-rt/0224-stop_machine-Use-raw-spinlocks.patch b/kernel/patches-4.14.x-rt/0224-stop_machine-Use-raw-spinlocks.patch new file mode 100644 index 000000000..d0ec3be05 --- /dev/null +++ b/kernel/patches-4.14.x-rt/0224-stop_machine-Use-raw-spinlocks.patch @@ -0,0 +1,36 @@ +From cbfaf7ea6c41766e01fb8daf885ccfa2f0da5d11 Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Wed, 29 Jun 2011 11:01:51 +0200 +Subject: [PATCH 224/413] stop_machine: Use raw spinlocks + +Use raw-locks in stomp_machine() to allow locking in irq-off regions. + +Signed-off-by: Thomas Gleixner +--- + kernel/stop_machine.c | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c +index 74f3997a40fd..36059808b0f7 100644 +--- a/kernel/stop_machine.c ++++ b/kernel/stop_machine.c +@@ -496,15 +496,7 @@ static void cpu_stopper_thread(unsigned int cpu) + struct cpu_stop_done *done = work->done; + int ret; + +- /* +- * Wait until the stopper finished scheduling on all +- * cpus +- */ +- lg_global_lock(&stop_cpus_lock); +- /* +- * Let other cpu threads continue as well +- */ +- lg_global_unlock(&stop_cpus_lock); ++ /* XXX */ + + /* cpu stop callbacks must not sleep, make in_atomic() == T */ + preempt_count_inc(); +-- +2.18.0 + diff --git a/kernel/patches-4.14.x-rt/0226-hotplug-Lightweight-get-online-cpus.patch b/kernel/patches-4.14.x-rt/0225-hotplug-Lightweight-get-online-cpus.patch similarity index 81% rename from kernel/patches-4.14.x-rt/0226-hotplug-Lightweight-get-online-cpus.patch rename to kernel/patches-4.14.x-rt/0225-hotplug-Lightweight-get-online-cpus.patch index 3034f0ee1..8a87a2155 100644 --- a/kernel/patches-4.14.x-rt/0226-hotplug-Lightweight-get-online-cpus.patch +++ b/kernel/patches-4.14.x-rt/0225-hotplug-Lightweight-get-online-cpus.patch @@ -1,7 +1,7 @@ -From 55405f543a420ff164e9c7805be6f001214d1a96 Mon Sep 17 00:00:00 2001 +From d85b7b843d1ff9c193e7eb952f6ef5121cb8bd83 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 15 Jun 2011 12:36:06 +0200 -Subject: [PATCH 226/414] hotplug: Lightweight get online cpus +Subject: [PATCH 225/413] hotplug: Lightweight get online cpus get_online_cpus() is a heavy weight function which involves a global mutex. migrate_disable() wants a simpler construct which prevents only @@ -19,10 +19,10 @@ Signed-off-by: Thomas Gleixner 3 files changed, 24 insertions(+) diff --git a/include/linux/cpu.h b/include/linux/cpu.h -index 9546bf2fe310..74fcf89801f0 100644 +index 2a378d261914..b418d3c5159d 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h -@@ -118,6 +118,8 @@ extern void cpu_hotplug_disable(void); +@@ -120,6 +120,8 @@ extern void cpu_hotplug_disable(void); extern void cpu_hotplug_enable(void); void clear_tasks_mm_cpumask(int cpu); int cpu_down(unsigned int cpu); @@ -31,7 +31,7 @@ index 9546bf2fe310..74fcf89801f0 100644 #else /* CONFIG_HOTPLUG_CPU */ -@@ -128,6 +130,9 @@ static inline void cpus_read_unlock(void) { } +@@ -130,6 +132,9 @@ static inline void cpus_read_unlock(void) { } static inline void lockdep_assert_cpus_held(void) { } static inline void cpu_hotplug_disable(void) { } static inline void cpu_hotplug_enable(void) { } @@ -42,10 +42,10 @@ index 9546bf2fe310..74fcf89801f0 100644 /* Wrappers which go away once all code is converted */ diff --git a/kernel/cpu.c b/kernel/cpu.c -index f21bfa3172d8..aa9b1702e115 100644 +index 8f02f9b6e046..083ff510b038 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -286,6 +286,21 @@ static int cpu_hotplug_disabled; +@@ -287,6 +287,21 @@ static int cpu_hotplug_disabled; #ifdef CONFIG_HOTPLUG_CPU @@ -68,10 +68,10 @@ index f21bfa3172d8..aa9b1702e115 100644 void cpus_read_lock(void) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index b1ec461861b1..c1a9f731f4f4 100644 +index ad2e06ddd290..b8529f66f258 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6917,6 +6917,7 @@ void migrate_disable(void) +@@ -6911,6 +6911,7 @@ void migrate_disable(void) } preempt_disable(); @@ -79,7 +79,7 @@ index b1ec461861b1..c1a9f731f4f4 100644 migrate_disable_update_cpus_allowed(p); p->migrate_disable = 1; -@@ -6982,12 +6983,15 @@ void migrate_enable(void) +@@ -6976,12 +6977,15 @@ void migrate_enable(void) arg.task = p; arg.dest_cpu = dest_cpu; diff --git a/kernel/patches-4.14.x-rt/0225-stop_machine-Use-raw-spinlocks.patch b/kernel/patches-4.14.x-rt/0225-stop_machine-Use-raw-spinlocks.patch deleted file mode 100644 index 0293e7cb6..000000000 --- a/kernel/patches-4.14.x-rt/0225-stop_machine-Use-raw-spinlocks.patch +++ /dev/null @@ -1,120 +0,0 @@ -From bf59a7d085e61136214dc9ea16883f04fa205e0d Mon Sep 17 00:00:00 2001 -From: Thomas Gleixner -Date: Wed, 29 Jun 2011 11:01:51 +0200 -Subject: [PATCH 225/414] stop_machine: Use raw spinlocks - -Use raw-locks in stomp_machine() to allow locking in irq-off regions. - -Signed-off-by: Thomas Gleixner ---- - kernel/stop_machine.c | 34 +++++++++++++--------------------- - 1 file changed, 13 insertions(+), 21 deletions(-) - -diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c -index 943680cd8f02..281ec277ee59 100644 ---- a/kernel/stop_machine.c -+++ b/kernel/stop_machine.c -@@ -37,7 +37,7 @@ struct cpu_stop_done { - struct cpu_stopper { - struct task_struct *thread; - -- spinlock_t lock; -+ raw_spinlock_t lock; - bool enabled; /* is this stopper enabled? */ - struct list_head works; /* list of pending works */ - -@@ -81,13 +81,13 @@ static bool cpu_stop_queue_work(unsigned int cpu, struct cpu_stop_work *work) - unsigned long flags; - bool enabled; - -- spin_lock_irqsave(&stopper->lock, flags); -+ raw_spin_lock_irqsave(&stopper->lock, flags); - enabled = stopper->enabled; - if (enabled) - __cpu_stop_queue_work(stopper, work, &wakeq); - else if (work->done) - cpu_stop_signal_done(work->done); -- spin_unlock_irqrestore(&stopper->lock, flags); -+ raw_spin_unlock_irqrestore(&stopper->lock, flags); - - wake_up_q(&wakeq); - -@@ -237,8 +237,8 @@ static int cpu_stop_queue_two_works(int cpu1, struct cpu_stop_work *work1, - DEFINE_WAKE_Q(wakeq); - int err; - retry: -- spin_lock_irq(&stopper1->lock); -- spin_lock_nested(&stopper2->lock, SINGLE_DEPTH_NESTING); -+ raw_spin_lock_irq(&stopper1->lock); -+ raw_spin_lock_nested(&stopper2->lock, SINGLE_DEPTH_NESTING); - - err = -ENOENT; - if (!stopper1->enabled || !stopper2->enabled) -@@ -261,8 +261,8 @@ static int cpu_stop_queue_two_works(int cpu1, struct cpu_stop_work *work1, - __cpu_stop_queue_work(stopper1, work1, &wakeq); - __cpu_stop_queue_work(stopper2, work2, &wakeq); - unlock: -- spin_unlock(&stopper2->lock); -- spin_unlock_irq(&stopper1->lock); -+ raw_spin_unlock(&stopper2->lock); -+ raw_spin_unlock_irq(&stopper1->lock); - - if (unlikely(err == -EDEADLK)) { - while (stop_cpus_in_progress) -@@ -461,9 +461,9 @@ static int cpu_stop_should_run(unsigned int cpu) - unsigned long flags; - int run; - -- spin_lock_irqsave(&stopper->lock, flags); -+ raw_spin_lock_irqsave(&stopper->lock, flags); - run = !list_empty(&stopper->works); -- spin_unlock_irqrestore(&stopper->lock, flags); -+ raw_spin_unlock_irqrestore(&stopper->lock, flags); - return run; - } - -@@ -474,13 +474,13 @@ static void cpu_stopper_thread(unsigned int cpu) - - repeat: - work = NULL; -- spin_lock_irq(&stopper->lock); -+ raw_spin_lock_irq(&stopper->lock); - if (!list_empty(&stopper->works)) { - work = list_first_entry(&stopper->works, - struct cpu_stop_work, list); - list_del_init(&work->list); - } -- spin_unlock_irq(&stopper->lock); -+ raw_spin_unlock_irq(&stopper->lock); - - if (work) { - cpu_stop_fn_t fn = work->fn; -@@ -488,15 +488,7 @@ static void cpu_stopper_thread(unsigned int cpu) - struct cpu_stop_done *done = work->done; - int ret; - -- /* -- * Wait until the stopper finished scheduling on all -- * cpus -- */ -- lg_global_lock(&stop_cpus_lock); -- /* -- * Let other cpu threads continue as well -- */ -- lg_global_unlock(&stop_cpus_lock); -+ /* XXX */ - - /* cpu stop callbacks must not sleep, make in_atomic() == T */ - preempt_count_inc(); -@@ -564,7 +556,7 @@ static int __init cpu_stop_init(void) - for_each_possible_cpu(cpu) { - struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); - -- spin_lock_init(&stopper->lock); -+ raw_spin_lock_init(&stopper->lock); - INIT_LIST_HEAD(&stopper->works); - } - --- -2.18.0 - diff --git a/kernel/patches-4.14.x-rt/0227-trace-Add-migrate-disabled-counter-to-tracing-output.patch b/kernel/patches-4.14.x-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0227-trace-Add-migrate-disabled-counter-to-tracing-output.patch rename to kernel/patches-4.14.x-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch index 86acdb20e..f8642ed22 100644 --- a/kernel/patches-4.14.x-rt/0227-trace-Add-migrate-disabled-counter-to-tracing-output.patch +++ b/kernel/patches-4.14.x-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch @@ -1,7 +1,7 @@ -From f2fc7c5879d2fe7433a31bd59676c52604799a73 Mon Sep 17 00:00:00 2001 +From 16d608c4cae506c59678e93e5d1c9cee799e8fc8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:56:42 +0200 -Subject: [PATCH 227/414] trace: Add migrate-disabled counter to tracing output +Subject: [PATCH 226/413] trace: Add migrate-disabled counter to tracing output Signed-off-by: Thomas Gleixner --- @@ -25,10 +25,10 @@ index aefc80f2909b..ffd595ab5008 100644 #define TRACE_EVENT_TYPE_MAX \ diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index f8413f284892..f2d05bf43e84 100644 +index 73b3e330ac0a..03688e4efd82 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -2141,6 +2141,8 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, +@@ -2147,6 +2147,8 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, ((pc & SOFTIRQ_OFFSET) ? TRACE_FLAG_SOFTIRQ : 0) | (tif_need_resched() ? TRACE_FLAG_NEED_RESCHED : 0) | (test_preempt_need_resched() ? TRACE_FLAG_PREEMPT_RESCHED : 0); @@ -37,7 +37,7 @@ index f8413f284892..f2d05bf43e84 100644 } EXPORT_SYMBOL_GPL(tracing_generic_entry_update); -@@ -3344,9 +3346,10 @@ static void print_lat_help_header(struct seq_file *m) +@@ -3350,9 +3352,10 @@ static void print_lat_help_header(struct seq_file *m) "# | / _----=> need-resched \n" "# || / _---=> hardirq/softirq \n" "# ||| / _--=> preempt-depth \n" diff --git a/kernel/patches-4.14.x-rt/0228-lockdep-Make-it-RT-aware.patch b/kernel/patches-4.14.x-rt/0227-lockdep-Make-it-RT-aware.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0228-lockdep-Make-it-RT-aware.patch rename to kernel/patches-4.14.x-rt/0227-lockdep-Make-it-RT-aware.patch index 972d72414..5a3c5e3e6 100644 --- a/kernel/patches-4.14.x-rt/0228-lockdep-Make-it-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0227-lockdep-Make-it-RT-aware.patch @@ -1,7 +1,7 @@ -From f66b97c2019d099e155ebd93e59fb5635c6032cf Mon Sep 17 00:00:00 2001 +From 1f32db959485f6165050309b6d901be2bbb359cf Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 18:51:23 +0200 -Subject: [PATCH 228/414] lockdep: Make it RT aware +Subject: [PATCH 227/413] lockdep: Make it RT aware teach lockdep that we don't really do softirqs on -RT. diff --git a/kernel/patches-4.14.x-rt/0229-lockdep-disable-self-test.patch b/kernel/patches-4.14.x-rt/0228-lockdep-disable-self-test.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0229-lockdep-disable-self-test.patch rename to kernel/patches-4.14.x-rt/0228-lockdep-disable-self-test.patch index 27e445aa2..efa290110 100644 --- a/kernel/patches-4.14.x-rt/0229-lockdep-disable-self-test.patch +++ b/kernel/patches-4.14.x-rt/0228-lockdep-disable-self-test.patch @@ -1,7 +1,7 @@ -From 137df22d4115dd1f2cb4b67a897d1a7b767a3902 Mon Sep 17 00:00:00 2001 +From 197f9da20cac19b33d616462b524ede4d31f8919 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 17 Oct 2017 16:36:18 +0200 -Subject: [PATCH 229/414] lockdep: disable self-test +Subject: [PATCH 228/413] lockdep: disable self-test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0230-locking-Disable-spin-on-owner-for-RT.patch b/kernel/patches-4.14.x-rt/0229-locking-Disable-spin-on-owner-for-RT.patch similarity index 89% rename from kernel/patches-4.14.x-rt/0230-locking-Disable-spin-on-owner-for-RT.patch rename to kernel/patches-4.14.x-rt/0229-locking-Disable-spin-on-owner-for-RT.patch index 015354bd7..9450e3596 100644 --- a/kernel/patches-4.14.x-rt/0230-locking-Disable-spin-on-owner-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0229-locking-Disable-spin-on-owner-for-RT.patch @@ -1,7 +1,7 @@ -From 1978c9bc67241dfdddef964a3d9d6811fe6ee042 Mon Sep 17 00:00:00 2001 +From 3eaf0f5bb1de4cc2b482c163f3502d1ca66b59d7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:51:45 +0200 -Subject: [PATCH 230/414] locking: Disable spin on owner for RT +Subject: [PATCH 229/413] locking: Disable spin on owner for RT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0231-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch b/kernel/patches-4.14.x-rt/0230-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0231-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch rename to kernel/patches-4.14.x-rt/0230-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch index 304c9c501..452dd9eca 100644 --- a/kernel/patches-4.14.x-rt/0231-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch +++ b/kernel/patches-4.14.x-rt/0230-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch @@ -1,7 +1,7 @@ -From 31f201f54e2766b2afc9e548e91f189d9fa93c8f Mon Sep 17 00:00:00 2001 +From c072dde319c9597521346f54f1be3a251f656308 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Tue, 29 Nov 2011 20:18:22 -0500 -Subject: [PATCH 231/414] tasklet: Prevent tasklets from going into infinite +Subject: [PATCH 230/413] tasklet: Prevent tasklets from going into infinite spin in RT When CONFIG_PREEMPT_RT_FULL is enabled, tasklets run as threads, @@ -116,7 +116,7 @@ index 172376b9a049..e53ff6a143e0 100644 extern void tasklet_kill_immediate(struct tasklet_struct *t, unsigned int cpu); extern void tasklet_init(struct tasklet_struct *t, diff --git a/kernel/softirq.c b/kernel/softirq.c -index 0f84f2a8f564..6602a9ef492b 100644 +index 36092932c532..7f8629d8ee57 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -21,6 +21,7 @@ @@ -127,7 +127,7 @@ index 0f84f2a8f564..6602a9ef492b 100644 #include #include #include -@@ -466,15 +467,45 @@ struct tasklet_head { +@@ -470,15 +471,45 @@ struct tasklet_head { static DEFINE_PER_CPU(struct tasklet_head, tasklet_vec); static DEFINE_PER_CPU(struct tasklet_head, tasklet_hi_vec); @@ -177,7 +177,7 @@ index 0f84f2a8f564..6602a9ef492b 100644 local_irq_restore(flags); } EXPORT_SYMBOL(__tasklet_schedule); -@@ -484,50 +515,108 @@ void __tasklet_hi_schedule(struct tasklet_struct *t) +@@ -488,50 +519,108 @@ void __tasklet_hi_schedule(struct tasklet_struct *t) unsigned long flags; local_irq_save(flags); @@ -312,7 +312,7 @@ index 0f84f2a8f564..6602a9ef492b 100644 static __latent_entropy void tasklet_hi_action(struct softirq_action *a) { struct tasklet_struct *list; -@@ -538,30 +627,7 @@ static __latent_entropy void tasklet_hi_action(struct softirq_action *a) +@@ -542,30 +631,7 @@ static __latent_entropy void tasklet_hi_action(struct softirq_action *a) __this_cpu_write(tasklet_hi_vec.tail, this_cpu_ptr(&tasklet_hi_vec.head)); local_irq_enable(); @@ -344,7 +344,7 @@ index 0f84f2a8f564..6602a9ef492b 100644 } void tasklet_init(struct tasklet_struct *t, -@@ -582,7 +648,7 @@ void tasklet_kill(struct tasklet_struct *t) +@@ -586,7 +652,7 @@ void tasklet_kill(struct tasklet_struct *t) while (test_and_set_bit(TASKLET_STATE_SCHED, &t->state)) { do { @@ -353,7 +353,7 @@ index 0f84f2a8f564..6602a9ef492b 100644 } while (test_bit(TASKLET_STATE_SCHED, &t->state)); } tasklet_unlock_wait(t); -@@ -605,6 +671,23 @@ void __init softirq_init(void) +@@ -609,6 +675,23 @@ void __init softirq_init(void) open_softirq(HI_SOFTIRQ, tasklet_hi_action); } diff --git a/kernel/patches-4.14.x-rt/0232-softirq-Check-preemption-after-reenabling-interrupts.patch b/kernel/patches-4.14.x-rt/0231-softirq-Check-preemption-after-reenabling-interrupts.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0232-softirq-Check-preemption-after-reenabling-interrupts.patch rename to kernel/patches-4.14.x-rt/0231-softirq-Check-preemption-after-reenabling-interrupts.patch index a2404cb88..238264ba5 100644 --- a/kernel/patches-4.14.x-rt/0232-softirq-Check-preemption-after-reenabling-interrupts.patch +++ b/kernel/patches-4.14.x-rt/0231-softirq-Check-preemption-after-reenabling-interrupts.patch @@ -1,7 +1,7 @@ -From de48107d9122016acdcc657a98e83d13f8004679 Mon Sep 17 00:00:00 2001 +From b4b4f4a983ac653a88470b8810c49c8180d0dffc Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 13 Nov 2011 17:17:09 +0100 -Subject: [PATCH 232/414] softirq: Check preemption after reenabling interrupts +Subject: [PATCH 231/413] softirq: Check preemption after reenabling interrupts raise_softirq_irqoff() disables interrupts and wakes the softirq daemon, but after reenabling interrupts there is no preemption check, diff --git a/kernel/patches-4.14.x-rt/0233-softirq-Disable-softirq-stacks-for-RT.patch b/kernel/patches-4.14.x-rt/0232-softirq-Disable-softirq-stacks-for-RT.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0233-softirq-Disable-softirq-stacks-for-RT.patch rename to kernel/patches-4.14.x-rt/0232-softirq-Disable-softirq-stacks-for-RT.patch index 75beccbdf..49247672d 100644 --- a/kernel/patches-4.14.x-rt/0233-softirq-Disable-softirq-stacks-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0232-softirq-Disable-softirq-stacks-for-RT.patch @@ -1,7 +1,7 @@ -From f6eb91be80db66a52331f8410bd75a5576e6e896 Mon Sep 17 00:00:00 2001 +From d77298f0ebacd51b2fe8ceb9ea99b0ce9c341f95 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 13:59:17 +0200 -Subject: [PATCH 233/414] softirq: Disable softirq stacks for RT +Subject: [PATCH 232/413] softirq: Disable softirq stacks for RT Disable extra stacks for softirqs. We want to preempt softirqs and having them on special IRQ-stack does not make this easier. @@ -119,7 +119,7 @@ index d66dde833f5e..f87b3f8f4d43 100644 #ifdef CONFIG_HOTPLUG_CPU void fixup_irqs(void) diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S -index f7bfa701219b..d1f3e2c8320b 100644 +index 0fae7096ae23..611f00b119c6 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S @@ -988,6 +988,7 @@ bad_gs: @@ -139,10 +139,10 @@ index f7bfa701219b..d1f3e2c8320b 100644 #ifdef CONFIG_XEN idtentry hypervisor_callback xen_do_hypervisor_callback has_error_code=0 diff --git a/arch/x86/kernel/irq_32.c b/arch/x86/kernel/irq_32.c -index c1bdbd3d3232..e370e1b8b7ff 100644 +index 95600a99ae93..9192d76085ba 100644 --- a/arch/x86/kernel/irq_32.c +++ b/arch/x86/kernel/irq_32.c -@@ -129,6 +129,7 @@ void irq_ctx_init(int cpu) +@@ -130,6 +130,7 @@ void irq_ctx_init(int cpu) cpu, per_cpu(hardirq_stack, cpu), per_cpu(softirq_stack, cpu)); } @@ -150,7 +150,7 @@ index c1bdbd3d3232..e370e1b8b7ff 100644 void do_softirq_own_stack(void) { struct irq_stack *irqstk; -@@ -145,6 +146,7 @@ void do_softirq_own_stack(void) +@@ -146,6 +147,7 @@ void do_softirq_own_stack(void) call_on_stack(__do_softirq, isp); } diff --git a/kernel/patches-4.14.x-rt/0234-softirq-Split-softirq-locks.patch b/kernel/patches-4.14.x-rt/0233-softirq-Split-softirq-locks.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0234-softirq-Split-softirq-locks.patch rename to kernel/patches-4.14.x-rt/0233-softirq-Split-softirq-locks.patch index 267407dfb..2ac9cdd7a 100644 --- a/kernel/patches-4.14.x-rt/0234-softirq-Split-softirq-locks.patch +++ b/kernel/patches-4.14.x-rt/0233-softirq-Split-softirq-locks.patch @@ -1,7 +1,7 @@ -From 19c5949a385bde0931c34667549300bff8ea1e39 Mon Sep 17 00:00:00 2001 +From 2cf9d4b75214709487d37e7375cbb716b11504c1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 4 Oct 2012 14:20:47 +0100 -Subject: [PATCH 234/414] softirq: Split softirq locks +Subject: [PATCH 233/413] softirq: Split softirq locks The 3.x RT series removed the split softirq implementation in favour of pushing softirq processing into the context of the thread which @@ -199,7 +199,7 @@ index 209e71d83687..b82a53ca6ce4 100644 #define PF_EXITING 0x00000004 /* Getting shut down */ #define PF_EXITPIDONE 0x00000008 /* PI exit done on shut down */ diff --git a/init/main.c b/init/main.c -index 0d88f37febcb..c34e0c4a59b5 100644 +index c4a45145e102..c86f3d3b9a72 100644 --- a/init/main.c +++ b/init/main.c @@ -543,6 +543,7 @@ asmlinkage __visible void __init start_kernel(void) @@ -207,11 +207,11 @@ index 0d88f37febcb..c34e0c4a59b5 100644 setup_nr_cpu_ids(); setup_per_cpu_areas(); + softirq_early_init(); - boot_cpu_state_init(); smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */ + boot_cpu_hotplug_init(); diff --git a/kernel/softirq.c b/kernel/softirq.c -index 6602a9ef492b..c737ad6df54b 100644 +index 7f8629d8ee57..fe0b46080cdb 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -26,6 +26,7 @@ @@ -347,8 +347,8 @@ index 6602a9ef492b..c737ad6df54b 100644 + /* * 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. -@@ -89,6 +202,48 @@ static bool ksoftirqd_running(void) + * right now. Let ksoftirqd handle this at its own rate, to get fairness, +@@ -93,6 +206,48 @@ static bool ksoftirqd_running(unsigned long pending) return tsk && (tsk->state == TASK_RUNNING); } @@ -397,7 +397,7 @@ index 6602a9ef492b..c737ad6df54b 100644 /* * preempt_count and SOFTIRQ_OFFSET usage: * - preempt_count is changed by SOFTIRQ_OFFSET on entering or leaving -@@ -244,10 +399,8 @@ asmlinkage __visible void __softirq_entry __do_softirq(void) +@@ -248,10 +403,8 @@ asmlinkage __visible void __softirq_entry __do_softirq(void) unsigned long end = jiffies + MAX_SOFTIRQ_TIME; unsigned long old_flags = current->flags; int max_restart = MAX_SOFTIRQ_RESTART; @@ -408,7 +408,7 @@ index 6602a9ef492b..c737ad6df54b 100644 /* * Mask out PF_MEMALLOC s current task context is borrowed for the -@@ -266,36 +419,7 @@ asmlinkage __visible void __softirq_entry __do_softirq(void) +@@ -270,36 +423,7 @@ asmlinkage __visible void __softirq_entry __do_softirq(void) /* Reset the pending bitmask before enabling irqs */ set_softirq_pending(0); @@ -446,7 +446,7 @@ index 6602a9ef492b..c737ad6df54b 100644 pending = local_softirq_pending(); if (pending) { -@@ -331,6 +455,246 @@ asmlinkage __visible void do_softirq(void) +@@ -335,6 +459,246 @@ asmlinkage __visible void do_softirq(void) local_irq_restore(flags); } @@ -693,7 +693,7 @@ index 6602a9ef492b..c737ad6df54b 100644 /* * Enter an interrupt context. */ -@@ -342,9 +706,9 @@ void irq_enter(void) +@@ -346,9 +710,9 @@ void irq_enter(void) * Prevent raise_softirq from needlessly waking up ksoftirqd * here, as softirq will be serviced on return from interrupt. */ @@ -705,7 +705,7 @@ index 6602a9ef492b..c737ad6df54b 100644 } __irq_enter(); -@@ -352,9 +716,13 @@ void irq_enter(void) +@@ -356,9 +720,13 @@ void irq_enter(void) static inline void invoke_softirq(void) { @@ -713,14 +713,14 @@ index 6602a9ef492b..c737ad6df54b 100644 + unsigned long flags; +#endif + - if (ksoftirqd_running()) + if (ksoftirqd_running(local_softirq_pending())) return; - +#ifndef CONFIG_PREEMPT_RT_FULL if (!force_irqthreads) { #ifdef CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK /* -@@ -374,6 +742,14 @@ static inline void invoke_softirq(void) +@@ -378,6 +746,14 @@ static inline void invoke_softirq(void) } else { wakeup_softirqd(); } @@ -735,7 +735,7 @@ index 6602a9ef492b..c737ad6df54b 100644 } static inline void tick_irq_exit(void) -@@ -416,26 +792,6 @@ void irq_exit(void) +@@ -420,26 +796,6 @@ void irq_exit(void) trace_hardirq_exit(); /* must be last! */ } @@ -762,7 +762,7 @@ index 6602a9ef492b..c737ad6df54b 100644 void raise_softirq(unsigned int nr) { unsigned long flags; -@@ -445,12 +801,6 @@ void raise_softirq(unsigned int nr) +@@ -449,12 +805,6 @@ void raise_softirq(unsigned int nr) local_irq_restore(flags); } @@ -775,7 +775,7 @@ index 6602a9ef492b..c737ad6df54b 100644 void open_softirq(int nr, void (*action)(struct softirq_action *)) { softirq_vec[nr].action = action; -@@ -690,23 +1040,7 @@ EXPORT_SYMBOL(tasklet_unlock_wait); +@@ -694,23 +1044,7 @@ EXPORT_SYMBOL(tasklet_unlock_wait); static int ksoftirqd_should_run(unsigned int cpu) { @@ -800,7 +800,7 @@ index 6602a9ef492b..c737ad6df54b 100644 } #ifdef CONFIG_HOTPLUG_CPU -@@ -773,6 +1107,8 @@ static int takeover_tasklets(unsigned int cpu) +@@ -777,6 +1111,8 @@ static int takeover_tasklets(unsigned int cpu) static struct smp_hotplug_thread softirq_threads = { .store = &ksoftirqd, @@ -810,7 +810,7 @@ index 6602a9ef492b..c737ad6df54b 100644 .thread_fn = run_ksoftirqd, .thread_comm = "ksoftirqd/%u", diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c -index 145dc49881e6..0ba600553004 100644 +index 3af3d93f49ce..92222682dfce 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -911,14 +911,7 @@ static bool can_stop_idle_tick(int cpu, struct tick_sched *ts) diff --git a/kernel/patches-4.14.x-rt/0235-kernel-softirq-unlock-with-irqs-on.patch b/kernel/patches-4.14.x-rt/0234-kernel-softirq-unlock-with-irqs-on.patch similarity index 76% rename from kernel/patches-4.14.x-rt/0235-kernel-softirq-unlock-with-irqs-on.patch rename to kernel/patches-4.14.x-rt/0234-kernel-softirq-unlock-with-irqs-on.patch index 8d9fd3cf6..261748ac7 100644 --- a/kernel/patches-4.14.x-rt/0235-kernel-softirq-unlock-with-irqs-on.patch +++ b/kernel/patches-4.14.x-rt/0234-kernel-softirq-unlock-with-irqs-on.patch @@ -1,7 +1,7 @@ -From 980c26756f45293920b47a8e68e72982b1418d2c Mon Sep 17 00:00:00 2001 +From 218969a3c898eca41ba701e664049577177a2c8e Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 9 Feb 2016 18:17:18 +0100 -Subject: [PATCH 235/414] kernel: softirq: unlock with irqs on +Subject: [PATCH 234/413] kernel: softirq: unlock with irqs on We unlock the lock while the interrupts are off. This isn't a problem now but will get because the migrate_disable() + enable are not @@ -13,10 +13,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/softirq.c b/kernel/softirq.c -index c737ad6df54b..bd4be3911b4a 100644 +index fe0b46080cdb..6c60756bb586 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c -@@ -560,8 +560,10 @@ static void do_current_softirqs(void) +@@ -564,8 +564,10 @@ static void do_current_softirqs(void) do_single_softirq(i); } softirq_clr_runner(i); diff --git a/kernel/patches-4.14.x-rt/0236-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch b/kernel/patches-4.14.x-rt/0235-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0236-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch rename to kernel/patches-4.14.x-rt/0235-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch index e4c6b2a03..1f5ddc4e6 100644 --- a/kernel/patches-4.14.x-rt/0236-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch +++ b/kernel/patches-4.14.x-rt/0235-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch @@ -1,7 +1,7 @@ -From 56859b9060103874dd7c97aa5a986526b95dc681 Mon Sep 17 00:00:00 2001 +From 9fdad89d317d61301bbd45436f2752c91d328bc3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 Jan 2012 13:01:27 +0100 -Subject: [PATCH 236/414] genirq: Allow disabling of softirq processing in irq +Subject: [PATCH 235/413] genirq: Allow disabling of softirq processing in irq thread context The processing of softirqs in irq thread context is a performance gain @@ -68,7 +68,7 @@ index 0d53626405bf..ddd23c6e2e55 100644 #define IRQ_NO_BALANCING_MASK (IRQ_PER_CPU | IRQ_NO_BALANCING) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 5007ea8ac740..d8fa6c86a8ca 100644 +index 7b927944e028..761d6e6caef1 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -922,7 +922,15 @@ irq_forced_thread_fn(struct irq_desc *desc, struct irqaction *action) @@ -88,7 +88,7 @@ index 5007ea8ac740..d8fa6c86a8ca 100644 return ret; } -@@ -1410,6 +1418,9 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) +@@ -1417,6 +1425,9 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) irqd_set(&desc->irq_data, IRQD_NO_BALANCING); } @@ -136,10 +136,10 @@ index e43795cd2ccf..47e2f9e23586 100644 { return desc->status_use_accessors & _IRQ_PER_CPU; diff --git a/kernel/softirq.c b/kernel/softirq.c -index bd4be3911b4a..5798ff8f6a40 100644 +index 6c60756bb586..839653fe2857 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c -@@ -589,6 +589,15 @@ void __local_bh_enable(void) +@@ -593,6 +593,15 @@ void __local_bh_enable(void) } EXPORT_SYMBOL(__local_bh_enable); diff --git a/kernel/patches-4.14.x-rt/0237-softirq-split-timer-softirqs-out-of-ksoftirqd.patch b/kernel/patches-4.14.x-rt/0236-softirq-split-timer-softirqs-out-of-ksoftirqd.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0237-softirq-split-timer-softirqs-out-of-ksoftirqd.patch rename to kernel/patches-4.14.x-rt/0236-softirq-split-timer-softirqs-out-of-ksoftirqd.patch index 93b1ec602..67615ece1 100644 --- a/kernel/patches-4.14.x-rt/0237-softirq-split-timer-softirqs-out-of-ksoftirqd.patch +++ b/kernel/patches-4.14.x-rt/0236-softirq-split-timer-softirqs-out-of-ksoftirqd.patch @@ -1,7 +1,7 @@ -From 77c17f0012cda13eaac653f29d00d6337b665423 Mon Sep 17 00:00:00 2001 +From da2a66de64016288832a8190948cff1895871794 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 20 Jan 2016 16:34:17 +0100 -Subject: [PATCH 237/414] softirq: split timer softirqs out of ksoftirqd +Subject: [PATCH 236/413] softirq: split timer softirqs out of ksoftirqd The softirqd runs in -RT with SCHED_FIFO (prio 1) and deals mostly with timer wakeup which can not happen in hardirq context. The prio has been @@ -27,7 +27,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 73 insertions(+), 12 deletions(-) diff --git a/kernel/softirq.c b/kernel/softirq.c -index 5798ff8f6a40..263d17b33f50 100644 +index 839653fe2857..54c66af28041 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -58,6 +58,10 @@ EXPORT_SYMBOL(irq_stat); @@ -59,7 +59,7 @@ index 5798ff8f6a40..263d17b33f50 100644 static void handle_softirq(unsigned int vec_nr) { struct softirq_action *h = softirq_vec + vec_nr; -@@ -484,7 +499,6 @@ void __raise_softirq_irqoff(unsigned int nr) +@@ -488,7 +503,6 @@ void __raise_softirq_irqoff(unsigned int nr) static inline void local_bh_disable_nort(void) { local_bh_disable(); } static inline void _local_bh_enable_nort(void) { _local_bh_enable(); } static void ksoftirqd_set_sched_params(unsigned int cpu) { } @@ -67,7 +67,7 @@ index 5798ff8f6a40..263d17b33f50 100644 #else /* !PREEMPT_RT_FULL */ -@@ -631,8 +645,12 @@ void thread_do_softirq(void) +@@ -635,8 +649,12 @@ void thread_do_softirq(void) static void do_raise_softirq_irqoff(unsigned int nr) { @@ -81,7 +81,7 @@ index 5798ff8f6a40..263d17b33f50 100644 /* * If we are not in a hard interrupt and inside a bh disabled -@@ -641,16 +659,29 @@ static void do_raise_softirq_irqoff(unsigned int nr) +@@ -645,16 +663,29 @@ static void do_raise_softirq_irqoff(unsigned int nr) * delegate it to ksoftirqd. */ if (!in_irq() && current->softirq_nestcnt) @@ -115,7 +115,7 @@ index 5798ff8f6a40..263d17b33f50 100644 } /* -@@ -676,7 +707,7 @@ void raise_softirq_irqoff(unsigned int nr) +@@ -680,7 +711,7 @@ void raise_softirq_irqoff(unsigned int nr) * raise a WARN() if the condition is met. */ if (!current->softirq_nestcnt) @@ -124,7 +124,7 @@ index 5798ff8f6a40..263d17b33f50 100644 } static inline int ksoftirqd_softirq_pending(void) -@@ -688,23 +719,38 @@ static inline void local_bh_disable_nort(void) { } +@@ -692,23 +723,38 @@ static inline void local_bh_disable_nort(void) { } static inline void _local_bh_enable_nort(void) { } static inline void ksoftirqd_set_sched_params(unsigned int cpu) @@ -166,7 +166,7 @@ index 5798ff8f6a40..263d17b33f50 100644 #endif /* PREEMPT_RT_FULL */ /* * Enter an interrupt context. -@@ -759,6 +805,9 @@ static inline void invoke_softirq(void) +@@ -763,6 +809,9 @@ static inline void invoke_softirq(void) if (__this_cpu_read(ksoftirqd) && __this_cpu_read(ksoftirqd)->softirqs_raised) wakeup_softirqd(); @@ -176,7 +176,7 @@ index 5798ff8f6a40..263d17b33f50 100644 local_irq_restore(flags); #endif } -@@ -1119,18 +1168,30 @@ static int takeover_tasklets(unsigned int cpu) +@@ -1123,18 +1172,30 @@ static int takeover_tasklets(unsigned int cpu) static struct smp_hotplug_thread softirq_threads = { .store = &ksoftirqd, .setup = ksoftirqd_set_sched_params, diff --git a/kernel/patches-4.14.x-rt/0238-softirq-wake-the-timer-softirq-if-needed.patch b/kernel/patches-4.14.x-rt/0237-softirq-wake-the-timer-softirq-if-needed.patch similarity index 84% rename from kernel/patches-4.14.x-rt/0238-softirq-wake-the-timer-softirq-if-needed.patch rename to kernel/patches-4.14.x-rt/0237-softirq-wake-the-timer-softirq-if-needed.patch index 669a607ec..bd7b96ee2 100644 --- a/kernel/patches-4.14.x-rt/0238-softirq-wake-the-timer-softirq-if-needed.patch +++ b/kernel/patches-4.14.x-rt/0237-softirq-wake-the-timer-softirq-if-needed.patch @@ -1,7 +1,7 @@ -From 88f946e012cc05971bd1c6635b56bba82b59775a Mon Sep 17 00:00:00 2001 +From b98e7e17bfe7f26082ec1ce591b10e2f9d7828a2 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Fri, 20 Jan 2017 18:10:20 +0100 -Subject: [PATCH 238/414] softirq: wake the timer softirq if needed +Subject: [PATCH 237/413] softirq: wake the timer softirq if needed The irq-exit path only checks the "normal"-softirq thread if it is running and ignores the state of the "timer"-softirq thread. It is possible @@ -29,7 +29,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/kernel/softirq.c b/kernel/softirq.c -index 263d17b33f50..69a45729907a 100644 +index 54c66af28041..0f4ddfa14360 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -28,6 +28,7 @@ @@ -47,8 +47,8 @@ index 263d17b33f50..69a45729907a 100644 +#ifndef CONFIG_PREEMPT_RT_FULL /* * 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. -@@ -217,7 +219,6 @@ static bool ksoftirqd_running(void) + * right now. Let ksoftirqd handle this at its own rate, to get fairness, +@@ -221,7 +223,6 @@ static bool ksoftirqd_running(unsigned long pending) return tsk && (tsk->state == TASK_RUNNING); } @@ -56,7 +56,7 @@ index 263d17b33f50..69a45729907a 100644 static inline int ksoftirqd_softirq_pending(void) { return local_softirq_pending(); -@@ -773,13 +774,10 @@ void irq_enter(void) +@@ -777,13 +778,10 @@ void irq_enter(void) static inline void invoke_softirq(void) { @@ -65,14 +65,14 @@ index 263d17b33f50..69a45729907a 100644 -#endif - +#ifndef CONFIG_PREEMPT_RT_FULL - if (ksoftirqd_running()) + if (ksoftirqd_running(local_softirq_pending())) return; -#ifndef CONFIG_PREEMPT_RT_FULL + if (!force_irqthreads) { #ifdef CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK /* -@@ -800,6 +798,7 @@ static inline void invoke_softirq(void) +@@ -804,6 +802,7 @@ static inline void invoke_softirq(void) wakeup_softirqd(); } #else /* PREEMPT_RT_FULL */ diff --git a/kernel/patches-4.14.x-rt/0239-rtmutex-trylock-is-okay-on-RT.patch b/kernel/patches-4.14.x-rt/0238-rtmutex-trylock-is-okay-on-RT.patch similarity index 88% rename from kernel/patches-4.14.x-rt/0239-rtmutex-trylock-is-okay-on-RT.patch rename to kernel/patches-4.14.x-rt/0238-rtmutex-trylock-is-okay-on-RT.patch index 5ae4c7cf2..8517ad296 100644 --- a/kernel/patches-4.14.x-rt/0239-rtmutex-trylock-is-okay-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0238-rtmutex-trylock-is-okay-on-RT.patch @@ -1,7 +1,7 @@ -From d41924951e6e30c7932995df1485c41bac3b6bfd Mon Sep 17 00:00:00 2001 +From b5f265f39acae79455a58d7a066239aca255a4a5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 2 Dec 2015 11:34:07 +0100 -Subject: [PATCH 239/414] rtmutex: trylock is okay on -RT +Subject: [PATCH 238/413] rtmutex: trylock is okay on -RT non-RT kernel could deadlock on rt_mutex_trylock() in softirq context. On -RT we don't run softirqs in IRQ context but in thread context so it is diff --git a/kernel/patches-4.14.x-rt/0240-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch b/kernel/patches-4.14.x-rt/0239-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0240-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch rename to kernel/patches-4.14.x-rt/0239-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch index 71ec475be..0b945661b 100644 --- a/kernel/patches-4.14.x-rt/0240-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch +++ b/kernel/patches-4.14.x-rt/0239-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch @@ -1,7 +1,7 @@ -From f1fa396d5d2c8aa623c3d8fdc2b7630a2b8ebf3f Mon Sep 17 00:00:00 2001 +From 643d9c50a5f88a66ee7823c9c6c56bc18f205c7c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 15 Sep 2016 10:51:27 +0200 -Subject: [PATCH 240/414] fs/nfs: turn rmdir_sem into a semaphore +Subject: [PATCH 239/413] fs/nfs: turn rmdir_sem into a semaphore The RW semaphore had a reader side which used the _non_owner version because it most likely took the reader lock in one thread and released it diff --git a/kernel/patches-4.14.x-rt/0241-rtmutex-Handle-the-various-new-futex-race-conditions.patch b/kernel/patches-4.14.x-rt/0240-rtmutex-Handle-the-various-new-futex-race-conditions.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0241-rtmutex-Handle-the-various-new-futex-race-conditions.patch rename to kernel/patches-4.14.x-rt/0240-rtmutex-Handle-the-various-new-futex-race-conditions.patch index 6cdef4a7b..9f08c1ff5 100644 --- a/kernel/patches-4.14.x-rt/0241-rtmutex-Handle-the-various-new-futex-race-conditions.patch +++ b/kernel/patches-4.14.x-rt/0240-rtmutex-Handle-the-various-new-futex-race-conditions.patch @@ -1,7 +1,7 @@ -From 4a0733bff87bed17713e11cb38667cf8f52e85a4 Mon Sep 17 00:00:00 2001 +From 82fed9027092736a7074e7460e4d90ba88f48996 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 10 Jun 2011 11:04:15 +0200 -Subject: [PATCH 241/414] rtmutex: Handle the various new futex race conditions +Subject: [PATCH 240/413] rtmutex: Handle the various new futex race conditions RT opens a few new interesting race conditions in the rtmutex/futex combo due to futex hash bucket lock being a 'sleeping' spinlock and diff --git a/kernel/patches-4.14.x-rt/0242-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch b/kernel/patches-4.14.x-rt/0241-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0242-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch rename to kernel/patches-4.14.x-rt/0241-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch index 1b39e0e54..1ba927920 100644 --- a/kernel/patches-4.14.x-rt/0242-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch +++ b/kernel/patches-4.14.x-rt/0241-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch @@ -1,7 +1,7 @@ -From 97a768476c3b10cbe2c0005385a948dce91d7905 Mon Sep 17 00:00:00 2001 +From b38ea20b60ba7a9fa94c24b04eccbd13bd649a45 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 242/414] futex: Fix bug on when a requeued RT task times out +Subject: [PATCH 241/413] futex: Fix bug on when a requeued RT task times out Requeue with timeout causes a bug with PREEMPT_RT_FULL. diff --git a/kernel/patches-4.14.x-rt/0243-locking-rtmutex-don-t-drop-the-wait_lock-twice.patch b/kernel/patches-4.14.x-rt/0242-locking-rtmutex-don-t-drop-the-wait_lock-twice.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0243-locking-rtmutex-don-t-drop-the-wait_lock-twice.patch rename to kernel/patches-4.14.x-rt/0242-locking-rtmutex-don-t-drop-the-wait_lock-twice.patch index 9305fc58c..49b937bbc 100644 --- a/kernel/patches-4.14.x-rt/0243-locking-rtmutex-don-t-drop-the-wait_lock-twice.patch +++ b/kernel/patches-4.14.x-rt/0242-locking-rtmutex-don-t-drop-the-wait_lock-twice.patch @@ -1,7 +1,7 @@ -From 96e89e9bbbb3d9335a6269cbe3ecd4dac91edeb2 Mon Sep 17 00:00:00 2001 +From 113e9562eeaf0c032e588567e26063a137b0ed96 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 7 Sep 2017 12:38:47 +0200 -Subject: [PATCH 243/414] locking/rtmutex: don't drop the wait_lock twice +Subject: [PATCH 242/413] locking/rtmutex: don't drop the wait_lock twice Since the futex rework, __rt_mutex_start_proxy_lock() does no longer acquire the wait_lock so it must not drop it. Otherwise the lock is not diff --git a/kernel/patches-4.14.x-rt/0244-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch b/kernel/patches-4.14.x-rt/0243-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch similarity index 92% rename from kernel/patches-4.14.x-rt/0244-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch rename to kernel/patches-4.14.x-rt/0243-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch index c93df9b57..440153577 100644 --- a/kernel/patches-4.14.x-rt/0244-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch +++ b/kernel/patches-4.14.x-rt/0243-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch @@ -1,7 +1,7 @@ -From 496c8a1d87aa3c5d3e45922a8c242dfc06a6594a Mon Sep 17 00:00:00 2001 +From ce619636acf35c99e8ef5feb9540d03e1444f25e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 1 Mar 2013 11:17:42 +0100 -Subject: [PATCH 244/414] futex: Ensure lock/unlock symetry versus pi_lock and +Subject: [PATCH 243/413] futex: Ensure lock/unlock symetry versus pi_lock and hash bucket lock In exit_pi_state_list() we have the following locking construct: diff --git a/kernel/patches-4.14.x-rt/0245-pid.h-include-atomic.h.patch b/kernel/patches-4.14.x-rt/0244-pid.h-include-atomic.h.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0245-pid.h-include-atomic.h.patch rename to kernel/patches-4.14.x-rt/0244-pid.h-include-atomic.h.patch index 39f5d4a68..83a86ff02 100644 --- a/kernel/patches-4.14.x-rt/0245-pid.h-include-atomic.h.patch +++ b/kernel/patches-4.14.x-rt/0244-pid.h-include-atomic.h.patch @@ -1,7 +1,7 @@ -From 2f47ca84b9a4c78dd1e05f4d03751fee44d6ebcf Mon Sep 17 00:00:00 2001 +From 6932a81f081e688b0670ab33ae1e6117efe042b1 Mon Sep 17 00:00:00 2001 From: Grygorii Strashko Date: Tue, 21 Jul 2015 19:43:56 +0300 -Subject: [PATCH 245/414] pid.h: include atomic.h +Subject: [PATCH 244/413] pid.h: include atomic.h This patch fixes build error: CC kernel/pid_namespace.o diff --git a/kernel/patches-4.14.x-rt/0246-arm-include-definition-for-cpumask_t.patch b/kernel/patches-4.14.x-rt/0245-arm-include-definition-for-cpumask_t.patch similarity index 85% rename from kernel/patches-4.14.x-rt/0246-arm-include-definition-for-cpumask_t.patch rename to kernel/patches-4.14.x-rt/0245-arm-include-definition-for-cpumask_t.patch index 0b458bc03..a4ae6ec17 100644 --- a/kernel/patches-4.14.x-rt/0246-arm-include-definition-for-cpumask_t.patch +++ b/kernel/patches-4.14.x-rt/0245-arm-include-definition-for-cpumask_t.patch @@ -1,7 +1,7 @@ -From b05de579c1c699fe02a014eaec9aad73edf460bd Mon Sep 17 00:00:00 2001 +From d656388d8790dc7caf2fa4894c43e6b1689ad3cc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Dec 2016 17:28:33 +0100 -Subject: [PATCH 246/414] arm: include definition for cpumask_t +Subject: [PATCH 245/413] arm: include definition for cpumask_t This definition gets pulled in by other files. With the (later) split of RCU and spinlock.h it won't compile anymore. diff --git a/kernel/patches-4.14.x-rt/0247-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch b/kernel/patches-4.14.x-rt/0246-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch similarity index 88% rename from kernel/patches-4.14.x-rt/0247-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch rename to kernel/patches-4.14.x-rt/0246-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch index d4aca441f..3207656fd 100644 --- a/kernel/patches-4.14.x-rt/0247-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch +++ b/kernel/patches-4.14.x-rt/0246-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch @@ -1,7 +1,7 @@ -From 00572c9a8e204d6a5371298aeb54e2bd52f59537 Mon Sep 17 00:00:00 2001 +From 174c575ef20278adc3f07b25856e4a0d65790cc6 Mon Sep 17 00:00:00 2001 From: "Wolfgang M. Reimer" Date: Tue, 21 Jul 2015 16:20:07 +0200 -Subject: [PATCH 247/414] locking: locktorture: Do NOT include rwlock.h +Subject: [PATCH 246/413] locking: locktorture: Do NOT include rwlock.h directly Including rwlock.h directly will cause kernel builds to fail diff --git a/kernel/patches-4.14.x-rt/0248-rtmutex-Add-rtmutex_lock_killable.patch b/kernel/patches-4.14.x-rt/0247-rtmutex-Add-rtmutex_lock_killable.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0248-rtmutex-Add-rtmutex_lock_killable.patch rename to kernel/patches-4.14.x-rt/0247-rtmutex-Add-rtmutex_lock_killable.patch index 281dab3e5..0fd1d4bbb 100644 --- a/kernel/patches-4.14.x-rt/0248-rtmutex-Add-rtmutex_lock_killable.patch +++ b/kernel/patches-4.14.x-rt/0247-rtmutex-Add-rtmutex_lock_killable.patch @@ -1,7 +1,7 @@ -From 69caa7a241296bb4d3e0ede13da72b9648ba2bcc Mon Sep 17 00:00:00 2001 +From b55df8ef924b45488bd6f45ca3c18923e127831f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 9 Jun 2011 11:43:52 +0200 -Subject: [PATCH 248/414] rtmutex: Add rtmutex_lock_killable() +Subject: [PATCH 247/413] rtmutex: Add rtmutex_lock_killable() Add "killable" type to rtmutex. We need this since rtmutex are used as "normal" mutexes which do use this type. diff --git a/kernel/patches-4.14.x-rt/0249-rtmutex-Make-lock_killable-work.patch b/kernel/patches-4.14.x-rt/0248-rtmutex-Make-lock_killable-work.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0249-rtmutex-Make-lock_killable-work.patch rename to kernel/patches-4.14.x-rt/0248-rtmutex-Make-lock_killable-work.patch index 55ab6cb3d..98a22aa20 100644 --- a/kernel/patches-4.14.x-rt/0249-rtmutex-Make-lock_killable-work.patch +++ b/kernel/patches-4.14.x-rt/0248-rtmutex-Make-lock_killable-work.patch @@ -1,7 +1,7 @@ -From b4047c3d9744cf2dae458f26e8a0057cb4874f12 Mon Sep 17 00:00:00 2001 +From 783955f81c83e59dbbd66126c9044f2067e3c611 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 1 Apr 2017 12:50:59 +0200 -Subject: [PATCH 249/414] rtmutex: Make lock_killable work +Subject: [PATCH 248/413] rtmutex: Make lock_killable work Locking an rt mutex killable does not work because signal handling is restricted to TASK_INTERRUPTIBLE. diff --git a/kernel/patches-4.14.x-rt/0250-spinlock-Split-the-lock-types-header.patch b/kernel/patches-4.14.x-rt/0249-spinlock-Split-the-lock-types-header.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0250-spinlock-Split-the-lock-types-header.patch rename to kernel/patches-4.14.x-rt/0249-spinlock-Split-the-lock-types-header.patch index ee0b26bad..24830480a 100644 --- a/kernel/patches-4.14.x-rt/0250-spinlock-Split-the-lock-types-header.patch +++ b/kernel/patches-4.14.x-rt/0249-spinlock-Split-the-lock-types-header.patch @@ -1,7 +1,7 @@ -From 228fbc3534dd7f66d4470325e3f654c99ecbc4c7 Mon Sep 17 00:00:00 2001 +From 1d91c8b7a300eca9f401f267d8aa313b07dbe4fe Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 19:34:01 +0200 -Subject: [PATCH 250/414] spinlock: Split the lock types header +Subject: [PATCH 249/413] spinlock: Split the lock types header Split raw_spinlock into its own file and the remaining spinlock_t into its own non-RT header. The non-RT header will be replaced later by sleeping diff --git a/kernel/patches-4.14.x-rt/0251-rtmutex-Avoid-include-hell.patch b/kernel/patches-4.14.x-rt/0250-rtmutex-Avoid-include-hell.patch similarity index 86% rename from kernel/patches-4.14.x-rt/0251-rtmutex-Avoid-include-hell.patch rename to kernel/patches-4.14.x-rt/0250-rtmutex-Avoid-include-hell.patch index d8f1a692f..7a02ed236 100644 --- a/kernel/patches-4.14.x-rt/0251-rtmutex-Avoid-include-hell.patch +++ b/kernel/patches-4.14.x-rt/0250-rtmutex-Avoid-include-hell.patch @@ -1,7 +1,7 @@ -From 2cfe77814265e7d32427f5e82837e6fd8ef5943e Mon Sep 17 00:00:00 2001 +From 6388e939f29c506ebd95f47078222e86fd710577 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 20:06:39 +0200 -Subject: [PATCH 251/414] rtmutex: Avoid include hell +Subject: [PATCH 250/413] rtmutex: Avoid include hell Include only the required raw types. This avoids pulling in the complete spinlock header which in turn requires rtmutex.h at some point. diff --git a/kernel/patches-4.14.x-rt/0252-rbtree-don-t-include-the-rcu-header.patch b/kernel/patches-4.14.x-rt/0251-rbtree-don-t-include-the-rcu-header.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0252-rbtree-don-t-include-the-rcu-header.patch rename to kernel/patches-4.14.x-rt/0251-rbtree-don-t-include-the-rcu-header.patch index 838b54487..1b30daaf5 100644 --- a/kernel/patches-4.14.x-rt/0252-rbtree-don-t-include-the-rcu-header.patch +++ b/kernel/patches-4.14.x-rt/0251-rbtree-don-t-include-the-rcu-header.patch @@ -1,7 +1,7 @@ -From ae6f286a9ce3bcf89a831115bd32288a99e196e4 Mon Sep 17 00:00:00 2001 +From 7b956443eea7f72193bc66465b88cf1f871287cb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 3 May 2018 17:46:31 +0200 -Subject: [PATCH 252/414] rbtree: don't include the rcu header +Subject: [PATCH 251/413] rbtree: don't include the rcu header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0253-rtmutex-Provide-rt_mutex_slowlock_locked.patch b/kernel/patches-4.14.x-rt/0252-rtmutex-Provide-rt_mutex_slowlock_locked.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0253-rtmutex-Provide-rt_mutex_slowlock_locked.patch rename to kernel/patches-4.14.x-rt/0252-rtmutex-Provide-rt_mutex_slowlock_locked.patch index cc0a25732..b7e1f54a9 100644 --- a/kernel/patches-4.14.x-rt/0253-rtmutex-Provide-rt_mutex_slowlock_locked.patch +++ b/kernel/patches-4.14.x-rt/0252-rtmutex-Provide-rt_mutex_slowlock_locked.patch @@ -1,7 +1,7 @@ -From 3d3d1ef6dafbd42de66fab589141b29145c1f470 Mon Sep 17 00:00:00 2001 +From 4e6c12d9702e106edc2f5f496ae6746ec908137e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 16:14:22 +0200 -Subject: [PATCH 253/414] rtmutex: Provide rt_mutex_slowlock_locked() +Subject: [PATCH 252/413] rtmutex: Provide rt_mutex_slowlock_locked() This is the inner-part of rt_mutex_slowlock(), required for rwsem-rt. diff --git a/kernel/patches-4.14.x-rt/0254-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch b/kernel/patches-4.14.x-rt/0253-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0254-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch rename to kernel/patches-4.14.x-rt/0253-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch index c8d91a2a5..1d89d1932 100644 --- a/kernel/patches-4.14.x-rt/0254-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch +++ b/kernel/patches-4.14.x-rt/0253-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch @@ -1,7 +1,7 @@ -From 26cf381f1c56b8abec165c36d61255b7fe2bf946 Mon Sep 17 00:00:00 2001 +From af78b8a16e4360e5a51df6a433cc43b3e8d0d6d7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 16:36:39 +0200 -Subject: [PATCH 254/414] rtmutex: export lockdep-less version of rt_mutex's +Subject: [PATCH 253/413] rtmutex: export lockdep-less version of rt_mutex's lock, trylock and unlock Required for lock implementation ontop of rtmutex. diff --git a/kernel/patches-4.14.x-rt/0255-rtmutex-add-sleeping-lock-implementation.patch b/kernel/patches-4.14.x-rt/0254-rtmutex-add-sleeping-lock-implementation.patch similarity index 99% rename from kernel/patches-4.14.x-rt/0255-rtmutex-add-sleeping-lock-implementation.patch rename to kernel/patches-4.14.x-rt/0254-rtmutex-add-sleeping-lock-implementation.patch index a5e69d58d..9a8da7da1 100644 --- a/kernel/patches-4.14.x-rt/0255-rtmutex-add-sleeping-lock-implementation.patch +++ b/kernel/patches-4.14.x-rt/0254-rtmutex-add-sleeping-lock-implementation.patch @@ -1,7 +1,7 @@ -From b8a38a2891b1341451230267be7839163c718488 Mon Sep 17 00:00:00 2001 +From 82d1316475d5e80d5d4e7247f408c3e7d55b01f0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:11:19 +0200 -Subject: [PATCH 255/414] rtmutex: add sleeping lock implementation +Subject: [PATCH 254/413] rtmutex: add sleeping lock implementation Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior @@ -392,10 +392,10 @@ index 000000000000..3e3d8c5f7a9a + +#endif diff --git a/kernel/fork.c b/kernel/fork.c -index fe48256ed179..06ee8ea6daaf 100644 +index 7f1faa476ca5..72700b643f9e 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -600,6 +600,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) +@@ -599,6 +599,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) tsk->splice_pipe = NULL; tsk->task_frag.page = NULL; tsk->wake_q.next = NULL; @@ -1161,7 +1161,7 @@ index ff17912f869c..2d822a08c87d 100644 #ifdef CONFIG_DEBUG_RT_MUTEXES # include "rtmutex-debug.h" diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index c1a9f731f4f4..64037c0a3a69 100644 +index b8529f66f258..521100928bce 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -427,9 +427,15 @@ static bool set_nr_if_polling(struct task_struct *p) diff --git a/kernel/patches-4.14.x-rt/0256-rtmutex-add-mutex-implementation-based-on-rtmutex.patch b/kernel/patches-4.14.x-rt/0255-rtmutex-add-mutex-implementation-based-on-rtmutex.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0256-rtmutex-add-mutex-implementation-based-on-rtmutex.patch rename to kernel/patches-4.14.x-rt/0255-rtmutex-add-mutex-implementation-based-on-rtmutex.patch index eba62c8cb..4b4700da1 100644 --- a/kernel/patches-4.14.x-rt/0256-rtmutex-add-mutex-implementation-based-on-rtmutex.patch +++ b/kernel/patches-4.14.x-rt/0255-rtmutex-add-mutex-implementation-based-on-rtmutex.patch @@ -1,7 +1,7 @@ -From 433a7865e9fedf09e9e0aa2c4255f5ab66084c77 Mon Sep 17 00:00:00 2001 +From 59a84f4042a9b7661a81aeb4d33d0d1b81f12528 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:17:03 +0200 -Subject: [PATCH 256/414] rtmutex: add mutex implementation based on rtmutex +Subject: [PATCH 255/413] rtmutex: add mutex implementation based on rtmutex Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior diff --git a/kernel/patches-4.14.x-rt/0257-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch b/kernel/patches-4.14.x-rt/0256-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0257-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch rename to kernel/patches-4.14.x-rt/0256-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch index e08383391..3c71fdedb 100644 --- a/kernel/patches-4.14.x-rt/0257-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch +++ b/kernel/patches-4.14.x-rt/0256-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch @@ -1,7 +1,7 @@ -From 3ded4d52efa4205d204be7002f6ffeac9e7a132a Mon Sep 17 00:00:00 2001 +From ea2a0f31e90305695a623b57e1fba3d6476cd728 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:28:34 +0200 -Subject: [PATCH 257/414] rtmutex: add rwsem implementation based on rtmutex +Subject: [PATCH 256/413] rtmutex: add rwsem implementation based on rtmutex The RT specific R/W semaphore implementation restricts the number of readers to one because a writer cannot block on multiple readers and inherit its diff --git a/kernel/patches-4.14.x-rt/0258-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch b/kernel/patches-4.14.x-rt/0257-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch similarity index 99% rename from kernel/patches-4.14.x-rt/0258-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch rename to kernel/patches-4.14.x-rt/0257-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch index d0e4afde3..5c1f2dc02 100644 --- a/kernel/patches-4.14.x-rt/0258-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch +++ b/kernel/patches-4.14.x-rt/0257-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch @@ -1,7 +1,7 @@ -From 838a593989957b510303835a7a173adbc6a4625d Mon Sep 17 00:00:00 2001 +From 187a4d97e6fbe457e02224c7d7521db6f7bd4b9a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:18:06 +0200 -Subject: [PATCH 258/414] rtmutex: add rwlock implementation based on rtmutex +Subject: [PATCH 257/413] rtmutex: add rwlock implementation based on rtmutex The implementation is bias-based, similar to the rwsem implementation. diff --git a/kernel/patches-4.14.x-rt/0259-rtmutex-wire-up-RT-s-locking.patch b/kernel/patches-4.14.x-rt/0258-rtmutex-wire-up-RT-s-locking.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0259-rtmutex-wire-up-RT-s-locking.patch rename to kernel/patches-4.14.x-rt/0258-rtmutex-wire-up-RT-s-locking.patch index 2d178d4e2..9573df477 100644 --- a/kernel/patches-4.14.x-rt/0259-rtmutex-wire-up-RT-s-locking.patch +++ b/kernel/patches-4.14.x-rt/0258-rtmutex-wire-up-RT-s-locking.patch @@ -1,7 +1,7 @@ -From 1265b2c48de713ac4b67afb041e364c0ebb1ca90 Mon Sep 17 00:00:00 2001 +From b9e91379b1caa42f3bab18b2222dd4525239d2a0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:31:14 +0200 -Subject: [PATCH 259/414] rtmutex: wire up RT's locking +Subject: [PATCH 258/413] rtmutex: wire up RT's locking Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior diff --git a/kernel/patches-4.14.x-rt/0260-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch b/kernel/patches-4.14.x-rt/0259-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0260-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch rename to kernel/patches-4.14.x-rt/0259-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch index e2db42ac0..da643390e 100644 --- a/kernel/patches-4.14.x-rt/0260-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch +++ b/kernel/patches-4.14.x-rt/0259-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch @@ -1,7 +1,7 @@ -From d2da780ec21e820c1fdad4b07e51bc17269443ba Mon Sep 17 00:00:00 2001 +From 574b455571f59bb83cf90d56e9da47d407acd7fc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 12 Oct 2017 17:34:38 +0200 -Subject: [PATCH 260/414] rtmutex: add ww_mutex addon for mutex-rt +Subject: [PATCH 259/413] rtmutex: add ww_mutex addon for mutex-rt Signed-off-by: Sebastian Andrzej Siewior --- diff --git a/kernel/patches-4.14.x-rt/0261-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch b/kernel/patches-4.14.x-rt/0260-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0261-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch rename to kernel/patches-4.14.x-rt/0260-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch index c6731dda5..8ae81760c 100644 --- a/kernel/patches-4.14.x-rt/0261-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch +++ b/kernel/patches-4.14.x-rt/0260-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch @@ -1,7 +1,7 @@ -From c609f7ced043380c493f1ef63769f828443a862f Mon Sep 17 00:00:00 2001 +From 19e7696147b2d4c813596d0f4798488fb2d07c11 Mon Sep 17 00:00:00 2001 From: Mikulas Patocka Date: Mon, 13 Nov 2017 12:56:53 -0500 -Subject: [PATCH 261/414] locking/rt-mutex: fix deadlock in device mapper / +Subject: [PATCH 260/413] locking/rt-mutex: fix deadlock in device mapper / block-IO When some block device driver creates a bio and submits it to another diff --git a/kernel/patches-4.14.x-rt/0262-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch b/kernel/patches-4.14.x-rt/0261-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0262-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch rename to kernel/patches-4.14.x-rt/0261-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch index a0a061249..3d3be5a44 100644 --- a/kernel/patches-4.14.x-rt/0262-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch +++ b/kernel/patches-4.14.x-rt/0261-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch @@ -1,7 +1,7 @@ -From 82672752b4df7f0b7d4df912389503d3de3086e1 Mon Sep 17 00:00:00 2001 +From 464e9576e0fada6487bcc6fabba8a302c268e271 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 16 Nov 2017 16:48:48 +0100 -Subject: [PATCH 262/414] locking/rtmutex: re-init the wait_lock in +Subject: [PATCH 261/413] locking/rtmutex: re-init the wait_lock in rt_mutex_init_proxy_locked() We could provide a key-class for the lockdep (and fixup all callers) or diff --git a/kernel/patches-4.14.x-rt/0263-ptrace-fix-ptrace-vs-tasklist_lock-race.patch b/kernel/patches-4.14.x-rt/0262-ptrace-fix-ptrace-vs-tasklist_lock-race.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0263-ptrace-fix-ptrace-vs-tasklist_lock-race.patch rename to kernel/patches-4.14.x-rt/0262-ptrace-fix-ptrace-vs-tasklist_lock-race.patch index f4f911875..c018d8332 100644 --- a/kernel/patches-4.14.x-rt/0263-ptrace-fix-ptrace-vs-tasklist_lock-race.patch +++ b/kernel/patches-4.14.x-rt/0262-ptrace-fix-ptrace-vs-tasklist_lock-race.patch @@ -1,7 +1,7 @@ -From ebd8f6b11dbf31d6bc9fbeda5b100267ca9c6790 Mon Sep 17 00:00:00 2001 +From 5648ff3390c4e70eae6838b7c2bb928382eed970 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Aug 2013 18:21:04 +0200 -Subject: [PATCH 263/414] ptrace: fix ptrace vs tasklist_lock race +Subject: [PATCH 262/413] ptrace: fix ptrace vs tasklist_lock race As explained by Alexander Fyodorov : @@ -119,7 +119,7 @@ index 84b1367935e4..b32a86f63522 100644 } spin_unlock_irq(&task->sighand->siglock); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 64037c0a3a69..e65183f84373 100644 +index 521100928bce..ae45cd2e929f 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1378,6 +1378,18 @@ int migrate_swap(struct task_struct *cur, struct task_struct *p) diff --git a/kernel/patches-4.14.x-rt/0264-RCU-we-need-to-skip-that-warning-but-only-on-sleepin.patch b/kernel/patches-4.14.x-rt/0263-RCU-we-need-to-skip-that-warning-but-only-on-sleepin.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0264-RCU-we-need-to-skip-that-warning-but-only-on-sleepin.patch rename to kernel/patches-4.14.x-rt/0263-RCU-we-need-to-skip-that-warning-but-only-on-sleepin.patch index c48582d7d..0841c65e1 100644 --- a/kernel/patches-4.14.x-rt/0264-RCU-we-need-to-skip-that-warning-but-only-on-sleepin.patch +++ b/kernel/patches-4.14.x-rt/0263-RCU-we-need-to-skip-that-warning-but-only-on-sleepin.patch @@ -1,7 +1,7 @@ -From d7e0333c833b7053d342564e783a3322830e1203 Mon Sep 17 00:00:00 2001 +From 7e0413870dd49885cceca1b92ef3f02aa34e977b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Sep 2017 14:25:13 +0200 -Subject: [PATCH 264/414] RCU: we need to skip that warning but only on +Subject: [PATCH 263/413] RCU: we need to skip that warning but only on sleeping locks This check is okay for upstream. On RT we trigger this while blocking on diff --git a/kernel/patches-4.14.x-rt/0265-RCU-skip-the-schedule-in-RCU-section-warning-on-UP-t.patch b/kernel/patches-4.14.x-rt/0264-RCU-skip-the-schedule-in-RCU-section-warning-on-UP-t.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0265-RCU-skip-the-schedule-in-RCU-section-warning-on-UP-t.patch rename to kernel/patches-4.14.x-rt/0264-RCU-skip-the-schedule-in-RCU-section-warning-on-UP-t.patch index df5ca5291..133ee6b3b 100644 --- a/kernel/patches-4.14.x-rt/0265-RCU-skip-the-schedule-in-RCU-section-warning-on-UP-t.patch +++ b/kernel/patches-4.14.x-rt/0264-RCU-skip-the-schedule-in-RCU-section-warning-on-UP-t.patch @@ -1,7 +1,7 @@ -From e19826cad68ff4b88932dd4cb0db21bf7540c5b3 Mon Sep 17 00:00:00 2001 +From d99a8f8fd7a3e3fbb2b7c9fec008317eb2122676 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 16 Feb 2018 11:45:13 +0100 -Subject: [PATCH 265/414] RCU: skip the "schedule() in RCU section" warning on +Subject: [PATCH 264/413] RCU: skip the "schedule() in RCU section" warning on UP, too In "RCU: we need to skip that warning but only on sleeping locks" we @@ -74,10 +74,10 @@ index 787321ad4f5f..18b98ae934a2 100644 #endif WARN_ON_ONCE(!preempt && t->rcu_read_lock_nesting > 0 && !mg_counter); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index e65183f84373..d65f7506bdfd 100644 +index ae45cd2e929f..ab6ec5fb6796 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -7022,4 +7022,49 @@ void migrate_enable(void) +@@ -7016,4 +7016,49 @@ void migrate_enable(void) preempt_enable(); } EXPORT_SYMBOL(migrate_enable); diff --git a/kernel/patches-4.14.x-rt/0266-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch b/kernel/patches-4.14.x-rt/0265-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0266-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch rename to kernel/patches-4.14.x-rt/0265-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch index 04f4e6790..26aa2b752 100644 --- a/kernel/patches-4.14.x-rt/0266-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch +++ b/kernel/patches-4.14.x-rt/0265-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch @@ -1,7 +1,7 @@ -From c33ca9c10eec95d9915b5d52b3fb15dec425e5ea Mon Sep 17 00:00:00 2001 +From c008e41365e41c9a4d6bfb853b4c59e8d8846daf Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 4 Aug 2017 17:40:42 +0200 -Subject: [PATCH 266/414] locking: don't check for __LINUX_SPINLOCK_TYPES_H on +Subject: [PATCH 265/413] locking: don't check for __LINUX_SPINLOCK_TYPES_H on -RT archs Upstream uses arch_spinlock_t within spinlock_t and requests that diff --git a/kernel/patches-4.14.x-rt/0267-rcu-Frob-softirq-test.patch b/kernel/patches-4.14.x-rt/0266-rcu-Frob-softirq-test.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0267-rcu-Frob-softirq-test.patch rename to kernel/patches-4.14.x-rt/0266-rcu-Frob-softirq-test.patch index 3011b045b..72ef27fa8 100644 --- a/kernel/patches-4.14.x-rt/0267-rcu-Frob-softirq-test.patch +++ b/kernel/patches-4.14.x-rt/0266-rcu-Frob-softirq-test.patch @@ -1,7 +1,7 @@ -From 83fb9b08491b69e613fb85366c98a0ecf60f0bc1 Mon Sep 17 00:00:00 2001 +From edc28ec7fe0fb938a477c59e11c8ed3581890a11 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Sat, 13 Aug 2011 00:23:17 +0200 -Subject: [PATCH 267/414] rcu: Frob softirq test +Subject: [PATCH 266/413] rcu: Frob softirq test With RT_FULL we get the below wreckage: diff --git a/kernel/patches-4.14.x-rt/0268-rcu-Merge-RCU-bh-into-RCU-preempt.patch b/kernel/patches-4.14.x-rt/0267-rcu-Merge-RCU-bh-into-RCU-preempt.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0268-rcu-Merge-RCU-bh-into-RCU-preempt.patch rename to kernel/patches-4.14.x-rt/0267-rcu-Merge-RCU-bh-into-RCU-preempt.patch index c40a5ca72..e49d12bf0 100644 --- a/kernel/patches-4.14.x-rt/0268-rcu-Merge-RCU-bh-into-RCU-preempt.patch +++ b/kernel/patches-4.14.x-rt/0267-rcu-Merge-RCU-bh-into-RCU-preempt.patch @@ -1,7 +1,7 @@ -From a670e3c27647b2538868410eb482a1a36bfa3ad2 Mon Sep 17 00:00:00 2001 +From f2fa0abab67742e43365554fb7dc0003685bffc4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 5 Oct 2011 11:59:38 -0700 -Subject: [PATCH 268/414] rcu: Merge RCU-bh into RCU-preempt +Subject: [PATCH 267/413] rcu: Merge RCU-bh into RCU-preempt The Linux kernel has long RCU-bh read-side critical sections that intolerably increase scheduling latency under mainline's RCU-bh rules, diff --git a/kernel/patches-4.14.x-rt/0269-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch b/kernel/patches-4.14.x-rt/0268-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0269-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch rename to kernel/patches-4.14.x-rt/0268-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch index 01802fa9a..41afa7467 100644 --- a/kernel/patches-4.14.x-rt/0269-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch +++ b/kernel/patches-4.14.x-rt/0268-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch @@ -1,7 +1,7 @@ -From b28380fae1b131566ec50632c3e5fe6f85a46a80 Mon Sep 17 00:00:00 2001 +From b6cb84bfbdcb373ad3aa64df05d677a2519c83be Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 5 Oct 2011 11:45:18 -0700 -Subject: [PATCH 269/414] rcu: Make ksoftirqd do RCU quiescent states +Subject: [PATCH 268/413] rcu: Make ksoftirqd do RCU quiescent states Implementing RCU-bh in terms of RCU-preempt makes the system vulnerable to network-based denial-of-service attacks. This patch therefore diff --git a/kernel/patches-4.14.x-rt/0270-rcutree-rcu_bh_qs-Disable-irq-while-calling-rcu_pree.patch b/kernel/patches-4.14.x-rt/0269-rcutree-rcu_bh_qs-Disable-irq-while-calling-rcu_pree.patch similarity index 92% rename from kernel/patches-4.14.x-rt/0270-rcutree-rcu_bh_qs-Disable-irq-while-calling-rcu_pree.patch rename to kernel/patches-4.14.x-rt/0269-rcutree-rcu_bh_qs-Disable-irq-while-calling-rcu_pree.patch index 64a09140d..1318c528a 100644 --- a/kernel/patches-4.14.x-rt/0270-rcutree-rcu_bh_qs-Disable-irq-while-calling-rcu_pree.patch +++ b/kernel/patches-4.14.x-rt/0269-rcutree-rcu_bh_qs-Disable-irq-while-calling-rcu_pree.patch @@ -1,7 +1,7 @@ -From 915ce289d0195d4b7803b0c81d9fbc65c0b5da61 Mon Sep 17 00:00:00 2001 +From d70b43921b037705e87de78b77ac66e2e0587c97 Mon Sep 17 00:00:00 2001 From: Tiejun Chen Date: Wed, 18 Dec 2013 17:51:49 +0800 -Subject: [PATCH 270/414] rcutree/rcu_bh_qs: Disable irq while calling +Subject: [PATCH 269/413] rcutree/rcu_bh_qs: Disable irq while calling rcu_preempt_qs() Any callers to the function rcu_preempt_qs() must disable irqs in diff --git a/kernel/patches-4.14.x-rt/0271-tty-serial-omap-Make-the-locking-RT-aware.patch b/kernel/patches-4.14.x-rt/0270-tty-serial-omap-Make-the-locking-RT-aware.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0271-tty-serial-omap-Make-the-locking-RT-aware.patch rename to kernel/patches-4.14.x-rt/0270-tty-serial-omap-Make-the-locking-RT-aware.patch index ade43e924..a139dc509 100644 --- a/kernel/patches-4.14.x-rt/0271-tty-serial-omap-Make-the-locking-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0270-tty-serial-omap-Make-the-locking-RT-aware.patch @@ -1,7 +1,7 @@ -From 7bfeb4912ab85c2108c608ce7d748b4f03700fc9 Mon Sep 17 00:00:00 2001 +From 51cc59a41b4cbf35d12e90170073eb6c77cc6a3a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 28 Jul 2011 13:32:57 +0200 -Subject: [PATCH 271/414] tty/serial/omap: Make the locking RT aware +Subject: [PATCH 270/413] tty/serial/omap: Make the locking RT aware The lock is a sleeping lock and local_irq_save() is not the optimsation we are looking for. Redo it to make it work on -RT and diff --git a/kernel/patches-4.14.x-rt/0272-tty-serial-pl011-Make-the-locking-work-on-RT.patch b/kernel/patches-4.14.x-rt/0271-tty-serial-pl011-Make-the-locking-work-on-RT.patch similarity index 92% rename from kernel/patches-4.14.x-rt/0272-tty-serial-pl011-Make-the-locking-work-on-RT.patch rename to kernel/patches-4.14.x-rt/0271-tty-serial-pl011-Make-the-locking-work-on-RT.patch index 8a256d327..33dd670e4 100644 --- a/kernel/patches-4.14.x-rt/0272-tty-serial-pl011-Make-the-locking-work-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0271-tty-serial-pl011-Make-the-locking-work-on-RT.patch @@ -1,7 +1,7 @@ -From f71d04d37956ed4e335bfc5aa1976e6f853fb4ca Mon Sep 17 00:00:00 2001 +From b5be22374c629b8548d9aba70dedc473a1d00686 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 8 Jan 2013 21:36:51 +0100 -Subject: [PATCH 272/414] tty/serial/pl011: Make the locking work on RT +Subject: [PATCH 271/413] tty/serial/pl011: Make the locking work on RT The lock is a sleeping lock and local_irq_save() is not the optimsation we are looking for. Redo it to make it work on -RT and non-RT. diff --git a/kernel/patches-4.14.x-rt/0273-rt-Improve-the-serial-console-PASS_LIMIT.patch b/kernel/patches-4.14.x-rt/0272-rt-Improve-the-serial-console-PASS_LIMIT.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0273-rt-Improve-the-serial-console-PASS_LIMIT.patch rename to kernel/patches-4.14.x-rt/0272-rt-Improve-the-serial-console-PASS_LIMIT.patch index 80495c6ae..fe6e039a4 100644 --- a/kernel/patches-4.14.x-rt/0273-rt-Improve-the-serial-console-PASS_LIMIT.patch +++ b/kernel/patches-4.14.x-rt/0272-rt-Improve-the-serial-console-PASS_LIMIT.patch @@ -1,7 +1,7 @@ -From 98db40e17829df0dd3a1fe520247508d49eb8657 Mon Sep 17 00:00:00 2001 +From 811d88a3abc9554d7afff9812afd21b3be1c0880 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 14 Dec 2011 13:05:54 +0100 -Subject: [PATCH 273/414] rt: Improve the serial console PASS_LIMIT +Subject: [PATCH 272/413] rt: Improve the serial console PASS_LIMIT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0274-tty-serial-8250-don-t-take-the-trylock-during-oops.patch b/kernel/patches-4.14.x-rt/0273-tty-serial-8250-don-t-take-the-trylock-during-oops.patch similarity index 89% rename from kernel/patches-4.14.x-rt/0274-tty-serial-8250-don-t-take-the-trylock-during-oops.patch rename to kernel/patches-4.14.x-rt/0273-tty-serial-8250-don-t-take-the-trylock-during-oops.patch index 227694b94..7fe789c1f 100644 --- a/kernel/patches-4.14.x-rt/0274-tty-serial-8250-don-t-take-the-trylock-during-oops.patch +++ b/kernel/patches-4.14.x-rt/0273-tty-serial-8250-don-t-take-the-trylock-during-oops.patch @@ -1,7 +1,7 @@ -From 8f34f5a727c1131fefe52854b672c1f8d547075f Mon Sep 17 00:00:00 2001 +From f4dca4f6b75b5db48ca0e1b35911a7899ce088be Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Apr 2016 16:55:02 +0200 -Subject: [PATCH 274/414] tty: serial: 8250: don't take the trylock during oops +Subject: [PATCH 273/413] tty: serial: 8250: don't take the trylock during oops An oops with irqs off (panic() from irqsafe hrtimer like the watchdog timer) will lead to a lockdep warning on each invocation and as such diff --git a/kernel/patches-4.14.x-rt/0275-locking-percpu-rwsem-Remove-preempt_disable-variants.patch b/kernel/patches-4.14.x-rt/0274-locking-percpu-rwsem-Remove-preempt_disable-variants.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0275-locking-percpu-rwsem-Remove-preempt_disable-variants.patch rename to kernel/patches-4.14.x-rt/0274-locking-percpu-rwsem-Remove-preempt_disable-variants.patch index 3ee247c23..85a70fbad 100644 --- a/kernel/patches-4.14.x-rt/0275-locking-percpu-rwsem-Remove-preempt_disable-variants.patch +++ b/kernel/patches-4.14.x-rt/0274-locking-percpu-rwsem-Remove-preempt_disable-variants.patch @@ -1,7 +1,7 @@ -From 96684c5bc8c08d4b77e1e8de466dc74e62b4e6d4 Mon Sep 17 00:00:00 2001 +From cfbd909766358b845c3384a8600d3f3a648536ef Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Wed, 23 Nov 2016 16:29:32 +0100 -Subject: [PATCH 275/414] locking/percpu-rwsem: Remove preempt_disable variants +Subject: [PATCH 274/413] locking/percpu-rwsem: Remove preempt_disable variants Effective revert commit: diff --git a/kernel/patches-4.14.x-rt/0276-fs-namespace-preemption-fix.patch b/kernel/patches-4.14.x-rt/0275-fs-namespace-preemption-fix.patch similarity index 86% rename from kernel/patches-4.14.x-rt/0276-fs-namespace-preemption-fix.patch rename to kernel/patches-4.14.x-rt/0275-fs-namespace-preemption-fix.patch index 447df170f..f7576e346 100644 --- a/kernel/patches-4.14.x-rt/0276-fs-namespace-preemption-fix.patch +++ b/kernel/patches-4.14.x-rt/0275-fs-namespace-preemption-fix.patch @@ -1,7 +1,7 @@ -From ab2dce566dbd1b9ac65945e69500355aed443f5c Mon Sep 17 00:00:00 2001 +From 5b4ccb61ef8ad79aba8b6e566aa9c7a9c89752c4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 19 Jul 2009 08:44:27 -0500 -Subject: [PATCH 276/414] fs: namespace preemption fix +Subject: [PATCH 275/413] fs: namespace preemption fix On RT we cannot loop with preemption disabled here as mnt_make_readonly() might have been preempted. We can safely enable @@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/namespace.c b/fs/namespace.c -index 1eb3bfd8be5a..0a74d6c02928 100644 +index 9dc146e7b5e0..63c157047e4d 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -353,8 +353,11 @@ int __mnt_want_write(struct vfsmount *m) diff --git a/kernel/patches-4.14.x-rt/0277-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch b/kernel/patches-4.14.x-rt/0276-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0277-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch rename to kernel/patches-4.14.x-rt/0276-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch index 8ff7f8341..57b561144 100644 --- a/kernel/patches-4.14.x-rt/0277-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch +++ b/kernel/patches-4.14.x-rt/0276-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch @@ -1,7 +1,7 @@ -From 3dcaa74177f1e95f0b7214fa224614a1f3fd16c2 Mon Sep 17 00:00:00 2001 +From 3bf4b59a29ede4b46f2590995ccc3a989989f0ed Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Tue, 15 May 2012 13:53:56 +0800 -Subject: [PATCH 277/414] mm: Protect activate_mm() by +Subject: [PATCH 276/413] mm: Protect activate_mm() by preempt_[disable&enable]_rt() User preempt_*_rt instead of local_irq_*_rt or otherwise there will be diff --git a/kernel/patches-4.14.x-rt/0278-block-Turn-off-warning-which-is-bogus-on-RT.patch b/kernel/patches-4.14.x-rt/0277-block-Turn-off-warning-which-is-bogus-on-RT.patch similarity index 85% rename from kernel/patches-4.14.x-rt/0278-block-Turn-off-warning-which-is-bogus-on-RT.patch rename to kernel/patches-4.14.x-rt/0277-block-Turn-off-warning-which-is-bogus-on-RT.patch index e186797f8..6261ef6d4 100644 --- a/kernel/patches-4.14.x-rt/0278-block-Turn-off-warning-which-is-bogus-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0277-block-Turn-off-warning-which-is-bogus-on-RT.patch @@ -1,7 +1,7 @@ -From bd21c3ac17eac6df8a1c67e53e6054125bd5e27b Mon Sep 17 00:00:00 2001 +From bc74fd4d1de638ebf56e0a35ed2b070cff625b30 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jun 2011 17:05:09 +0200 -Subject: [PATCH 278/414] block: Turn off warning which is bogus on RT +Subject: [PATCH 277/413] block: Turn off warning which is bogus on RT On -RT the context is always with IRQs enabled. Ignore this warning on -RT. diff --git a/kernel/patches-4.14.x-rt/0279-fs-ntfs-disable-interrupt-only-on-RT.patch b/kernel/patches-4.14.x-rt/0278-fs-ntfs-disable-interrupt-only-on-RT.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0279-fs-ntfs-disable-interrupt-only-on-RT.patch rename to kernel/patches-4.14.x-rt/0278-fs-ntfs-disable-interrupt-only-on-RT.patch index b5cec54e8..e941f94b7 100644 --- a/kernel/patches-4.14.x-rt/0279-fs-ntfs-disable-interrupt-only-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0278-fs-ntfs-disable-interrupt-only-on-RT.patch @@ -1,7 +1,7 @@ -From ef315e0c27e3b94211279e30e02c0b680e571a5f Mon Sep 17 00:00:00 2001 +From 88415e391f567b20ccd8ac8bcbfd42ab7ae08728 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Fri, 3 Jul 2009 08:44:12 -0500 -Subject: [PATCH 279/414] fs: ntfs: disable interrupt only on !RT +Subject: [PATCH 278/413] fs: ntfs: disable interrupt only on !RT On Sat, 2007-10-27 at 11:44 +0200, Ingo Molnar wrote: > * Nick Piggin wrote: diff --git a/kernel/patches-4.14.x-rt/0280-fs-jbd2-pull-your-plug-when-waiting-for-space.patch b/kernel/patches-4.14.x-rt/0279-fs-jbd2-pull-your-plug-when-waiting-for-space.patch similarity index 89% rename from kernel/patches-4.14.x-rt/0280-fs-jbd2-pull-your-plug-when-waiting-for-space.patch rename to kernel/patches-4.14.x-rt/0279-fs-jbd2-pull-your-plug-when-waiting-for-space.patch index a5a989d41..ef9e4346a 100644 --- a/kernel/patches-4.14.x-rt/0280-fs-jbd2-pull-your-plug-when-waiting-for-space.patch +++ b/kernel/patches-4.14.x-rt/0279-fs-jbd2-pull-your-plug-when-waiting-for-space.patch @@ -1,7 +1,7 @@ -From 574717bcefe8f350e88ca9eabf46e7624290092a Mon Sep 17 00:00:00 2001 +From f0e0b387b8303283071379b1d474522a2a568e22 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 17 Feb 2014 17:30:03 +0100 -Subject: [PATCH 280/414] fs: jbd2: pull your plug when waiting for space +Subject: [PATCH 279/413] fs: jbd2: pull your plug when waiting for space Two cps in parallel managed to stall the the ext4 fs. It seems that journal code is either waiting for locks or sleeping waiting for diff --git a/kernel/patches-4.14.x-rt/0281-Revert-fs-jbd2-pull-your-plug-when-waiting-for-space.patch b/kernel/patches-4.14.x-rt/0280-Revert-fs-jbd2-pull-your-plug-when-waiting-for-space.patch similarity index 88% rename from kernel/patches-4.14.x-rt/0281-Revert-fs-jbd2-pull-your-plug-when-waiting-for-space.patch rename to kernel/patches-4.14.x-rt/0280-Revert-fs-jbd2-pull-your-plug-when-waiting-for-space.patch index 9f1f3e2ec..89fd0a3d4 100644 --- a/kernel/patches-4.14.x-rt/0281-Revert-fs-jbd2-pull-your-plug-when-waiting-for-space.patch +++ b/kernel/patches-4.14.x-rt/0280-Revert-fs-jbd2-pull-your-plug-when-waiting-for-space.patch @@ -1,7 +1,7 @@ -From 4767acbbeddb5acd77a45c612dc6c06411fe6435 Mon Sep 17 00:00:00 2001 +From 9a8eaca59d2f92e5a047fec107c451d5870bdd9c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 23 Nov 2017 17:51:51 +0100 -Subject: [PATCH 281/414] Revert "fs: jbd2: pull your plug when waiting for +Subject: [PATCH 280/413] Revert "fs: jbd2: pull your plug when waiting for space" This reverts commit "fs: jbd2: pull your plug when waiting for space". diff --git a/kernel/patches-4.14.x-rt/0282-fs-dcache-bringt-back-explicit-INIT_HLIST_BL_HEAD-in.patch b/kernel/patches-4.14.x-rt/0281-fs-dcache-bringt-back-explicit-INIT_HLIST_BL_HEAD-in.patch similarity index 78% rename from kernel/patches-4.14.x-rt/0282-fs-dcache-bringt-back-explicit-INIT_HLIST_BL_HEAD-in.patch rename to kernel/patches-4.14.x-rt/0281-fs-dcache-bringt-back-explicit-INIT_HLIST_BL_HEAD-in.patch index 16b288b64..8791acbb8 100644 --- a/kernel/patches-4.14.x-rt/0282-fs-dcache-bringt-back-explicit-INIT_HLIST_BL_HEAD-in.patch +++ b/kernel/patches-4.14.x-rt/0281-fs-dcache-bringt-back-explicit-INIT_HLIST_BL_HEAD-in.patch @@ -1,7 +1,7 @@ -From e5cf5fb97772b04da25f373a9f184da3ab9c01f4 Mon Sep 17 00:00:00 2001 +From 279d197f35ddd9c4350d57c9d40c214c46487528 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Sep 2017 12:32:34 +0200 -Subject: [PATCH 282/414] fs/dcache: bringt back explicit INIT_HLIST_BL_HEAD +Subject: [PATCH 281/413] fs/dcache: bringt back explicit INIT_HLIST_BL_HEAD init Commit 3d375d78593c ("mm: update callers to use HASH_ZERO flag") removed @@ -15,10 +15,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 10 insertions(+) diff --git a/fs/dcache.c b/fs/dcache.c -index 5f31a93150d1..73fe464d2240 100644 +index 8d4935978fec..5399f314db0a 100644 --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -3618,6 +3618,8 @@ __setup("dhash_entries=", set_dhash_entries); +@@ -3617,6 +3617,8 @@ __setup("dhash_entries=", set_dhash_entries); static void __init dcache_init_early(void) { @@ -27,7 +27,7 @@ index 5f31a93150d1..73fe464d2240 100644 /* If hashes are distributed across NUMA nodes, defer * hash allocation until vmalloc space is available. */ -@@ -3634,10 +3636,14 @@ static void __init dcache_init_early(void) +@@ -3633,10 +3635,14 @@ static void __init dcache_init_early(void) &d_hash_mask, 0, 0); @@ -42,7 +42,7 @@ index 5f31a93150d1..73fe464d2240 100644 /* * A constructor could be added for stable state like the lists, * but it is probably not worth it because of the cache nature -@@ -3660,6 +3666,10 @@ static void __init dcache_init(void) +@@ -3659,6 +3665,10 @@ static void __init dcache_init(void) &d_hash_mask, 0, 0); diff --git a/kernel/patches-4.14.x-rt/0283-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch b/kernel/patches-4.14.x-rt/0282-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0283-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch rename to kernel/patches-4.14.x-rt/0282-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch index b259bb207..e8e28f33a 100644 --- a/kernel/patches-4.14.x-rt/0283-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch +++ b/kernel/patches-4.14.x-rt/0282-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch @@ -1,7 +1,7 @@ -From bb0e576eb73b966d34de4782a5cd9ae9a7d31e67 Mon Sep 17 00:00:00 2001 +From 57306a44b6eb91f9febfe108869cab6c19713a90 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 20 Oct 2017 11:29:53 +0200 -Subject: [PATCH 283/414] fs/dcache: disable preemption on i_dir_seq's write +Subject: [PATCH 282/413] fs/dcache: disable preemption on i_dir_seq's write side i_dir_seq is an opencoded seqcounter. Based on the code it looks like we @@ -24,10 +24,10 @@ Signed-off-by: Sebastian Andrzej Siewior 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/fs/dcache.c b/fs/dcache.c -index 73fe464d2240..0d8a43d0e445 100644 +index 5399f314db0a..8c828c37cd30 100644 --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -2439,9 +2439,10 @@ EXPORT_SYMBOL(d_rehash); +@@ -2438,9 +2438,10 @@ EXPORT_SYMBOL(d_rehash); static inline unsigned start_dir_add(struct inode *dir) { @@ -40,7 +40,7 @@ index 73fe464d2240..0d8a43d0e445 100644 return n; cpu_relax(); } -@@ -2449,7 +2450,8 @@ static inline unsigned start_dir_add(struct inode *dir) +@@ -2448,7 +2449,8 @@ static inline unsigned start_dir_add(struct inode *dir) static inline void end_dir_add(struct inode *dir, unsigned n) { @@ -50,7 +50,7 @@ index 73fe464d2240..0d8a43d0e445 100644 } static void d_wait_lookup(struct dentry *dentry) -@@ -2482,7 +2484,7 @@ struct dentry *d_alloc_parallel(struct dentry *parent, +@@ -2481,7 +2483,7 @@ struct dentry *d_alloc_parallel(struct dentry *parent, retry: rcu_read_lock(); @@ -59,7 +59,7 @@ index 73fe464d2240..0d8a43d0e445 100644 r_seq = read_seqbegin(&rename_lock); dentry = __d_lookup_rcu(parent, name, &d_seq); if (unlikely(dentry)) { -@@ -2510,7 +2512,7 @@ struct dentry *d_alloc_parallel(struct dentry *parent, +@@ -2509,7 +2511,7 @@ struct dentry *d_alloc_parallel(struct dentry *parent, } hlist_bl_lock(b); diff --git a/kernel/patches-4.14.x-rt/0284-x86-Convert-mce-timer-to-hrtimer.patch b/kernel/patches-4.14.x-rt/0283-x86-Convert-mce-timer-to-hrtimer.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0284-x86-Convert-mce-timer-to-hrtimer.patch rename to kernel/patches-4.14.x-rt/0283-x86-Convert-mce-timer-to-hrtimer.patch index 945805ddc..3b749988b 100644 --- a/kernel/patches-4.14.x-rt/0284-x86-Convert-mce-timer-to-hrtimer.patch +++ b/kernel/patches-4.14.x-rt/0283-x86-Convert-mce-timer-to-hrtimer.patch @@ -1,7 +1,7 @@ -From f049a2a7920d0206aa147efa5667c37e9e740dba Mon Sep 17 00:00:00 2001 +From 0bcb66ffb0a767a0b7e138856fb5e2787ab70754 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 13 Dec 2010 16:33:39 +0100 -Subject: [PATCH 284/414] x86: Convert mce timer to hrtimer +Subject: [PATCH 283/413] x86: Convert mce timer to hrtimer mce_timer is started in atomic contexts of cpu bringup. This results in might_sleep() warnings on RT. Convert mce_timer to a hrtimer to diff --git a/kernel/patches-4.14.x-rt/0285-x86-mce-use-swait-queue-for-mce-wakeups.patch b/kernel/patches-4.14.x-rt/0284-x86-mce-use-swait-queue-for-mce-wakeups.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0285-x86-mce-use-swait-queue-for-mce-wakeups.patch rename to kernel/patches-4.14.x-rt/0284-x86-mce-use-swait-queue-for-mce-wakeups.patch index b550eb13e..b55987986 100644 --- a/kernel/patches-4.14.x-rt/0285-x86-mce-use-swait-queue-for-mce-wakeups.patch +++ b/kernel/patches-4.14.x-rt/0284-x86-mce-use-swait-queue-for-mce-wakeups.patch @@ -1,7 +1,7 @@ -From fd77c501f6daf3fbcc45d2eb771933541f89c3fb Mon Sep 17 00:00:00 2001 +From 5102b87383b6bec476a32fbb46c52a9b25fb535e Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 27 Feb 2015 15:20:37 +0100 -Subject: [PATCH 285/414] x86/mce: use swait queue for mce wakeups +Subject: [PATCH 284/413] x86/mce: use swait queue for mce wakeups We had a customer report a lockup on a 3.0-rt kernel that had the following backtrace: diff --git a/kernel/patches-4.14.x-rt/0286-x86-stackprotector-Avoid-random-pool-on-rt.patch b/kernel/patches-4.14.x-rt/0285-x86-stackprotector-Avoid-random-pool-on-rt.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0286-x86-stackprotector-Avoid-random-pool-on-rt.patch rename to kernel/patches-4.14.x-rt/0285-x86-stackprotector-Avoid-random-pool-on-rt.patch index 55599929e..c12e44e5d 100644 --- a/kernel/patches-4.14.x-rt/0286-x86-stackprotector-Avoid-random-pool-on-rt.patch +++ b/kernel/patches-4.14.x-rt/0285-x86-stackprotector-Avoid-random-pool-on-rt.patch @@ -1,7 +1,7 @@ -From 86b1849738a234ea0435b00727ed20e28514f08c Mon Sep 17 00:00:00 2001 +From 3d6704e3b8ea4e4f9a9f499471fc4e6a6d24829f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 16 Dec 2010 14:25:18 +0100 -Subject: [PATCH 286/414] x86: stackprotector: Avoid random pool on rt +Subject: [PATCH 285/413] x86: stackprotector: Avoid random pool on rt CPU bringup calls into the random pool to initialize the stack canary. During boot that works nicely even on RT as the might sleep diff --git a/kernel/patches-4.14.x-rt/0287-x86-Use-generic-rwsem_spinlocks-on-rt.patch b/kernel/patches-4.14.x-rt/0286-x86-Use-generic-rwsem_spinlocks-on-rt.patch similarity index 75% rename from kernel/patches-4.14.x-rt/0287-x86-Use-generic-rwsem_spinlocks-on-rt.patch rename to kernel/patches-4.14.x-rt/0286-x86-Use-generic-rwsem_spinlocks-on-rt.patch index 6134ecf95..63beb8928 100644 --- a/kernel/patches-4.14.x-rt/0287-x86-Use-generic-rwsem_spinlocks-on-rt.patch +++ b/kernel/patches-4.14.x-rt/0286-x86-Use-generic-rwsem_spinlocks-on-rt.patch @@ -1,7 +1,7 @@ -From 83f15e84ba21a516a0ddf84741198f3197faea0d Mon Sep 17 00:00:00 2001 +From ba75617486bdcfa0d3059fa2ba0b993083dbacda Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 26 Jul 2009 02:21:32 +0200 -Subject: [PATCH 287/414] x86: Use generic rwsem_spinlocks on -rt +Subject: [PATCH 286/413] x86: Use generic rwsem_spinlocks on -rt Simplifies the separation of anon_rw_semaphores and rw_semaphores for -rt. @@ -12,10 +12,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 7483cd514c32..310df1ea0d68 100644 +index 1c63a4b5320d..35c46e06955e 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -255,8 +255,11 @@ config ARCH_MAY_HAVE_PC_FDC +@@ -256,8 +256,11 @@ config ARCH_MAY_HAVE_PC_FDC def_bool y depends on ISA_DMA_API diff --git a/kernel/patches-4.14.x-rt/0288-x86-UV-raw_spinlock-conversion.patch b/kernel/patches-4.14.x-rt/0287-x86-UV-raw_spinlock-conversion.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0288-x86-UV-raw_spinlock-conversion.patch rename to kernel/patches-4.14.x-rt/0287-x86-UV-raw_spinlock-conversion.patch index 0bcf5011f..0e6c145c6 100644 --- a/kernel/patches-4.14.x-rt/0288-x86-UV-raw_spinlock-conversion.patch +++ b/kernel/patches-4.14.x-rt/0287-x86-UV-raw_spinlock-conversion.patch @@ -1,7 +1,7 @@ -From 93ad19dbf6708fcad3d962e123053e19b37391ac Mon Sep 17 00:00:00 2001 +From 91719b6bb1533c25b1f84753d94a45febd36dfff Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 2 Nov 2014 08:31:37 +0100 -Subject: [PATCH 288/414] x86: UV: raw_spinlock conversion +Subject: [PATCH 287/413] x86: UV: raw_spinlock conversion Shrug. Lots of hobbyists have a beast in their basement, right? @@ -52,7 +52,7 @@ index 7cac79802ad2..2ac6e347bdc5 100644 } diff --git a/arch/x86/platform/uv/tlb_uv.c b/arch/x86/platform/uv/tlb_uv.c -index 0b530c53de1f..2df1ee9a55f2 100644 +index 34f9a9ce6236..5607611df740 100644 --- a/arch/x86/platform/uv/tlb_uv.c +++ b/arch/x86/platform/uv/tlb_uv.c @@ -740,9 +740,9 @@ static void destination_plugged(struct bau_desc *bau_desc, @@ -128,7 +128,7 @@ index 0b530c53de1f..2df1ee9a55f2 100644 return -1; } -@@ -1941,9 +1941,9 @@ static void __init init_per_cpu_tunables(void) +@@ -1942,9 +1942,9 @@ static void __init init_per_cpu_tunables(void) bcp->cong_reps = congested_reps; bcp->disabled_period = sec_2_cycles(disabled_period); bcp->giveup_limit = giveup_limit; diff --git a/kernel/patches-4.14.x-rt/0289-thermal-Defer-thermal-wakups-to-threads.patch b/kernel/patches-4.14.x-rt/0288-thermal-Defer-thermal-wakups-to-threads.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0289-thermal-Defer-thermal-wakups-to-threads.patch rename to kernel/patches-4.14.x-rt/0288-thermal-Defer-thermal-wakups-to-threads.patch index 870dc16df..d7db28e9c 100644 --- a/kernel/patches-4.14.x-rt/0289-thermal-Defer-thermal-wakups-to-threads.patch +++ b/kernel/patches-4.14.x-rt/0288-thermal-Defer-thermal-wakups-to-threads.patch @@ -1,7 +1,7 @@ -From f9a8d2abb9f840ce9d313f346eb300caeb551c3d Mon Sep 17 00:00:00 2001 +From b4e150c98a1a430d8426d679ce64da79575e1d27 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Tue, 17 Feb 2015 09:37:44 +0100 -Subject: [PATCH 289/414] thermal: Defer thermal wakups to threads +Subject: [PATCH 288/413] thermal: Defer thermal wakups to threads On RT the spin lock in pkg_temp_thermal_platfrom_thermal_notify will call schedule while we run in irq context. diff --git a/kernel/patches-4.14.x-rt/0290-fs-epoll-Do-not-disable-preemption-on-RT.patch b/kernel/patches-4.14.x-rt/0289-fs-epoll-Do-not-disable-preemption-on-RT.patch similarity index 88% rename from kernel/patches-4.14.x-rt/0290-fs-epoll-Do-not-disable-preemption-on-RT.patch rename to kernel/patches-4.14.x-rt/0289-fs-epoll-Do-not-disable-preemption-on-RT.patch index 320321934..830f6ce1e 100644 --- a/kernel/patches-4.14.x-rt/0290-fs-epoll-Do-not-disable-preemption-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0289-fs-epoll-Do-not-disable-preemption-on-RT.patch @@ -1,7 +1,7 @@ -From a37c73f42bcde43346b00f1813dac19dddf0b11b Mon Sep 17 00:00:00 2001 +From 113815729f2ed27d9cf93e1436140ed801b8d119 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 16:35:35 +0200 -Subject: [PATCH 290/414] fs/epoll: Do not disable preemption on RT +Subject: [PATCH 289/413] fs/epoll: Do not disable preemption on RT ep_call_nested() takes a sleeping lock so we can't disable preemption. The light version is enough since ep_call_nested() doesn't mind beeing diff --git a/kernel/patches-4.14.x-rt/0291-mm-vmalloc-Another-preempt-disable-region-which-suck.patch b/kernel/patches-4.14.x-rt/0290-mm-vmalloc-Another-preempt-disable-region-which-suck.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0291-mm-vmalloc-Another-preempt-disable-region-which-suck.patch rename to kernel/patches-4.14.x-rt/0290-mm-vmalloc-Another-preempt-disable-region-which-suck.patch index 5a7ac5419..2fb4e0032 100644 --- a/kernel/patches-4.14.x-rt/0291-mm-vmalloc-Another-preempt-disable-region-which-suck.patch +++ b/kernel/patches-4.14.x-rt/0290-mm-vmalloc-Another-preempt-disable-region-which-suck.patch @@ -1,7 +1,7 @@ -From 74e7ce72da715917b95d78afa742f23ca1197823 Mon Sep 17 00:00:00 2001 +From 42ea21c373fc644ab97c570cf5cabf34fad5d346 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 11:39:36 +0200 -Subject: [PATCH 291/414] mm/vmalloc: Another preempt disable region which +Subject: [PATCH 290/413] mm/vmalloc: Another preempt disable region which sucks Avoid the preempt disable version of get_cpu_var(). The inner-lock should @@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c -index ebff729cc956..5e3c3b21fe9e 100644 +index 9ff21a12ea00..95c83b291548 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -865,7 +865,7 @@ static void *new_vmap_block(unsigned int order, gfp_t gfp_mask) diff --git a/kernel/patches-4.14.x-rt/0292-block-mq-use-cpu_light.patch b/kernel/patches-4.14.x-rt/0291-block-mq-use-cpu_light.patch similarity index 88% rename from kernel/patches-4.14.x-rt/0292-block-mq-use-cpu_light.patch rename to kernel/patches-4.14.x-rt/0291-block-mq-use-cpu_light.patch index 80c7f7f9f..f26781c4b 100644 --- a/kernel/patches-4.14.x-rt/0292-block-mq-use-cpu_light.patch +++ b/kernel/patches-4.14.x-rt/0291-block-mq-use-cpu_light.patch @@ -1,7 +1,7 @@ -From b0367543358036fa797e7eefe6d17fabd360f093 Mon Sep 17 00:00:00 2001 +From cecb376283ad4641c58ee663df21404a133894d1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 9 Apr 2014 10:37:23 +0200 -Subject: [PATCH 292/414] block: mq: use cpu_light() +Subject: [PATCH 291/413] block: mq: use cpu_light() there is a might sleep splat because get_cpu() disables preemption and later we grab a lock. As a workaround for this we use get_cpu_light(). diff --git a/kernel/patches-4.14.x-rt/0293-block-mq-do-not-invoke-preempt_disable.patch b/kernel/patches-4.14.x-rt/0292-block-mq-do-not-invoke-preempt_disable.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0293-block-mq-do-not-invoke-preempt_disable.patch rename to kernel/patches-4.14.x-rt/0292-block-mq-do-not-invoke-preempt_disable.patch index 71c2e1665..f85347935 100644 --- a/kernel/patches-4.14.x-rt/0293-block-mq-do-not-invoke-preempt_disable.patch +++ b/kernel/patches-4.14.x-rt/0292-block-mq-do-not-invoke-preempt_disable.patch @@ -1,7 +1,7 @@ -From 306ac409065baad2c353b2ed91f867daea9fe6d2 Mon Sep 17 00:00:00 2001 +From 2949662c8a5ab1e88b0ad403e992078e2549bb2a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 293/414] block/mq: do not invoke preempt_disable() +Subject: [PATCH 292/413] block/mq: do not invoke preempt_disable() preempt_disable() and get_cpu() don't play well together with the sleeping locks it tries to allocate later. diff --git a/kernel/patches-4.14.x-rt/0294-block-mq-don-t-complete-requests-via-IPI.patch b/kernel/patches-4.14.x-rt/0293-block-mq-don-t-complete-requests-via-IPI.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0294-block-mq-don-t-complete-requests-via-IPI.patch rename to kernel/patches-4.14.x-rt/0293-block-mq-don-t-complete-requests-via-IPI.patch index b1867b2e9..05f11aa02 100644 --- a/kernel/patches-4.14.x-rt/0294-block-mq-don-t-complete-requests-via-IPI.patch +++ b/kernel/patches-4.14.x-rt/0293-block-mq-don-t-complete-requests-via-IPI.patch @@ -1,7 +1,7 @@ -From b421c8861fb8d0b3ed58993e4419f0490e17d6d4 Mon Sep 17 00:00:00 2001 +From 516215b2adf3d825650aa1f1968d305063bf1880 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Jan 2015 15:10:08 +0100 -Subject: [PATCH 294/414] block/mq: don't complete requests via IPI +Subject: [PATCH 293/413] block/mq: don't complete requests via IPI The IPI runs in hardirq context and there are sleeping locks. This patch moves the completion into a workqueue. diff --git a/kernel/patches-4.14.x-rt/0295-md-raid5-Make-raid5_percpu-handling-RT-aware.patch b/kernel/patches-4.14.x-rt/0294-md-raid5-Make-raid5_percpu-handling-RT-aware.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0295-md-raid5-Make-raid5_percpu-handling-RT-aware.patch rename to kernel/patches-4.14.x-rt/0294-md-raid5-Make-raid5_percpu-handling-RT-aware.patch index a019e57ea..332fb7e66 100644 --- a/kernel/patches-4.14.x-rt/0295-md-raid5-Make-raid5_percpu-handling-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0294-md-raid5-Make-raid5_percpu-handling-RT-aware.patch @@ -1,7 +1,7 @@ -From f207c455848234829347da5c7c422452abf79d7a Mon Sep 17 00:00:00 2001 +From b9af0502dd2ff576c7fae75f57c1e49217a9d0ad Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 6 Apr 2010 16:51:31 +0200 -Subject: [PATCH 295/414] md: raid5: Make raid5_percpu handling RT aware +Subject: [PATCH 294/413] md: raid5: Make raid5_percpu handling RT aware __raid_run_ops() disables preemption with get_cpu() around the access to the raid5_percpu variables. That causes scheduling while atomic diff --git a/kernel/patches-4.14.x-rt/0296-md-raid5-do-not-disable-interrupts.patch b/kernel/patches-4.14.x-rt/0295-md-raid5-do-not-disable-interrupts.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0296-md-raid5-do-not-disable-interrupts.patch rename to kernel/patches-4.14.x-rt/0295-md-raid5-do-not-disable-interrupts.patch index 52f485c70..ae107d931 100644 --- a/kernel/patches-4.14.x-rt/0296-md-raid5-do-not-disable-interrupts.patch +++ b/kernel/patches-4.14.x-rt/0295-md-raid5-do-not-disable-interrupts.patch @@ -1,7 +1,7 @@ -From a761e049048eab6527b58ba94e8847b8527bf513 Mon Sep 17 00:00:00 2001 +From d70088aed43a3c4f3858a3173e791bb397f8d5b5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 17 Nov 2017 16:21:00 +0100 -Subject: [PATCH 296/414] md/raid5: do not disable interrupts +Subject: [PATCH 295/413] md/raid5: do not disable interrupts |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:974 |in_atomic(): 0, irqs_disabled(): 1, pid: 2992, name: lvm diff --git a/kernel/patches-4.14.x-rt/0297-rt-Introduce-cpu_chill.patch b/kernel/patches-4.14.x-rt/0296-rt-Introduce-cpu_chill.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0297-rt-Introduce-cpu_chill.patch rename to kernel/patches-4.14.x-rt/0296-rt-Introduce-cpu_chill.patch index acc0af342..e21caf199 100644 --- a/kernel/patches-4.14.x-rt/0297-rt-Introduce-cpu_chill.patch +++ b/kernel/patches-4.14.x-rt/0296-rt-Introduce-cpu_chill.patch @@ -1,7 +1,7 @@ -From e9d5f841f999dca038114919379cad7114304d45 Mon Sep 17 00:00:00 2001 +From 4b11c7a3acd35de1c17583904b3a478df5a372a8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 20:51:03 +0100 -Subject: [PATCH 297/414] rt: Introduce cpu_chill() +Subject: [PATCH 296/413] rt: Introduce cpu_chill() Retry loops on RT might loop forever when the modifying side was preempted. Add cpu_chill() to replace cpu_relax(). cpu_chill() diff --git a/kernel/patches-4.14.x-rt/0298-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch b/kernel/patches-4.14.x-rt/0297-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0298-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch rename to kernel/patches-4.14.x-rt/0297-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch index d22b76cd3..5af0d6c35 100644 --- a/kernel/patches-4.14.x-rt/0298-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch +++ b/kernel/patches-4.14.x-rt/0297-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch @@ -1,7 +1,7 @@ -From cd4b3f7688ee5eed05f367d461f96f064a606277 Mon Sep 17 00:00:00 2001 +From 47ff74cada4cb40509bba5dc3eef555b313a58af Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 4 Mar 2014 12:28:32 -0500 -Subject: [PATCH 298/414] cpu_chill: Add a UNINTERRUPTIBLE hrtimer_nanosleep +Subject: [PATCH 297/413] cpu_chill: Add a UNINTERRUPTIBLE hrtimer_nanosleep We hit another bug that was caused by switching cpu_chill() from msleep() to hrtimer_nanosleep(). diff --git a/kernel/patches-4.14.x-rt/0299-kernel-cpu_chill-use-schedule_hrtimeout.patch b/kernel/patches-4.14.x-rt/0298-kernel-cpu_chill-use-schedule_hrtimeout.patch similarity index 92% rename from kernel/patches-4.14.x-rt/0299-kernel-cpu_chill-use-schedule_hrtimeout.patch rename to kernel/patches-4.14.x-rt/0298-kernel-cpu_chill-use-schedule_hrtimeout.patch index bf010bdc8..759f86f15 100644 --- a/kernel/patches-4.14.x-rt/0299-kernel-cpu_chill-use-schedule_hrtimeout.patch +++ b/kernel/patches-4.14.x-rt/0298-kernel-cpu_chill-use-schedule_hrtimeout.patch @@ -1,7 +1,7 @@ -From f02ce3484dafe40e8ea9c571b9add09e31d71ab7 Mon Sep 17 00:00:00 2001 +From e17bdaf53cfd19c096e2288e0efe53a3a8ddd8d5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 16 Mar 2018 13:07:59 +0100 -Subject: [PATCH 299/414] kernel/cpu_chill: use schedule_hrtimeout() +Subject: [PATCH 298/413] kernel/cpu_chill: use schedule_hrtimeout() If a task calls cpu_chill() and gets woken up by a regular or spurious wakeup and has a signal pending, then it exits the sleep loop in diff --git a/kernel/patches-4.14.x-rt/0300-Revert-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch b/kernel/patches-4.14.x-rt/0299-Revert-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0300-Revert-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch rename to kernel/patches-4.14.x-rt/0299-Revert-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch index 88094027b..85ea1dc49 100644 --- a/kernel/patches-4.14.x-rt/0300-Revert-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch +++ b/kernel/patches-4.14.x-rt/0299-Revert-cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanos.patch @@ -1,7 +1,7 @@ -From a41a8f9533f9528fb8750bd135b67b6fe5d12516 Mon Sep 17 00:00:00 2001 +From 96d21caefdb975f09b7aed330c3595bd59a4414f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 16 Mar 2018 15:04:49 +0100 -Subject: [PATCH 300/414] Revert "cpu_chill: Add a UNINTERRUPTIBLE +Subject: [PATCH 299/413] Revert "cpu_chill: Add a UNINTERRUPTIBLE hrtimer_nanosleep" This reverts commit "cpu_chill: Add a UNINTERRUPTIBLE diff --git a/kernel/patches-4.14.x-rt/0301-rtmutex-annotate-sleeping-lock-context.patch b/kernel/patches-4.14.x-rt/0300-rtmutex-annotate-sleeping-lock-context.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0301-rtmutex-annotate-sleeping-lock-context.patch rename to kernel/patches-4.14.x-rt/0300-rtmutex-annotate-sleeping-lock-context.patch index e018fd11a..2c866d0c3 100644 --- a/kernel/patches-4.14.x-rt/0301-rtmutex-annotate-sleeping-lock-context.patch +++ b/kernel/patches-4.14.x-rt/0300-rtmutex-annotate-sleeping-lock-context.patch @@ -1,7 +1,7 @@ -From 545dd2b4646b8fc8a8549e4b65f7fa3ae8d9f85d Mon Sep 17 00:00:00 2001 +From 20e06c7920e66f47b09b057cd48e6dd3eda1a6bb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 3 May 2018 17:16:26 +0200 -Subject: [PATCH 301/414] rtmutex: annotate sleeping lock context +Subject: [PATCH 300/413] rtmutex: annotate sleeping lock context The RCU code complains on schedule() within a rcu_readlock() section. The valid scenario on -RT is if a sleeping is held. In order to suppress diff --git a/kernel/patches-4.14.x-rt/0302-block-blk-mq-move-blk_queue_usage_counter_release-in.patch b/kernel/patches-4.14.x-rt/0301-block-blk-mq-move-blk_queue_usage_counter_release-in.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0302-block-blk-mq-move-blk_queue_usage_counter_release-in.patch rename to kernel/patches-4.14.x-rt/0301-block-blk-mq-move-blk_queue_usage_counter_release-in.patch index 3b8ac7478..fa4600c8f 100644 --- a/kernel/patches-4.14.x-rt/0302-block-blk-mq-move-blk_queue_usage_counter_release-in.patch +++ b/kernel/patches-4.14.x-rt/0301-block-blk-mq-move-blk_queue_usage_counter_release-in.patch @@ -1,7 +1,7 @@ -From bdf39fe112b495159da20749bf6c332dde5c1b6e Mon Sep 17 00:00:00 2001 +From 1b4e8293c93537e5d2a6073faa8ea8ba280faf69 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 13 Mar 2018 13:49:16 +0100 -Subject: [PATCH 302/414] block: blk-mq: move blk_queue_usage_counter_release() +Subject: [PATCH 301/413] block: blk-mq: move blk_queue_usage_counter_release() into process context | BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914 diff --git a/kernel/patches-4.14.x-rt/0303-block-Use-cpu_chill-for-retry-loops.patch b/kernel/patches-4.14.x-rt/0302-block-Use-cpu_chill-for-retry-loops.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0303-block-Use-cpu_chill-for-retry-loops.patch rename to kernel/patches-4.14.x-rt/0302-block-Use-cpu_chill-for-retry-loops.patch index 5c4302478..60fe161a9 100644 --- a/kernel/patches-4.14.x-rt/0303-block-Use-cpu_chill-for-retry-loops.patch +++ b/kernel/patches-4.14.x-rt/0302-block-Use-cpu_chill-for-retry-loops.patch @@ -1,7 +1,7 @@ -From 1399e59dc84759518c174a6c1464c9de6dd2b2a4 Mon Sep 17 00:00:00 2001 +From e5cf9034a753133338bda1d0dc580f86dab8197c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 20 Dec 2012 18:28:26 +0100 -Subject: [PATCH 303/414] block: Use cpu_chill() for retry loops +Subject: [PATCH 302/413] block: Use cpu_chill() for retry loops Retry loops on RT might loop forever when the modifying side was preempted. Steven also observed a live lock when there was a diff --git a/kernel/patches-4.14.x-rt/0304-fs-dcache-Use-cpu_chill-in-trylock-loops.patch b/kernel/patches-4.14.x-rt/0303-fs-dcache-Use-cpu_chill-in-trylock-loops.patch similarity index 87% rename from kernel/patches-4.14.x-rt/0304-fs-dcache-Use-cpu_chill-in-trylock-loops.patch rename to kernel/patches-4.14.x-rt/0303-fs-dcache-Use-cpu_chill-in-trylock-loops.patch index 2df0c30db..76ed5c868 100644 --- a/kernel/patches-4.14.x-rt/0304-fs-dcache-Use-cpu_chill-in-trylock-loops.patch +++ b/kernel/patches-4.14.x-rt/0303-fs-dcache-Use-cpu_chill-in-trylock-loops.patch @@ -1,7 +1,7 @@ -From e331cb76a4b69f2a4c3989330b69116625cd72c3 Mon Sep 17 00:00:00 2001 +From 1eb06655d02b3009eed1f6a93b2684d718e55190 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:00:34 +0100 -Subject: [PATCH 304/414] fs: dcache: Use cpu_chill() in trylock loops +Subject: [PATCH 303/413] fs: dcache: Use cpu_chill() in trylock loops Retry loops on RT might loop forever when the modifying side was preempted. Use cpu_chill() instead of cpu_relax() to let the system @@ -41,7 +41,7 @@ index 57725d4a8c59..62220508bace 100644 } spin_unlock(&p->d_lock); diff --git a/fs/dcache.c b/fs/dcache.c -index 0d8a43d0e445..5aa25e166c7b 100644 +index 8c828c37cd30..19176cbc831a 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -19,6 +19,7 @@ @@ -52,7 +52,7 @@ index 0d8a43d0e445..5aa25e166c7b 100644 #include #include #include -@@ -796,6 +797,8 @@ static inline bool fast_dput(struct dentry *dentry) +@@ -793,6 +794,8 @@ static inline bool fast_dput(struct dentry *dentry) */ void dput(struct dentry *dentry) { @@ -61,7 +61,7 @@ index 0d8a43d0e445..5aa25e166c7b 100644 if (unlikely(!dentry)) return; -@@ -832,9 +835,18 @@ void dput(struct dentry *dentry) +@@ -829,9 +832,18 @@ void dput(struct dentry *dentry) return; kill_it: @@ -83,7 +83,7 @@ index 0d8a43d0e445..5aa25e166c7b 100644 goto repeat; } } -@@ -2394,7 +2406,7 @@ void d_delete(struct dentry * dentry) +@@ -2393,7 +2405,7 @@ void d_delete(struct dentry * dentry) if (dentry->d_lockref.count == 1) { if (!spin_trylock(&inode->i_lock)) { spin_unlock(&dentry->d_lock); @@ -93,7 +93,7 @@ index 0d8a43d0e445..5aa25e166c7b 100644 } dentry->d_flags &= ~DCACHE_CANT_MOUNT; diff --git a/fs/namespace.c b/fs/namespace.c -index 0a74d6c02928..78aae83453dd 100644 +index 63c157047e4d..85bfe5e55adf 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -14,6 +14,7 @@ diff --git a/kernel/patches-4.14.x-rt/0305-net-Use-cpu_chill-instead-of-cpu_relax.patch b/kernel/patches-4.14.x-rt/0304-net-Use-cpu_chill-instead-of-cpu_relax.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0305-net-Use-cpu_chill-instead-of-cpu_relax.patch rename to kernel/patches-4.14.x-rt/0304-net-Use-cpu_chill-instead-of-cpu_relax.patch index 467d02dc2..6d303f971 100644 --- a/kernel/patches-4.14.x-rt/0305-net-Use-cpu_chill-instead-of-cpu_relax.patch +++ b/kernel/patches-4.14.x-rt/0304-net-Use-cpu_chill-instead-of-cpu_relax.patch @@ -1,7 +1,7 @@ -From 6e5f29888959bc7eecf70c8cfc73c0f060253c68 Mon Sep 17 00:00:00 2001 +From 57fd155dfce18561531616cebae06a6fd593e2c6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:10:04 +0100 -Subject: [PATCH 305/414] net: Use cpu_chill() instead of cpu_relax() +Subject: [PATCH 304/413] net: Use cpu_chill() instead of cpu_relax() Retry loops on RT might loop forever when the modifying side was preempted. Use cpu_chill() instead of cpu_relax() to let the system diff --git a/kernel/patches-4.14.x-rt/0306-fs-dcache-use-swait_queue-instead-of-waitqueue.patch b/kernel/patches-4.14.x-rt/0305-fs-dcache-use-swait_queue-instead-of-waitqueue.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0306-fs-dcache-use-swait_queue-instead-of-waitqueue.patch rename to kernel/patches-4.14.x-rt/0305-fs-dcache-use-swait_queue-instead-of-waitqueue.patch index 4bea634d0..051dc9454 100644 --- a/kernel/patches-4.14.x-rt/0306-fs-dcache-use-swait_queue-instead-of-waitqueue.patch +++ b/kernel/patches-4.14.x-rt/0305-fs-dcache-use-swait_queue-instead-of-waitqueue.patch @@ -1,7 +1,7 @@ -From 786a933370289694870185ce036568b5a2fb8c6d Mon Sep 17 00:00:00 2001 +From cf2089d29748891caa3ca506439b59a9b2b2ebf1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 14 Sep 2016 14:35:49 +0200 -Subject: [PATCH 306/414] fs/dcache: use swait_queue instead of waitqueue +Subject: [PATCH 305/413] fs/dcache: use swait_queue instead of waitqueue __d_lookup_done() invokes wake_up_all() while holding a hlist_bl_lock() which disables preemption. As a workaround convert it to swait. @@ -35,10 +35,10 @@ index a27fc8791551..791aecb7c1ac 100644 cifs_dbg(FYI, "%s: for %s\n", __func__, name->name); diff --git a/fs/dcache.c b/fs/dcache.c -index 5aa25e166c7b..c1c1f3ce00ca 100644 +index 19176cbc831a..999334aa656a 100644 --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -2468,21 +2468,24 @@ static inline void end_dir_add(struct inode *dir, unsigned n) +@@ -2467,21 +2467,24 @@ static inline void end_dir_add(struct inode *dir, unsigned n) static void d_wait_lookup(struct dentry *dentry) { @@ -74,7 +74,7 @@ index 5aa25e166c7b..c1c1f3ce00ca 100644 { unsigned int hash = name->hash; struct hlist_bl_head *b = in_lookup_hash(parent, hash); -@@ -2597,7 +2600,7 @@ void __d_lookup_done(struct dentry *dentry) +@@ -2596,7 +2599,7 @@ void __d_lookup_done(struct dentry *dentry) hlist_bl_lock(b); dentry->d_flags &= ~DCACHE_PAR_LOOKUP; __hlist_bl_del(&dentry->d_u.d_in_lookup_hash); diff --git a/kernel/patches-4.14.x-rt/0307-workqueue-Use-normal-rcu.patch b/kernel/patches-4.14.x-rt/0306-workqueue-Use-normal-rcu.patch similarity index 99% rename from kernel/patches-4.14.x-rt/0307-workqueue-Use-normal-rcu.patch rename to kernel/patches-4.14.x-rt/0306-workqueue-Use-normal-rcu.patch index b66a8a948..c57cafed1 100644 --- a/kernel/patches-4.14.x-rt/0307-workqueue-Use-normal-rcu.patch +++ b/kernel/patches-4.14.x-rt/0306-workqueue-Use-normal-rcu.patch @@ -1,7 +1,7 @@ -From 0b65e43978525cff5a4aa660edbd9526ff7160a6 Mon Sep 17 00:00:00 2001 +From 23ee6b9c2d76b0dc9aba3edf348d3bbb0496c123 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 24 Jul 2013 15:26:54 +0200 -Subject: [PATCH 307/414] workqueue: Use normal rcu +Subject: [PATCH 306/413] workqueue: Use normal rcu There is no need for sched_rcu. The undocumented reason why sched_rcu is used is to avoid a few explicit rcu_read_lock()/unlock() pairs by diff --git a/kernel/patches-4.14.x-rt/0308-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch b/kernel/patches-4.14.x-rt/0307-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0308-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch rename to kernel/patches-4.14.x-rt/0307-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch index 3e366893f..f13a6810f 100644 --- a/kernel/patches-4.14.x-rt/0308-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch +++ b/kernel/patches-4.14.x-rt/0307-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch @@ -1,7 +1,7 @@ -From ee03957259fd098165b60f83c32ecfe8ece9bf5f Mon Sep 17 00:00:00 2001 +From bc356d2bd254f0723a5308a96ccbcb8e17647c7a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:42:26 +0200 -Subject: [PATCH 308/414] workqueue: Use local irq lock instead of irq disable +Subject: [PATCH 307/413] workqueue: Use local irq lock instead of irq disable regions Use a local_irq_lock as a replacement for irq off regions. We keep the diff --git a/kernel/patches-4.14.x-rt/0309-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch b/kernel/patches-4.14.x-rt/0308-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0309-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch rename to kernel/patches-4.14.x-rt/0308-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch index 15e2ba21c..b5ffe3aea 100644 --- a/kernel/patches-4.14.x-rt/0309-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch +++ b/kernel/patches-4.14.x-rt/0308-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch @@ -1,7 +1,7 @@ -From f69ce1cf3a1356e2aab07c9453654ba786e44cec Mon Sep 17 00:00:00 2001 +From c13f2bfc6539bd72243ec0df9883db3b7d04c7a9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 1 Jul 2013 11:02:42 +0200 -Subject: [PATCH 309/414] workqueue: Prevent workqueue versus ata-piix livelock +Subject: [PATCH 308/413] workqueue: Prevent workqueue versus ata-piix livelock An Intel i7 system regularly detected rcu_preempt stalls after the kernel was upgraded from 3.6-rt to 3.8-rt. When the stall happened, disk I/O was no diff --git a/kernel/patches-4.14.x-rt/0310-sched-Distangle-worker-accounting-from-rqlock.patch b/kernel/patches-4.14.x-rt/0309-sched-Distangle-worker-accounting-from-rqlock.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0310-sched-Distangle-worker-accounting-from-rqlock.patch rename to kernel/patches-4.14.x-rt/0309-sched-Distangle-worker-accounting-from-rqlock.patch index a949349cd..234f2322b 100644 --- a/kernel/patches-4.14.x-rt/0310-sched-Distangle-worker-accounting-from-rqlock.patch +++ b/kernel/patches-4.14.x-rt/0309-sched-Distangle-worker-accounting-from-rqlock.patch @@ -1,7 +1,7 @@ -From 25668720ff4c78e1c77de6d586f297a76ea058ca Mon Sep 17 00:00:00 2001 +From aed771ca456eb741f387114a9dea3feb7dce3e4e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 19:47:03 +0200 -Subject: [PATCH 310/414] sched: Distangle worker accounting from rqlock +Subject: [PATCH 309/413] sched: Distangle worker accounting from rqlock The worker accounting for cpu bound workers is plugged into the core scheduler code and the wakeup code. This is not a hard requirement and @@ -30,7 +30,7 @@ Signed-off-by: Thomas Gleixner 3 files changed, 41 insertions(+), 100 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index d65f7506bdfd..099428d3a0b4 100644 +index ab6ec5fb6796..d3369a9bd607 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1733,10 +1733,6 @@ static inline void ttwu_activate(struct rq *rq, struct task_struct *p, int en_fl diff --git a/kernel/patches-4.14.x-rt/0311-percpu_ida-Use-local-locks.patch b/kernel/patches-4.14.x-rt/0310-percpu_ida-Use-local-locks.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0311-percpu_ida-Use-local-locks.patch rename to kernel/patches-4.14.x-rt/0310-percpu_ida-Use-local-locks.patch index ca5e449f2..d490c0257 100644 --- a/kernel/patches-4.14.x-rt/0311-percpu_ida-Use-local-locks.patch +++ b/kernel/patches-4.14.x-rt/0310-percpu_ida-Use-local-locks.patch @@ -1,7 +1,7 @@ -From d7c193d057c738486598271cf0b4fbcb6cc038e7 Mon Sep 17 00:00:00 2001 +From ba831a96a5cb2dc74978022ec604498a2b48f49b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 9 Apr 2014 11:58:17 +0200 -Subject: [PATCH 311/414] percpu_ida: Use local locks +Subject: [PATCH 310/413] percpu_ida: Use local locks the local_irq_save() + spin_lock() does not work that well on -RT diff --git a/kernel/patches-4.14.x-rt/0312-debugobjects-Make-RT-aware.patch b/kernel/patches-4.14.x-rt/0311-debugobjects-Make-RT-aware.patch similarity index 86% rename from kernel/patches-4.14.x-rt/0312-debugobjects-Make-RT-aware.patch rename to kernel/patches-4.14.x-rt/0311-debugobjects-Make-RT-aware.patch index 1f311dc42..35e506217 100644 --- a/kernel/patches-4.14.x-rt/0312-debugobjects-Make-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0311-debugobjects-Make-RT-aware.patch @@ -1,7 +1,7 @@ -From 232086ba5c7283021678d7878cb0584d12dedca8 Mon Sep 17 00:00:00 2001 +From 495dade38aa721a735631a86e4905f60068491ac Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:41:35 +0200 -Subject: [PATCH 312/414] debugobjects: Make RT aware +Subject: [PATCH 311/413] debugobjects: Make RT aware Avoid filling the pool / allocating memory with irqs off(). diff --git a/kernel/patches-4.14.x-rt/0313-jump-label-disable-if-stop_machine-is-used.patch b/kernel/patches-4.14.x-rt/0312-jump-label-disable-if-stop_machine-is-used.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0313-jump-label-disable-if-stop_machine-is-used.patch rename to kernel/patches-4.14.x-rt/0312-jump-label-disable-if-stop_machine-is-used.patch index 54eaf85bd..0460bc9f7 100644 --- a/kernel/patches-4.14.x-rt/0313-jump-label-disable-if-stop_machine-is-used.patch +++ b/kernel/patches-4.14.x-rt/0312-jump-label-disable-if-stop_machine-is-used.patch @@ -1,7 +1,7 @@ -From 121bae0fbe1fe5ece65545ecea2538af27c057a1 Mon Sep 17 00:00:00 2001 +From 6abba19519f60ac0339c0c0ca57b7082a285d62a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 8 Jul 2015 17:14:48 +0200 -Subject: [PATCH 313/414] jump-label: disable if stop_machine() is used +Subject: [PATCH 312/413] jump-label: disable if stop_machine() is used Some architectures are using stop_machine() while switching the opcode which leads to latency spikes. diff --git a/kernel/patches-4.14.x-rt/0314-seqlock-Prevent-rt-starvation.patch b/kernel/patches-4.14.x-rt/0313-seqlock-Prevent-rt-starvation.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0314-seqlock-Prevent-rt-starvation.patch rename to kernel/patches-4.14.x-rt/0313-seqlock-Prevent-rt-starvation.patch index 0eb1bea7a..4c26dbcf8 100644 --- a/kernel/patches-4.14.x-rt/0314-seqlock-Prevent-rt-starvation.patch +++ b/kernel/patches-4.14.x-rt/0313-seqlock-Prevent-rt-starvation.patch @@ -1,7 +1,7 @@ -From f694f87e8d3fdb71dbe73b144ecd9b1cbe75dc12 Mon Sep 17 00:00:00 2001 +From 2a47ae1e20e920968f4f40f41d6ffcf9307c7ff5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Feb 2012 12:03:30 +0100 -Subject: [PATCH 314/414] seqlock: Prevent rt starvation +Subject: [PATCH 313/413] seqlock: Prevent rt starvation If a low prio writer gets preempted while holding the seqlock write locked, a high prio reader spins forever on RT. diff --git a/kernel/patches-4.14.x-rt/0315-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch b/kernel/patches-4.14.x-rt/0314-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0315-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch rename to kernel/patches-4.14.x-rt/0314-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch index d6caf7880..2be7762f9 100644 --- a/kernel/patches-4.14.x-rt/0315-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch +++ b/kernel/patches-4.14.x-rt/0314-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch @@ -1,7 +1,7 @@ -From 968bab8610e285dbcd24060219b291618041243e Mon Sep 17 00:00:00 2001 +From 6144f9a4ba123ae9562858bd83b805b6a17189b4 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 18 Feb 2015 16:05:28 +0100 -Subject: [PATCH 315/414] sunrpc: Make svc_xprt_do_enqueue() use +Subject: [PATCH 314/413] sunrpc: Make svc_xprt_do_enqueue() use get_cpu_light() |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915 diff --git a/kernel/patches-4.14.x-rt/0316-net-Use-skbufhead-with-raw-lock.patch b/kernel/patches-4.14.x-rt/0315-net-Use-skbufhead-with-raw-lock.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0316-net-Use-skbufhead-with-raw-lock.patch rename to kernel/patches-4.14.x-rt/0315-net-Use-skbufhead-with-raw-lock.patch index 80ee4fcb1..8d06cfb73 100644 --- a/kernel/patches-4.14.x-rt/0316-net-Use-skbufhead-with-raw-lock.patch +++ b/kernel/patches-4.14.x-rt/0315-net-Use-skbufhead-with-raw-lock.patch @@ -1,7 +1,7 @@ -From 70f3e2f35990d910014160acd2ee7245f138dcaf Mon Sep 17 00:00:00 2001 +From 8b348f39f3a8f3b772abffa20f86bf655be0ffd5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 15:38:34 +0200 -Subject: [PATCH 316/414] net: Use skbufhead with raw lock +Subject: [PATCH 315/413] net: Use skbufhead with raw lock Use the rps lock as rawlock so we can keep irq-off regions. It looks low latency. However we can't kfree() from this context therefore we defer this diff --git a/kernel/patches-4.14.x-rt/0317-net-core-cpuhotplug-Drain-input_pkt_queue-lockless.patch b/kernel/patches-4.14.x-rt/0316-net-core-cpuhotplug-Drain-input_pkt_queue-lockless.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0317-net-core-cpuhotplug-Drain-input_pkt_queue-lockless.patch rename to kernel/patches-4.14.x-rt/0316-net-core-cpuhotplug-Drain-input_pkt_queue-lockless.patch index 2586becf7..2a36b3a87 100644 --- a/kernel/patches-4.14.x-rt/0317-net-core-cpuhotplug-Drain-input_pkt_queue-lockless.patch +++ b/kernel/patches-4.14.x-rt/0316-net-core-cpuhotplug-Drain-input_pkt_queue-lockless.patch @@ -1,7 +1,7 @@ -From ba2792b98e15e5911490593dea5977130cfbc187 Mon Sep 17 00:00:00 2001 +From 4d6b9b4a552726c9a2311c9c3b277a94f2c29380 Mon Sep 17 00:00:00 2001 From: Grygorii Strashko Date: Fri, 9 Oct 2015 09:25:49 -0500 -Subject: [PATCH 317/414] net/core/cpuhotplug: Drain input_pkt_queue lockless +Subject: [PATCH 316/413] net/core/cpuhotplug: Drain input_pkt_queue lockless I can constantly see below error report with 4.1 RT-kernel on TI ARM dra7-evm if I'm trying to unplug cpu1: diff --git a/kernel/patches-4.14.x-rt/0318-net-move-xmit_recursion-to-per-task-variable-on-RT.patch b/kernel/patches-4.14.x-rt/0317-net-move-xmit_recursion-to-per-task-variable-on-RT.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0318-net-move-xmit_recursion-to-per-task-variable-on-RT.patch rename to kernel/patches-4.14.x-rt/0317-net-move-xmit_recursion-to-per-task-variable-on-RT.patch index 1cc1a3986..97b768f89 100644 --- a/kernel/patches-4.14.x-rt/0318-net-move-xmit_recursion-to-per-task-variable-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0317-net-move-xmit_recursion-to-per-task-variable-on-RT.patch @@ -1,7 +1,7 @@ -From ad59d0eea0a361948edbd74e6e2728b59a3e5d70 Mon Sep 17 00:00:00 2001 +From bf4aef957eef68dedaadfc7c4d56d3a622a712d6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Jan 2016 15:55:02 +0100 -Subject: [PATCH 318/414] net: move xmit_recursion to per-task variable on -RT +Subject: [PATCH 317/413] net: move xmit_recursion to per-task variable on -RT A softirq on -RT can be preempted. That means one task is in __dev_queue_xmit(), gets preempted and another task may enter diff --git a/kernel/patches-4.14.x-rt/0319-net-use-task_struct-instead-of-CPU-number-as-the-que.patch b/kernel/patches-4.14.x-rt/0318-net-use-task_struct-instead-of-CPU-number-as-the-que.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0319-net-use-task_struct-instead-of-CPU-number-as-the-que.patch rename to kernel/patches-4.14.x-rt/0318-net-use-task_struct-instead-of-CPU-number-as-the-que.patch index e89e1dd7a..a0cbc4c18 100644 --- a/kernel/patches-4.14.x-rt/0319-net-use-task_struct-instead-of-CPU-number-as-the-que.patch +++ b/kernel/patches-4.14.x-rt/0318-net-use-task_struct-instead-of-CPU-number-as-the-que.patch @@ -1,7 +1,7 @@ -From 5053a6e749a6345c3aa1a7c806cf6cd2230ca2d1 Mon Sep 17 00:00:00 2001 +From 2ee48aa51dc4d77a21850e7b1c413d614cc60460 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 21 Feb 2018 10:39:54 +0100 -Subject: [PATCH 319/414] net: use task_struct instead of CPU number as the +Subject: [PATCH 318/413] net: use task_struct instead of CPU number as the queue owner on -RT In commit ("net: move xmit_recursion to per-task variable on -RT") the diff --git a/kernel/patches-4.14.x-rt/0320-net-provide-a-way-to-delegate-processing-a-softirq-t.patch b/kernel/patches-4.14.x-rt/0319-net-provide-a-way-to-delegate-processing-a-softirq-t.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0320-net-provide-a-way-to-delegate-processing-a-softirq-t.patch rename to kernel/patches-4.14.x-rt/0319-net-provide-a-way-to-delegate-processing-a-softirq-t.patch index 0353902da..3eb8b3947 100644 --- a/kernel/patches-4.14.x-rt/0320-net-provide-a-way-to-delegate-processing-a-softirq-t.patch +++ b/kernel/patches-4.14.x-rt/0319-net-provide-a-way-to-delegate-processing-a-softirq-t.patch @@ -1,7 +1,7 @@ -From c7f2ab6c14a5e5531d9389fcaef899bda8d50de4 Mon Sep 17 00:00:00 2001 +From 64fc707b2dd4a8177c74b9e6a975f86962e66c1d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 20 Jan 2016 15:39:05 +0100 -Subject: [PATCH 320/414] net: provide a way to delegate processing a softirq +Subject: [PATCH 319/413] net: provide a way to delegate processing a softirq to ksoftirqd If the NET_RX uses up all of his budget it moves the following NAPI @@ -39,10 +39,10 @@ index 326af722c5ee..0f25fa19b2d8 100644 extern void raise_softirq_irqoff(unsigned int nr); extern void raise_softirq(unsigned int nr); diff --git a/kernel/softirq.c b/kernel/softirq.c -index 69a45729907a..28bd8394caa3 100644 +index 0f4ddfa14360..996b03fb8c53 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c -@@ -685,6 +685,27 @@ void __raise_softirq_irqoff(unsigned int nr) +@@ -689,6 +689,27 @@ void __raise_softirq_irqoff(unsigned int nr) wakeup_proper_softirq(nr); } diff --git a/kernel/patches-4.14.x-rt/0321-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch b/kernel/patches-4.14.x-rt/0320-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0321-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch rename to kernel/patches-4.14.x-rt/0320-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch index f9c6aff2b..dd80cb27d 100644 --- a/kernel/patches-4.14.x-rt/0321-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch +++ b/kernel/patches-4.14.x-rt/0320-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch @@ -1,7 +1,7 @@ -From 2f3c82cccb4b4917027190d39c0c5fcef7dba2c1 Mon Sep 17 00:00:00 2001 +From de9662b5b8aa7542ed7b73b602f081b427a02fa4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 30 Mar 2016 13:36:29 +0200 -Subject: [PATCH 321/414] net: dev: always take qdisc's busylock in +Subject: [PATCH 320/413] net: dev: always take qdisc's busylock in __dev_xmit_skb() The root-lock is dropped before dev_hard_start_xmit() is invoked and after diff --git a/kernel/patches-4.14.x-rt/0322-net-Qdisc-use-a-seqlock-instead-seqcount.patch b/kernel/patches-4.14.x-rt/0321-net-Qdisc-use-a-seqlock-instead-seqcount.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0322-net-Qdisc-use-a-seqlock-instead-seqcount.patch rename to kernel/patches-4.14.x-rt/0321-net-Qdisc-use-a-seqlock-instead-seqcount.patch index fe57d4a91..13aaa1fa0 100644 --- a/kernel/patches-4.14.x-rt/0322-net-Qdisc-use-a-seqlock-instead-seqcount.patch +++ b/kernel/patches-4.14.x-rt/0321-net-Qdisc-use-a-seqlock-instead-seqcount.patch @@ -1,7 +1,7 @@ -From b3c2470c2370dd73d83895fc80f25dafe889f194 Mon Sep 17 00:00:00 2001 +From 0bcbde1d86b80ff104cbc8330cde56f23f5c1d1a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 14 Sep 2016 17:36:35 +0200 -Subject: [PATCH 322/414] net/Qdisc: use a seqlock instead seqcount +Subject: [PATCH 321/413] net/Qdisc: use a seqlock instead seqcount The seqcount disables preemption on -RT while it is held which can't remove. Also we don't want the reader to spin for ages if the writer is diff --git a/kernel/patches-4.14.x-rt/0323-net-add-back-the-missing-serialization-in-ip_send_un.patch b/kernel/patches-4.14.x-rt/0322-net-add-back-the-missing-serialization-in-ip_send_un.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0323-net-add-back-the-missing-serialization-in-ip_send_un.patch rename to kernel/patches-4.14.x-rt/0322-net-add-back-the-missing-serialization-in-ip_send_un.patch index 73a3b33ee..1297dfd1f 100644 --- a/kernel/patches-4.14.x-rt/0323-net-add-back-the-missing-serialization-in-ip_send_un.patch +++ b/kernel/patches-4.14.x-rt/0322-net-add-back-the-missing-serialization-in-ip_send_un.patch @@ -1,7 +1,7 @@ -From faf51ff0bc104cad8f907a1993533d2e3f0da807 Mon Sep 17 00:00:00 2001 +From d1e7025d7ec87c83c6ad6230f49a4d0da980f1b8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 31 Aug 2016 17:21:56 +0200 -Subject: [PATCH 323/414] net: add back the missing serialization in +Subject: [PATCH 322/413] net: add back the missing serialization in ip_send_unicast_reply() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/kernel/patches-4.14.x-rt/0324-net-take-the-tcp_sk_lock-lock-with-BH-disabled.patch b/kernel/patches-4.14.x-rt/0323-net-take-the-tcp_sk_lock-lock-with-BH-disabled.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0324-net-take-the-tcp_sk_lock-lock-with-BH-disabled.patch rename to kernel/patches-4.14.x-rt/0323-net-take-the-tcp_sk_lock-lock-with-BH-disabled.patch index 932b8f0c2..5b51e8107 100644 --- a/kernel/patches-4.14.x-rt/0324-net-take-the-tcp_sk_lock-lock-with-BH-disabled.patch +++ b/kernel/patches-4.14.x-rt/0323-net-take-the-tcp_sk_lock-lock-with-BH-disabled.patch @@ -1,7 +1,7 @@ -From 4fed32a33b62eec01f6c02a3ceb272c0f092a60e Mon Sep 17 00:00:00 2001 +From 9b3ac577078e80130f02aa1aa600d67ddad1a6ea Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 21 Aug 2017 15:09:13 +0200 -Subject: [PATCH 324/414] net: take the tcp_sk_lock lock with BH disabled +Subject: [PATCH 323/413] net: take the tcp_sk_lock lock with BH disabled Lockdep may complain about an unsafe locking scenario: | CPU0 CPU1 diff --git a/kernel/patches-4.14.x-rt/0325-net-add-a-lock-around-icmp_sk.patch b/kernel/patches-4.14.x-rt/0324-net-add-a-lock-around-icmp_sk.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0325-net-add-a-lock-around-icmp_sk.patch rename to kernel/patches-4.14.x-rt/0324-net-add-a-lock-around-icmp_sk.patch index 0677a1951..911a0c42d 100644 --- a/kernel/patches-4.14.x-rt/0325-net-add-a-lock-around-icmp_sk.patch +++ b/kernel/patches-4.14.x-rt/0324-net-add-a-lock-around-icmp_sk.patch @@ -1,7 +1,7 @@ -From 08952ee1bd98d78e7fa480a6272cb17a25967178 Mon Sep 17 00:00:00 2001 +From 21d30a5f5420a743cf621fb9a51534d1268b17e3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 31 Aug 2016 17:54:09 +0200 -Subject: [PATCH 325/414] net: add a lock around icmp_sk() +Subject: [PATCH 324/413] net: add a lock around icmp_sk() It looks like the this_cpu_ptr() access in icmp_sk() is protected with local_bh_disable(). To avoid missing serialization in -RT I am adding diff --git a/kernel/patches-4.14.x-rt/0326-net-use-trylock-in-icmp_sk.patch b/kernel/patches-4.14.x-rt/0325-net-use-trylock-in-icmp_sk.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0326-net-use-trylock-in-icmp_sk.patch rename to kernel/patches-4.14.x-rt/0325-net-use-trylock-in-icmp_sk.patch index 40b57a3ac..be8fe81fb 100644 --- a/kernel/patches-4.14.x-rt/0326-net-use-trylock-in-icmp_sk.patch +++ b/kernel/patches-4.14.x-rt/0325-net-use-trylock-in-icmp_sk.patch @@ -1,7 +1,7 @@ -From 9980cbd03c517a158b0935c0a840f94aff407bf4 Mon Sep 17 00:00:00 2001 +From ab4641021b68c92a47071def2a42162ba94f527d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Sep 2017 14:42:04 +0200 -Subject: [PATCH 326/414] net: use trylock in icmp_sk +Subject: [PATCH 325/413] net: use trylock in icmp_sk The locking path can be recursive (same as for sk->sk_lock.slock) and therefore we need a trylock version for the locallock, too. diff --git a/kernel/patches-4.14.x-rt/0327-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch b/kernel/patches-4.14.x-rt/0326-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0327-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch rename to kernel/patches-4.14.x-rt/0326-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch index dc3d06fd9..41acfe87f 100644 --- a/kernel/patches-4.14.x-rt/0327-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch +++ b/kernel/patches-4.14.x-rt/0326-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch @@ -1,7 +1,7 @@ -From 8783772b97e30bd67417c1fcaf6e9246657fd820 Mon Sep 17 00:00:00 2001 +From 4a91f9a1ec0e45b50c5504a9c0de4e704c8539ec Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 6 Dec 2016 17:50:30 -0500 -Subject: [PATCH 327/414] net: Have __napi_schedule_irqoff() disable interrupts +Subject: [PATCH 326/413] net: Have __napi_schedule_irqoff() disable interrupts on RT A customer hit a crash where the napi sd->poll_list became corrupted. diff --git a/kernel/patches-4.14.x-rt/0328-irqwork-push-most-work-into-softirq-context.patch b/kernel/patches-4.14.x-rt/0327-irqwork-push-most-work-into-softirq-context.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0328-irqwork-push-most-work-into-softirq-context.patch rename to kernel/patches-4.14.x-rt/0327-irqwork-push-most-work-into-softirq-context.patch index 498fe30a7..e704a8b42 100644 --- a/kernel/patches-4.14.x-rt/0328-irqwork-push-most-work-into-softirq-context.patch +++ b/kernel/patches-4.14.x-rt/0327-irqwork-push-most-work-into-softirq-context.patch @@ -1,7 +1,7 @@ -From 5180a149f2fd957b94d094c8c1ccc05e9759ec7a Mon Sep 17 00:00:00 2001 +From 1ecac280d8b4d476bf08ba0228bf9070608317bb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 23 Jun 2015 15:32:51 +0200 -Subject: [PATCH 328/414] irqwork: push most work into softirq context +Subject: [PATCH 327/413] irqwork: push most work into softirq context Initially we defered all irqwork into softirq because we didn't want the latency spikes if perf or another user was busy and delayed the RT task. @@ -159,7 +159,7 @@ index 659e075ef70b..bb22e3620a90 100644 init_dl_bw(&rd->dl_bw); diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c -index 0ba600553004..c4efbd993380 100644 +index 92222682dfce..643b36a0b8e1 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -230,6 +230,7 @@ static void nohz_full_kick_func(struct irq_work *work) diff --git a/kernel/patches-4.14.x-rt/0329-irqwork-Move-irq-safe-work-to-irq-context.patch b/kernel/patches-4.14.x-rt/0328-irqwork-Move-irq-safe-work-to-irq-context.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0329-irqwork-Move-irq-safe-work-to-irq-context.patch rename to kernel/patches-4.14.x-rt/0328-irqwork-Move-irq-safe-work-to-irq-context.patch index 14fe78933..fb50e59ec 100644 --- a/kernel/patches-4.14.x-rt/0329-irqwork-Move-irq-safe-work-to-irq-context.patch +++ b/kernel/patches-4.14.x-rt/0328-irqwork-Move-irq-safe-work-to-irq-context.patch @@ -1,7 +1,7 @@ -From ca9189373ef4644c2778ae10e3e6818a348ab7ea Mon Sep 17 00:00:00 2001 +From 20247db48c783641911dece83e789cdac738f3a8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 15 Nov 2015 18:40:17 +0100 -Subject: [PATCH 329/414] irqwork: Move irq safe work to irq context +Subject: [PATCH 328/413] irqwork: Move irq safe work to irq context On architectures where arch_irq_work_has_interrupt() returns false, we end up running the irq safe work from the softirq context. That diff --git a/kernel/patches-4.14.x-rt/0330-snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch b/kernel/patches-4.14.x-rt/0329-snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0330-snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch rename to kernel/patches-4.14.x-rt/0329-snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch index 0fba36629..185171c6d 100644 --- a/kernel/patches-4.14.x-rt/0330-snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch +++ b/kernel/patches-4.14.x-rt/0329-snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch @@ -1,7 +1,7 @@ -From ce4d66ce66ebd333a4ac83123dd064b3af1fa6a9 Mon Sep 17 00:00:00 2001 +From 0df85743721a6d990de6da05fbd02ac1d5f64351 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 18 Feb 2015 15:09:23 +0100 -Subject: [PATCH 330/414] snd/pcm: fix snd_pcm_stream_lock*() irqs_disabled() +Subject: [PATCH 329/413] snd/pcm: fix snd_pcm_stream_lock*() irqs_disabled() splats Locking functions previously using read_lock_irq()/read_lock_irqsave() were diff --git a/kernel/patches-4.14.x-rt/0331-printk-Make-rt-aware.patch b/kernel/patches-4.14.x-rt/0330-printk-Make-rt-aware.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0331-printk-Make-rt-aware.patch rename to kernel/patches-4.14.x-rt/0330-printk-Make-rt-aware.patch index b40923510..361a5534d 100644 --- a/kernel/patches-4.14.x-rt/0331-printk-Make-rt-aware.patch +++ b/kernel/patches-4.14.x-rt/0330-printk-Make-rt-aware.patch @@ -1,7 +1,7 @@ -From beaac84977277f797920655e8469a9f99f58d84c Mon Sep 17 00:00:00 2001 +From 608ad956a6bc170b386a56c5254042614c3fc81d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 19 Sep 2012 14:50:37 +0200 -Subject: [PATCH 331/414] printk: Make rt aware +Subject: [PATCH 330/413] printk: Make rt aware Drop the lock before calling the console driver and do not disable interrupts while printing to a serial console. diff --git a/kernel/patches-4.14.x-rt/0332-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch b/kernel/patches-4.14.x-rt/0331-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0332-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch rename to kernel/patches-4.14.x-rt/0331-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch index 482ae76eb..673059c2f 100644 --- a/kernel/patches-4.14.x-rt/0332-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch +++ b/kernel/patches-4.14.x-rt/0331-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch @@ -1,7 +1,7 @@ -From 272b8c81db5879c6fff072b893bc2e47675e66d7 Mon Sep 17 00:00:00 2001 +From 23c74a539b8a1f03839fc69e6392fa26a881c268 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 19 May 2016 17:45:27 +0200 -Subject: [PATCH 332/414] kernel/printk: Don't try to print from IRQ/NMI region +Subject: [PATCH 331/413] kernel/printk: Don't try to print from IRQ/NMI region On -RT we try to acquire sleeping locks which might lead to warnings from lockdep or a warn_on() from spin_try_lock() (which is a rtmutex on diff --git a/kernel/patches-4.14.x-rt/0333-printk-Drop-the-logbuf_lock-more-often.patch b/kernel/patches-4.14.x-rt/0332-printk-Drop-the-logbuf_lock-more-often.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0333-printk-Drop-the-logbuf_lock-more-often.patch rename to kernel/patches-4.14.x-rt/0332-printk-Drop-the-logbuf_lock-more-often.patch index 2699440a5..211664ac1 100644 --- a/kernel/patches-4.14.x-rt/0333-printk-Drop-the-logbuf_lock-more-often.patch +++ b/kernel/patches-4.14.x-rt/0332-printk-Drop-the-logbuf_lock-more-often.patch @@ -1,7 +1,7 @@ -From 9f77dc673d90c73ba81872267bf0ebc6696a779a Mon Sep 17 00:00:00 2001 +From 92f04b288c64005f2f59e0f5a1575656e7f663b2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Mar 2013 19:01:05 +0100 -Subject: [PATCH 333/414] printk: Drop the logbuf_lock more often +Subject: [PATCH 332/413] printk: Drop the logbuf_lock more often The lock is hold with irgs off. The latency drops 500us+ on my arm bugs with a "full" buffer after executing "dmesg" on the shell. diff --git a/kernel/patches-4.14.x-rt/0334-powerpc-Use-generic-rwsem-on-RT.patch b/kernel/patches-4.14.x-rt/0333-powerpc-Use-generic-rwsem-on-RT.patch similarity index 84% rename from kernel/patches-4.14.x-rt/0334-powerpc-Use-generic-rwsem-on-RT.patch rename to kernel/patches-4.14.x-rt/0333-powerpc-Use-generic-rwsem-on-RT.patch index 6c30a289d..3f01409da 100644 --- a/kernel/patches-4.14.x-rt/0334-powerpc-Use-generic-rwsem-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0333-powerpc-Use-generic-rwsem-on-RT.patch @@ -1,7 +1,7 @@ -From 7257f6a211fe6216ed96be12bea61a96c7e81ae3 Mon Sep 17 00:00:00 2001 +From 2398a7eb66285ea0a6c5cba272bd252632a6b60c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 334/414] powerpc: Use generic rwsem on RT +Subject: [PATCH 333/413] powerpc: Use generic rwsem on RT Use generic code which uses rtmutex diff --git a/kernel/patches-4.14.x-rt/0335-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch b/kernel/patches-4.14.x-rt/0334-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0335-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch rename to kernel/patches-4.14.x-rt/0334-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch index de602f9aa..75b71ce07 100644 --- a/kernel/patches-4.14.x-rt/0335-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch +++ b/kernel/patches-4.14.x-rt/0334-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch @@ -1,7 +1,7 @@ -From 6efdb45bce403d6caeaba4a99aec988eb31825ec Mon Sep 17 00:00:00 2001 +From 297c74b4103902bde50431705e04653b7fcc188c Mon Sep 17 00:00:00 2001 From: Bogdan Purcareata Date: Fri, 24 Apr 2015 15:53:13 +0000 -Subject: [PATCH 335/414] powerpc/kvm: Disable in-kernel MPIC emulation for +Subject: [PATCH 334/413] powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT_FULL While converting the openpic emulation code to use a raw_spinlock_t enables diff --git a/kernel/patches-4.14.x-rt/0336-powerpc-ps3-device-init.c-adapt-to-completions-using.patch b/kernel/patches-4.14.x-rt/0335-powerpc-ps3-device-init.c-adapt-to-completions-using.patch similarity index 92% rename from kernel/patches-4.14.x-rt/0336-powerpc-ps3-device-init.c-adapt-to-completions-using.patch rename to kernel/patches-4.14.x-rt/0335-powerpc-ps3-device-init.c-adapt-to-completions-using.patch index 6c978afdf..4f30289ca 100644 --- a/kernel/patches-4.14.x-rt/0336-powerpc-ps3-device-init.c-adapt-to-completions-using.patch +++ b/kernel/patches-4.14.x-rt/0335-powerpc-ps3-device-init.c-adapt-to-completions-using.patch @@ -1,7 +1,7 @@ -From 5305f92fa4f8b0b2be1c41f21a4c3f26ecd02d0a Mon Sep 17 00:00:00 2001 +From 2d37ca2d886a1307138bd1069eb0196b2ba5424c Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Sun, 31 May 2015 14:44:42 -0400 -Subject: [PATCH 336/414] powerpc: ps3/device-init.c - adapt to completions +Subject: [PATCH 335/413] powerpc: ps3/device-init.c - adapt to completions using swait vs wait To fix: diff --git a/kernel/patches-4.14.x-rt/0337-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch b/kernel/patches-4.14.x-rt/0336-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch similarity index 89% rename from kernel/patches-4.14.x-rt/0337-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch rename to kernel/patches-4.14.x-rt/0336-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch index 9a7a47a7a..aa6dca45a 100644 --- a/kernel/patches-4.14.x-rt/0337-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0336-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch @@ -1,7 +1,7 @@ -From 525a31b7a9151ab8760bb5659a6e16d089a5514a Mon Sep 17 00:00:00 2001 +From 097550dd789debc8a3323bc545b5d231782ae3f3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 1 May 2010 18:29:35 +0200 -Subject: [PATCH 337/414] ARM: at91: tclib: Default to tclib timer for RT +Subject: [PATCH 336/413] ARM: at91: tclib: Default to tclib timer for RT RT is not too happy about the shared timer interrupt in AT91 devices. Default to tclib timer for RT. diff --git a/kernel/patches-4.14.x-rt/0338-arm-unwind-use-a-raw_spin_lock.patch b/kernel/patches-4.14.x-rt/0337-arm-unwind-use-a-raw_spin_lock.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0338-arm-unwind-use-a-raw_spin_lock.patch rename to kernel/patches-4.14.x-rt/0337-arm-unwind-use-a-raw_spin_lock.patch index 475925426..a62d01153 100644 --- a/kernel/patches-4.14.x-rt/0338-arm-unwind-use-a-raw_spin_lock.patch +++ b/kernel/patches-4.14.x-rt/0337-arm-unwind-use-a-raw_spin_lock.patch @@ -1,7 +1,7 @@ -From d25eee9dc20c51fcff7ad6a845ca91b9d1a27398 Mon Sep 17 00:00:00 2001 +From 54db8d0097dae35b2a7fab9b4d309f4e0ef47e30 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 20 Sep 2013 14:31:54 +0200 -Subject: [PATCH 338/414] arm/unwind: use a raw_spin_lock +Subject: [PATCH 337/413] arm/unwind: use a raw_spin_lock Mostly unwind is done with irqs enabled however SLUB may call it with irqs disabled while creating a new SLUB cache. diff --git a/kernel/patches-4.14.x-rt/0339-ARM-enable-irq-in-translation-section-permission-fau.patch b/kernel/patches-4.14.x-rt/0338-ARM-enable-irq-in-translation-section-permission-fau.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0339-ARM-enable-irq-in-translation-section-permission-fau.patch rename to kernel/patches-4.14.x-rt/0338-ARM-enable-irq-in-translation-section-permission-fau.patch index 35d1f836f..019d372d4 100644 --- a/kernel/patches-4.14.x-rt/0339-ARM-enable-irq-in-translation-section-permission-fau.patch +++ b/kernel/patches-4.14.x-rt/0338-ARM-enable-irq-in-translation-section-permission-fau.patch @@ -1,7 +1,7 @@ -From 26952b26cb87ceffdb5ee5f98a55eb80bf732152 Mon Sep 17 00:00:00 2001 +From 4781928a7fa9781e6e27e5e72ce5da15b9c2d2c8 Mon Sep 17 00:00:00 2001 From: "Yadi.hu" Date: Wed, 10 Dec 2014 10:32:09 +0800 -Subject: [PATCH 339/414] ARM: enable irq in translation/section permission +Subject: [PATCH 338/413] ARM: enable irq in translation/section permission fault handlers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/kernel/patches-4.14.x-rt/0340-genirq-update-irq_set_irqchip_state-documentation.patch b/kernel/patches-4.14.x-rt/0339-genirq-update-irq_set_irqchip_state-documentation.patch similarity index 80% rename from kernel/patches-4.14.x-rt/0340-genirq-update-irq_set_irqchip_state-documentation.patch rename to kernel/patches-4.14.x-rt/0339-genirq-update-irq_set_irqchip_state-documentation.patch index e6d4d774a..a4f0562f3 100644 --- a/kernel/patches-4.14.x-rt/0340-genirq-update-irq_set_irqchip_state-documentation.patch +++ b/kernel/patches-4.14.x-rt/0339-genirq-update-irq_set_irqchip_state-documentation.patch @@ -1,7 +1,7 @@ -From fa88f4b0b8cb53e1fa42c1ea271d1b19697d190e Mon Sep 17 00:00:00 2001 +From d5db143543ab84529338bbcbe7452c042860e720 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 11 Feb 2016 11:54:00 -0600 -Subject: [PATCH 340/414] genirq: update irq_set_irqchip_state documentation +Subject: [PATCH 339/413] genirq: update irq_set_irqchip_state documentation On -rt kernels, the use of migrate_disable()/migrate_enable() is sufficient to guarantee a task isn't moved to another CPU. Update the @@ -14,10 +14,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index d8fa6c86a8ca..000c519a35cd 100644 +index 761d6e6caef1..967c0bfc9f3b 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -2202,7 +2202,7 @@ EXPORT_SYMBOL_GPL(irq_get_irqchip_state); +@@ -2209,7 +2209,7 @@ EXPORT_SYMBOL_GPL(irq_get_irqchip_state); * This call sets the internal irqchip state of an interrupt, * depending on the value of @which. * diff --git a/kernel/patches-4.14.x-rt/0341-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch b/kernel/patches-4.14.x-rt/0340-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0341-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch rename to kernel/patches-4.14.x-rt/0340-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch index 336626d63..089b02f64 100644 --- a/kernel/patches-4.14.x-rt/0341-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch +++ b/kernel/patches-4.14.x-rt/0340-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch @@ -1,7 +1,7 @@ -From cd4d7c7e603d7f09f3ade92a0c6a2eff81e7e7c2 Mon Sep 17 00:00:00 2001 +From 16f6cee7b374cc6ef65e710e148dca40558da980 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 11 Feb 2016 11:54:01 -0600 -Subject: [PATCH 341/414] KVM: arm/arm64: downgrade preempt_disable()d region +Subject: [PATCH 340/413] KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable() kvm_arch_vcpu_ioctl_run() disables the use of preemption when updating diff --git a/kernel/patches-4.14.x-rt/0342-arm64-xen-Make-XEN-depend-on-RT.patch b/kernel/patches-4.14.x-rt/0341-arm64-xen-Make-XEN-depend-on-RT.patch similarity index 84% rename from kernel/patches-4.14.x-rt/0342-arm64-xen-Make-XEN-depend-on-RT.patch rename to kernel/patches-4.14.x-rt/0341-arm64-xen-Make-XEN-depend-on-RT.patch index 24e80dce2..30c86eddf 100644 --- a/kernel/patches-4.14.x-rt/0342-arm64-xen-Make-XEN-depend-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0341-arm64-xen-Make-XEN-depend-on-RT.patch @@ -1,7 +1,7 @@ -From 635b2adc9002774ace6e65a2a83557886b627f33 Mon Sep 17 00:00:00 2001 +From 16c41a0eaf10d71d38df45944c9d2ba02b2c6e4e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 12 Oct 2015 11:18:40 +0200 -Subject: [PATCH 342/414] arm64/xen: Make XEN depend on !RT +Subject: [PATCH 341/413] arm64/xen: Make XEN depend on !RT It's not ready and probably never will be, unless xen folks have a look at it. diff --git a/kernel/patches-4.14.x-rt/0343-kgdb-serial-Short-term-workaround.patch b/kernel/patches-4.14.x-rt/0342-kgdb-serial-Short-term-workaround.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0343-kgdb-serial-Short-term-workaround.patch rename to kernel/patches-4.14.x-rt/0342-kgdb-serial-Short-term-workaround.patch index 34a1aba81..aedef3470 100644 --- a/kernel/patches-4.14.x-rt/0343-kgdb-serial-Short-term-workaround.patch +++ b/kernel/patches-4.14.x-rt/0342-kgdb-serial-Short-term-workaround.patch @@ -1,7 +1,7 @@ -From 97e106e8bd43112b14128759dfb48eb3191a2443 Mon Sep 17 00:00:00 2001 +From fbea92f249e1dd9a834cc09a21fe34adcdea4186 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Thu, 28 Jul 2011 12:42:23 -0500 -Subject: [PATCH 343/414] kgdb/serial: Short term workaround +Subject: [PATCH 342/413] kgdb/serial: Short term workaround On 07/27/2011 04:37 PM, Thomas Gleixner wrote: > - KGDB (not yet disabled) is reportedly unusable on -rt right now due diff --git a/kernel/patches-4.14.x-rt/0344-sysfs-Add-sys-kernel-realtime-entry.patch b/kernel/patches-4.14.x-rt/0343-sysfs-Add-sys-kernel-realtime-entry.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0344-sysfs-Add-sys-kernel-realtime-entry.patch rename to kernel/patches-4.14.x-rt/0343-sysfs-Add-sys-kernel-realtime-entry.patch index 0d5d8a9ac..83c134bf7 100644 --- a/kernel/patches-4.14.x-rt/0344-sysfs-Add-sys-kernel-realtime-entry.patch +++ b/kernel/patches-4.14.x-rt/0343-sysfs-Add-sys-kernel-realtime-entry.patch @@ -1,7 +1,7 @@ -From 2462efc351d9d57bb8ed04782c1d97c9a76f026f Mon Sep 17 00:00:00 2001 +From 771729d3e9caa42a7067ad1faea971d343fbd183 Mon Sep 17 00:00:00 2001 From: Clark Williams Date: Sat, 30 Jul 2011 21:55:53 -0500 -Subject: [PATCH 344/414] sysfs: Add /sys/kernel/realtime entry +Subject: [PATCH 343/413] sysfs: Add /sys/kernel/realtime entry Add a /sys/kernel entry to indicate that the kernel is a realtime kernel. diff --git a/kernel/patches-4.14.x-rt/0345-powerpc-Disable-highmem-on-RT.patch b/kernel/patches-4.14.x-rt/0344-powerpc-Disable-highmem-on-RT.patch similarity index 84% rename from kernel/patches-4.14.x-rt/0345-powerpc-Disable-highmem-on-RT.patch rename to kernel/patches-4.14.x-rt/0344-powerpc-Disable-highmem-on-RT.patch index 8322a1f63..859ee8535 100644 --- a/kernel/patches-4.14.x-rt/0345-powerpc-Disable-highmem-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0344-powerpc-Disable-highmem-on-RT.patch @@ -1,7 +1,7 @@ -From e1d7d61d1ff2e38a2aef8afb51b99f42b653fd12 Mon Sep 17 00:00:00 2001 +From 7ff34f36011d8cd39af6fab6549a5276a04c656d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:08:34 +0200 -Subject: [PATCH 345/414] powerpc: Disable highmem on RT +Subject: [PATCH 344/413] powerpc: Disable highmem on RT The current highmem handling on -RT is not compatible and needs fixups. diff --git a/kernel/patches-4.14.x-rt/0346-mips-Disable-highmem-on-RT.patch b/kernel/patches-4.14.x-rt/0345-mips-Disable-highmem-on-RT.patch similarity index 86% rename from kernel/patches-4.14.x-rt/0346-mips-Disable-highmem-on-RT.patch rename to kernel/patches-4.14.x-rt/0345-mips-Disable-highmem-on-RT.patch index 412c59373..a65f592e9 100644 --- a/kernel/patches-4.14.x-rt/0346-mips-Disable-highmem-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0345-mips-Disable-highmem-on-RT.patch @@ -1,7 +1,7 @@ -From 26ddc5281f2e4b37495d01265ed88b3a6a3e1fa1 Mon Sep 17 00:00:00 2001 +From d2f35726ce3de6894bc0b4c079868e23aa6c9ec3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:10:12 +0200 -Subject: [PATCH 346/414] mips: Disable highmem on RT +Subject: [PATCH 345/413] mips: Disable highmem on RT The current highmem handling on -RT is not compatible and needs fixups. diff --git a/kernel/patches-4.14.x-rt/0347-mm-rt-kmap_atomic-scheduling.patch b/kernel/patches-4.14.x-rt/0346-mm-rt-kmap_atomic-scheduling.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0347-mm-rt-kmap_atomic-scheduling.patch rename to kernel/patches-4.14.x-rt/0346-mm-rt-kmap_atomic-scheduling.patch index 3166ab5b8..ba3169a8e 100644 --- a/kernel/patches-4.14.x-rt/0347-mm-rt-kmap_atomic-scheduling.patch +++ b/kernel/patches-4.14.x-rt/0346-mm-rt-kmap_atomic-scheduling.patch @@ -1,7 +1,7 @@ -From e7ba36f21b5c2eab40fc7599eef46e785f17d803 Mon Sep 17 00:00:00 2001 +From cee392e4ceb80d84d4f31c522ddc8b6c73492757 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 28 Jul 2011 10:43:51 +0200 -Subject: [PATCH 347/414] mm, rt: kmap_atomic scheduling +Subject: [PATCH 346/413] mm, rt: kmap_atomic scheduling In fact, with migrate_disable() existing one could play games with kmap_atomic. You could save/restore the kmap_atomic slots on context diff --git a/kernel/patches-4.14.x-rt/0348-mm-rt-Fix-generic-kmap_atomic-for-RT.patch b/kernel/patches-4.14.x-rt/0347-mm-rt-Fix-generic-kmap_atomic-for-RT.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0348-mm-rt-Fix-generic-kmap_atomic-for-RT.patch rename to kernel/patches-4.14.x-rt/0347-mm-rt-Fix-generic-kmap_atomic-for-RT.patch index a324d7927..b7c23a6d6 100644 --- a/kernel/patches-4.14.x-rt/0348-mm-rt-Fix-generic-kmap_atomic-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0347-mm-rt-Fix-generic-kmap_atomic-for-RT.patch @@ -1,7 +1,7 @@ -From 8ee1547149d8153025861936d34d6364c4550039 Mon Sep 17 00:00:00 2001 +From d80276945008c1deb6202ec937bfc8a24beb3794 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 19 Sep 2015 10:15:00 +0200 -Subject: [PATCH 348/414] mm: rt: Fix generic kmap_atomic for RT +Subject: [PATCH 347/413] mm: rt: Fix generic kmap_atomic for RT The update to 4.1 brought in the mainline variant of the pagefault disable distangling from preempt count. That introduced a diff --git a/kernel/patches-4.14.x-rt/0349-x86-highmem-Add-a-already-used-pte-check.patch b/kernel/patches-4.14.x-rt/0348-x86-highmem-Add-a-already-used-pte-check.patch similarity index 85% rename from kernel/patches-4.14.x-rt/0349-x86-highmem-Add-a-already-used-pte-check.patch rename to kernel/patches-4.14.x-rt/0348-x86-highmem-Add-a-already-used-pte-check.patch index e8a3f4171..cf2b9491a 100644 --- a/kernel/patches-4.14.x-rt/0349-x86-highmem-Add-a-already-used-pte-check.patch +++ b/kernel/patches-4.14.x-rt/0348-x86-highmem-Add-a-already-used-pte-check.patch @@ -1,7 +1,7 @@ -From e700b71a12586a07e0c19b8decec56df66f0d843 Mon Sep 17 00:00:00 2001 +From d980a233b75ababca4537449ab99fe556291b2d2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Mar 2013 17:09:55 +0100 -Subject: [PATCH 349/414] x86/highmem: Add a "already used pte" check +Subject: [PATCH 348/413] x86/highmem: Add a "already used pte" check This is a copy from kmap_atomic_prot(). diff --git a/kernel/patches-4.14.x-rt/0350-arm-highmem-Flush-tlb-on-unmap.patch b/kernel/patches-4.14.x-rt/0349-arm-highmem-Flush-tlb-on-unmap.patch similarity index 89% rename from kernel/patches-4.14.x-rt/0350-arm-highmem-Flush-tlb-on-unmap.patch rename to kernel/patches-4.14.x-rt/0349-arm-highmem-Flush-tlb-on-unmap.patch index 2d79fdc3e..51499030f 100644 --- a/kernel/patches-4.14.x-rt/0350-arm-highmem-Flush-tlb-on-unmap.patch +++ b/kernel/patches-4.14.x-rt/0349-arm-highmem-Flush-tlb-on-unmap.patch @@ -1,7 +1,7 @@ -From 4b2a63b49a6b3c306db34e82af3a54fe73dc44e7 Mon Sep 17 00:00:00 2001 +From ae1d3c824ab74d6a6376a7d20f7c2fe35db14381 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Mar 2013 21:37:27 +0100 -Subject: [PATCH 350/414] arm/highmem: Flush tlb on unmap +Subject: [PATCH 349/413] arm/highmem: Flush tlb on unmap The tlb should be flushed on unmap and thus make the mapping entry invalid. This is only done in the non-debug case which does not look diff --git a/kernel/patches-4.14.x-rt/0351-arm-Enable-highmem-for-rt.patch b/kernel/patches-4.14.x-rt/0350-arm-Enable-highmem-for-rt.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0351-arm-Enable-highmem-for-rt.patch rename to kernel/patches-4.14.x-rt/0350-arm-Enable-highmem-for-rt.patch index e79862498..81f7ad1f9 100644 --- a/kernel/patches-4.14.x-rt/0351-arm-Enable-highmem-for-rt.patch +++ b/kernel/patches-4.14.x-rt/0350-arm-Enable-highmem-for-rt.patch @@ -1,7 +1,7 @@ -From 87fec3fc6afad6184c6734f08e2307707b96a0fd Mon Sep 17 00:00:00 2001 +From 0619274e5207db111d9159bae6b9b440b8f3e079 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 13 Feb 2013 11:03:11 +0100 -Subject: [PATCH 351/414] arm: Enable highmem for rt +Subject: [PATCH 350/413] arm: Enable highmem for rt fixup highmem for ARM. diff --git a/kernel/patches-4.14.x-rt/0352-scsi-fcoe-Make-RT-aware.patch b/kernel/patches-4.14.x-rt/0351-scsi-fcoe-Make-RT-aware.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0352-scsi-fcoe-Make-RT-aware.patch rename to kernel/patches-4.14.x-rt/0351-scsi-fcoe-Make-RT-aware.patch index aa23e20af..bcd4c551f 100644 --- a/kernel/patches-4.14.x-rt/0352-scsi-fcoe-Make-RT-aware.patch +++ b/kernel/patches-4.14.x-rt/0351-scsi-fcoe-Make-RT-aware.patch @@ -1,7 +1,7 @@ -From 6d7d79a0e3d15096588e7692b8e9896f02aa472b Mon Sep 17 00:00:00 2001 +From 9e3403cfcb1a4a7cc9e921b6d1995a4437144066 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 12 Nov 2011 14:00:48 +0100 -Subject: [PATCH 352/414] scsi/fcoe: Make RT aware. +Subject: [PATCH 351/413] scsi/fcoe: Make RT aware. Do not disable preemption while taking sleeping locks. All user look safe for migrate_diable() only. diff --git a/kernel/patches-4.14.x-rt/0353-sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch b/kernel/patches-4.14.x-rt/0352-sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0353-sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch rename to kernel/patches-4.14.x-rt/0352-sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch index 24f78c599..4b245ff71 100644 --- a/kernel/patches-4.14.x-rt/0353-sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch +++ b/kernel/patches-4.14.x-rt/0352-sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch @@ -1,7 +1,7 @@ -From 5bdbf84364699f7bb6180687535a143fb2a74e19 Mon Sep 17 00:00:00 2001 +From 8cd450021f32f6b8de9c72cc1c923a7e5ac1ccd1 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Sat, 14 Feb 2015 11:01:16 -0500 -Subject: [PATCH 353/414] sas-ata/isci: dont't disable interrupts in qc_issue +Subject: [PATCH 352/413] sas-ata/isci: dont't disable interrupts in qc_issue handler On 3.14-rt we see the following trace on Canoe Pass for diff --git a/kernel/patches-4.14.x-rt/0354-x86-crypto-Reduce-preempt-disabled-regions.patch b/kernel/patches-4.14.x-rt/0353-x86-crypto-Reduce-preempt-disabled-regions.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0354-x86-crypto-Reduce-preempt-disabled-regions.patch rename to kernel/patches-4.14.x-rt/0353-x86-crypto-Reduce-preempt-disabled-regions.patch index 21ec25089..ba24c76e6 100644 --- a/kernel/patches-4.14.x-rt/0354-x86-crypto-Reduce-preempt-disabled-regions.patch +++ b/kernel/patches-4.14.x-rt/0353-x86-crypto-Reduce-preempt-disabled-regions.patch @@ -1,7 +1,7 @@ -From 00670e569ec7a47551414f65d2e816307777e78d Mon Sep 17 00:00:00 2001 +From 2d0c0b4502c41fd4aff606e42a874cdaee431310 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 14 Nov 2011 18:19:27 +0100 -Subject: [PATCH 354/414] x86: crypto: Reduce preempt disabled regions +Subject: [PATCH 353/413] x86: crypto: Reduce preempt disabled regions Restrict the preempt disabled regions to the actual floating point operations and enable preemption for the administrative actions. diff --git a/kernel/patches-4.14.x-rt/0355-crypto-Reduce-preempt-disabled-regions-more-algos.patch b/kernel/patches-4.14.x-rt/0354-crypto-Reduce-preempt-disabled-regions-more-algos.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0355-crypto-Reduce-preempt-disabled-regions-more-algos.patch rename to kernel/patches-4.14.x-rt/0354-crypto-Reduce-preempt-disabled-regions-more-algos.patch index 82c42735f..89a1fb50f 100644 --- a/kernel/patches-4.14.x-rt/0355-crypto-Reduce-preempt-disabled-regions-more-algos.patch +++ b/kernel/patches-4.14.x-rt/0354-crypto-Reduce-preempt-disabled-regions-more-algos.patch @@ -1,7 +1,7 @@ -From 1d1b557720b31aeb5e469f6f7f172ba9711ab33f Mon Sep 17 00:00:00 2001 +From d4d1c4e5c50608b33b48e96d403056f5f605d7d6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 21 Feb 2014 17:24:04 +0100 -Subject: [PATCH 355/414] crypto: Reduce preempt disabled regions, more algos +Subject: [PATCH 354/413] crypto: Reduce preempt disabled regions, more algos Don Estabrook reported | kernel: WARNING: CPU: 2 PID: 858 at kernel/sched/core.c:2428 migrate_disable+0xed/0x100() diff --git a/kernel/patches-4.14.x-rt/0356-crypto-limit-more-FPU-enabled-sections.patch b/kernel/patches-4.14.x-rt/0355-crypto-limit-more-FPU-enabled-sections.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0356-crypto-limit-more-FPU-enabled-sections.patch rename to kernel/patches-4.14.x-rt/0355-crypto-limit-more-FPU-enabled-sections.patch index 01fbee13a..858fdc1bd 100644 --- a/kernel/patches-4.14.x-rt/0356-crypto-limit-more-FPU-enabled-sections.patch +++ b/kernel/patches-4.14.x-rt/0355-crypto-limit-more-FPU-enabled-sections.patch @@ -1,7 +1,7 @@ -From 18667febc2ee21d1dc9487a7e216e58dc1090202 Mon Sep 17 00:00:00 2001 +From 4b03cd4ff5ebbd754df42aa5a9123eff44885056 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 30 Nov 2017 13:40:10 +0100 -Subject: [PATCH 356/414] crypto: limit more FPU-enabled sections +Subject: [PATCH 355/413] crypto: limit more FPU-enabled sections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -473,10 +473,10 @@ index a9caac9d4a72..18b31f22ca5d 100644 /* diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c -index f92a6593de1e..7128beaf594c 100644 +index 2ea85b32421a..6914dc569d1e 100644 --- a/arch/x86/kernel/fpu/core.c +++ b/arch/x86/kernel/fpu/core.c -@@ -137,6 +137,18 @@ void kernel_fpu_end(void) +@@ -138,6 +138,18 @@ void kernel_fpu_end(void) } EXPORT_SYMBOL_GPL(kernel_fpu_end); diff --git a/kernel/patches-4.14.x-rt/0357-arm-disable-NEON-in-kernel-mode.patch b/kernel/patches-4.14.x-rt/0356-arm-disable-NEON-in-kernel-mode.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0357-arm-disable-NEON-in-kernel-mode.patch rename to kernel/patches-4.14.x-rt/0356-arm-disable-NEON-in-kernel-mode.patch index ac23eb74b..d2aa14f37 100644 --- a/kernel/patches-4.14.x-rt/0357-arm-disable-NEON-in-kernel-mode.patch +++ b/kernel/patches-4.14.x-rt/0356-arm-disable-NEON-in-kernel-mode.patch @@ -1,7 +1,7 @@ -From 0880265399b60f724b594b72c8cddf9118b67b37 Mon Sep 17 00:00:00 2001 +From 49e4a47159d65bdd9338a77cb4da5051284a2226 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 1 Dec 2017 10:42:03 +0100 -Subject: [PATCH 357/414] arm*: disable NEON in kernel mode +Subject: [PATCH 356/413] arm*: disable NEON in kernel mode NEON in kernel mode is used by the crypto algorithms and raid6 code. While the raid6 code looks okay, the crypto algorithms do not: NEON diff --git a/kernel/patches-4.14.x-rt/0358-dm-Make-rt-aware.patch b/kernel/patches-4.14.x-rt/0357-dm-Make-rt-aware.patch similarity index 89% rename from kernel/patches-4.14.x-rt/0358-dm-Make-rt-aware.patch rename to kernel/patches-4.14.x-rt/0357-dm-Make-rt-aware.patch index b4014a882..a19c7bb88 100644 --- a/kernel/patches-4.14.x-rt/0358-dm-Make-rt-aware.patch +++ b/kernel/patches-4.14.x-rt/0357-dm-Make-rt-aware.patch @@ -1,7 +1,7 @@ -From d94635cbd54f892fc6edad894436a48bf88d207d Mon Sep 17 00:00:00 2001 +From e99ee9ce529f69002cfe683a250e785612d503de Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 14 Nov 2011 23:06:09 +0100 -Subject: [PATCH 358/414] dm: Make rt aware +Subject: [PATCH 357/413] dm: Make rt aware Use the BUG_ON_NORT variant for the irq_disabled() checks. RT has interrupts legitimately enabled here as we cant deadlock against the diff --git a/kernel/patches-4.14.x-rt/0359-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch b/kernel/patches-4.14.x-rt/0358-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0359-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch rename to kernel/patches-4.14.x-rt/0358-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch index d616fbd58..ff0fccac0 100644 --- a/kernel/patches-4.14.x-rt/0359-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch +++ b/kernel/patches-4.14.x-rt/0358-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch @@ -1,7 +1,7 @@ -From 84346a9e5990c8810780a1bda1d7409532f1e308 Mon Sep 17 00:00:00 2001 +From 4985eb61d8cca6b14a947df18ab4b7d5c769a340 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Wed, 13 Feb 2013 09:26:05 -0500 -Subject: [PATCH 359/414] acpi/rt: Convert acpi_gbl_hardware lock back to a +Subject: [PATCH 358/413] acpi/rt: Convert acpi_gbl_hardware lock back to a raw_spinlock_t We hit the following bug with 3.6-rt: diff --git a/kernel/patches-4.14.x-rt/0360-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch b/kernel/patches-4.14.x-rt/0359-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch similarity index 92% rename from kernel/patches-4.14.x-rt/0360-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch rename to kernel/patches-4.14.x-rt/0359-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch index 9eb462c6a..ac7c6470c 100644 --- a/kernel/patches-4.14.x-rt/0360-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0359-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch @@ -1,7 +1,7 @@ -From 2cd28bbc67f575a3003bf57033139043ca71f3e0 Mon Sep 17 00:00:00 2001 +From 6ceae2c8cc97567f3442684b3201a90743e40672 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 14 Dec 2011 01:03:49 +0100 -Subject: [PATCH 360/414] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT +Subject: [PATCH 359/413] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT There are "valid" GFP_ATOMIC allocations such as @@ -46,10 +46,10 @@ Signed-off-by: Thomas Gleixner 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 310df1ea0d68..c4afdf1be676 100644 +index 35c46e06955e..3da3782e605c 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -934,7 +934,7 @@ config IOMMU_HELPER +@@ -935,7 +935,7 @@ config IOMMU_HELPER config MAXSMP bool "Enable Maximum number of SMP Processors and NUMA Nodes" depends on X86_64 && SMP && DEBUG_KERNEL diff --git a/kernel/patches-4.14.x-rt/0361-random-Make-it-work-on-rt.patch b/kernel/patches-4.14.x-rt/0360-random-Make-it-work-on-rt.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0361-random-Make-it-work-on-rt.patch rename to kernel/patches-4.14.x-rt/0360-random-Make-it-work-on-rt.patch index b49ccefd2..03cd181fa 100644 --- a/kernel/patches-4.14.x-rt/0361-random-Make-it-work-on-rt.patch +++ b/kernel/patches-4.14.x-rt/0360-random-Make-it-work-on-rt.patch @@ -1,7 +1,7 @@ -From c6a674a9a6bcf3db34c604d71cf5717c5652e26c Mon Sep 17 00:00:00 2001 +From 14fee00503758afa0d09091c2df8d854df9bf0bf Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Aug 2012 20:38:50 +0200 -Subject: [PATCH 361/414] random: Make it work on rt +Subject: [PATCH 360/413] random: Make it work on rt Delegate the random insertion to the forced threaded interrupt handler. Store the return IP of the hard interrupt handler in the irq @@ -19,7 +19,7 @@ Signed-off-by: Thomas Gleixner 6 files changed, 23 insertions(+), 9 deletions(-) diff --git a/drivers/char/random.c b/drivers/char/random.c -index 106abdf67efd..07d3b27db4fb 100644 +index 8a6228ab983c..29a46c372df3 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1218,28 +1218,27 @@ static __u32 get_reg(struct fast_pool *f, struct pt_regs *regs) @@ -126,7 +126,7 @@ index 79f987b942b8..d1dbacc29941 100644 if (!noirqdebug) note_interrupt(desc, retval); diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 000c519a35cd..5190abc61d37 100644 +index 967c0bfc9f3b..f82dcca81712 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -1027,6 +1027,12 @@ static int irq_thread(void *data) diff --git a/kernel/patches-4.14.x-rt/0362-random-avoid-preempt_disable-ed-section.patch b/kernel/patches-4.14.x-rt/0361-random-avoid-preempt_disable-ed-section.patch similarity index 85% rename from kernel/patches-4.14.x-rt/0362-random-avoid-preempt_disable-ed-section.patch rename to kernel/patches-4.14.x-rt/0361-random-avoid-preempt_disable-ed-section.patch index 4b32c282f..ccd489cc2 100644 --- a/kernel/patches-4.14.x-rt/0362-random-avoid-preempt_disable-ed-section.patch +++ b/kernel/patches-4.14.x-rt/0361-random-avoid-preempt_disable-ed-section.patch @@ -1,7 +1,7 @@ -From 791b50a14ed4d4ffa59d08a76ead382ecc33a927 Mon Sep 17 00:00:00 2001 +From e42f3d4e18a1d96530588d5210e579eab1182515 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 12 May 2017 15:46:17 +0200 -Subject: [PATCH 362/414] random: avoid preempt_disable()ed section +Subject: [PATCH 361/413] random: avoid preempt_disable()ed section extract_crng() will use sleeping locks while in a preempt_disable() section due to get_cpu_var(). @@ -14,7 +14,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/char/random.c b/drivers/char/random.c -index 07d3b27db4fb..74a0f65217f5 100644 +index 29a46c372df3..9fb3c929765c 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -265,6 +265,7 @@ @@ -25,7 +25,7 @@ index 07d3b27db4fb..74a0f65217f5 100644 #include #include -@@ -2188,6 +2189,7 @@ static rwlock_t batched_entropy_reset_lock = __RW_LOCK_UNLOCKED(batched_entropy_ +@@ -2196,6 +2197,7 @@ static rwlock_t batched_entropy_reset_lock = __RW_LOCK_UNLOCKED(batched_entropy_ * at any point prior. */ static DEFINE_PER_CPU(struct batched_entropy, batched_entropy_u64); @@ -33,7 +33,7 @@ index 07d3b27db4fb..74a0f65217f5 100644 u64 get_random_u64(void) { u64 ret; -@@ -2208,7 +2210,7 @@ u64 get_random_u64(void) +@@ -2216,7 +2218,7 @@ u64 get_random_u64(void) warn_unseeded_randomness(&previous); use_lock = READ_ONCE(crng_init) < 2; @@ -42,7 +42,7 @@ index 07d3b27db4fb..74a0f65217f5 100644 if (use_lock) read_lock_irqsave(&batched_entropy_reset_lock, flags); if (batch->position % ARRAY_SIZE(batch->entropy_u64) == 0) { -@@ -2218,12 +2220,13 @@ u64 get_random_u64(void) +@@ -2226,12 +2228,13 @@ u64 get_random_u64(void) ret = batch->entropy_u64[batch->position++]; if (use_lock) read_unlock_irqrestore(&batched_entropy_reset_lock, flags); @@ -57,7 +57,7 @@ index 07d3b27db4fb..74a0f65217f5 100644 u32 get_random_u32(void) { u32 ret; -@@ -2238,7 +2241,7 @@ u32 get_random_u32(void) +@@ -2246,7 +2249,7 @@ u32 get_random_u32(void) warn_unseeded_randomness(&previous); use_lock = READ_ONCE(crng_init) < 2; @@ -66,7 +66,7 @@ index 07d3b27db4fb..74a0f65217f5 100644 if (use_lock) read_lock_irqsave(&batched_entropy_reset_lock, flags); if (batch->position % ARRAY_SIZE(batch->entropy_u32) == 0) { -@@ -2248,7 +2251,7 @@ u32 get_random_u32(void) +@@ -2256,7 +2259,7 @@ u32 get_random_u32(void) ret = batch->entropy_u32[batch->position++]; if (use_lock) read_unlock_irqrestore(&batched_entropy_reset_lock, flags); diff --git a/kernel/patches-4.14.x-rt/0363-char-random-don-t-print-that-the-init-is-done.patch b/kernel/patches-4.14.x-rt/0362-char-random-don-t-print-that-the-init-is-done.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0363-char-random-don-t-print-that-the-init-is-done.patch rename to kernel/patches-4.14.x-rt/0362-char-random-don-t-print-that-the-init-is-done.patch index 835ff0139..61c167d40 100644 --- a/kernel/patches-4.14.x-rt/0363-char-random-don-t-print-that-the-init-is-done.patch +++ b/kernel/patches-4.14.x-rt/0362-char-random-don-t-print-that-the-init-is-done.patch @@ -1,7 +1,7 @@ -From aa9e8f0bdd506a2396abeadca48e4db9d92950c8 Mon Sep 17 00:00:00 2001 +From 9fa74a48b510ef7097a564b460d87c440e2d8016 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 30 May 2017 16:39:01 +0200 -Subject: [PATCH 363/414] char/random: don't print that the init is done +Subject: [PATCH 362/413] char/random: don't print that the init is done On RT we run into circular locking with pendingb_lock (workqueue), port_lock_key (uart) and the primary_crng (random): @@ -146,7 +146,7 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/char/random.c b/drivers/char/random.c -index 74a0f65217f5..4a8458ff5ee8 100644 +index 9fb3c929765c..c72a7f0b4494 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -857,7 +857,7 @@ static int crng_fast_load(const char *cp, size_t len) diff --git a/kernel/patches-4.14.x-rt/0364-cpu-hotplug-Implement-CPU-pinning.patch b/kernel/patches-4.14.x-rt/0363-cpu-hotplug-Implement-CPU-pinning.patch similarity index 84% rename from kernel/patches-4.14.x-rt/0364-cpu-hotplug-Implement-CPU-pinning.patch rename to kernel/patches-4.14.x-rt/0363-cpu-hotplug-Implement-CPU-pinning.patch index ba485aa2a..f678d4fe6 100644 --- a/kernel/patches-4.14.x-rt/0364-cpu-hotplug-Implement-CPU-pinning.patch +++ b/kernel/patches-4.14.x-rt/0363-cpu-hotplug-Implement-CPU-pinning.patch @@ -1,7 +1,7 @@ -From 2a0ee06fd38579385684ca2094d3053668bda8e5 Mon Sep 17 00:00:00 2001 +From cebd24029a31d33da71afdb284e600527408ddc4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 19 Jul 2017 17:31:20 +0200 -Subject: [PATCH 364/414] cpu/hotplug: Implement CPU pinning +Subject: [PATCH 363/413] cpu/hotplug: Implement CPU pinning Signed-off-by: Thomas Gleixner --- @@ -22,10 +22,10 @@ index cb26ba8286fb..4e48d5fe8bd6 100644 int migrate_disable_atomic; # endif diff --git a/kernel/cpu.c b/kernel/cpu.c -index aa9b1702e115..61ca799b76c5 100644 +index 083ff510b038..6d4fda219fd8 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -73,6 +73,11 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { +@@ -74,6 +74,11 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { .fail = CPUHP_INVALID, }; @@ -37,7 +37,7 @@ index aa9b1702e115..61ca799b76c5 100644 #if defined(CONFIG_LOCKDEP) && defined(CONFIG_SMP) static struct lockdep_map cpuhp_state_up_map = STATIC_LOCKDEP_MAP_INIT("cpuhp_state-up", &cpuhp_state_up_map); -@@ -291,7 +296,30 @@ static int cpu_hotplug_disabled; +@@ -292,7 +297,30 @@ static int cpu_hotplug_disabled; */ void pin_current_cpu(void) { @@ -68,7 +68,7 @@ index aa9b1702e115..61ca799b76c5 100644 } /** -@@ -299,6 +327,13 @@ void pin_current_cpu(void) +@@ -300,6 +328,13 @@ void pin_current_cpu(void) */ void unpin_current_cpu(void) { @@ -82,7 +82,7 @@ index aa9b1702e115..61ca799b76c5 100644 } DEFINE_STATIC_PERCPU_RWSEM(cpu_hotplug_lock); -@@ -768,6 +803,7 @@ static int take_cpu_down(void *_param) +@@ -858,6 +893,7 @@ static int take_cpu_down(void *_param) static int takedown_cpu(unsigned int cpu) { @@ -90,7 +90,7 @@ index aa9b1702e115..61ca799b76c5 100644 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); int err; -@@ -781,11 +817,14 @@ static int takedown_cpu(unsigned int cpu) +@@ -870,11 +906,14 @@ static int takedown_cpu(unsigned int cpu) */ irq_lock_sparse(); @@ -105,7 +105,7 @@ index aa9b1702e115..61ca799b76c5 100644 /* CPU refused to die */ irq_unlock_sparse(); /* Unpark the hotplug thread so we can rollback there */ -@@ -804,6 +843,7 @@ static int takedown_cpu(unsigned int cpu) +@@ -893,6 +932,7 @@ static int takedown_cpu(unsigned int cpu) wait_for_ap_thread(st, false); BUG_ON(st->state != CPUHP_AP_IDLE_DEAD); diff --git a/kernel/patches-4.14.x-rt/0365-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch b/kernel/patches-4.14.x-rt/0364-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch similarity index 78% rename from kernel/patches-4.14.x-rt/0365-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch rename to kernel/patches-4.14.x-rt/0364-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch index fb57e5b6c..967b79edd 100644 --- a/kernel/patches-4.14.x-rt/0365-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch +++ b/kernel/patches-4.14.x-rt/0364-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch @@ -1,7 +1,7 @@ -From cc57aa62cf9fc408eac3a3ab803be8f6fefde89a Mon Sep 17 00:00:00 2001 +From 84bb66ff842d27d0c61225aadb1b94935fea992b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 4 Aug 2017 18:31:00 +0200 -Subject: [PATCH 365/414] hotplug: duct-tape RT-rwlock usage for non-RT +Subject: [PATCH 364/413] hotplug: duct-tape RT-rwlock usage for non-RT This type is only available on -RT. We need to craft something for non-RT. Since the only migrate_disable() user is -RT only, there is no @@ -13,10 +13,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/kernel/cpu.c b/kernel/cpu.c -index 61ca799b76c5..8fbc0f5ac6f9 100644 +index 6d4fda219fd8..7278b33a503d 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -73,7 +73,7 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { +@@ -74,7 +74,7 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { .fail = CPUHP_INVALID, }; @@ -25,7 +25,7 @@ index 61ca799b76c5..8fbc0f5ac6f9 100644 static DEFINE_PER_CPU(struct rt_rw_lock, cpuhp_pin_lock) = \ __RWLOCK_RT_INITIALIZER(cpuhp_pin_lock); #endif -@@ -296,6 +296,7 @@ static int cpu_hotplug_disabled; +@@ -297,6 +297,7 @@ static int cpu_hotplug_disabled; */ void pin_current_cpu(void) { @@ -33,7 +33,7 @@ index 61ca799b76c5..8fbc0f5ac6f9 100644 struct rt_rw_lock *cpuhp_pin; unsigned int cpu; int ret; -@@ -320,6 +321,7 @@ void pin_current_cpu(void) +@@ -321,6 +322,7 @@ void pin_current_cpu(void) goto again; } current->pinned_on_cpu = cpu; @@ -41,7 +41,7 @@ index 61ca799b76c5..8fbc0f5ac6f9 100644 } /** -@@ -327,6 +329,7 @@ void pin_current_cpu(void) +@@ -328,6 +330,7 @@ void pin_current_cpu(void) */ void unpin_current_cpu(void) { @@ -49,7 +49,7 @@ index 61ca799b76c5..8fbc0f5ac6f9 100644 struct rt_rw_lock *cpuhp_pin = this_cpu_ptr(&cpuhp_pin_lock); if (WARN_ON(current->pinned_on_cpu != smp_processor_id())) -@@ -334,6 +337,7 @@ void unpin_current_cpu(void) +@@ -335,6 +338,7 @@ void unpin_current_cpu(void) current->pinned_on_cpu = -1; __read_rt_unlock(cpuhp_pin); @@ -57,7 +57,7 @@ index 61ca799b76c5..8fbc0f5ac6f9 100644 } DEFINE_STATIC_PERCPU_RWSEM(cpu_hotplug_lock); -@@ -803,7 +807,9 @@ static int take_cpu_down(void *_param) +@@ -893,7 +897,9 @@ static int take_cpu_down(void *_param) static int takedown_cpu(unsigned int cpu) { @@ -67,7 +67,7 @@ index 61ca799b76c5..8fbc0f5ac6f9 100644 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); int err; -@@ -817,14 +823,18 @@ static int takedown_cpu(unsigned int cpu) +@@ -906,14 +912,18 @@ static int takedown_cpu(unsigned int cpu) */ irq_lock_sparse(); @@ -86,7 +86,7 @@ index 61ca799b76c5..8fbc0f5ac6f9 100644 /* CPU refused to die */ irq_unlock_sparse(); /* Unpark the hotplug thread so we can rollback there */ -@@ -843,7 +853,9 @@ static int takedown_cpu(unsigned int cpu) +@@ -932,7 +942,9 @@ static int takedown_cpu(unsigned int cpu) wait_for_ap_thread(st, false); BUG_ON(st->state != CPUHP_AP_IDLE_DEAD); diff --git a/kernel/patches-4.14.x-rt/0366-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch b/kernel/patches-4.14.x-rt/0365-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0366-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch rename to kernel/patches-4.14.x-rt/0365-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch index 777650799..b18802763 100644 --- a/kernel/patches-4.14.x-rt/0366-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch +++ b/kernel/patches-4.14.x-rt/0365-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch @@ -1,7 +1,7 @@ -From b2fa8a9eb7d1090667b2dba8de7b1dae649b4817 Mon Sep 17 00:00:00 2001 +From bc584883220a2f9a78fd7f2fced73aecff8e3cc8 Mon Sep 17 00:00:00 2001 From: John Kacur Date: Fri, 27 Apr 2012 12:48:46 +0200 -Subject: [PATCH 366/414] scsi: qla2xxx: Use local_irq_save_nort() in +Subject: [PATCH 365/413] scsi: qla2xxx: Use local_irq_save_nort() in qla2x00_poll RT triggers the following: @@ -31,7 +31,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_inline.h b/drivers/scsi/qla2xxx/qla_inline.h -index 9a2c86eacf44..28266455b54c 100644 +index 3f5a0f0f8b62..c75783143dc1 100644 --- a/drivers/scsi/qla2xxx/qla_inline.h +++ b/drivers/scsi/qla2xxx/qla_inline.h @@ -59,12 +59,12 @@ qla2x00_poll(struct rsp_que *rsp) diff --git a/kernel/patches-4.14.x-rt/0367-net-Remove-preemption-disabling-in-netif_rx.patch b/kernel/patches-4.14.x-rt/0366-net-Remove-preemption-disabling-in-netif_rx.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0367-net-Remove-preemption-disabling-in-netif_rx.patch rename to kernel/patches-4.14.x-rt/0366-net-Remove-preemption-disabling-in-netif_rx.patch index 41279db38..c386690d1 100644 --- a/kernel/patches-4.14.x-rt/0367-net-Remove-preemption-disabling-in-netif_rx.patch +++ b/kernel/patches-4.14.x-rt/0366-net-Remove-preemption-disabling-in-netif_rx.patch @@ -1,7 +1,7 @@ -From c8316fa5cbe45566ee2d0dab15dac9eb2e202f05 Mon Sep 17 00:00:00 2001 +From aa9ddce331cd39f0448c7c3c60ae8fb3008889f7 Mon Sep 17 00:00:00 2001 From: Priyanka Jain Date: Thu, 17 May 2012 09:35:11 +0530 -Subject: [PATCH 367/414] net: Remove preemption disabling in netif_rx() +Subject: [PATCH 366/413] net: Remove preemption disabling in netif_rx() 1)enqueue_to_backlog() (called from netif_rx) should be bind to a particluar CPU. This can be achieved by diff --git a/kernel/patches-4.14.x-rt/0368-net-Another-local_irq_disable-kmalloc-headache.patch b/kernel/patches-4.14.x-rt/0367-net-Another-local_irq_disable-kmalloc-headache.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0368-net-Another-local_irq_disable-kmalloc-headache.patch rename to kernel/patches-4.14.x-rt/0367-net-Another-local_irq_disable-kmalloc-headache.patch index 115750049..a60db930f 100644 --- a/kernel/patches-4.14.x-rt/0368-net-Another-local_irq_disable-kmalloc-headache.patch +++ b/kernel/patches-4.14.x-rt/0367-net-Another-local_irq_disable-kmalloc-headache.patch @@ -1,7 +1,7 @@ -From 0e907ca0411a830a3d326adbdd4b85053b91ff66 Mon Sep 17 00:00:00 2001 +From e48fb541db0551ed254c49881ea2d720946c561c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 26 Sep 2012 16:21:08 +0200 -Subject: [PATCH 368/414] net: Another local_irq_disable/kmalloc headache +Subject: [PATCH 367/413] net: Another local_irq_disable/kmalloc headache Replace it by a local lock. Though that's pretty inefficient :( diff --git a/kernel/patches-4.14.x-rt/0369-net-core-protect-users-of-napi_alloc_cache-against-r.patch b/kernel/patches-4.14.x-rt/0368-net-core-protect-users-of-napi_alloc_cache-against-r.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0369-net-core-protect-users-of-napi_alloc_cache-against-r.patch rename to kernel/patches-4.14.x-rt/0368-net-core-protect-users-of-napi_alloc_cache-against-r.patch index 1f729a640..ec57a7138 100644 --- a/kernel/patches-4.14.x-rt/0369-net-core-protect-users-of-napi_alloc_cache-against-r.patch +++ b/kernel/patches-4.14.x-rt/0368-net-core-protect-users-of-napi_alloc_cache-against-r.patch @@ -1,7 +1,7 @@ -From ecabdcec3beb3e73611b5b794550bb52072217a0 Mon Sep 17 00:00:00 2001 +From 9bde25a549be060f3145430b2373a8b5c6324e62 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 15 Jan 2016 16:33:34 +0100 -Subject: [PATCH 369/414] net/core: protect users of napi_alloc_cache against +Subject: [PATCH 368/413] net/core: protect users of napi_alloc_cache against reentrance On -RT the code running in BH can not be moved to another CPU so CPU diff --git a/kernel/patches-4.14.x-rt/0370-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch b/kernel/patches-4.14.x-rt/0369-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0370-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch rename to kernel/patches-4.14.x-rt/0369-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch index 4ecdc5433..a6a61aac0 100644 --- a/kernel/patches-4.14.x-rt/0370-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch +++ b/kernel/patches-4.14.x-rt/0369-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch @@ -1,7 +1,7 @@ -From d6435e340762d7cc32b26353af8f1906473b9006 Mon Sep 17 00:00:00 2001 +From b4fab41fda01fef46ef40a5e13769901c33bdabc Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 28 Oct 2012 11:18:08 +0100 -Subject: [PATCH 370/414] net: netfilter: Serialize xt_write_recseq sections on +Subject: [PATCH 369/413] net: netfilter: Serialize xt_write_recseq sections on RT The netfilter code relies only on the implicit semantics of diff --git a/kernel/patches-4.14.x-rt/0371-net-Add-a-mutex-around-devnet_rename_seq.patch b/kernel/patches-4.14.x-rt/0370-net-Add-a-mutex-around-devnet_rename_seq.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0371-net-Add-a-mutex-around-devnet_rename_seq.patch rename to kernel/patches-4.14.x-rt/0370-net-Add-a-mutex-around-devnet_rename_seq.patch index a8a723125..6c5e483f2 100644 --- a/kernel/patches-4.14.x-rt/0371-net-Add-a-mutex-around-devnet_rename_seq.patch +++ b/kernel/patches-4.14.x-rt/0370-net-Add-a-mutex-around-devnet_rename_seq.patch @@ -1,7 +1,7 @@ -From 816a250e7a1770ce62a8f8063448fd508e555315 Mon Sep 17 00:00:00 2001 +From db96d86c845484ff74d2f751dc786d6549e250e4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 20 Mar 2013 18:06:20 +0100 -Subject: [PATCH 371/414] net: Add a mutex around devnet_rename_seq +Subject: [PATCH 370/413] net: Add a mutex around devnet_rename_seq On RT write_seqcount_begin() disables preemption and device_rename() allocates memory with GFP_KERNEL and grabs later the sysfs_mutex diff --git a/kernel/patches-4.14.x-rt/0372-crypto-Convert-crypto-notifier-chain-to-SRCU.patch b/kernel/patches-4.14.x-rt/0371-crypto-Convert-crypto-notifier-chain-to-SRCU.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0372-crypto-Convert-crypto-notifier-chain-to-SRCU.patch rename to kernel/patches-4.14.x-rt/0371-crypto-Convert-crypto-notifier-chain-to-SRCU.patch index db665435f..f7fc27362 100644 --- a/kernel/patches-4.14.x-rt/0372-crypto-Convert-crypto-notifier-chain-to-SRCU.patch +++ b/kernel/patches-4.14.x-rt/0371-crypto-Convert-crypto-notifier-chain-to-SRCU.patch @@ -1,7 +1,7 @@ -From bbde44d50c46a933beb4b4d3f88a933f449102f3 Mon Sep 17 00:00:00 2001 +From 217d99d95ce9e110892ffc48aeb94c3063f7933f Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 5 Oct 2012 09:03:24 +0100 -Subject: [PATCH 372/414] crypto: Convert crypto notifier chain to SRCU +Subject: [PATCH 371/413] crypto: Convert crypto notifier chain to SRCU The crypto notifier deadlocks on RT. Though this can be a real deadlock on mainline as well due to fifo fair rwsems. diff --git a/kernel/patches-4.14.x-rt/0373-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch b/kernel/patches-4.14.x-rt/0372-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0373-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch rename to kernel/patches-4.14.x-rt/0372-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch index 86b7e4a92..f70b28314 100644 --- a/kernel/patches-4.14.x-rt/0373-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch +++ b/kernel/patches-4.14.x-rt/0372-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch @@ -1,7 +1,7 @@ -From bc3b29b04f8b9b9674a4dbad1259d644d21f1f07 Mon Sep 17 00:00:00 2001 +From 8f4a29f10c1516467006e359fce7b601846e915a Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Mon, 16 Apr 2012 15:01:56 +0800 -Subject: [PATCH 373/414] lockdep: selftest: Only do hardirq context test for +Subject: [PATCH 372/413] lockdep: selftest: Only do hardirq context test for raw spinlock On -rt there is no softirq context any more and rwlock is sleepable, diff --git a/kernel/patches-4.14.x-rt/0374-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch b/kernel/patches-4.14.x-rt/0373-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0374-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch rename to kernel/patches-4.14.x-rt/0373-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch index 296d4054d..67eaf7b56 100644 --- a/kernel/patches-4.14.x-rt/0374-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch +++ b/kernel/patches-4.14.x-rt/0373-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch @@ -1,7 +1,7 @@ -From b556bc733dad1af913672871956ce1354979ca5e Mon Sep 17 00:00:00 2001 +From b51c5c92c79a1ee52ca3d6b861a91574006fa4ee Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Wed, 28 Jan 2015 13:08:45 -0600 -Subject: [PATCH 374/414] lockdep: selftest: fix warnings due to missing +Subject: [PATCH 373/413] lockdep: selftest: fix warnings due to missing PREEMPT_RT conditionals "lockdep: Selftest: Only do hardirq context test for raw spinlock" diff --git a/kernel/patches-4.14.x-rt/0375-srcu-use-cpu_online-instead-custom-check.patch b/kernel/patches-4.14.x-rt/0374-srcu-use-cpu_online-instead-custom-check.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0375-srcu-use-cpu_online-instead-custom-check.patch rename to kernel/patches-4.14.x-rt/0374-srcu-use-cpu_online-instead-custom-check.patch index 774e12d54..f07617921 100644 --- a/kernel/patches-4.14.x-rt/0375-srcu-use-cpu_online-instead-custom-check.patch +++ b/kernel/patches-4.14.x-rt/0374-srcu-use-cpu_online-instead-custom-check.patch @@ -1,7 +1,7 @@ -From dddbfab2ad34717f610016d549eb43a5529c3a6a Mon Sep 17 00:00:00 2001 +From 41ec34e1c4a173229b2436aac9152be5cd5b09c7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Sep 2017 14:43:41 +0200 -Subject: [PATCH 375/414] srcu: use cpu_online() instead custom check +Subject: [PATCH 374/413] srcu: use cpu_online() instead custom check The current check via srcu_online is slightly racy because after looking at srcu_online there could be an interrupt that interrupted us long diff --git a/kernel/patches-4.14.x-rt/0376-srcu-Prohibit-call_srcu-use-under-raw-spinlocks.patch b/kernel/patches-4.14.x-rt/0375-srcu-Prohibit-call_srcu-use-under-raw-spinlocks.patch similarity index 99% rename from kernel/patches-4.14.x-rt/0376-srcu-Prohibit-call_srcu-use-under-raw-spinlocks.patch rename to kernel/patches-4.14.x-rt/0375-srcu-Prohibit-call_srcu-use-under-raw-spinlocks.patch index b86d0fdf1..3508d1ba2 100644 --- a/kernel/patches-4.14.x-rt/0376-srcu-Prohibit-call_srcu-use-under-raw-spinlocks.patch +++ b/kernel/patches-4.14.x-rt/0375-srcu-Prohibit-call_srcu-use-under-raw-spinlocks.patch @@ -1,7 +1,7 @@ -From e24bd322a27373a3ec40d37e23233e6c59e30d2a Mon Sep 17 00:00:00 2001 +From 829a48553c17eb9ef3ba0d24695e40b756757641 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Tue, 10 Oct 2017 13:52:30 -0700 -Subject: [PATCH 376/414] srcu: Prohibit call_srcu() use under raw spinlocks +Subject: [PATCH 375/413] srcu: Prohibit call_srcu() use under raw spinlocks Upstream commit 08265b8f1a139c1cff052b35ab7cf929528f88bb diff --git a/kernel/patches-4.14.x-rt/0377-srcu-replace-local_irqsave-with-a-locallock.patch b/kernel/patches-4.14.x-rt/0376-srcu-replace-local_irqsave-with-a-locallock.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0377-srcu-replace-local_irqsave-with-a-locallock.patch rename to kernel/patches-4.14.x-rt/0376-srcu-replace-local_irqsave-with-a-locallock.patch index ed49ecb68..45785f23b 100644 --- a/kernel/patches-4.14.x-rt/0377-srcu-replace-local_irqsave-with-a-locallock.patch +++ b/kernel/patches-4.14.x-rt/0376-srcu-replace-local_irqsave-with-a-locallock.patch @@ -1,7 +1,7 @@ -From 13bb9093a490410ebb250ec887eb2e50ab540226 Mon Sep 17 00:00:00 2001 +From 581bdb216b904018f1e961051d93a846734715ed Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 12 Oct 2017 18:37:12 +0200 -Subject: [PATCH 377/414] srcu: replace local_irqsave() with a locallock +Subject: [PATCH 376/413] srcu: replace local_irqsave() with a locallock There are two instances which disable interrupts in order to become a stable this_cpu_ptr() pointer. The restore part is coupled with diff --git a/kernel/patches-4.14.x-rt/0378-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch b/kernel/patches-4.14.x-rt/0377-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch similarity index 86% rename from kernel/patches-4.14.x-rt/0378-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch rename to kernel/patches-4.14.x-rt/0377-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch index 6b6146051..6315b83d1 100644 --- a/kernel/patches-4.14.x-rt/0378-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0377-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch @@ -1,7 +1,7 @@ -From 4788b2759bf37ef0f168df5a690a4a1a6e25bedf Mon Sep 17 00:00:00 2001 +From 430d1e82c2c88a95d947669f9398c05e0af6b77e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 28 Oct 2012 13:26:09 +0000 -Subject: [PATCH 378/414] rcu: Disable RCU_FAST_NO_HZ on RT +Subject: [PATCH 377/413] rcu: Disable RCU_FAST_NO_HZ on RT This uses a timer_list timer from the irq disabled guts of the idle code. Disable it for now to prevent wreckage. diff --git a/kernel/patches-4.14.x-rt/0379-rcu-Eliminate-softirq-processing-from-rcutree.patch b/kernel/patches-4.14.x-rt/0378-rcu-Eliminate-softirq-processing-from-rcutree.patch similarity index 99% rename from kernel/patches-4.14.x-rt/0379-rcu-Eliminate-softirq-processing-from-rcutree.patch rename to kernel/patches-4.14.x-rt/0378-rcu-Eliminate-softirq-processing-from-rcutree.patch index 51a29058b..297f888ca 100644 --- a/kernel/patches-4.14.x-rt/0379-rcu-Eliminate-softirq-processing-from-rcutree.patch +++ b/kernel/patches-4.14.x-rt/0378-rcu-Eliminate-softirq-processing-from-rcutree.patch @@ -1,7 +1,7 @@ -From b6773bdea5d3a4d88ecc30dc2fbdde41c917c10b Mon Sep 17 00:00:00 2001 +From 928b4182d8c5dba712a26f911cae7244d3dd3744 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Mon, 4 Nov 2013 13:21:10 -0800 -Subject: [PATCH 379/414] rcu: Eliminate softirq processing from rcutree +Subject: [PATCH 378/413] rcu: Eliminate softirq processing from rcutree Running RCU out of softirq is a problem for some workloads that would like to manage RCU core processing independently of other softirq work, diff --git a/kernel/patches-4.14.x-rt/0380-rcu-make-RCU_BOOST-default-on-RT.patch b/kernel/patches-4.14.x-rt/0379-rcu-make-RCU_BOOST-default-on-RT.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0380-rcu-make-RCU_BOOST-default-on-RT.patch rename to kernel/patches-4.14.x-rt/0379-rcu-make-RCU_BOOST-default-on-RT.patch index a892da9e3..f4acb6350 100644 --- a/kernel/patches-4.14.x-rt/0380-rcu-make-RCU_BOOST-default-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0379-rcu-make-RCU_BOOST-default-on-RT.patch @@ -1,7 +1,7 @@ -From b3e7f5884807062766458a29d8d42c5467f2b4a0 Mon Sep 17 00:00:00 2001 +From e0284e4b634a87842025b5250f32ca52508cfa92 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 21 Mar 2014 20:19:05 +0100 -Subject: [PATCH 380/414] rcu: make RCU_BOOST default on RT +Subject: [PATCH 379/413] rcu: make RCU_BOOST default on RT Since it is no longer invoked from the softirq people run into OOM more often if the priority of the RCU thread is too low. Making boosting diff --git a/kernel/patches-4.14.x-rt/0381-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch b/kernel/patches-4.14.x-rt/0380-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0381-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch rename to kernel/patches-4.14.x-rt/0380-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch index 7edb53ff9..7c0a7044b 100644 --- a/kernel/patches-4.14.x-rt/0381-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch +++ b/kernel/patches-4.14.x-rt/0380-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch @@ -1,7 +1,7 @@ -From e1ef68d1060f1197a2181a5968be3d48fd9b6c98 Mon Sep 17 00:00:00 2001 +From c46341d01e53bbb6957837bcb63ed1eacefa0897 Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Wed, 12 Oct 2016 11:21:14 -0500 -Subject: [PATCH 381/414] rcu: enable rcu_normal_after_boot by default for RT +Subject: [PATCH 380/413] rcu: enable rcu_normal_after_boot by default for RT The forcing of an expedited grace period is an expensive and very RT-application unfriendly operation, as it forcibly preempts all running diff --git a/kernel/patches-4.14.x-rt/0382-sched-Add-support-for-lazy-preemption.patch b/kernel/patches-4.14.x-rt/0381-sched-Add-support-for-lazy-preemption.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0382-sched-Add-support-for-lazy-preemption.patch rename to kernel/patches-4.14.x-rt/0381-sched-Add-support-for-lazy-preemption.patch index 919479df0..dfd1b1be0 100644 --- a/kernel/patches-4.14.x-rt/0382-sched-Add-support-for-lazy-preemption.patch +++ b/kernel/patches-4.14.x-rt/0381-sched-Add-support-for-lazy-preemption.patch @@ -1,7 +1,7 @@ -From 655481e0ab95a9be2c5edbf169112e1047b6bc36 Mon Sep 17 00:00:00 2001 +From ed645cbce83e8173b8e86a2460155d8ea74df3ae Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 26 Oct 2012 18:50:54 +0100 -Subject: [PATCH 382/414] sched: Add support for lazy preemption +Subject: [PATCH 381/413] sched: Add support for lazy preemption It has become an obsession to mitigate the determinism vs. throughput loss of RT. Looking at the mainline semantics of preemption points @@ -191,10 +191,10 @@ index 4e48d5fe8bd6..c26b5ff005ab 100644 { if (task->state & (__TASK_STOPPED | __TASK_TRACED)) diff --git a/include/linux/thread_info.h b/include/linux/thread_info.h -index 34f053a150a9..c2041d5b161b 100644 +index cf2862bd134a..fd05d83740df 100644 --- a/include/linux/thread_info.h +++ b/include/linux/thread_info.h -@@ -90,7 +90,17 @@ static inline int test_ti_thread_flag(struct thread_info *ti, int flag) +@@ -86,7 +86,17 @@ static inline int test_ti_thread_flag(struct thread_info *ti, int flag) #define test_thread_flag(flag) \ test_ti_thread_flag(current_thread_info(), flag) @@ -243,7 +243,7 @@ index f8a2982bdbde..11dbe26a8279 100644 prompt "Preemption Model" default PREEMPT_NONE diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 099428d3a0b4..38ba16e8beee 100644 +index d3369a9bd607..6952b7765bde 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -518,6 +518,48 @@ void resched_curr(struct rq *rq) @@ -375,7 +375,7 @@ index 099428d3a0b4..38ba16e8beee 100644 /* * The idle tasks have their own, simple scheduling class: */ -@@ -6890,6 +6966,7 @@ void migrate_disable(void) +@@ -6884,6 +6960,7 @@ void migrate_disable(void) } preempt_disable(); @@ -383,7 +383,7 @@ index 099428d3a0b4..38ba16e8beee 100644 pin_current_cpu(); migrate_disable_update_cpus_allowed(p); -@@ -6957,6 +7034,7 @@ void migrate_enable(void) +@@ -6951,6 +7028,7 @@ void migrate_enable(void) arg.dest_cpu = dest_cpu; unpin_current_cpu(); @@ -391,7 +391,7 @@ index 099428d3a0b4..38ba16e8beee 100644 preempt_enable(); stop_one_cpu(task_cpu(p), migration_cpu_stop, &arg); tlb_migrate_finish(p->mm); -@@ -6965,6 +7043,7 @@ void migrate_enable(void) +@@ -6959,6 +7037,7 @@ void migrate_enable(void) } } unpin_current_cpu(); @@ -400,7 +400,7 @@ index 099428d3a0b4..38ba16e8beee 100644 } EXPORT_SYMBOL(migrate_enable); diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c -index d1916d33f7ff..d00cceff9ba1 100644 +index 4388c2b26f70..36ef77839be4 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -3840,7 +3840,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) @@ -448,7 +448,7 @@ index d1916d33f7ff..d00cceff9ba1 100644 return; } hrtick_start(rq, delta); -@@ -6230,7 +6230,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ +@@ -6231,7 +6231,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ return; preempt: @@ -457,7 +457,7 @@ index d1916d33f7ff..d00cceff9ba1 100644 /* * Only set the backward buddy when the current task is still * on the rq. This can happen when a wakeup gets interleaved -@@ -9084,7 +9084,7 @@ static void task_fork_fair(struct task_struct *p) +@@ -9085,7 +9085,7 @@ static void task_fork_fair(struct task_struct *p) * 'current' within the tree based on its new key value. */ swap(curr->vruntime, se->vruntime); @@ -466,7 +466,7 @@ index d1916d33f7ff..d00cceff9ba1 100644 } se->vruntime -= cfs_rq->min_vruntime; -@@ -9108,7 +9108,7 @@ prio_changed_fair(struct rq *rq, struct task_struct *p, int oldprio) +@@ -9109,7 +9109,7 @@ prio_changed_fair(struct rq *rq, struct task_struct *p, int oldprio) */ if (rq->curr == p) { if (p->prio > oldprio) @@ -510,10 +510,10 @@ index ace39806bff8..96481980c8c7 100644 extern void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime); diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index f2d05bf43e84..8566d8d5130f 100644 +index 03688e4efd82..cc85fd567e33 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -2129,6 +2129,7 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, +@@ -2135,6 +2135,7 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, struct task_struct *tsk = current; entry->preempt_count = pc & 0xff; @@ -521,7 +521,7 @@ index f2d05bf43e84..8566d8d5130f 100644 entry->pid = (tsk) ? tsk->pid : 0; entry->flags = #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT -@@ -2139,7 +2140,8 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, +@@ -2145,7 +2146,8 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, ((pc & NMI_MASK ) ? TRACE_FLAG_NMI : 0) | ((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) | ((pc & SOFTIRQ_OFFSET) ? TRACE_FLAG_SOFTIRQ : 0) | @@ -531,7 +531,7 @@ index f2d05bf43e84..8566d8d5130f 100644 (test_preempt_need_resched() ? TRACE_FLAG_PREEMPT_RESCHED : 0); entry->migrate_disable = (tsk) ? __migrate_disabled(tsk) & 0xFF : 0; -@@ -3341,15 +3343,17 @@ get_total_entries(struct trace_buffer *buf, +@@ -3347,15 +3349,17 @@ get_total_entries(struct trace_buffer *buf, static void print_lat_help_header(struct seq_file *m) { @@ -558,7 +558,7 @@ index f2d05bf43e84..8566d8d5130f 100644 } static void print_event_info(struct trace_buffer *buf, struct seq_file *m) -@@ -3385,15 +3389,17 @@ static void print_func_help_header_irq(struct trace_buffer *buf, struct seq_file +@@ -3391,15 +3395,17 @@ static void print_func_help_header_irq(struct trace_buffer *buf, struct seq_file tgid ? tgid_space : space); seq_printf(m, "# %s / _----=> need-resched\n", tgid ? tgid_space : space); diff --git a/kernel/patches-4.14.x-rt/0383-ftrace-Fix-trace-header-alignment.patch b/kernel/patches-4.14.x-rt/0382-ftrace-Fix-trace-header-alignment.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0383-ftrace-Fix-trace-header-alignment.patch rename to kernel/patches-4.14.x-rt/0382-ftrace-Fix-trace-header-alignment.patch index bd9343c8e..a5d68f190 100644 --- a/kernel/patches-4.14.x-rt/0383-ftrace-Fix-trace-header-alignment.patch +++ b/kernel/patches-4.14.x-rt/0382-ftrace-Fix-trace-header-alignment.patch @@ -1,7 +1,7 @@ -From b43df0d2b26c85a4d42b8cbf266c65a80c3f73c9 Mon Sep 17 00:00:00 2001 +From f7d96b2dac0d0ab1f9aa7af475788be4dadd77c0 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 16 Oct 2016 05:08:30 +0200 -Subject: [PATCH 383/414] ftrace: Fix trace header alignment +Subject: [PATCH 382/413] ftrace: Fix trace header alignment Line up helper arrows to the right column. @@ -14,10 +14,10 @@ Signed-off-by: Sebastian Andrzej Siewior 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 8566d8d5130f..5ab686a090e3 100644 +index cc85fd567e33..21c3b8170343 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -3343,17 +3343,17 @@ get_total_entries(struct trace_buffer *buf, +@@ -3349,17 +3349,17 @@ get_total_entries(struct trace_buffer *buf, static void print_lat_help_header(struct seq_file *m) { diff --git a/kernel/patches-4.14.x-rt/0384-x86-Support-for-lazy-preemption.patch b/kernel/patches-4.14.x-rt/0383-x86-Support-for-lazy-preemption.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0384-x86-Support-for-lazy-preemption.patch rename to kernel/patches-4.14.x-rt/0383-x86-Support-for-lazy-preemption.patch index 06899c538..4a8db1b90 100644 --- a/kernel/patches-4.14.x-rt/0384-x86-Support-for-lazy-preemption.patch +++ b/kernel/patches-4.14.x-rt/0383-x86-Support-for-lazy-preemption.patch @@ -1,7 +1,7 @@ -From a44d6bdd4a2cb8f2b921e27dcd2a6b381182164c Mon Sep 17 00:00:00 2001 +From b332b251bdc53562b0784ebcd32b5cf96c18b841 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Nov 2012 11:03:47 +0100 -Subject: [PATCH 384/414] x86: Support for lazy preemption +Subject: [PATCH 383/413] x86: Support for lazy preemption Implement the x86 pieces for lazy preempt. @@ -17,7 +17,7 @@ Signed-off-by: Thomas Gleixner 7 files changed, 79 insertions(+), 3 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index c4afdf1be676..f40962b7f158 100644 +index 3da3782e605c..74ed661c73df 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -169,6 +169,7 @@ config X86 @@ -81,7 +81,7 @@ index 60c4c342316c..cd0c7c56e2dd 100644 jz restore_all call preempt_schedule_irq diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S -index d1f3e2c8320b..e5168e9672e7 100644 +index 611f00b119c6..0ed8dbf6210d 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S @@ -633,7 +633,23 @@ retint_kernel: diff --git a/kernel/patches-4.14.x-rt/0385-arm-Add-support-for-lazy-preemption.patch b/kernel/patches-4.14.x-rt/0384-arm-Add-support-for-lazy-preemption.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0385-arm-Add-support-for-lazy-preemption.patch rename to kernel/patches-4.14.x-rt/0384-arm-Add-support-for-lazy-preemption.patch index f720bbe9e..6e06d9765 100644 --- a/kernel/patches-4.14.x-rt/0385-arm-Add-support-for-lazy-preemption.patch +++ b/kernel/patches-4.14.x-rt/0384-arm-Add-support-for-lazy-preemption.patch @@ -1,7 +1,7 @@ -From 035c6f4e07e29613731437a642c0ae81f849a8e6 Mon Sep 17 00:00:00 2001 +From 5ac41b269954b67319b8fae415490b9bc7306d0c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 31 Oct 2012 12:04:11 +0100 -Subject: [PATCH 385/414] arm: Add support for lazy preemption +Subject: [PATCH 384/413] arm: Add support for lazy preemption Implement the arm pieces for lazy preempt. diff --git a/kernel/patches-4.14.x-rt/0386-powerpc-Add-support-for-lazy-preemption.patch b/kernel/patches-4.14.x-rt/0385-powerpc-Add-support-for-lazy-preemption.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0386-powerpc-Add-support-for-lazy-preemption.patch rename to kernel/patches-4.14.x-rt/0385-powerpc-Add-support-for-lazy-preemption.patch index abb05d0ac..5e6e3d077 100644 --- a/kernel/patches-4.14.x-rt/0386-powerpc-Add-support-for-lazy-preemption.patch +++ b/kernel/patches-4.14.x-rt/0385-powerpc-Add-support-for-lazy-preemption.patch @@ -1,7 +1,7 @@ -From 5a4a1806f17fdea37c77455dfe9c7959fc7d8c8d Mon Sep 17 00:00:00 2001 +From 50978dbc514394a0ff20b0c10dbc2c293cef382a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Nov 2012 10:14:11 +0100 -Subject: [PATCH 386/414] powerpc: Add support for lazy preemption +Subject: [PATCH 385/413] powerpc: Add support for lazy preemption Implement the powerpc pieces for lazy preempt. diff --git a/kernel/patches-4.14.x-rt/0387-arch-arm64-Add-lazy-preempt-support.patch b/kernel/patches-4.14.x-rt/0386-arch-arm64-Add-lazy-preempt-support.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0387-arch-arm64-Add-lazy-preempt-support.patch rename to kernel/patches-4.14.x-rt/0386-arch-arm64-Add-lazy-preempt-support.patch index 8d25afe45..ff5a4047a 100644 --- a/kernel/patches-4.14.x-rt/0387-arch-arm64-Add-lazy-preempt-support.patch +++ b/kernel/patches-4.14.x-rt/0386-arch-arm64-Add-lazy-preempt-support.patch @@ -1,7 +1,7 @@ -From 9b46d91f49786266c66f5c8d81e8428f5916871c Mon Sep 17 00:00:00 2001 +From 444b31d7ee93baaa9c0d29f0fe58629c60830f06 Mon Sep 17 00:00:00 2001 From: Anders Roxell Date: Thu, 14 May 2015 17:52:17 +0200 -Subject: [PATCH 387/414] arch/arm64: Add lazy preempt support +Subject: [PATCH 386/413] arch/arm64: Add lazy preempt support arm64 is missing support for PREEMPT_RT. The main feature which is lacking is support for lazy preemption. The arch-specific entry code, diff --git a/kernel/patches-4.14.x-rt/0388-leds-trigger-disable-CPU-trigger-on-RT.patch b/kernel/patches-4.14.x-rt/0387-leds-trigger-disable-CPU-trigger-on-RT.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0388-leds-trigger-disable-CPU-trigger-on-RT.patch rename to kernel/patches-4.14.x-rt/0387-leds-trigger-disable-CPU-trigger-on-RT.patch index c16a24ea0..8bcbab37b 100644 --- a/kernel/patches-4.14.x-rt/0388-leds-trigger-disable-CPU-trigger-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0387-leds-trigger-disable-CPU-trigger-on-RT.patch @@ -1,7 +1,7 @@ -From e6dcfab4f57dcc8912b87b6388af5b6113e0fe4e Mon Sep 17 00:00:00 2001 +From 558eda5ce45d20f5ac8f7d76cb80c3bc91fd55ca Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 23 Jan 2014 14:45:59 +0100 -Subject: [PATCH 388/414] leds: trigger: disable CPU trigger on -RT +Subject: [PATCH 387/413] leds: trigger: disable CPU trigger on -RT as it triggers: |CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141 diff --git a/kernel/patches-4.14.x-rt/0389-mmci-Remove-bogus-local_irq_save.patch b/kernel/patches-4.14.x-rt/0388-mmci-Remove-bogus-local_irq_save.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0389-mmci-Remove-bogus-local_irq_save.patch rename to kernel/patches-4.14.x-rt/0388-mmci-Remove-bogus-local_irq_save.patch index 16a0a2fcc..ca749a8e9 100644 --- a/kernel/patches-4.14.x-rt/0389-mmci-Remove-bogus-local_irq_save.patch +++ b/kernel/patches-4.14.x-rt/0388-mmci-Remove-bogus-local_irq_save.patch @@ -1,7 +1,7 @@ -From 676b37b26f1d12f34aea3d2b3f46cad5325dd3ec Mon Sep 17 00:00:00 2001 +From 445f060e4f890e7328721390f6dcc82c2dec6bc7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 12:11:12 +0100 -Subject: [PATCH 389/414] mmci: Remove bogus local_irq_save() +Subject: [PATCH 388/413] mmci: Remove bogus local_irq_save() On !RT interrupt runs with interrupts disabled. On RT it's in a thread, so no need to disable interrupts at all. diff --git a/kernel/patches-4.14.x-rt/0390-cpufreq-drop-K8-s-driver-from-beeing-selected.patch b/kernel/patches-4.14.x-rt/0389-cpufreq-drop-K8-s-driver-from-beeing-selected.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0390-cpufreq-drop-K8-s-driver-from-beeing-selected.patch rename to kernel/patches-4.14.x-rt/0389-cpufreq-drop-K8-s-driver-from-beeing-selected.patch index 313fac700..47cff4c7a 100644 --- a/kernel/patches-4.14.x-rt/0390-cpufreq-drop-K8-s-driver-from-beeing-selected.patch +++ b/kernel/patches-4.14.x-rt/0389-cpufreq-drop-K8-s-driver-from-beeing-selected.patch @@ -1,7 +1,7 @@ -From 51f49b754aa88ae00829382ef87af7c3a3f0de85 Mon Sep 17 00:00:00 2001 +From 81a553e0ee5b1e7dde8fac0e4510ae3efe70d8f0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 9 Apr 2015 15:23:01 +0200 -Subject: [PATCH 390/414] cpufreq: drop K8's driver from beeing selected +Subject: [PATCH 389/413] cpufreq: drop K8's driver from beeing selected Ralf posted a picture of a backtrace from diff --git a/kernel/patches-4.14.x-rt/0391-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch b/kernel/patches-4.14.x-rt/0390-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0391-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch rename to kernel/patches-4.14.x-rt/0390-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch index d692cf384..3a33726e9 100644 --- a/kernel/patches-4.14.x-rt/0391-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch +++ b/kernel/patches-4.14.x-rt/0390-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch @@ -1,7 +1,7 @@ -From a5a04dfe2d3ab16c26927d259e7b27a8f4f7dd1e Mon Sep 17 00:00:00 2001 +From 6a1f3d13a012dd7c7ae8cc2d8b727f15ff7f2696 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 16 Oct 2016 05:11:54 +0200 -Subject: [PATCH 391/414] connector/cn_proc: Protect send_msg() with a local +Subject: [PATCH 390/413] connector/cn_proc: Protect send_msg() with a local lock on RT |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:931 diff --git a/kernel/patches-4.14.x-rt/0392-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch b/kernel/patches-4.14.x-rt/0391-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0392-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch rename to kernel/patches-4.14.x-rt/0391-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch index e8a027846..d3173fbb3 100644 --- a/kernel/patches-4.14.x-rt/0392-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch +++ b/kernel/patches-4.14.x-rt/0391-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch @@ -1,7 +1,7 @@ -From cbcad74cc31d7852c24bb92f9975ac8525a04386 Mon Sep 17 00:00:00 2001 +From aa5d9a932251815a7acba494bb7e54d79784f94e Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Thu, 31 Mar 2016 04:08:28 +0200 -Subject: [PATCH 392/414] drivers/block/zram: Replace bit spinlocks with +Subject: [PATCH 391/413] drivers/block/zram: Replace bit spinlocks with rtmutex for -rt They're nondeterministic, and lead to ___might_sleep() splats in -rt. diff --git a/kernel/patches-4.14.x-rt/0393-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch b/kernel/patches-4.14.x-rt/0392-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0393-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch rename to kernel/patches-4.14.x-rt/0392-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch index ff7c2572a..c0f42716d 100644 --- a/kernel/patches-4.14.x-rt/0393-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch +++ b/kernel/patches-4.14.x-rt/0392-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch @@ -1,7 +1,7 @@ -From ec82cdb2dfc6267a87120e432bf2745a51a2833d Mon Sep 17 00:00:00 2001 +From 787fb8c244c78b881197632dca7d86e1656619f3 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Thu, 20 Oct 2016 11:15:22 +0200 -Subject: [PATCH 393/414] drivers/zram: Don't disable preemption in +Subject: [PATCH 392/413] drivers/zram: Don't disable preemption in zcomp_stream_get/put() In v4.7, the driver switched to percpu compression streams, disabling diff --git a/kernel/patches-4.14.x-rt/0394-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch b/kernel/patches-4.14.x-rt/0393-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch similarity index 90% rename from kernel/patches-4.14.x-rt/0394-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch rename to kernel/patches-4.14.x-rt/0393-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch index d44639eaa..725a513c0 100644 --- a/kernel/patches-4.14.x-rt/0394-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch +++ b/kernel/patches-4.14.x-rt/0393-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch @@ -1,7 +1,7 @@ -From 89cd4c552847f7751a6782a4b38e8b70c71f3237 Mon Sep 17 00:00:00 2001 +From fa5051f0d75c23467e968ebf3afdd3da68a82a4e Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 23 Aug 2017 11:57:29 +0200 -Subject: [PATCH 394/414] drivers/zram: fix zcomp_stream_get() +Subject: [PATCH 393/413] drivers/zram: fix zcomp_stream_get() smp_processor_id() use in preemptible code Use get_local_ptr() instead this_cpu_ptr() to avoid a warning regarding diff --git a/kernel/patches-4.14.x-rt/0395-tpm_tis-fix-stall-after-iowrite-s.patch b/kernel/patches-4.14.x-rt/0394-tpm_tis-fix-stall-after-iowrite-s.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0395-tpm_tis-fix-stall-after-iowrite-s.patch rename to kernel/patches-4.14.x-rt/0394-tpm_tis-fix-stall-after-iowrite-s.patch index 46e2bb99e..39d989546 100644 --- a/kernel/patches-4.14.x-rt/0395-tpm_tis-fix-stall-after-iowrite-s.patch +++ b/kernel/patches-4.14.x-rt/0394-tpm_tis-fix-stall-after-iowrite-s.patch @@ -1,7 +1,7 @@ -From 87f751517713e3a95623289901073ec078bd46aa Mon Sep 17 00:00:00 2001 +From 409b2a996920bc218b9e1a88a2a04771d6944640 Mon Sep 17 00:00:00 2001 From: Haris Okanovic Date: Tue, 15 Aug 2017 15:13:08 -0500 -Subject: [PATCH 395/414] tpm_tis: fix stall after iowrite*()s +Subject: [PATCH 394/413] tpm_tis: fix stall after iowrite*()s ioread8() operations to TPM MMIO addresses can stall the cpu when immediately following a sequence of iowrite*()'s to the same region. diff --git a/kernel/patches-4.14.x-rt/0396-pci-switchtec-Don-t-use-completion-s-wait-queue.patch b/kernel/patches-4.14.x-rt/0395-pci-switchtec-Don-t-use-completion-s-wait-queue.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0396-pci-switchtec-Don-t-use-completion-s-wait-queue.patch rename to kernel/patches-4.14.x-rt/0395-pci-switchtec-Don-t-use-completion-s-wait-queue.patch index a99ae77d5..7c9befc00 100644 --- a/kernel/patches-4.14.x-rt/0396-pci-switchtec-Don-t-use-completion-s-wait-queue.patch +++ b/kernel/patches-4.14.x-rt/0395-pci-switchtec-Don-t-use-completion-s-wait-queue.patch @@ -1,7 +1,7 @@ -From d34b0eb5bdc79b1942d03b7f4f4e14c0c2f8bf4a Mon Sep 17 00:00:00 2001 +From 570471d6bacb7f6f5e8930d22aa15a935d438533 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 4 Oct 2017 10:24:23 +0200 -Subject: [PATCH 396/414] pci/switchtec: Don't use completion's wait queue +Subject: [PATCH 395/413] pci/switchtec: Don't use completion's wait queue The poll callback is using completion's wait_queue_head_t member and puts it in poll_wait() so the poll() caller gets a wakeup after command diff --git a/kernel/patches-4.14.x-rt/0397-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch b/kernel/patches-4.14.x-rt/0396-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0397-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch rename to kernel/patches-4.14.x-rt/0396-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch index 370cb4f54..4fe34472f 100644 --- a/kernel/patches-4.14.x-rt/0397-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch +++ b/kernel/patches-4.14.x-rt/0396-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch @@ -1,7 +1,7 @@ -From 3724d7b8705354b77be2f3edec9e68e0edaef138 Mon Sep 17 00:00:00 2001 +From 9dfbd5449bb0626b7ba46f6b008430b6ef568d9a Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sat, 27 Feb 2016 08:09:11 +0100 -Subject: [PATCH 397/414] drm,radeon,i915: Use preempt_disable/enable_rt() +Subject: [PATCH 396/413] drm,radeon,i915: Use preempt_disable/enable_rt() where recommended DRM folks identified the spots, so use them. diff --git a/kernel/patches-4.14.x-rt/0398-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch b/kernel/patches-4.14.x-rt/0397-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0398-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch rename to kernel/patches-4.14.x-rt/0397-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch index 8967cdfff..2d11652b0 100644 --- a/kernel/patches-4.14.x-rt/0398-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch +++ b/kernel/patches-4.14.x-rt/0397-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch @@ -1,7 +1,7 @@ -From f76b10fcd51f282f516838c129709ac4abe7b1ed Mon Sep 17 00:00:00 2001 +From 871301145f9dc9a561cd19a30c5ca2073052c81b Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sat, 27 Feb 2016 09:01:42 +0100 -Subject: [PATCH 398/414] drm,i915: Use local_lock/unlock_irq() in +Subject: [PATCH 397/413] drm,i915: Use local_lock/unlock_irq() in intel_pipe_update_start/end() [ 8.014039] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:918 diff --git a/kernel/patches-4.14.x-rt/0399-cgroups-use-simple-wait-in-css_release.patch b/kernel/patches-4.14.x-rt/0398-cgroups-use-simple-wait-in-css_release.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0399-cgroups-use-simple-wait-in-css_release.patch rename to kernel/patches-4.14.x-rt/0398-cgroups-use-simple-wait-in-css_release.patch index d573fd96c..b3b1b1529 100644 --- a/kernel/patches-4.14.x-rt/0399-cgroups-use-simple-wait-in-css_release.patch +++ b/kernel/patches-4.14.x-rt/0398-cgroups-use-simple-wait-in-css_release.patch @@ -1,7 +1,7 @@ -From 27972142f0e691476a777426b394bfad50b17eaa Mon Sep 17 00:00:00 2001 +From d8f40b84c87bb81075c0cf264d9149f9423f42e1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 13 Feb 2015 15:52:24 +0100 -Subject: [PATCH 399/414] cgroups: use simple wait in css_release() +Subject: [PATCH 398/413] cgroups: use simple wait in css_release() To avoid: |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914 diff --git a/kernel/patches-4.14.x-rt/0400-memcontrol-Prevent-scheduling-while-atomic-in-cgroup.patch b/kernel/patches-4.14.x-rt/0399-memcontrol-Prevent-scheduling-while-atomic-in-cgroup.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0400-memcontrol-Prevent-scheduling-while-atomic-in-cgroup.patch rename to kernel/patches-4.14.x-rt/0399-memcontrol-Prevent-scheduling-while-atomic-in-cgroup.patch index fdd9cfaff..bb24e599f 100644 --- a/kernel/patches-4.14.x-rt/0400-memcontrol-Prevent-scheduling-while-atomic-in-cgroup.patch +++ b/kernel/patches-4.14.x-rt/0399-memcontrol-Prevent-scheduling-while-atomic-in-cgroup.patch @@ -1,7 +1,7 @@ -From d34c4d8cab911dceca23f2cc629adcc3e4486436 Mon Sep 17 00:00:00 2001 +From 749a7ed477122df283c2add9788a8e2d4476d077 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sat, 21 Jun 2014 10:09:48 +0200 -Subject: [PATCH 400/414] memcontrol: Prevent scheduling while atomic in cgroup +Subject: [PATCH 399/413] memcontrol: Prevent scheduling while atomic in cgroup code mm, memcg: make refill_stock() use get_cpu_light() diff --git a/kernel/patches-4.14.x-rt/0401-Revert-memcontrol-Prevent-scheduling-while-atomic-in.patch b/kernel/patches-4.14.x-rt/0400-Revert-memcontrol-Prevent-scheduling-while-atomic-in.patch similarity index 96% rename from kernel/patches-4.14.x-rt/0401-Revert-memcontrol-Prevent-scheduling-while-atomic-in.patch rename to kernel/patches-4.14.x-rt/0400-Revert-memcontrol-Prevent-scheduling-while-atomic-in.patch index 7ff786346..7ffdbfb10 100644 --- a/kernel/patches-4.14.x-rt/0401-Revert-memcontrol-Prevent-scheduling-while-atomic-in.patch +++ b/kernel/patches-4.14.x-rt/0400-Revert-memcontrol-Prevent-scheduling-while-atomic-in.patch @@ -1,7 +1,7 @@ -From 7bc63a5a755acc0f0e8149840f7aa64d72e973b6 Mon Sep 17 00:00:00 2001 +From 9d371ed77bfd734055e3b63eb141202104d4be77 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Wed, 22 Nov 2017 07:31:19 -0500 -Subject: [PATCH 401/414] Revert "memcontrol: Prevent scheduling while atomic +Subject: [PATCH 400/413] Revert "memcontrol: Prevent scheduling while atomic in cgroup code" The commit "memcontrol: Prevent scheduling while atomic in cgroup code" diff --git a/kernel/patches-4.14.x-rt/0402-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch b/kernel/patches-4.14.x-rt/0401-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch similarity index 98% rename from kernel/patches-4.14.x-rt/0402-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch rename to kernel/patches-4.14.x-rt/0401-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch index a6abf5bea..5452d1b2c 100644 --- a/kernel/patches-4.14.x-rt/0402-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch +++ b/kernel/patches-4.14.x-rt/0401-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch @@ -1,7 +1,7 @@ -From e5f8ec18598da4911e92ab2bdbdcbc3311762b1b Mon Sep 17 00:00:00 2001 +From 22ded75dc25a2ee6b0cd8be2faf4d7b0fbcfbf00 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 8 Jan 2017 09:32:25 +0100 -Subject: [PATCH 402/414] cpuset: Convert callback_lock to raw_spinlock_t +Subject: [PATCH 401/413] cpuset: Convert callback_lock to raw_spinlock_t The two commits below add up to a cpuset might_sleep() splat for RT: diff --git a/kernel/patches-4.14.x-rt/0403-rt-ntp-Move-call-to-schedule_delayed_work-to-helper-.patch b/kernel/patches-4.14.x-rt/0402-rt-ntp-Move-call-to-schedule_delayed_work-to-helper-.patch similarity index 94% rename from kernel/patches-4.14.x-rt/0403-rt-ntp-Move-call-to-schedule_delayed_work-to-helper-.patch rename to kernel/patches-4.14.x-rt/0402-rt-ntp-Move-call-to-schedule_delayed_work-to-helper-.patch index 560d3e4d0..d9f8f506d 100644 --- a/kernel/patches-4.14.x-rt/0403-rt-ntp-Move-call-to-schedule_delayed_work-to-helper-.patch +++ b/kernel/patches-4.14.x-rt/0402-rt-ntp-Move-call-to-schedule_delayed_work-to-helper-.patch @@ -1,7 +1,7 @@ -From 23af095e5ae0b75387731bb8bd7c762abe867782 Mon Sep 17 00:00:00 2001 +From 205e08a30d687e4abf14c3b73e303ee830f895ca Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Wed, 26 Jun 2013 15:28:11 -0400 -Subject: [PATCH 403/414] rt,ntp: Move call to schedule_delayed_work() to +Subject: [PATCH 402/413] rt,ntp: Move call to schedule_delayed_work() to helper thread The ntp code for notify_cmos_timer() is called from a hard interrupt diff --git a/kernel/patches-4.14.x-rt/0404-Revert-rt-ntp-Move-call-to-schedule_delayed_work-to-.patch b/kernel/patches-4.14.x-rt/0403-Revert-rt-ntp-Move-call-to-schedule_delayed_work-to-.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0404-Revert-rt-ntp-Move-call-to-schedule_delayed_work-to-.patch rename to kernel/patches-4.14.x-rt/0403-Revert-rt-ntp-Move-call-to-schedule_delayed_work-to-.patch index b39d44b8e..ccb102d3b 100644 --- a/kernel/patches-4.14.x-rt/0404-Revert-rt-ntp-Move-call-to-schedule_delayed_work-to-.patch +++ b/kernel/patches-4.14.x-rt/0403-Revert-rt-ntp-Move-call-to-schedule_delayed_work-to-.patch @@ -1,7 +1,7 @@ -From b0394d541a0c10637c600dad413d3a2640dbfdd7 Mon Sep 17 00:00:00 2001 +From f9540860de2f5f9a9d07e9358529e3458d3c07ad Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 2 Mar 2018 11:37:57 +0100 -Subject: [PATCH 404/414] Revert "rt,ntp: Move call to schedule_delayed_work() +Subject: [PATCH 403/413] Revert "rt,ntp: Move call to schedule_delayed_work() to helper thread" I've been looking at this in v3.10-RT where it got in. The patch diff --git a/kernel/patches-4.14.x-rt/0405-md-disable-bcache.patch b/kernel/patches-4.14.x-rt/0404-md-disable-bcache.patch similarity index 92% rename from kernel/patches-4.14.x-rt/0405-md-disable-bcache.patch rename to kernel/patches-4.14.x-rt/0404-md-disable-bcache.patch index 218948160..e96c5f8c0 100644 --- a/kernel/patches-4.14.x-rt/0405-md-disable-bcache.patch +++ b/kernel/patches-4.14.x-rt/0404-md-disable-bcache.patch @@ -1,7 +1,7 @@ -From 063d22e4902bcccaecc8526d0e849c77e366f152 Mon Sep 17 00:00:00 2001 +From fcd98aa87e8e28b042f92ba0ca580706e07dcc46 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Aug 2013 11:48:57 +0200 -Subject: [PATCH 405/414] md: disable bcache +Subject: [PATCH 404/413] md: disable bcache MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernel/patches-4.14.x-rt/0406-apparmor-use-a-locallock-instead-preempt_disable.patch b/kernel/patches-4.14.x-rt/0405-apparmor-use-a-locallock-instead-preempt_disable.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0406-apparmor-use-a-locallock-instead-preempt_disable.patch rename to kernel/patches-4.14.x-rt/0405-apparmor-use-a-locallock-instead-preempt_disable.patch index 7e16f79da..c449ac9ca 100644 --- a/kernel/patches-4.14.x-rt/0406-apparmor-use-a-locallock-instead-preempt_disable.patch +++ b/kernel/patches-4.14.x-rt/0405-apparmor-use-a-locallock-instead-preempt_disable.patch @@ -1,7 +1,7 @@ -From b6fe8cc7d11b7331a0cc6600a1503944c9569345 Mon Sep 17 00:00:00 2001 +From a8eb9d3ad2db64f8fa95c16b8b606ca235dd1e40 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 11 Oct 2017 17:43:49 +0200 -Subject: [PATCH 406/414] apparmor: use a locallock instead preempt_disable() +Subject: [PATCH 405/413] apparmor: use a locallock instead preempt_disable() get_buffers() disables preemption which acts as a lock for the per-CPU variable. Since we can't disable preemption here on RT, a local_lock is diff --git a/kernel/patches-4.14.x-rt/0407-workqueue-Prevent-deadlock-stall-on-RT.patch b/kernel/patches-4.14.x-rt/0406-workqueue-Prevent-deadlock-stall-on-RT.patch similarity index 97% rename from kernel/patches-4.14.x-rt/0407-workqueue-Prevent-deadlock-stall-on-RT.patch rename to kernel/patches-4.14.x-rt/0406-workqueue-Prevent-deadlock-stall-on-RT.patch index 3478c40a6..ae1056600 100644 --- a/kernel/patches-4.14.x-rt/0407-workqueue-Prevent-deadlock-stall-on-RT.patch +++ b/kernel/patches-4.14.x-rt/0406-workqueue-Prevent-deadlock-stall-on-RT.patch @@ -1,7 +1,7 @@ -From 4bc2c83ae64ff6c65ba8922870009a446f3943b5 Mon Sep 17 00:00:00 2001 +From 092ead3bd4a1611f032ced93ea788f2cf25fd456 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 27 Jun 2014 16:24:52 +0200 -Subject: [PATCH 407/414] workqueue: Prevent deadlock/stall on RT +Subject: [PATCH 406/413] workqueue: Prevent deadlock/stall on RT Austin reported a XFS deadlock/stall on RT where scheduled work gets never exececuted and tasks are waiting for each other for ever. @@ -42,7 +42,7 @@ Cc: Steven Rostedt 2 files changed, 52 insertions(+), 15 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 38ba16e8beee..a2e38556bbef 100644 +index 6952b7765bde..e7817c6c44d2 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3477,9 +3477,8 @@ void __noreturn do_task_dead(void) diff --git a/kernel/patches-4.14.x-rt/0408-Add-localversion-for-RT-release.patch b/kernel/patches-4.14.x-rt/0407-Add-localversion-for-RT-release.patch similarity index 76% rename from kernel/patches-4.14.x-rt/0408-Add-localversion-for-RT-release.patch rename to kernel/patches-4.14.x-rt/0407-Add-localversion-for-RT-release.patch index 940a453a6..2db4196bc 100644 --- a/kernel/patches-4.14.x-rt/0408-Add-localversion-for-RT-release.patch +++ b/kernel/patches-4.14.x-rt/0407-Add-localversion-for-RT-release.patch @@ -1,7 +1,7 @@ -From d5b69ff19ba03f99b07025109a133509fa6eb9a4 Mon Sep 17 00:00:00 2001 +From 09264d6a7b079c667e7ab9355ad4e17684189c00 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 20:25:16 +0200 -Subject: [PATCH 408/414] Add localversion for -RT release +Subject: [PATCH 407/413] Add localversion for -RT release Signed-off-by: Thomas Gleixner --- diff --git a/kernel/patches-4.14.x-rt/0409-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch b/kernel/patches-4.14.x-rt/0408-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0409-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch rename to kernel/patches-4.14.x-rt/0408-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch index 357f3a018..968c2efe3 100644 --- a/kernel/patches-4.14.x-rt/0409-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch +++ b/kernel/patches-4.14.x-rt/0408-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch @@ -1,7 +1,7 @@ -From d32c631bd739dc37afea1c0b4fcdc8d63784fef1 Mon Sep 17 00:00:00 2001 +From c5f9e0ae2a10b26d19425637603c34bc3045b125 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Thu, 26 Apr 2018 20:04:49 -0500 -Subject: [PATCH 409/414] tracing: Add field modifier parsing hist error for +Subject: [PATCH 408/413] tracing: Add field modifier parsing hist error for hist triggers [ commit dcf234577cd31fa16874e828b90659166ad6b80d ] diff --git a/kernel/patches-4.14.x-rt/0410-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch b/kernel/patches-4.14.x-rt/0409-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch similarity index 93% rename from kernel/patches-4.14.x-rt/0410-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch rename to kernel/patches-4.14.x-rt/0409-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch index d77f8e86b..7486c3aa1 100644 --- a/kernel/patches-4.14.x-rt/0410-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch +++ b/kernel/patches-4.14.x-rt/0409-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch @@ -1,7 +1,7 @@ -From 2c7abe0804a1e9979610e0aaf11f05edeb7df326 Mon Sep 17 00:00:00 2001 +From 3158aae80923bc6e31f906955bb69de0bcee346d Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Thu, 26 Apr 2018 20:04:48 -0500 -Subject: [PATCH 410/414] tracing: Add field parsing hist error for hist +Subject: [PATCH 409/413] tracing: Add field parsing hist error for hist triggers [ commit 5ec432d7bf9dd3b4a2b84f8974e3adb71f45fb1d ] diff --git a/kernel/patches-4.14.x-rt/0411-tracing-Restore-proper-field-flag-printing-when-disp.patch b/kernel/patches-4.14.x-rt/0410-tracing-Restore-proper-field-flag-printing-when-disp.patch similarity index 95% rename from kernel/patches-4.14.x-rt/0411-tracing-Restore-proper-field-flag-printing-when-disp.patch rename to kernel/patches-4.14.x-rt/0410-tracing-Restore-proper-field-flag-printing-when-disp.patch index 92f96c3f1..b96525b68 100644 --- a/kernel/patches-4.14.x-rt/0411-tracing-Restore-proper-field-flag-printing-when-disp.patch +++ b/kernel/patches-4.14.x-rt/0410-tracing-Restore-proper-field-flag-printing-when-disp.patch @@ -1,7 +1,7 @@ -From 5128dd99eb60118c1d2539e7565cd9581b90cca7 Mon Sep 17 00:00:00 2001 +From d3aed5eb9fbd9edc838e22734266e2e6c24e97ae Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Thu, 26 Apr 2018 20:04:47 -0500 -Subject: [PATCH 411/414] tracing: Restore proper field flag printing when +Subject: [PATCH 410/413] tracing: Restore proper field flag printing when displaying triggers [ commit 608940dabe1bd2ce4c97524004ec86637cf80f2c ] diff --git a/kernel/patches-4.14.x-rt/0412-tracing-Uninitialized-variable-in-create_tracing_map.patch b/kernel/patches-4.14.x-rt/0411-tracing-Uninitialized-variable-in-create_tracing_map.patch similarity index 91% rename from kernel/patches-4.14.x-rt/0412-tracing-Uninitialized-variable-in-create_tracing_map.patch rename to kernel/patches-4.14.x-rt/0411-tracing-Uninitialized-variable-in-create_tracing_map.patch index 6a0877125..faa6954d9 100644 --- a/kernel/patches-4.14.x-rt/0412-tracing-Uninitialized-variable-in-create_tracing_map.patch +++ b/kernel/patches-4.14.x-rt/0411-tracing-Uninitialized-variable-in-create_tracing_map.patch @@ -1,7 +1,7 @@ -From dcfa2a4b576b5ac37699e019e43befd67de6f3f2 Mon Sep 17 00:00:00 2001 +From a978172e76545349ee0117d9ad9b051fa80e8660 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Wed, 28 Mar 2018 14:48:15 +0300 -Subject: [PATCH 412/414] tracing: Uninitialized variable in +Subject: [PATCH 411/413] tracing: Uninitialized variable in create_tracing_map_fields() [ commit b28d7b2dc27f0eef1ae608b49d6860f2463910f1 ] diff --git a/kernel/patches-4.14.x-rt/0413-tracing-Fix-a-potential-NULL-dereference.patch b/kernel/patches-4.14.x-rt/0412-tracing-Fix-a-potential-NULL-dereference.patch similarity index 89% rename from kernel/patches-4.14.x-rt/0413-tracing-Fix-a-potential-NULL-dereference.patch rename to kernel/patches-4.14.x-rt/0412-tracing-Fix-a-potential-NULL-dereference.patch index d54af6e36..76e3da6e9 100644 --- a/kernel/patches-4.14.x-rt/0413-tracing-Fix-a-potential-NULL-dereference.patch +++ b/kernel/patches-4.14.x-rt/0412-tracing-Fix-a-potential-NULL-dereference.patch @@ -1,7 +1,7 @@ -From d8a89a3988801f87d8449eb8b2c7d4b6c8cb47c6 Mon Sep 17 00:00:00 2001 +From 68fb71aae158f2cfbc50698040a2781780af7843 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Fri, 23 Mar 2018 14:37:36 +0300 -Subject: [PATCH 413/414] tracing: Fix a potential NULL dereference +Subject: [PATCH 412/413] tracing: Fix a potential NULL dereference [ commit 5e4cf2bf6d1c198a90ccc0df5ffd8e0d4ea36b48 ] diff --git a/kernel/patches-4.14.x-rt/0414-Linux-4.14.59-rt37-REBASE.patch b/kernel/patches-4.14.x-rt/0413-Linux-4.14.63-rt40-REBASE.patch similarity index 64% rename from kernel/patches-4.14.x-rt/0414-Linux-4.14.59-rt37-REBASE.patch rename to kernel/patches-4.14.x-rt/0413-Linux-4.14.63-rt40-REBASE.patch index e56b03d68..a1f83dae3 100644 --- a/kernel/patches-4.14.x-rt/0414-Linux-4.14.59-rt37-REBASE.patch +++ b/kernel/patches-4.14.x-rt/0413-Linux-4.14.63-rt40-REBASE.patch @@ -1,8 +1,10 @@ -From b66fd2320be2393e6d868f921150ec8835a5c3e3 Mon Sep 17 00:00:00 2001 +From 7f11a591bbdb111792298144c3476506aa7f1ca8 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Wed, 16 May 2018 09:33:00 -0400 -Subject: [PATCH 414/414] Linux 4.14.59-rt37 REBASE +Subject: [PATCH 413/413] Linux 4.14.63-rt40 REBASE +[It should be rt40] +Integrated-by: Tiejun Chen --- localversion-rt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -13,7 +15,7 @@ index 90290c642ed5..a3b2408c1da6 100644 +++ b/localversion-rt @@ -1 +1 @@ --rt29 -+-rt37 ++-rt40 -- 2.18.0 diff --git a/kernel/patches-4.14.x-rt/0414-Miss-the-irq_regs.h-file.patch b/kernel/patches-4.14.x-rt/0414-Miss-the-irq_regs.h-file.patch new file mode 100644 index 000000000..7b79ec81c --- /dev/null +++ b/kernel/patches-4.14.x-rt/0414-Miss-the-irq_regs.h-file.patch @@ -0,0 +1,26 @@ +From 422b603925cb4488f30f11104413d82e924698ff Mon Sep 17 00:00:00 2001 +From: Tiejun Chen +Date: Sun, 26 Aug 2018 17:03:10 -0700 +Subject: [PATCH 1/1] Miss the irq_regs.h file + +Signed-off-by: Tiejun Chen +--- + drivers/hv/vmbus_drv.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c +index 4970f10b..ba41140a 100644 +--- a/drivers/hv/vmbus_drv.c ++++ b/drivers/hv/vmbus_drv.c +@@ -47,6 +47,8 @@ + #include + #include "hyperv_vmbus.h" + ++#include ++ + struct vmbus_dynid { + struct list_head node; + struct hv_vmbus_device_id id; +-- +2.17.1 +