* [GIT PULL] cgroup fixes for v4.3-rc2
@ 2015-09-25 20:31 Tejun Heo
0 siblings, 0 replies; 2+ messages in thread
From: Tejun Heo @ 2015-09-25 20:31 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, Theodore Ts'o, Li Zefan, Johannes Weiner,
cgroups, Jens Axboe
Hello, Linus.
Another cgroup fix pull. The cgroup writeback support got
inadvertently enabled for traditional hierarchies revealing two
regressions which are currently being worked on. It shouldn't have
been enabled on traditional hierarchies, so disable it on them. This
is enough for making the regressions go away for people who aren't
experimenting with cgroup.
Thanks.
The following changes since commit 0c986253b939cc14c69d4adbe2b4121bdf4aa220:
Revert "sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem" (2015-09-16 11:51:12 -0400)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-4.3-fixes
for you to fetch changes up to 9badce000e2ce68ba74838a3cd356dde58221c2f:
cgroup, writeback: don't enable cgroup writeback on traditional hierarchies (2015-09-24 16:48:52 -0400)
----------------------------------------------------------------
Tejun Heo (1):
cgroup, writeback: don't enable cgroup writeback on traditional hierarchies
include/linux/backing-dev.h | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 5a5d79e..d5eb4ad1 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -13,6 +13,7 @@
#include <linux/sched.h>
#include <linux/blkdev.h>
#include <linux/writeback.h>
+#include <linux/memcontrol.h>
#include <linux/blk-cgroup.h>
#include <linux/backing-dev-defs.h>
#include <linux/slab.h>
@@ -252,13 +253,19 @@ int inode_congested(struct inode *inode, int cong_bits);
* @inode: inode of interest
*
* cgroup writeback requires support from both the bdi and filesystem.
- * Test whether @inode has both.
+ * Also, both memcg and iocg have to be on the default hierarchy. Test
+ * whether all conditions are met.
+ *
+ * Note that the test result may change dynamically on the same inode
+ * depending on how memcg and iocg are configured.
*/
static inline bool inode_cgwb_enabled(struct inode *inode)
{
struct backing_dev_info *bdi = inode_to_bdi(inode);
- return bdi_cap_account_dirty(bdi) &&
+ return cgroup_on_dfl(mem_cgroup_root_css->cgroup) &&
+ cgroup_on_dfl(blkcg_root_css->cgroup) &&
+ bdi_cap_account_dirty(bdi) &&
(bdi->capabilities & BDI_CAP_CGROUP_WRITEBACK) &&
(inode->i_sb->s_iflags & SB_I_CGROUPWB);
}
^ permalink raw reply [flat|nested] 2+ messages in thread
* [GIT PULL] cgroup fixes for v4.3-rc2
@ 2015-09-21 21:59 Tejun Heo
0 siblings, 0 replies; 2+ messages in thread
From: Tejun Heo @ 2015-09-21 21:59 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, Li Zefan, Johannes Weiner, cgroups, Oleg Nesterov
Hello, Linus.
The threadgroup locking changes which went in during 4.2 devel cycle
added write locking of a percpu_rwsem in cgroup task migration path;
unfortunately, that involved expedited rcu syncing which turned out to
be too slow and heavy for certain workloads. The patchset which is
dependent on this one didn't get committed during that devel cycle, so
these two patches can be reverted safely.
Oleg reworked percpu_rwsem for 4.4 so that the writer path is a lot
lighter. The reported issue goes away with Oleg's reworked
percpu_rwsem and I'll reapply these patches on the for-4.4 branch so
that they can land together with Oleg's changes.
Thanks.
The following changes since commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f:
Linux 4.3-rc1 (2015-09-12 16:35:56 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-4.3-fixes
for you to fetch changes up to 0c986253b939cc14c69d4adbe2b4121bdf4aa220:
Revert "sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem" (2015-09-16 11:51:12 -0400)
----------------------------------------------------------------
Tejun Heo (2):
Revert "cgroup: simplify threadgroup locking"
Revert "sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem"
include/linux/cgroup-defs.h | 27 +----------
include/linux/init_task.h | 8 ++++
include/linux/sched.h | 12 +++++
kernel/cgroup.c | 110 +++++++++++++++++++++++++++++++++-----------
kernel/fork.c | 4 ++
5 files changed, 110 insertions(+), 51 deletions(-)
--
tejun
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-09-25 20:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-25 20:31 [GIT PULL] cgroup fixes for v4.3-rc2 Tejun Heo
-- strict thread matches above, loose matches on Subject: below --
2015-09-21 21:59 Tejun Heo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®