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=-12.3 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 D796FC4338F for ; Wed, 18 Aug 2021 21:48:56 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 829A861103 for ; Wed, 18 Aug 2021 21:48:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 829A861103 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chrisdown.name Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 1F8978D0001; Wed, 18 Aug 2021 17:48:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1A9016B0071; Wed, 18 Aug 2021 17:48:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0711D8D0001; Wed, 18 Aug 2021 17:48:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0019.hostedemail.com [216.40.44.19]) by kanga.kvack.org (Postfix) with ESMTP id DDC1A6B006C for ; Wed, 18 Aug 2021 17:48:55 -0400 (EDT) Received: from smtpin04.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 85977181AEF31 for ; Wed, 18 Aug 2021 21:48:55 +0000 (UTC) X-FDA: 78489541830.04.92EF5EA Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by imf30.hostedemail.com (Postfix) with ESMTP id 3186AE00BA8F for ; Wed, 18 Aug 2021 21:48:55 +0000 (UTC) Received: by mail-wr1-f48.google.com with SMTP id l11so5754935wrx.4 for ; Wed, 18 Aug 2021 14:48:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chrisdown.name; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=nXHzGQICiNeZ6CFb9GAn8qh/UHo4zuvrau18lR+BupI=; b=vl+kyBS/Jn+sDpezpKkhH4MD6elv0itj3JS/xBq1LLvUSFSgIPhHLJKez0ruOFAsx4 s/2i5uQhG9emmTbptqlF/IMASV0y/PtPP7xYdpY5BqqbInP2DeawabZDOVCitsayXJ0p o02nBr9dU5cgGY3ZVDYcpV7jpd2bc+8S+KWYg= 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:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=nXHzGQICiNeZ6CFb9GAn8qh/UHo4zuvrau18lR+BupI=; b=R88wILuPM9MEwWJeMP6CI/7gRJXIcJyw/JedhDkGTFdC6WThEvDl16s6Wgotv2fndK RmNLDhK31lihUQ0l1xlrqyHLcXFa98E4cqaaHuOxze5NSg/hDuDM41vbHBizKRJMDaDK AfTNGGelFAyokdJADN35SUybV9BbO+/6J08N7P+dYI8VwR7zpInZ45dehSgp0anpTN2c n9iLF+6Q9LHx+ZMk4rIyqcq1YkBf8rkHR1m5/Czhw6A5/e666g1hDNUZN4ZqgAKhuZCw ADbDteqYMJNXGibyrL0yHe29BOx4Hr5uibKBgjkTaDNwYB+uy5DJDRvSXUw7D410HmrA W2+g== X-Gm-Message-State: AOAM532haZQRGi/FglQfnfqrxy31nFKDlWUyMm1xMwaAyZLu/1xbcXhA O9JgYEIpZYWZ0nZJj4iK2E582g== X-Google-Smtp-Source: ABdhPJzWgyq41GF5/o6Aimyj2YZ5JSXHFTsreNhLHReYKIx7nzbm4O9K7ROxhBhtjcMr9hoqKlb9Pw== X-Received: by 2002:adf:efce:: with SMTP id i14mr12857633wrp.316.1629323333862; Wed, 18 Aug 2021 14:48:53 -0700 (PDT) Received: from localhost (82-69-42-66.dsl.in-addr.zen.co.uk. [82.69.42.66]) by smtp.gmail.com with ESMTPSA id j7sm6132885wmi.37.2021.08.18.14.48.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Aug 2021 14:48:53 -0700 (PDT) Date: Wed, 18 Aug 2021 22:48:52 +0100 From: Chris Down To: Vlastimil Babka Cc: linux-mm@kvack.org, Andrew Morton , Muchun Song , Michal Hocko , Matthew Wilcox , Chunxin Zang Subject: Re: [PATCH] mm, vmscan: guarantee drop_slab_node() termination Message-ID: References: <20210818152239.25502-1-vbabka@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20210818152239.25502-1-vbabka@suse.cz> User-Agent: Mutt/2.1.1 (e2a89abc) (2021-07-12) X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 3186AE00BA8F X-Stat-Signature: d7hpzixewbzq3ica8hixqhrefbzbknpk Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=chrisdown.name header.s=google header.b="vl+kyBS/"; dmarc=pass (policy=none) header.from=chrisdown.name; spf=pass (imf30.hostedemail.com: domain of chris@chrisdown.name designates 209.85.221.48 as permitted sender) smtp.mailfrom=chris@chrisdown.name X-HE-Tag: 1629323335-831756 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: Vlastimil Babka writes: >@@ -948,7 +949,7 @@ void drop_slab_node(int nid) > do { > freed += shrink_slab(GFP_KERNEL, nid, memcg, 0); > } while ((memcg = mem_cgroup_iter(NULL, memcg, NULL)) != NULL); >- } while (freed > 10); >+ } while ((freed >> shift++) > 0); I think this is a good idea, thanks for bringing it up :-) I'm not sure about the bitshift idea, though. It certainly makes sure that even large, continuous periods of reclaim eventually terminates, but I find it hard to reason about -- for example, if there's a lot of parallel activity, that might result in 10 constantly reintroduced pages, or 1000 pages, and it's not immediately obvious that we should treat those differently. What about using MAX_RECLAIM_RETRIES? There's already precedent for using it in non-OOM scenarios, like mem_cgroup_handle_over_high.