]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop queue-3.18/cpuset-consider-dying-css-as-offline.patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Jun 2017 09:31:51 +0000 (11:31 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Jun 2017 09:31:51 +0000 (11:31 +0200)
queue-3.18/cpuset-consider-dying-css-as-offline.patch [deleted file]
queue-3.18/series

diff --git a/queue-3.18/cpuset-consider-dying-css-as-offline.patch b/queue-3.18/cpuset-consider-dying-css-as-offline.patch
deleted file mode 100644 (file)
index 2a2f5d2..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From 41c25707d21716826e3c1f60967f5550610ec1c9 Mon Sep 17 00:00:00 2001
-From: Tejun Heo <tj@kernel.org>
-Date: Wed, 24 May 2017 12:03:48 -0400
-Subject: cpuset: consider dying css as offline
-
-From: Tejun Heo <tj@kernel.org>
-
-commit 41c25707d21716826e3c1f60967f5550610ec1c9 upstream.
-
-In most cases, a cgroup controller don't care about the liftimes of
-cgroups.  For the controller, a css becomes online when ->css_online()
-is called on it and offline when ->css_offline() is called.
-
-However, cpuset is special in that the user interface it exposes cares
-whether certain cgroups exist or not.  Combined with the RCU delay
-between cgroup removal and css offlining, this can lead to user
-visible behavior oddities where operations which should succeed after
-cgroup removals fail for some time period.  The effects of cgroup
-removals are delayed when seen from userland.
-
-This patch adds css_is_dying() which tests whether offline is pending
-and updates is_cpuset_online() so that the function returns false also
-while offline is pending.  This gets rid of the userland visible
-delays.
-
-Signed-off-by: Tejun Heo <tj@kernel.org>
-Reported-by: Daniel Jordan <daniel.m.jordan@oracle.com>
-Link: http://lkml.kernel.org/r/327ca1f5-7957-fbb9-9e5f-9ba149d40ba2@oracle.com
-Signed-off-by: Tejun Heo <tj@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- include/linux/cgroup.h |   20 ++++++++++++++++++++
- kernel/cpuset.c        |    4 ++--
- 2 files changed, 22 insertions(+), 2 deletions(-)
-
---- a/include/linux/cgroup.h
-+++ b/include/linux/cgroup.h
-@@ -148,6 +148,26 @@ static inline bool css_tryget_online(str
- }
- /**
-+ * css_is_dying - test whether the specified css is dying
-+ * @css: target css
-+ *
-+ * Test whether @css is in the process of offlining or already offline.  In
-+ * most cases, ->css_online() and ->css_offline() callbacks should be
-+ * enough; however, the actual offline operations are RCU delayed and this
-+ * test returns %true also when @css is scheduled to be offlined.
-+ *
-+ * This is useful, for example, when the use case requires synchronous
-+ * behavior with respect to cgroup removal.  cgroup removal schedules css
-+ * offlining but the css can seem alive while the operation is being
-+ * delayed.  If the delay affects user visible semantics, this test can be
-+ * used to resolve the situation.
-+ */
-+static inline bool css_is_dying(struct cgroup_subsys_state *css)
-+{
-+      return !(css->flags & CSS_NO_REF) && percpu_ref_is_dying(&css->refcnt);
-+}
-+
-+/**
-  * css_put - put a css reference
-  * @css: target css
-  *
---- a/kernel/cpuset.c
-+++ b/kernel/cpuset.c
-@@ -174,9 +174,9 @@ typedef enum {
- } cpuset_flagbits_t;
- /* convenient tests for these bits */
--static inline bool is_cpuset_online(const struct cpuset *cs)
-+static inline bool is_cpuset_online(struct cpuset *cs)
- {
--      return test_bit(CS_ONLINE, &cs->flags);
-+      return test_bit(CS_ONLINE, &cs->flags) && !css_is_dying(&cs->css);
- }
- static inline int is_cpu_exclusive(const struct cpuset *cs)
index f02d722179f1811ae390cbc412e15048ada26895..d4195d291b144d4646b6dddfb1be1f7ca9a7a2d1 100644 (file)
@@ -24,6 +24,5 @@ iio-proximity-as3935-fix-as3935_int-mask.patch
 drivers-char-random-add-get_random_long.patch
 random-properly-align-get_random_int_hash.patch
 stackprotector-increase-the-per-task-stack-canary-s-random-range-from-32-bits-to-64-bits-on-64-bit-platforms.patch
-cpuset-consider-dying-css-as-offline.patch
 btrfs-use-correct-types-for-page-indices-in-btrfs_page_exists_in_range.patch
 btrfs-fix-memory-leak-in-update_space_info-failure-path.patch