summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2016-09-15 20:33:59 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2016-09-15 20:33:59 +0200
commita1db2e14827693507927c2e4ab23fa1596d09d06 (patch)
tree2189fd95816f026d8a8d6387e5f9d8ef5433229c
parentef781baa7c9e9ad811930bdca43013ca0f77ae0a (diff)
parentf6cc9841e3a6348f3c140f7124dc11996ef185a3 (diff)
downloadkernel-4.7.4-100.vanilla.knurd.1.fc23.tar.gz
kernel-4.7.4-100.vanilla.knurd.1.fc23.tar.xz
kernel-4.7.4-100.vanilla.knurd.1.fc23.zip
Merge remote-tracking branch 'origin/f23' into f23-user-thl-vanilla-fedorakernel-4.7.4-100.vanilla.knurd.1.fc23
-rw-r--r--0001-cgroup-reduce-read-locked-section-of-cgroup_threadgr.patch112
-rw-r--r--0001-cpupower-Correct-return-type-of-cpu_power_is_cpu_onl.patch49
-rw-r--r--0001-iio-Use-event-header-from-kernel-tree.patch64
-rw-r--r--kernel.spec18
-rw-r--r--sources2
5 files changed, 128 insertions, 117 deletions
diff --git a/0001-cgroup-reduce-read-locked-section-of-cgroup_threadgr.patch b/0001-cgroup-reduce-read-locked-section-of-cgroup_threadgr.patch
deleted file mode 100644
index daad25310..000000000
--- a/0001-cgroup-reduce-read-locked-section-of-cgroup_threadgr.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 568ac888215c7fb2fabe8ea739b00ec3c1f5d440 Mon Sep 17 00:00:00 2001
-From: Balbir Singh <bsingharora@gmail.com>
-Date: Wed, 10 Aug 2016 15:43:06 -0400
-Subject: [PATCH] cgroup: reduce read locked section of
- cgroup_threadgroup_rwsem during fork
-
-cgroup_threadgroup_rwsem is acquired in read mode during process exit
-and fork. It is also grabbed in write mode during
-__cgroups_proc_write(). I've recently run into a scenario with lots
-of memory pressure and OOM and I am beginning to see
-
-systemd
-
- __switch_to+0x1f8/0x350
- __schedule+0x30c/0x990
- schedule+0x48/0xc0
- percpu_down_write+0x114/0x170
- __cgroup_procs_write.isra.12+0xb8/0x3c0
- cgroup_file_write+0x74/0x1a0
- kernfs_fop_write+0x188/0x200
- __vfs_write+0x6c/0xe0
- vfs_write+0xc0/0x230
- SyS_write+0x6c/0x110
- system_call+0x38/0xb4
-
-This thread is waiting on the reader of cgroup_threadgroup_rwsem to
-exit. The reader itself is under memory pressure and has gone into
-reclaim after fork. There are times the reader also ends up waiting on
-oom_lock as well.
-
- __switch_to+0x1f8/0x350
- __schedule+0x30c/0x990
- schedule+0x48/0xc0
- jbd2_log_wait_commit+0xd4/0x180
- ext4_evict_inode+0x88/0x5c0
- evict+0xf8/0x2a0
- dispose_list+0x50/0x80
- prune_icache_sb+0x6c/0x90
- super_cache_scan+0x190/0x210
- shrink_slab.part.15+0x22c/0x4c0
- shrink_zone+0x288/0x3c0
- do_try_to_free_pages+0x1dc/0x590
- try_to_free_pages+0xdc/0x260
- __alloc_pages_nodemask+0x72c/0xc90
- alloc_pages_current+0xb4/0x1a0
- page_table_alloc+0xc0/0x170
- __pte_alloc+0x58/0x1f0
- copy_page_range+0x4ec/0x950
- copy_process.isra.5+0x15a0/0x1870
- _do_fork+0xa8/0x4b0
- ppc_clone+0x8/0xc
-
-In the meanwhile, all processes exiting/forking are blocked almost
-stalling the system.
-
-This patch moves the threadgroup_change_begin from before
-cgroup_fork() to just before cgroup_canfork(). There is no nee to
-worry about threadgroup changes till the task is actually added to the
-threadgroup. This avoids having to call reclaim with
-cgroup_threadgroup_rwsem held.
-
-tj: Subject and description edits.
-
-Signed-off-by: Balbir Singh <bsingharora@gmail.com>
-Acked-by: Zefan Li <lizefan@huawei.com>
-Cc: Oleg Nesterov <oleg@redhat.com>
-Cc: Andrew Morton <akpm@linux-foundation.org>
-Cc: stable@vger.kernel.org # v4.2+
-Signed-off-by: Tejun Heo <tj@kernel.org>
----
- kernel/fork.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/kernel/fork.c b/kernel/fork.c
-index 52e725d..aaf7823 100644
---- a/kernel/fork.c
-+++ b/kernel/fork.c
-@@ -1404,7 +1404,6 @@ static struct task_struct *copy_process(unsigned long clone_flags,
- p->real_start_time = ktime_get_boot_ns();
- p->io_context = NULL;
- p->audit_context = NULL;
-- threadgroup_change_begin(current);
- cgroup_fork(p);
- #ifdef CONFIG_NUMA
- p->mempolicy = mpol_dup(p->mempolicy);
-@@ -1556,6 +1555,7 @@ static struct task_struct *copy_process(unsigned long clone_flags,
- INIT_LIST_HEAD(&p->thread_group);
- p->task_works = NULL;
-
-+ threadgroup_change_begin(current);
- /*
- * Ensure that the cgroup subsystem policies allow the new process to be
- * forked. It should be noted the the new process's css_set can be changed
-@@ -1656,6 +1656,7 @@ static struct task_struct *copy_process(unsigned long clone_flags,
- bad_fork_cancel_cgroup:
- cgroup_cancel_fork(p);
- bad_fork_free_pid:
-+ threadgroup_change_end(current);
- if (pid != &init_struct_pid)
- free_pid(pid);
- bad_fork_cleanup_thread:
-@@ -1688,7 +1689,6 @@ bad_fork_cleanup_policy:
- mpol_put(p->mempolicy);
- bad_fork_cleanup_threadgroup_lock:
- #endif
-- threadgroup_change_end(current);
- delayacct_tsk_free(p);
- bad_fork_cleanup_count:
- atomic_dec(&p->cred->user->processes);
---
-2.7.4
-
diff --git a/0001-cpupower-Correct-return-type-of-cpu_power_is_cpu_onl.patch b/0001-cpupower-Correct-return-type-of-cpu_power_is_cpu_onl.patch
new file mode 100644
index 000000000..05b8cf999
--- /dev/null
+++ b/0001-cpupower-Correct-return-type-of-cpu_power_is_cpu_onl.patch
@@ -0,0 +1,49 @@
+From 9f692cbe4a01dd9e3c3e954ec6b59662b68f9ce4 Mon Sep 17 00:00:00 2001
+From: Laura Abbott <labbott@redhat.com>
+Date: Fri, 9 Sep 2016 10:19:02 -0700
+Subject: [PATCH] cpupower: Correct return type of cpu_power_is_cpu_online in
+ cpufreq
+To: Thomas Renninger <trenn@suse.com>
+Cc: linux-pm@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org
+
+When converting to a shared library in ac5a181d065d ("cpupower: Add
+cpuidle parts into library"), cpu_freq_cpu_exists was converted to
+cpupower_is_cpu_online. cpu_req_cpu_exists returned 0 on success and
+-ENOSYS on failure whereas cpupower_is_cpu_online returns 1 on success.
+Check for the correct return value in cpufreq-set.
+
+See https://bugzilla.redhat.com/show_bug.cgi?id=1374212
+
+Fixes: ac5a181d065d ("cpupower: Add cpuidle parts into library")
+Reported-by: Julian Seward <jseward@acm.org>
+Signed-off-by: Laura Abbott <labbott@redhat.com>
+---
+ tools/power/cpupower/utils/cpufreq-set.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/power/cpupower/utils/cpufreq-set.c b/tools/power/cpupower/utils/cpufreq-set.c
+index b4bf769..8971d71 100644
+--- a/tools/power/cpupower/utils/cpufreq-set.c
++++ b/tools/power/cpupower/utils/cpufreq-set.c
+@@ -296,7 +296,7 @@ int cmd_freq_set(int argc, char **argv)
+ struct cpufreq_affected_cpus *cpus;
+
+ if (!bitmask_isbitset(cpus_chosen, cpu) ||
+- cpupower_is_cpu_online(cpu))
++ cpupower_is_cpu_online(cpu) != 1)
+ continue;
+
+ cpus = cpufreq_get_related_cpus(cpu);
+@@ -316,7 +316,7 @@ int cmd_freq_set(int argc, char **argv)
+ cpu <= bitmask_last(cpus_chosen); cpu++) {
+
+ if (!bitmask_isbitset(cpus_chosen, cpu) ||
+- cpupower_is_cpu_online(cpu))
++ cpupower_is_cpu_online(cpu) != 1)
+ continue;
+
+ if (cpupower_is_cpu_online(cpu) != 1)
+--
+2.10.0
+
diff --git a/0001-iio-Use-event-header-from-kernel-tree.patch b/0001-iio-Use-event-header-from-kernel-tree.patch
new file mode 100644
index 000000000..1724db3fd
--- /dev/null
+++ b/0001-iio-Use-event-header-from-kernel-tree.patch
@@ -0,0 +1,64 @@
+From 0eadbb65c0026fb4eec89c54f6b48a0febd87f92 Mon Sep 17 00:00:00 2001
+From: Laura Abbott <labbott@redhat.com>
+Date: Fri, 9 Sep 2016 08:19:17 -0700
+Subject: [PATCH] iio: Use type header from kernel tree
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+To: Jonathan Cameron <jic23@kernel.org>
+To: Hartmut Knaack <knaack.h@gmx.de>
+To: Lars-Peter Clausen <lars@metafoo.de>
+To: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
+Cc: linux-iio@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org
+
+
+The iio tools have been updated as new event types have been added to
+the kernel. The tools currently use the standard system headers which
+means that the system may not have the newest defintitions. This leads
+to build failures when building newer tools on older hosts:
+
+gcc -Wall -g -D_GNU_SOURCE -c -o iio_event_monitor.o
+iio_event_monitor.c
+iio_event_monitor.c:59:3: error: ‘IIO_UVINDEX’ undeclared here (not in a
+function)
+ [IIO_UVINDEX] = "uvindex",
+ ^~~~~~~~~~~
+iio_event_monitor.c:59:3: error: array index in initializer not of
+integer type
+iio_event_monitor.c:59:3: note: (near initialization for
+‘iio_chan_type_name_spec’)
+iio_event_monitor.c:97:3: error: ‘IIO_MOD_LIGHT_UV’ undeclared here (not
+in a function)
+ [IIO_MOD_LIGHT_UV] = "uv",
+ ^~~~~~~~~~~~~~~~
+iio_event_monitor.c:97:3: error: array index in initializer not of
+integer type
+iio_event_monitor.c:97:3: note: (near initialization for
+‘iio_modifier_names’)
+<builtin>: recipe for target 'iio_event_monitor.o' failed
+
+Switch to using the header from the kernel tree to ensure the newest
+defintions are always picked up.
+
+Signed-off-by: Laura Abbott <labbott@redhat.com>
+---
+ tools/iio/iio_event_monitor.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/iio/iio_event_monitor.c b/tools/iio/iio_event_monitor.c
+index d9b7e0f..f02523d 100644
+--- a/tools/iio/iio_event_monitor.c
++++ b/tools/iio/iio_event_monitor.c
+@@ -26,7 +26,7 @@
+ #include <sys/ioctl.h>
+ #include "iio_utils.h"
+ #include <linux/iio/events.h>
+-#include <linux/iio/types.h>
++#include "../../include/uapi/linux/iio/types.h"
+
+ static const char * const iio_chan_type_name_spec[] = {
+ [IIO_VOLTAGE] = "voltage",
+--
+2.7.4
+
diff --git a/kernel.spec b/kernel.spec
index 5901dafcb..421d5c2c0 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -60,7 +60,7 @@ Summary: The Linux kernel
# Do we have a -stable update to apply?
-%define stable_update 3
+%define stable_update 4
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -652,12 +652,15 @@ Patch858: 0001-OOM-detection-regressions-since-4.7.patch
#rhbz 1360688
Patch859: rc-core-fix-repeat-events.patch
-# https://lkml.org/lkml/2016/8/30/566
-Patch861: 0001-cgroup-reduce-read-locked-section-of-cgroup_threadgr.patch
-
#rhbz 1350174
Patch862: tip-x86-boot-x86-KASLR-x86-power-Remove-x86-hibernation-restrictions.patch
+#rhbz 1374212
+Patch863: 0001-cpupower-Correct-return-type-of-cpu_power_is_cpu_onl.patch
+
+#ongoing complaint, full discussion delayed until ksummit/plumbers
+Patch864: 0001-iio-Use-event-header-from-kernel-tree.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -2183,6 +2186,13 @@ fi
#
#
%changelog
+* Thu Sep 15 2016 Laura Abbott <labbott@fedoraproject.org> - 4.7.4-100
+- Linux v4.7.4
+
+* Wed Sep 14 2016 Laura Abbott <labbott@fedoraproject.org>
+- Fix for incorrect return checking in cpupower (rhbz 1374212)
+- Let iio tools build on older kernels
+
* Wed Sep 07 2016 <labbott@fedoraproject.org> - 4.7.3-100
- Linux v4.7.3
- Silence KASLR warning (rhbz 1350174)
diff --git a/sources b/sources
index c33fe9c55..9c36889c8 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
5276563eb1f39a048e4a8a887408c031 linux-4.7.tar.xz
fe259c02c75eec61d1aa4b1211f3c853 perf-man-4.7.tar.gz
-803bdedd9b9cd4ef43d9d5d41801f234 patch-4.7.3.xz
+150cff5d90bd90217848974269a770ee patch-4.7.4.xz