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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6813FC47077 for ; Tue, 9 Jan 2024 23:58:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F044B6B0087; Tue, 9 Jan 2024 18:58:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EB45E6B008C; Tue, 9 Jan 2024 18:58:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D2E5B6B0092; Tue, 9 Jan 2024 18:58:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id C1C806B0087 for ; Tue, 9 Jan 2024 18:58:28 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 8D07E120474 for ; Tue, 9 Jan 2024 23:58:28 +0000 (UTC) X-FDA: 81661439496.16.741CFA8 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by imf05.hostedemail.com (Postfix) with ESMTP id CA4AD100009 for ; Tue, 9 Jan 2024 23:58:26 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="M/SDgpvX"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf05.hostedemail.com: domain of yuzhao@google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704844706; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+TbM8AUIgVHEHSPyXQawjQZn1xoKY8+QruQ6ShVahao=; b=IJXyFTJHE2LoeY5esDnpHcyKYuTN1jib5PbmbsKBrO6bc+2OU8n5GNiCg8XyPiEYzOZzQx rCBQIWmoT6bZyvdtNwY0mbs2ZsChRsEFNDYbvPHSD4CD4NxHjf8EVCx0yFMIcMGNV1Z4sc 7QLnIp6k41anvUqfwKkSnWJH43wckVE= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="M/SDgpvX"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf05.hostedemail.com: domain of yuzhao@google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704844706; a=rsa-sha256; cv=none; b=HkG1WEQF3mZPEs4mc5598Py+6VAjlgp8aTeINQNHENdUuB0vtxVTlPzyl4pzvkGt4tySbA q/8WQ1XXi23iDFidEknGWw+I+aDGIHNMbl30oJLZhpL3imeAyHboDkXak266QfxhKn0/JJ w7F9N3a6AVBHks2XoTM7jFWiHG6EGHU= Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-40e43e55b87so23955e9.0 for ; Tue, 09 Jan 2024 15:58:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1704844705; x=1705449505; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=+TbM8AUIgVHEHSPyXQawjQZn1xoKY8+QruQ6ShVahao=; b=M/SDgpvXWJTske8fZbrn/MLPUpq/kJ8cJ4NudqsAot1U4iS3fOGzpusnnYC/VKUYFv WaDEKxrscs0ZZAR505djQ0fCPeZJO7riwENS6efNyr7t6xwmhanoNoHlYEWtdVbYwKrZ ox5omtf7hRsFakDYKPWFiBG4VDhb8N50wbZZ8DwDEkZPDU6sYG5ve+sOm5XL+5Oqwofs AuoetqQEFinFMt8ktz5l/u+XGVg3/G4MlhBUP4V10BBhKR91hMpgwcFLFAV8DDSFqo75 +B/Oo5+BDIfHKt72M2g3qXEiFD4XUXL0CbzetpTqPJ7WUqQzRq362+H6UVnNIGZ5HMKU IRKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704844705; x=1705449505; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+TbM8AUIgVHEHSPyXQawjQZn1xoKY8+QruQ6ShVahao=; b=aXXTa893udPB2vPHKq6/HdK94ejuDF6QOg0nnpZKNMmiMDfjpK3hTI+UHFLTXcy3R2 k6Y+1RdCRABcUB3tlJwL7Bw6qz8RBQ/8SRoTxaJ8BKq8ZVtEoUDF4FxboH4az7wTZw8V MqfOJ8SprEUoVRWELezErvCOgLZdWk8XbFCcjUziVL14WmlbvJ0L3zIEij532tjlI1vD hIxVv20TcdV4sLjmEcrWSXI9uvbGoU3WGRj5iH81WgvIpc4zCgDiDgDD7ZsmWFEOS0xY PSUf2JrDjE26d5GbB0rnnb5PTmGKOMH6v6nS1BxxxDyCmyjzvq6J8vb7H06R6OoZtIuy Km4g== X-Gm-Message-State: AOJu0YySGk0ctXCCMbAMA/qN6VIWbAU1UdHKXpyQ2jUJLx/bYcxSzbba CwGU7RHjtYUe25GoTDWX/nyhsr/F8iNyKXsq02X/roaDkab9 X-Google-Smtp-Source: AGHT+IG71+3cRooAKrqxm1VJWVGzbnaAqyLyBFYdVbiOZ8yx1Z+1XoVoTpDoxpSli0ie7XCw/qJW5RRnS4Yy3b4RU88= X-Received: by 2002:a05:600c:3c82:b0:40e:5274:e2ba with SMTP id bg2-20020a05600c3c8200b0040e5274e2bamr103211wmb.4.1704844705267; Tue, 09 Jan 2024 15:58:25 -0800 (PST) MIME-Version: 1.0 References: <20240103164841.2800183-1-schatzberg.dan@gmail.com> <20240103164841.2800183-3-schatzberg.dan@gmail.com> In-Reply-To: From: Yu Zhao Date: Tue, 9 Jan 2024 16:57:49 -0700 Message-ID: Subject: Re: [PATCH v6 2/2] mm: add swapiness= arg to memory.reclaim To: Michal Hocko Cc: Dan Schatzberg , Andrew Morton , linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, Yosry Ahmed , David Rientjes , Chris Li , Tejun Heo , Zefan Li , Johannes Weiner , Jonathan Corbet , Roman Gushchin , Shakeel Butt , Muchun Song , David Hildenbrand , Matthew Wilcox , Kefeng Wang , Yue Zhao , Hugh Dickins Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: CA4AD100009 X-Stat-Signature: fmn8qkthsccwxmruc4zrp8f5xfq5h4hc X-HE-Tag: 1704844706-361199 X-HE-Meta: U2FsdGVkX18QRNQVlOaWMvSaHxnXlYfkyjhsCuXAHKnhsDvpkiBuItmbC4a1asFKQSHwZ2+EDPb47LndpvzZ2e2MJ24T7a4CykZ74a2nPjbKDQxg5e2wqdmCskNM042M0YAOx4KCJa2qm+ZfNYg8Pw2md8c31jUeCkSN6OUjSPKUNSd6MO4uFoTqFP3XRrxVHY2ViRzu9TXwasu9mo60fKhr7g+j12hiVFbFk1slSknlewSh72GlXZcaSHgF9Sb7QC42uaYqeGlSaMWunvhH5uTF7Y3SZvz1YJzgagBgeHbFMvtRM1xfPgxDEsUnKecM+5ACu9yDAgPNxZAIN6RYcEqHMnkXZc0acB0LP5n/CRTwH//tF5PIiVcXePXXcRZgBDM6ikDsXI/ogD7FIejLoeQQEevQrvBR0zKlWbSod59w6zH4SAWpR80APjBVVIXNhROVIQGP/WwVSPAcR8gTR2NOhnrojGinxkABhXz66mev3A4hin273dr6XiyXvmGtLLFJIJ2BwnMKA5TBkJrNUhPszsWpigNUt+rhMn6fG64cGQUR1M2I3dDk9WCtMzbp7ICsFXdsOXftWp9QMdoEeNQEasjBZuCS7pw4r4GKmjCjJmSjqRWidXoswbMu0QXFqTQDbx2yMOrHM8styRMyRjameFiBiRgSktHl/jKfevVljvrKPaHc7U+OnuK8p18LNls0lc22yGb+5vAFCSO39FJfbsfYGdCe70mlqDym9yPQVv2ApPJDa6FbK+eyGcmYEeenElKJ2dz5GofmLTvNUU1GJWbkzSp00Qqna3orc5YJXyPVZSy+e5Ycf8EeKbKY59WMrlTJQR5QBxNex3ge3hb9+mz6l+e4OFTgPRkmfgNnAaWuMGNdM04fhWfpoWVScOOPLB90X+UduxDXoUsSye5J3w2ULh/8LwDLEx6MUHw0SorYF6TY3pO9XxuqGmX9oZwj9ZmGGs+rOyukBaT yGKVDNO1 qly38xyp1h3zvz+3z88mhbGKbsiS4y3A8hZO/EWakPRPaufXzBI7s7AopmoE/8K+FccJGOi00jh7KhcapPiA+dEHWw9gL3lQqMyx/DdK68PYX0S/59w9y2Kq4LZAH42AT3HKVLuZUdt30oqqQDzRheI267QkH5T1B+x+ndXyk35FJMiqMtUe1aBG8852+bELWe/wlkjXLHizdFwZlmgiN2k7b6OCvkiofIlV76MS+uGddLmkXjh4cctMmsUPKiOTid04Nv5h5PcY182pZxBJ/OIGZ53mKyzjNl279ec8GWE351ECyTpDpeCo7hMZbs3y0mXhBgx1vApl/rRagytiSvR695iHD+8M5wO4Dt1rDXEgUxXs= 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: List-Subscribe: List-Unsubscribe: On Thu, Jan 4, 2024 at 3:09=E2=80=AFAM Michal Hocko wrote= : > > On Wed 03-01-24 08:48:37, Dan Schatzberg wrote: > [...] > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > index d91963e2d47f..394e0dd46b2e 100644 > > --- a/mm/vmscan.c > > +++ b/mm/vmscan.c > > @@ -92,6 +92,11 @@ struct scan_control { > > unsigned long anon_cost; > > unsigned long file_cost; > > > > +#ifdef CONFIG_MEMCG > > + /* Swappiness value for proactive reclaim. Always use sc_swappine= ss()! */ > > + int *proactive_swappiness; > > +#endif > > + > > /* Can active folios be deactivated as part of reclaim? */ > > #define DEACTIVATE_ANON 1 > > #define DEACTIVATE_FILE 2 > > @@ -227,6 +232,13 @@ static bool writeback_throttling_sane(struct scan_= control *sc) > > #endif > > return false; > > } > > + > > +static int sc_swappiness(struct scan_control *sc, struct mem_cgroup *m= emcg) > > +{ > > + if (sc->proactive && sc->proactive_swappiness) > > + return *sc->proactive_swappiness; > > + return mem_cgroup_swappiness(memcg); > > +} > > If you really want to make this sc->proactive bound then do not use > CONFIG_MEMCG as sc->proactive is not guarded either. > > I do not think that sc->proactive check is really necessary. A pure NULL > check is sufficient to have a valid and self evident code that is future > proof. But TBH this is not the most important aspect of the patch to > spend much more time discussing. Either go with sc->proactive but make > it config space consistent or simply rely on NULL check (with or without > MEMCG guard as both are valid options). Now you see why I replied. That "hybrid" if statement is just neither of what was suggested.