From patchwork Mon Apr 26 06:59:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Wu X-Patchwork-Id: 12223947 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80B94C433ED for ; Mon, 26 Apr 2021 07:01:09 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id F314061158 for ; Mon, 26 Apr 2021 07:01:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F314061158 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=bytedance.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 5D5428D0002; Mon, 26 Apr 2021 03:01:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 586776B0071; Mon, 26 Apr 2021 03:01:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3FEB38D0002; Mon, 26 Apr 2021 03:01:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0039.hostedemail.com [216.40.44.39]) by kanga.kvack.org (Postfix) with ESMTP id 1B6F46B0070 for ; Mon, 26 Apr 2021 03:01:08 -0400 (EDT) Received: from smtpin37.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id CED0C180ACF8F for ; Mon, 26 Apr 2021 07:01:07 +0000 (UTC) X-FDA: 78073621374.37.7D26D30 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) by imf27.hostedemail.com (Postfix) with ESMTP id 80A42801A810 for ; Mon, 26 Apr 2021 06:59:46 +0000 (UTC) Received: by mail-pj1-f48.google.com with SMTP id p17so527462pjz.3 for ; Mon, 26 Apr 2021 00:00:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=zQJFsnvvf+cAKiYz/Z4RGmPSASOASqem20+Xe3nf8L4=; b=rFbAf5HW/enG9XTTfpSGA0WYelsHsonhsmYHuClYBdPVZc7Gaz9r9Jv5Kx2C0U+HXT ndRKuwV7wVJoAfdW/BUEoKQ7tZZS2bmesu2dGZnFUVeiFRzkAptjEEzGoz4ZrnlXTD1G dwsfvNKLwPRNzbwsrqYUtoCcJZokDMAhf3xxnGxnakGx7zk5k5PN8IRw7QX0QKwh2S64 c0aNhW34fLDcrKe6gtm8cb98zhFBxicTjJd6aXNcOmaEzJjiz2ozgTSs5PokG4DCrGsv Fnj1OvqGq7utVziqCVPJTVuCWn7XBZpXwlH000Bghi6grQgWhMsS05alWhoWVS3SWO5J K3yg== 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:mime-version :content-transfer-encoding; bh=zQJFsnvvf+cAKiYz/Z4RGmPSASOASqem20+Xe3nf8L4=; b=o/PKwP0qJJr+zbja7YIQPb2i7BYGB5SGRqDilyBII6+BXdLdbgIbvnk1xi4OqqW9Aa WLri3UA/UE32hDouuofmconeoqLt2MdLRelKKdov4hxE9u1ur1q+9kNE4VvKtXZOOQ6z bQ8r3fvbMKaLyCUpuJY1fbKBBoVYIQVOs+6GRWbicz/+XplqhhXS/GpvdYMuIhyVGm7h myP+Iy4aUqqx7qf26i5prMDro3seaX9JA3u8hjzvGMH30FwviwFZaELgex7qP7PuPxmn iOcIxxBWsHuyi26xJGCzyqXgNh6FFy5fofOYOpdHIkCqtSDhv6Ojt6sO2HN1iHRyjTur bodA== X-Gm-Message-State: AOAM531PIz+8DGdcvapSj3cpaY07E+ffO2M0Lp0R/5AFTB4leNOoQrZ2 Vr+en2TTnx6G6Eps3DAgvzSu1g== X-Google-Smtp-Source: ABdhPJyAhdfGUyej/IOi6zo0QWrwPfJ3xo69/SCuWDJDsQxtMxgPPaknIazk/RwZHxceolGv5fi8Sw== X-Received: by 2002:a17:90a:bb13:: with SMTP id u19mr19140620pjr.96.1619420405702; Mon, 26 Apr 2021 00:00:05 -0700 (PDT) Received: from C02DV8HUMD6R.bytedance.net ([139.177.225.224]) by smtp.gmail.com with ESMTPSA id w14sm4535047pfn.3.2021.04.26.00.00.02 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Apr 2021 00:00:05 -0700 (PDT) From: Abel Wu To: akpm@linux-foundation.org, lizefan.x@bytedance.com, tj@kernel.org, hannes@cmpxchg.org, corbet@lwn.net Cc: cgroups@vger.kernel.org, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Abel Wu Subject: [PATCH 0/3] cgroup2: introduce cpuset.mems.migration Date: Mon, 26 Apr 2021 14:59:43 +0800 Message-Id: <20210426065946.40491-1-wuyun.abel@bytedance.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 80A42801A810 X-Stat-Signature: nrdtz31wr57req5ghujwifq9cqzn1swe Received-SPF: none (bytedance.com>: No applicable sender policy available) receiver=imf27; identity=mailfrom; envelope-from=""; helo=mail-pj1-f48.google.com; client-ip=209.85.216.48 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1619420386-744602 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Some of our services are quite performance sensitive and actually NUMA-aware designed, aka numa-service. The SLOs can be easily violated when co-locate numa-services with other workloads. Thus they are granted to occupy the whole NUMA node and when such assignment applies, the workload on that node needs to be moved away fast and complete. This new cgroup v2 interface is an enhancement of cgroup v1 interface cpuset.memory_migrate by adding a new mode called "lazy". With the help of the "lazy" mode migration we solved the aforementioned problem on fast eviction. Patch 1 applies cpusets limits to tasks that using default memory policies, which makes pages inside mems_allowed are preferred when autoNUMA is enabled. This is also necessary for the "lazy" mode of cpuset.mems.migration. Patch 2&3 introduce cpuset.mems.migration, see the patches for detailed information please. Abel Wu (3): mm/mempolicy: apply cpuset limits to tasks using default policy cgroup/cpuset: introduce cpuset.mems.migration docs/admin-guide/cgroup-v2: add cpuset.mems.migration Documentation/admin-guide/cgroup-v2.rst | 36 ++++++++ kernel/cgroup/cpuset.c | 104 +++++++++++++++++++----- mm/mempolicy.c | 7 +- 3 files changed, 124 insertions(+), 23 deletions(-)