From mboxrd@z Thu Jan 1 00:00:00 1970 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=-9.9 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1,USER_IN_DEF_DKIM_WL autolearn=no 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 40F43C10DCE for ; Fri, 13 Mar 2020 21:50:06 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E1AF82074E for ; Fri, 13 Mar 2020 21:50:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Q12MBO8J" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E1AF82074E Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 8C13C6B0003; Fri, 13 Mar 2020 17:50:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 873476B0006; Fri, 13 Mar 2020 17:50:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7612C6B0007; Fri, 13 Mar 2020 17:50:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0232.hostedemail.com [216.40.44.232]) by kanga.kvack.org (Postfix) with ESMTP id 5BDE46B0003 for ; Fri, 13 Mar 2020 17:50:05 -0400 (EDT) Received: from smtpin16.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id EA0D1181AEF3E for ; Fri, 13 Mar 2020 21:50:04 +0000 (UTC) X-FDA: 76591682328.16.pigs28_1dc4079b09b28 X-HE-Tag: pigs28_1dc4079b09b28 X-Filterd-Recvd-Size: 8438 Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by imf03.hostedemail.com (Postfix) with ESMTP for ; Fri, 13 Mar 2020 21:50:04 +0000 (UTC) Received: by mail-pf1-f194.google.com with SMTP id w65so6056324pfb.6 for ; Fri, 13 Mar 2020 14:50:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=46YeeqUVBeP6f9VWE0TcC9l1RBNdnWfSZlWXN5Q1peQ=; b=Q12MBO8J5q3BOIcGofdprXZE4vWGBITJYUaXfGTjQ4i+07Zsvbe9D0Yxp3znBUOa9l rzIqsnvHiat3edhh45n6+RlxGA7K8F642R/7BhawsyAOTdrM+eW52kHz/waBHmkBNDY0 J5mj56QwAmJKPT/TjAM28pSrBCgc4XDW51ytSNvisO3v/1wpX+//H+q7PQxOQD8HPvID xYa9z0Dt3jGRv9rHkFFmS97MKeiMdTncnJzCbKjRsDhLfUHiaPp0b5J9ApDFIuubYMOK qBBGbg9CW73Zjqx0uqUkV+IrK3HAJMiaQ3JGnjcgpN1Amn1z1p0N3bhOPUIrOwZ/J4HM UPVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=46YeeqUVBeP6f9VWE0TcC9l1RBNdnWfSZlWXN5Q1peQ=; b=HcKP2J+JLiY/pjZbBSXiMYThNrurJ2ywVHsUJX6vekJsySJruX+unS9CzAtxca7fz4 OzLkfYMueVi5OpG6kICX5/a8YweFhsG7/DO2jI+nMUzLcaa4bFL/D4yVkUQhNiuYtBSF 4OWfnJBtEpyQnvqZpXjSeeS8tNCsebINlcyWOmrr9p4AcnxVnhyOIrrGC5wxMglVZmoX FtL+bmrjnNckYxz6K1G+cXC1Kf70DPE8vTGepPzAIbmkEc68YFn26gWTGf+N1CIAYjNB w0U6O6H8JawfGx0EhVD8WfFGCfL5oFk4qu8koa4NNTKGfDg0sfGmS/FH3XFk7EVEdwcB fOvg== X-Gm-Message-State: ANhLgQ3vsPkxpMc4eu7vyJqMZkcBnzfxzkKgzOsg/wypimH/72koRe1O Vrhpd3Sa51krx6IWWLZOvgOlZA== X-Google-Smtp-Source: ADFU+vv7+qCBYnf8jXp8urW7VT3VV+9zXwWg78Cbn54lUEZxtUjHr9aXSSf6ZL10vVohjJkqQoJXcg== X-Received: by 2002:a62:52d7:: with SMTP id g206mr14267709pfb.286.1584136203091; Fri, 13 Mar 2020 14:50:03 -0700 (PDT) Received: from [2620:15c:17:3:3a5:23a7:5e32:4598] ([2620:15c:17:3:3a5:23a7:5e32:4598]) by smtp.gmail.com with ESMTPSA id c190sm19404916pfa.66.2020.03.13.14.50.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2020 14:50:02 -0700 (PDT) Date: Fri, 13 Mar 2020 14:50:01 -0700 (PDT) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: Ivan Teterevkov cc: Chris Down , Matthew Wilcox , "corbet@lwn.net" , "akpm@linux-foundation.org" , "mchehab+samsung@kernel.org" , "tglx@linutronix.de" , "jpoimboe@redhat.com" , "pawan.kumar.gupta@linux.intel.com" , "jgross@suse.com" , "oneukum@suse.com" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" Subject: RE: [PATCH] mm/vmscan: add vm_swappiness configuration knobs In-Reply-To: Message-ID: References: <20200312133636.GJ22433@bombadil.infradead.org> <20200312140326.GA1701917@chrisdown.name> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII 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: On Fri, 13 Mar 2020, Ivan Teterevkov wrote: > The above approach doesn't work for me in el7 with systemd 219 or ubuntu 19 > with systemd 242 because presumably the systemd-tmpfiles services start too > late. Please find the snippet at the bottom of the email. > > The only approach that seems to work is to set up a service to run: > > $ find /sys/fs/cgroup/memory/ -name memory.swappiness | while read -r name; do echo 0 > "${name}"; done > > I think this is quite ugly because there might be a race condition with > the systemd that could be creating the slices while the find is running. > One could suggest constraining the depth and going from top to the > bottom of the memcg but this still looks inherently unstable. > I'll renew my suggestion of defaulting memcg->swappiness to -1 and then letting mem_cgroup_swappiness() return vm_swappiness when memcg->swappiness == -1. I don't think the act of creating a memcg and not initializing the swappiness value implies that the existing value meets your expectation. > This is why I ended up with the vm_swappiness patch (which I don't > quite like myself) but this appears to be the only rock solid option > unless I've missed anything obvious. There is no doubt that cgroup v1 > is due for replacement and vm_swappiness is frightening but they still > have certain advantages to employ until they are history. > > $ systemctl --version > systemd 242 (242) > +PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid > > $ cat /etc/lsb-release > DISTRIB_ID=Ubuntu > DISTRIB_RELEASE=19.10 > DISTRIB_CODENAME=eoan > DISTRIB_DESCRIPTION="Ubuntu 19.10" > > $ uname -a > Linux ubuntu 5.6.0-rc5-custom #1 SMP Wed Mar 11 14:59:15 GMT 2020 x86_64 x86_64 x86_64 GNU/Linux > > $ tail -1 /etc/sysctl.conf > vm.swappiness=10 > > $ cat /etc/tmpfiles.d/10-swap.conf > w /sys/fs/cgroup/memory/system.slice/memory.swappiness - - - - 20 > w /sys/fs/cgroup/memory/user.slice/memory.swappiness - - - - 30 > > $ find /sys/fs/cgroup/memory -name memory.swappiness | while read -r name; do cat "${name}"; done | sort | uniq -c > 1 10 > 32 20 > 6 30 > 21 60 > > $ find /sys/fs/cgroup/memory -name memory.swappiness | while read -r name; do echo "${name}"; cat "${name}"; done | grep --before-context=1 60 > /sys/fs/cgroup/memory/system.slice/systemd-udevd.service/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/sys-fs-fuse-connections.mount/memory.swappiness > 60 > /sys/fs/cgroup/memory/system.slice/snap-gnome\x2d3\x2d28\x2d1804-116.mount/memory.swappiness > 60 > /sys/fs/cgroup/memory/system.slice/snap-gnome\x2dlogs-81.mount/memory.swappiness > 60 > /sys/fs/cgroup/memory/system.slice/sys-kernel-config.mount/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/snap-core-7917.mount/memory.swappiness > 60 > /sys/fs/cgroup/memory/system.slice/sys-kernel-debug.mount/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/snap-gnome\x2dcharacters-399.mount/memory.swappiness > 60 > /sys/fs/cgroup/memory/system.slice/swapfile.swap/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/snap-gtk\x2dcommon\x2dthemes-1440.mount/memory.swappiness > 60 > /sys/fs/cgroup/memory/system.slice/snap-gnome\x2dcharacters-317.mount/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/systemd-journald.service/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/dev-mqueue.mount/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/snap-gtk\x2dcommon\x2dthemes-1353.mount/memory.swappiness > 60 > /sys/fs/cgroup/memory/system.slice/snap-core-8689.mount/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/snap-gnome\x2d3\x2d28\x2d1804-71.mount/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/snap-core18-1668.mount/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/snap-gnome\x2dcalculator-501.mount/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/dev-hugepages.mount/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/snap-gnome\x2dcalculator-544.mount/memory.swappiness > 60 > -- > /sys/fs/cgroup/memory/system.slice/snap-core18-1223.mount/memory.swappiness > 60 >