Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp570538imu; Thu, 8 Nov 2018 12:17:52 -0800 (PST) X-Google-Smtp-Source: AJdET5eP6uYbr6xY+iwEabXyKD8gVVMNOUaJrYDYcz96rNUzbp4gduDYYRRIXrTTZrdN0JrAqHHG X-Received: by 2002:a63:af18:: with SMTP id w24mr4990769pge.385.1541708272749; Thu, 08 Nov 2018 12:17:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541708272; cv=none; d=google.com; s=arc-20160816; b=ubGYMGoDWUdb4J7yHDqWsg6rV2wX1n2LLKPmOi02gnoAGMi46wrUp2MdJZqFWnmQle PlbR6eG2ezjkDd4BMaRrld/SdRT/tJHsYXmQo8cHghulXQ/f9hdaoQIbs70arxvBNssc 9p2N2gzHFwq1vTS/D8NQKhD11lJIHSM2zGJ2BDfw5rc+9osTnbKB0QL0z/eUNZFp2FOs gF5Zk3gho0ltACf35bS3t7ESzNiUrBdPHPUjHCopqhWxOs+CY7vlMUZbCo1nNvN54fNG KinpiZIi8AH9DLALhAkn1W7y5wGTK0gCY+ffLI332AiXZgMrmeW3OtIIbitgtJO4uFzm amOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=AVWov9oTOLa0o8ptLdw/1Bm5RUGAQRjdANBdPA/XZu4=; b=pwfeM7OFdUcym9Bw8dyuRjWIm5mb8LP5PfWWXxoqJdZSv5AmlBvu0Jg7uFdG24b3kM Lv+fpgo0wPAMq3EzufF0V0zWXnz7SclAHPAX4ayr6hNGnZwEY5AfWeoyE3hGG1YE5FAD TQ05ui00cL5SQWOwX76X2hWUwH2p1e/AM1QT/IGeDgt+MnHpxbEVUzqk467+eP5HzsgT 99Hxk1Y8NgGH/Qm7pPjARQKhWWo1VjLem/038qN84BN1JgJ9wvMxG5AiU/sEwnD/7pIm N6+H0nXWxu3JRIX50jjaaq41LNIObytPPHizA2oHJO3UEzeNc2wblFatuRFXnhw81hUZ 1GZg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=hvkLkTNK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w22-v6si5068662plp.110.2018.11.08.12.17.37; Thu, 08 Nov 2018 12:17:52 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=hvkLkTNK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727213AbeKIFxM (ORCPT + 99 others); Fri, 9 Nov 2018 00:53:12 -0500 Received: from mail-qk1-f196.google.com ([209.85.222.196]:44664 "EHLO mail-qk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725884AbeKIFxM (ORCPT ); Fri, 9 Nov 2018 00:53:12 -0500 Received: by mail-qk1-f196.google.com with SMTP id n12so28764009qkh.11; Thu, 08 Nov 2018 12:16:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=AVWov9oTOLa0o8ptLdw/1Bm5RUGAQRjdANBdPA/XZu4=; b=hvkLkTNKujjz1aQzDBYFbCmLaXzD+yTIu3FChGLjWGDvmmiNsi9heX0jIAjT15BS9e qKlaAeXp4T4btrSWM15KEdJKp8CtS99coEP4tLaSKhKL6+ipdm6Ke4lrmRWjIHaRA0wD X0zzHC9bsfBQkKi4rsmrTCaUy13i0XJ4f2rSJ2APnyN43mS/LxB69+tZT63X3qzD23Ce XgMe/aKfRN/dHFy6rFrOTGaTAHLfq8DHnfaVsPIsJj43R3qUQQJi44+egSm9cEtEBgfe H/4R1JDfWvj0ep/0w+9hfNC0ngqCm0AKDbmLJ642Q/r1oX7fAyAqIx4LMULrd9+RuNP5 sE/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=AVWov9oTOLa0o8ptLdw/1Bm5RUGAQRjdANBdPA/XZu4=; b=jk3r1hNugdG2Qxa8g0jjJIUnIT3PoQKGHNxhSTjCn/TllfIc/O9UK0dfH0jLguBo9/ r7WxhXAYhAPA2b+C1Zw3nglUBO82BBNVuGXeVOxF2Z3UiknHEqc8RQCyEtl1rvex/xga 95V/5kVOthLuwpMkQ6h0t8X27RRErTfegACmoIPYa08zg+r+qZMlrN+2QLO49ImNHW06 LXkrlwa1c4FVdASiXcN4vHV9A9U4nDWkMikXRgABOdd41C55i0Iw7Amu4hwcMkzdpWx8 QF23uBUBAw4+JKJzFrn4NGnwpZeke1OJX5lMoY8Da9MwmPgi+fjmz/uuTvgbhGOyTjFt x6bA== X-Gm-Message-State: AGRZ1gJvIx5lClECqlShwvglYrriY4OYJwD8Uwz+I+qMU0FchZwQtzXb Mmi2J+4+8lfRMef95WNqOFmztybPUvM= X-Received: by 2002:a37:9b82:: with SMTP id d124mr5613161qke.172.1541708167466; Thu, 08 Nov 2018 12:16:07 -0800 (PST) Received: from castle.thefacebook.com ([2620:10d:c091:200::4:4cb1]) by smtp.gmail.com with ESMTPSA id k38sm3399381qkh.72.2018.11.08.12.16.05 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 08 Nov 2018 12:16:06 -0800 (PST) From: Roman Gushchin X-Google-Original-From: Roman Gushchin To: cgroups@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@fb.com, Roman Gushchin Subject: [PATCH 0/5] freezer for cgroup v2 Date: Thu, 8 Nov 2018 15:15:55 -0500 Message-Id: <20181108201600.9129-1-guro@fb.com> X-Mailer: git-send-email 2.17.2 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset implements freezer for cgroup v2. It provides similar functionality as v1 freezer, but the interface conforms to the cgroup v2 interface design principles, and it provides a better user experience: tasks can be killed, ptrace works, there is no separate controller, which has to be enabled, etc. Patches (1) and (2) are some preparational work, patch (3) contains the implementation, patch (4) is a small cgroup kselftest fix, patch (5) covers freezer adds 6 new kselftests to cover the freezer functionality. Roman Gushchin (5): cgroup: rename freezer.c into legacy_freezer.c cgroup: implement __cgroup_task_count() helper cgroup: cgroup v2 freezer kselftests: cgroup: don't fail on cg_kill_all() error in cg_destroy() kselftests: cgroup: add freezer controller self-tests include/linux/cgroup-defs.h | 33 + include/linux/cgroup.h | 42 ++ include/linux/sched.h | 5 +- include/linux/sched/jobctl.h | 5 +- kernel/cgroup/Makefile | 4 +- kernel/cgroup/cgroup-internal.h | 1 + kernel/cgroup/cgroup-v1.c | 16 - kernel/cgroup/cgroup.c | 132 +++- kernel/cgroup/freezer.c | 590 +++++---------- kernel/cgroup/legacy_freezer.c | 481 ++++++++++++ kernel/ptrace.c | 6 + kernel/signal.c | 51 +- tools/testing/selftests/cgroup/.gitignore | 1 + tools/testing/selftests/cgroup/Makefile | 2 + tools/testing/selftests/cgroup/cgroup_util.c | 85 ++- tools/testing/selftests/cgroup/cgroup_util.h | 7 + tools/testing/selftests/cgroup/test_freezer.c | 685 ++++++++++++++++++ 17 files changed, 1695 insertions(+), 451 deletions(-) create mode 100644 kernel/cgroup/legacy_freezer.c create mode 100644 tools/testing/selftests/cgroup/test_freezer.c -- 2.17.2