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 3DCBFE77184 for ; Sat, 21 Dec 2024 07:21:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CAD8C6B0092; Sat, 21 Dec 2024 02:21:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C5DF56B0093; Sat, 21 Dec 2024 02:21:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B26F06B0095; Sat, 21 Dec 2024 02:21:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 929076B0093 for ; Sat, 21 Dec 2024 02:21:50 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 41991B052D for ; Sat, 21 Dec 2024 07:21:50 +0000 (UTC) X-FDA: 82918120194.25.2E20CE0 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by imf09.hostedemail.com (Postfix) with ESMTP id 32D88140009 for ; Sat, 21 Dec 2024 07:21:23 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=BeF9T8zI; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf09.hostedemail.com: domain of mhocko@suse.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=mhocko@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734765692; 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=4x0j4n0ViEskOFj19ylNaoa2LgakWF/TPkyK2OM58zc=; b=Qoq4X7vstT+A6crC8okxttkSnaZC0tEDIzyLJCO9j1IrfMHoFo8nT0A0FM5MQY9MuWe4mM gau6/qLLq/wNPFXHIP4ahK7rE45CnLK0VI3joGt3W6oDvxDTN7Tg7StqR1tPs1j7diZdfx Vd5ZBTjzNZ5KckbAwpCobaDTxFSqS1k= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734765692; a=rsa-sha256; cv=none; b=bg5FDjlmTrEPW2EpYXlyDo8e+HkgIs7tpt/IYBm2WH2RNkGM44Ms69RHOCWFPpb8TAbrfl Nsd/MiqayhsfB3K+UxgbsquCQ9ByFGYVNcxTXMQbct92Ui3Tq2sZkuYCINHYaMA9bdqpxs du7qBeL4YWoK6JbQ0YTTvaCA5QBBab0= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=BeF9T8zI; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf09.hostedemail.com: domain of mhocko@suse.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=mhocko@suse.com Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-aa6a92f863cso171556166b.1 for ; Fri, 20 Dec 2024 23:21:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1734765707; x=1735370507; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=4x0j4n0ViEskOFj19ylNaoa2LgakWF/TPkyK2OM58zc=; b=BeF9T8zInxAyTucqw3PkReY/eZpMctOMLyAktXK/8B2R1PUBzEwW0Nx8eSdJ6VTIsr McCm4557NT2dHca6rW6BWKhGJTnRjBjOhG1G4roJvPPeR8aftbArCyM/Z5wrXHSQ8dim SGIr0/ikq+Zdi0pEmDtTJs1UcjIc5qiPHaZSTx54xM+xsnXzIdiAHQyFWDr5y/YMO/LU qvryE9XJvkE2b3zkoQATroyd+yJNje3eRmwtS9PmqJq/9Gl0bs5lXJ2EiA0z2F0kFNhA c2G6jMnftvQrffOgvlfPxHJVK/uA5iW8YkMjkCbNSPp2chndDb6n6rXKisO6r8uj42sG fOuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734765707; x=1735370507; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4x0j4n0ViEskOFj19ylNaoa2LgakWF/TPkyK2OM58zc=; b=GAT0RcMGx9ddJl+NSsOwWWB0HYthJfNNprS0Y+SFdOOcHDs2K/8pKG7/pqr6Za0GX1 KVOK/ytp0K5DTlgRCWKbpqYWghgEYiYdh7ULKaUmehRqvf9nqW9d714KS+2aA+8cBr5T Bc5OmkHe6NCDet1mw+M1Ui2F9l/3nzwcDxSwbkkkOsh5Vns4Ka3HJ5FZ79OEeiD/lVhs 1hUZffuuqNmUNu5h840XZAQRDSQgxoZapi8+Y10G4d9RiHsdqT/wdAJh6zf9Hb5KJH5D mebglO0Byezdzy68ws/JyD9BB5lwF2nS5IfEL36v8Y3vOZeoMqqVjK9M1h9mwZbxz0Gk jFSA== X-Forwarded-Encrypted: i=1; AJvYcCWWJ6lJoFayOZz1xnMQ7MeB1zGYrDxejbio7v3A21IiOWJJ5tCtFaiwN8Pdmz19LemOgi1UzTzOeg==@kvack.org X-Gm-Message-State: AOJu0YzaWKhRTEw61oo8e9RfnQkmzS6JYS4+oVt6cmaaNuq6XIy4td/H HCLkYtXf/Q2QG6wIIxcUaAl5O7MAhfTFo0dQOY3ncd1JUN6zTB2QE2g/9ciFwvssVxHe4TNkm8Z H X-Gm-Gg: ASbGncuQsEfJlJZdHCvdOvxYMFDV5nm1/ftoWX0R6It0VJtp47/f+U6jREiZM/GjLOA a0NHPK8VpXBkHLKG3LLnVsyYYf+ZownJBhtKVokrt4iZfYH7V7Dv7Hx+M0o8ruD2moA9EIBvNCn zMJyWx5Z1NuvlO2uNtmKQrMPwa9hnOWvYilV2X6YrHuQL/zhhvg0cZoXaSNkMMLtprEoNS/jVPF vZ4ob6AphcleLo2nGL1c0GrVLHrL1cIeelUp/4JBx0MtfVy19d7i04Z8vqQ7qcV X-Google-Smtp-Source: AGHT+IHzNt44Xhd2F1rjfktTXp+YAtZgQXe0ysDuCvl/eNpI5uaU98AwB8AztZxSnYmGeGGfWVd81w== X-Received: by 2002:a17:907:961f:b0:aa6:abe2:5cba with SMTP id a640c23a62f3a-aac27026cfemr593018866b.2.1734765706709; Fri, 20 Dec 2024 23:21:46 -0800 (PST) Received: from localhost (109-81-88-1.rct.o2.cz. [109.81.88.1]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aac0f013946sm253215166b.136.2024.12.20.23.21.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Dec 2024 23:21:46 -0800 (PST) Date: Sat, 21 Dec 2024 08:21:45 +0100 From: Michal Hocko To: Yafang Shao Cc: hannes@cmpxchg.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, akpm@linux-foundation.org, linux-mm@kvack.org Subject: Re: [RFC PATCH 0/2] memcg: add nomlock to avoid folios beling mlocked in a memcg Message-ID: References: <20241215073415.88961-1-laoar.shao@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Stat-Signature: k3q3oyrn5n65gw4ketmjm9f7hdyap63m X-Rspamd-Queue-Id: 32D88140009 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1734765683-254656 X-HE-Meta: U2FsdGVkX1+CNvkxyfxyQbz71XToorPT/t9IAJjQ3KsAgsCv7lOQzJuG/oiXUpE1zaFpT8zY+q9Al+7wR18d/5LUwpmWbKUtunIAGmYfZszgg4Am456Mzr9cjJtoXPo7Hiq1i4CtL5DM7qJixpqCUoDZhVWx5xIehH207aBWtCcvIawc5NtpE7bu1ri7KmEuHGPzM8SnXvlpDSrdDx6M6ZSBE52jWtJywJ1/Vs4rmaowGJIOlkap9eUlRHn7wIpg34JPB0+4jZW1q+QlHvwjfy2EMIbtYSyuZ8dMcbRpMLw+0cZavBGELeG8n3n5N2TrIsejZ3PwvWXStw5NKukAOSQyYOUdrQRR/TbJADFfgOR7y//jI8YIDYncdT8zW7/hkTZyHoC8AyhViD4M45pIwCcCrWuuWJN4oj2jqQDvtKI8JTleuwOxt6ryDtkz9+dNSC9wSoIvFhne9Udk/33Vfo4N1JYrLgNLjeL8kh6+ZGIR2doHLvq9S5Q5GA27TtolH9xiy/FTUiMYiu89LxTcg6+S0XTvH7H1OXZaOzuiphcg1FwGLpdQqANqmqWi7Mc3hBgYQgRdKHA42e8TbPJz/uANOD0V946Fjqcu6HAj7NgSCYxQ60DPbkYHrfI0rjq+DoOd9Na8S6EbmGlIIhadvw/CahoHbO+0BSEiERhQ+xidejoNtt+Tn4aFc+1Ld6UKJyp9ya1Xga45o1Pb4j4rRX+z9vLTJWHfDFWevZfvSGHvCQ+dp5TCr1VB865sATMGcV82BJwLDgQXYQTzqPbFbDiHPJ9bf6aZQjjCOYObo/qHFguCQMtrjnYWigSwkYEZidrkJ8N6b4CpaZKprsOBSK1olLDbDiBRa4URzg5/Dc14IHu0GMu1FM08dgU6FOshkm766eZOXGpnJmUn5E2w+jC4JszOBSu0fjX74Of1tg9kFzRRR/E/QkItGkpQgCtQ/vS4di39Lzxqw6nwTwj l/fte0e0 znjfQD8eqG3Nr3s0sjQ4XfYGGNqWUvUdGGOYW6QXu4ziCYavidcx+59h00ffK3aVmM7DVdTIO2lGJV8mSkDSJOLcyrndQOFlLPz412iD/mLjxAAB/LdXtQ76/Dwsdk0qXwgfEV5U8XXK+ptE7MgpGxtZYhD6z4Np7C80Cz1F3YpkEbUuiJN4DGkYv6hNJuH1B8FlDxoqD9B0F0GESC1Ev92qR+jrEFON+7Pd30q9tvjKpy5qs4QJAI7WpVpDwwz01JefVxvZsv3jsadG5eZxuHW+OdXDCb3sdJzGjMQckb5q5U40t/ew281Ezceo3RFwKTpzXdig0KV005dCn3Dxb3a2+ApEKB5OWI7043Lq0fTDkRTcLvhAO3rOet0ktERnccvR551BmAN4PVQPyxeIO6AGbCZYpmVIg2ylc5caV0htNbB/ktiBuHBt2rKVJZbzmwrSy8ELJQ8EYgkuEtRZ2MB9/nQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.345090, 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 Fri 20-12-24 19:52:16, Yafang Shao wrote: > On Fri, Dec 20, 2024 at 6:23 PM Michal Hocko wrote: > > > > On Sun 15-12-24 15:34:13, Yafang Shao wrote: > > > Implementation Options > > > ---------------------- > > > > > > - Solution A: Allow file caches on the unevictable list to become > > > reclaimable. > > > This approach would require significant refactoring of the page reclaim > > > logic. > > > > > > - Solution B: Prevent file caches from being moved to the unevictable list > > > during mlock and ignore the VM_LOCKED flag during page reclaim. > > > This is a more straightforward solution and is the one we have chosen. > > > If the file caches are reclaimed from the download-proxy's memcg and > > > subsequently accessed by tasks in the application’s memcg, a filemap > > > fault will occur. A new file cache will be faulted in, charged to the > > > application’s memcg, and locked there. > > > > Both options are silently breaking userspace because a non failing mlock > > doesn't give guarantees it is supposed to AFAICS. > > It does not bypass the mlock mechanism; rather, it defers the actual > locking operation to the page fault path. Could you clarify what you > mean by "a non-failing mlock"? From what I can see, mlock can indeed > fail if there isn’t sufficient memory available. With this change, we > are simply shifting the potential failure point to the page fault path > instead. Your change will cause mlocked pages (as mlock syscall returns success) to be reclaimable later on. That breaks the basic mlock contract. -- Michal Hocko SUSE Labs