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 60D10C072A2 for ; Wed, 22 Nov 2023 06:46:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EEA466B056C; Wed, 22 Nov 2023 01:46:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E73606B056D; Wed, 22 Nov 2023 01:46:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D14746B056E; Wed, 22 Nov 2023 01:46:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id BFB026B056C for ; Wed, 22 Nov 2023 01:46:35 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 995CA1CB376 for ; Wed, 22 Nov 2023 06:46:35 +0000 (UTC) X-FDA: 81484656750.26.AAB8A92 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by imf28.hostedemail.com (Postfix) with ESMTP id CCE5FC0008 for ; Wed, 22 Nov 2023 06:46:33 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NI+QJU6O; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700635593; a=rsa-sha256; cv=none; b=Fnxo2M8hcUm4oEi+b9+MUwA3DJuASpBkrILgX5YP7olkN0KzaZkZOa3kltV7oVhn/OKRao 6IQVZksFjO9GW53xhlsgZ7aC7m0JlzieVxTQmE8igbSTDqc38CsPhXqXCEjVPumYi34sR4 Kr8pi9f67nWZ8L3a2O3a7pmdQwX80oo= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NI+QJU6O; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700635593; 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=MLpj7I2dn2hL6qNFfAxI4zgm0V/CFVJO01lnaJ3CWag=; b=RI7Xp7mr52qGMl18n90gC8ytZGUw0gT9ePrIf+rAAPmlwnXqo+jLd1cbJhvGlMLDmyq/Fy zIIm7t2tlu9K1JyNN60+lg+J16+xWk/2I55GnhymQNG2L+12i3/emzESbZxlbCPeQFcmsy /IepSHsl/sFQicyIQCbU6yzbTZRJDoQ= Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-50aa8c0af41so545746e87.1 for ; Tue, 21 Nov 2023 22:46:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700635592; x=1701240392; 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=MLpj7I2dn2hL6qNFfAxI4zgm0V/CFVJO01lnaJ3CWag=; b=NI+QJU6OYUOW/KnPwSJLotFD3RGwuk5yytjX8BvZ1eqxXTSKUF0GZYZO3tUVDAginG djkkfqCn345HhOabvQiMAdR4hr1QQv90nPrndvVpTe0R3GEsMeYJgkeby+w2U/UnRViw Q2PH/rrI5FNif8wLYNO23ffEaHmuWBy55M8wfJQMQ9YjV2ZJLl8QMXkCfX20HFQdQ0xC YTFMJezKu5grGftEtoL3CxJ4bvRM60tBHKYh2E1S59gz5BW0SztlaeWd4VYqmefn/c0c X41I7lL+OTysE7/KXdno7/jBXMl6IAuW1gfv7JBgYf7QkaKnifud5h+fZw2cpWXHT9N9 zD0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700635592; x=1701240392; 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=MLpj7I2dn2hL6qNFfAxI4zgm0V/CFVJO01lnaJ3CWag=; b=Su+IoVWNFbkX7jucEZBWWOjyQBHd96EF4dvZG15I29gpt+Jw5XAquXHj2ulqIcETVd 87FPtZL2HTNfMC9on4Kz2StJGMZhu7jATJFqNbA0FHo3uLo0FQBcacyr22iOI0+9f6M+ SuTVWHd+gyfYMUEjzLtyELuIFKZG0ursI+GJfF/PL0hUyW3zW/OUPpfnZ5/L2bDd4lvv 91UB2LhF88E+/cq+pjROf6YI5ZKlObGWFxLQmrYlu4otQwCmg6734RxsS/Bnp0FrgQcM mIR2xHQPIcglAbuIrH3U06ETOyLtdBV9YXwdyuv+Oqb5NA4V1PUbTRFLam0cgksY8zUf f2QA== X-Gm-Message-State: AOJu0Yy4OpCbjR9DYV03Ghdmq1cSgFqBN1SAzwX30KklNq9v/Yb8rhui t0Wrn2c3LB89qbnO5e2Exmh3wA8grTkNcEy8EHE= X-Google-Smtp-Source: AGHT+IFlkkWDAkupiUpy/GhOtUb8PgZAwdVLENmzaDv8yP4v9hdXBesgirzRpdNoBhVERrGyzGcRmXrZHX5NeL3iKXo= X-Received: by 2002:ac2:5d66:0:b0:50a:9ef7:531c with SMTP id h6-20020ac25d66000000b0050a9ef7531cmr1284854lft.33.1700635591863; Tue, 21 Nov 2023 22:46:31 -0800 (PST) MIME-Version: 1.0 References: <20231119194740.94101-1-ryncsn@gmail.com> In-Reply-To: From: Kairui Song Date: Wed, 22 Nov 2023 14:46:13 +0800 Message-ID: Subject: Re: [PATCH 00/24] Swapin path refactor for optimization and bugfix To: Chris Li Cc: Yosry Ahmed , linux-mm@kvack.org, Andrew Morton , "Huang, Ying" , David Hildenbrand , Hugh Dickins , Johannes Weiner , Matthew Wilcox , Michal Hocko , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CCE5FC0008 X-Stat-Signature: 9ia45pq5zm6saxkeukuxitbd7gnsj165 X-HE-Tag: 1700635593-37910 X-HE-Meta: U2FsdGVkX1+AtuiLGxFIQWhdcAXawKEho/6wAX8wEV2NRPcHQWc2IqGtWgZlVhWmz73wZuWh+NJHpAxKVGVP2g6N9uuvg0csnoKfznlv7AtLjSaIRLtoj0lKAlWMW2ti2TCRqxZO90jNgics+CBZcyGsTvTLxVjvxoxcN6oU+yMU0ubqBRxZ5R6IMjrqEHUTI4TtG7nsrkU1QXp6b5VkviTFS6K8PoOAMhbWy9bzbOFsnTXbDcq0hyJk/E8HQNrYOxOCIoBFjlt6LH6P+YutWKkXzi1ZZxNpEObzAz7LsZvwUH0GLe2mKWoS7vulpLqotctxPyi6L8yF6shEof/Jw0b6c5x8RudZu+U7eKLX6O/MmCtK6QbseeyrInYSeK/XTIR/5ki9Jvri/ZLvdMHbTcS/2+HzxLXWPIxl++uv7EsN8hyS4PbVFs/+zI8y0rK/fL0Ce7UySWQdYjLUqkHIo3nGmCeTOPknZ6motXXYt+8hRYQOJMq/hrU2NyZNv/4KpaKIG5bNuKmoMGHYNy83Fbb5QMiW14J+LEMeAh76TwfkBtsPHv3OBYQhvEvSwJeJAwS9c7uIxB4UVTnA6buFj32jGt4sqzjF309cGPMlOd4Yqsq674ccDKoYhdbmFeppMt29ZQJZyv1Z9ilbkjnDHXVKsNv3jRB86/MOW6o5u7U0U/8BcxTzaLIeNRZMmrDt2i3mcA5BNDo+P2MoXLWUoQd0/0pKDjMfuLu9Xqy2Xn03f6hqCQZJ1n7N+e/aciBdkkBH1It9Q3WQghH79OhRLP247iuQsOAG3HKNW3WPTxeLyzPWzJEG28rYXcU2Qvhvra6dvaVklM34FcQS5aRk6JXdsaCZT/h4X6z9eOKw0v4Z4xv0brWDgEEK3qBHA/pD4GFbXgoRIpJe5gT6jvNRNALE100ZzRJEHaivdp7NDot5k22IqYIlKI5ahJ6skUsmjz/8M5PdSFrrhDeSgaa 8y2NmNsf og3N+Ouq/vYgYUJtg5MIhxoXx1nkb3cL4krGj/NMCwebnrcw5M/yIEHR1Tm5zuP4kGOLysjPnKhL/3IDugfQul8oG0Z4rOkeNtvOjrjg8sv1nrOB5XrrcH0OpOaj+XC8zMak+9Eh/vUDIEyI/OWRGopeG+NCKqTiQTwP/NP7ayK07CjkEcqrZM541B2NTS6bF/ZU4+0djGAd/2Spu+AyJjyIywmuKbxL2IWe6ozq5nwl4XuCyGWEKGucaGNqTi/gYOdhIL/i+GeQQuPpvYEoKC/Y9cKLlGLcHpHDdycw1vAdXs+AjPvivlgy7HT+uHzXpeZrfEVs7dmqt5VhrAH+LJhrJjui77VNn8nLnklhtksIgh2zKMMTttqWdo/hwa17Tisnq07R5tyMTJfZEHNmyLwX4pXo87R9qBBOKEVPwJu0Fh/FZf3ATmVNMHqPvUYwZfFInaKb1E9cN9zj8/Qhobavw7H58+VGiOHuplihESeWxSFPAxU59c6CqL1hW5fKuX0ssK06SdlqnM0A= 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: Chris Li =E4=BA=8E2023=E5=B9=B411=E6=9C=8821=E6=97=A5= =E5=91=A8=E4=BA=8C 04:23=E5=86=99=E9=81=93=EF=BC=9A > > Hi Kairui, > > On Mon, Nov 20, 2023 at 11:10=E2=80=AFAM Yosry Ahmed wrote: > > > > On Sun, Nov 19, 2023 at 11:48=E2=80=AFAM Kairui Song = wrote: > > > > > > From: Kairui Song > > > > > > This series tries to unify and clean up the swapin path, fixing a few > > > issues with optimizations: > > > > > > 1. Memcg leak issue: when a process that previously swapped out some > > > migrated to another cgroup, and the origianl cgroup is dead. If we > > > do a swapoff, swapped in pages will be accounted into the process > > > doing swapoff instead of the new cgroup. This will allow the proce= ss > > > to use more memory than expect easily. > > > > > > This can be easily reproduced by: > > > - Setup a swap. > > > - Create memory cgroup A, B and C. > > > - Spawn process P1 in cgroup A and make it swap out some pages. > > > - Move process P1 to memory cgroup B. > > > - Destroy cgroup A. > > > - Do a swapoff in cgroup C > > > - Swapped in pages is accounted into cgroup C. > > > > > > This patch will fix it make the swapped in pages accounted in cgro= up B. > > > > > > > I guess this only works for anonymous memory and not shmem, right? > > > > I think tying memcg charges to a process is not something we usually > > do. Charging the pages to the memcg of the faulting process if the > > previous owner is dead makes sense, it's essentially recharging the > > memory to the new owner. Swapoff is indeed a special case, since the > > faulting process is not the new owner, but an admin process or so. I > > am guessing charging to the new memcg of the previous owner might make > > sense in this case, but it is a change of behavior. > > > > I was looking at this at patch 23 as well. Will ask more questions in > the patch thread. > I would suggest making these two behavior change patches separate out > from the clean up series to give it more exposure and proper > discussion. > Patch 5 and patch 23. > > Chris > Hi Chris, Thank you very much for reviewing these details, it's really helpful. I'll send out new serieses after checking your suggestions on these patches= .