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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6B887C433F5 for ; Sat, 16 Oct 2021 02:29:18 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E80DD60F23 for ; Sat, 16 Oct 2021 02:29:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org E80DD60F23 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 5B6D56B0071; Fri, 15 Oct 2021 22:29:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 53F7F6B0072; Fri, 15 Oct 2021 22:29:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B8C26B0073; Fri, 15 Oct 2021 22:29:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0210.hostedemail.com [216.40.44.210]) by kanga.kvack.org (Postfix) with ESMTP id 297586B0071 for ; Fri, 15 Oct 2021 22:29:17 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id D037D39479 for ; Sat, 16 Oct 2021 02:29:16 +0000 (UTC) X-FDA: 78700718712.30.7032F59 Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) by imf15.hostedemail.com (Postfix) with ESMTP id 0DB41D000096 for ; Sat, 16 Oct 2021 02:29:14 +0000 (UTC) Received: by mail-qk1-f182.google.com with SMTP id 77so10222649qkh.6 for ; Fri, 15 Oct 2021 19:29:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EpcMXlD4nO+K+Q8XzAFsUdO5HR/N4yrrpmRoJSfRZVc=; b=EnKIfT2UsVIuFY0xz0CB9IQD9sy5IpZQrEtBxQTjPmuqA5FIIaTzgNu2kbVr/BBuo6 EFdPygJcPsnLBbP1UxnsxiS8vIZbAjLbbdRsmrIiAXjlD8l//MelTPh3ZxwB5a2ByBtL pFgRyTczQ7dKo3d1oCYXsM1U4fGgbWOxaJkWEcXLFQJkPQxcAankAz24OEAod27Noidc mG7Q2A72OqnG+fGAOwICODeYhBUCHwAnE7qyPrzD06xW8DiqsA6OSzVTLGLRcZM72iX2 CkrsAsus+l4HnZrA304xWldcEh/PPuUO5/wU0nz9KRvhLx7L1DEMIs+4uaI3URwzpD9a O1dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=EpcMXlD4nO+K+Q8XzAFsUdO5HR/N4yrrpmRoJSfRZVc=; b=M8axgn+ZJw/VOaFYrMzoHAVpMjm1L8XrpkoxkaxCYnCaEof5DRu/lqCYVZgJY6bJcb GUsqGZj2Mkrjs6fCwutOQIgIEljoLN4nBhwPUBa6fG6mq1CEL2dhL3rSBTOoZiu0Xgh8 ClnivIOy8L74b+O4dvEhH92rTs4/vsy/dk981xsUBJD+AkQ0PF52SCcGU039DUJMafZi JpBQ7md4MlZx4QX8i6K8oxvVdjYgZh/0aOzF7dUeZhgQl9N0Kve7oh/mQnet674QKVrA gyIejugdxlrar6JN9NZjVyhfOMYg7sWTD0yKo5CvVyyp3dSqCM1NclpSz4MrhM4qnC9j pWSA== X-Gm-Message-State: AOAM531DBY7cf5s1BtN+7rJdmTKs3VXyiqZr1WnS/5eFKK4uWGKlJs1d JLHNoSiAQ8awHN+wmfMcxJ5HX6zSWjglSstBOCg= X-Google-Smtp-Source: ABdhPJzDd178K+uCNadWMb0AKyso7BKqq1O2RA3LDtQOrhnb9ooPAqBDK6rCsXgWLsF6lp45yWw7XDbDcU4KgiuBDQk= X-Received: by 2002:a37:4041:: with SMTP id n62mr12617004qka.225.1634351355936; Fri, 15 Oct 2021 19:29:15 -0700 (PDT) MIME-Version: 1.0 References: <1634278529-16983-1-git-send-email-huangzhaoyang@gmail.com> <20211015130035.aacc18a4d1ee141b306c2272@linux-foundation.org> In-Reply-To: <20211015130035.aacc18a4d1ee141b306c2272@linux-foundation.org> From: Zhaoyang Huang Date: Sat, 16 Oct 2021 10:28:54 +0800 Message-ID: Subject: Re: [PATCH] mm: skip current when memcg reclaim To: Andrew Morton Cc: Johannes Weiner , Michal Hocko , Vladimir Davydov , Zhaoyang Huang , "open list:MEMORY MANAGEMENT" , LKML Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: d6k1mdxc9mm5w5qw34tfgq9y8f4hm514 Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=EnKIfT2U; spf=pass (imf15.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.222.182 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 0DB41D000096 X-HE-Tag: 1634351354-895508 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 Sat, Oct 16, 2021 at 4:00 AM Andrew Morton wrote: > > On Fri, 15 Oct 2021 14:15:29 +0800 Huangzhaoyang wrote: > > > From: Zhaoyang Huang > > > > Sibling thread of the same process could refault the reclaimed pages > > in the same time, which would be typical in None global reclaim and > > introduce thrashing. > > "None" -> "node", I assume? > > > --- a/mm/vmscan.c > > +++ b/mm/vmscan.c > > @@ -2841,6 +2841,11 @@ static void shrink_node_memcgs(pg_data_t *pgdat, struct scan_control *sc) > > sc->memcg_low_skipped = 1; > > continue; > > } > > + /* > > + * Don't bother current when its memcg is below low > > + */ > > The comment explains what the code is doing, but the code itself > already does this. Please can we have a comment that explains *why* > the code is doing this? We find that the patch help direct reclaiming bail out early and eliminate page thrashing for some scenarios(etc APP start on android). The case could be worse if each APP possess a unique memcg(pages on current's lru are reclaimed more than global reclaim) > > > > + if (get_mem_cgroup_from_mm(current->mm) == memcg) > > + continue; > > memcg_memory_event(memcg, MEMCG_LOW); > > } >