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 0A195C54FB9 for ; Mon, 20 Nov 2023 07:37:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 82C5E6B03F6; Mon, 20 Nov 2023 02:37:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7DD556B03F7; Mon, 20 Nov 2023 02:37:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6CBBA6B03F9; Mon, 20 Nov 2023 02:37:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 5165C6B03F6 for ; Mon, 20 Nov 2023 02:37:13 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 20225A015A for ; Mon, 20 Nov 2023 07:37:13 +0000 (UTC) X-FDA: 81477526746.05.94F0E48 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by imf16.hostedemail.com (Postfix) with ESMTP id 5A742180009 for ; Mon, 20 Nov 2023 07:37:10 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=UtedJToM; spf=pass (imf16.hostedemail.com: domain of ying.huang@intel.com designates 134.134.136.65 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700465831; a=rsa-sha256; cv=none; b=rkFYo8VruwqRdwHtp+x6D7icX6wa3oJNaYdY24RteoFwfU7RMSKom1fSkVAvucmlz/FLFr aJ6RkwYvVvA8Y8/j5DvwAG3bM1F8TJR0Dkc5ym3dRXhhkxdYWWBgekgDuj1iwPpSx5jOvV tKvU3m6zijQQG1RT6Q9KrhA8LbBcoyY= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=UtedJToM; spf=pass (imf16.hostedemail.com: domain of ying.huang@intel.com designates 134.134.136.65 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700465831; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=5aaosyrM+CaWyWdiYZaLo9JIlZWBbrYmlm0JTceJe6w=; b=QLpdY3dA+KDaITpoijsPqtbOn49n2t0sQfY8dM5VJnikDHTEYLQXuMbhwm+JzvV7Nq6aSm 88wo634XXdPCoG++YPguyRorJlDOtJQJ2Bsm4MevDggcXjUz8CSpT//ivcFsb6M7qRrH5N 5lollHJqClM8K6Xno/ymYvemSLHWSZs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700465830; x=1732001830; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=te/kalXMqxIcUbJWXayxqFbR2ZYuIskBP8WKF0nSXPY=; b=UtedJToM+dhLJfhc80NNxuMS/MxM2MPb+SnkQoOnVa4DTC2d7KUVbEA+ sxVgx2rk312CNivhBl2wrXDivgw1e5GfjWMuJsBUhfGf6eCfDzMp6hfJN M9t44NvPk865Xi0Bp7zDHFJkhP+EpVruW/6DT1WTNuaZP6qrGTs7zZx66 h0e8tTx6gb9S6nQRpKCH4KJHxPJ7TXGnUkv1l2jbgnJDZ0bM1gT8k/vjF gMGNQPvlGBbGAGz1l/c+r7WaPObwbgIQHFlvkJb/mRw84HmkeAAZwjlTf B96fisipre7rsKUQD3D8LXqvCTKXDEwyuXyiMofUr1cV+Ai6CVPKNNZ7l Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10899"; a="395499559" X-IronPort-AV: E=Sophos;i="6.04,213,1695711600"; d="scan'208";a="395499559" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Nov 2023 23:37:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10899"; a="742647791" X-IronPort-AV: E=Sophos;i="6.04,213,1695711600"; d="scan'208";a="742647791" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Nov 2023 23:37:06 -0800 From: "Huang, Ying" To: Kairui Song Cc: linux-mm@kvack.org, Kairui Song , Andrew Morton , David Hildenbrand , Hugh Dickins , Johannes Weiner , Matthew Wilcox , Michal Hocko , linux-kernel@vger.kernel.org, Tejun Heo Subject: Re: [PATCH 23/24] swap: fix multiple swap leak when after cgroup migrate In-Reply-To: <20231119194740.94101-24-ryncsn@gmail.com> (Kairui Song's message of "Mon, 20 Nov 2023 03:47:39 +0800") References: <20231119194740.94101-1-ryncsn@gmail.com> <20231119194740.94101-24-ryncsn@gmail.com> Date: Mon, 20 Nov 2023 15:35:05 +0800 Message-ID: <87msv8c1xy.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 5A742180009 X-Stat-Signature: wfiyejiar1ksckp6y6xhzhxy7z7n3h3i X-Rspam-User: X-HE-Tag: 1700465830-837074 X-HE-Meta: U2FsdGVkX1+2BJlbxd8X8vQ6DVJ2i1ypYBI2+V8V+kohHZz3JlC5/bGEZPPGabewmlHH9//LQF/sd+4YVjEsX4JFrw/tk3vbOnCbfxUuXfC/D5GCts5G30F0D9gjGDLOMHHRsBDZJCUHwEt6abC9X8MwV6/hGQ5GvWfG6fIOFuNpYmRt/tKiBoBVBa3dsgcOdKCArxbAxPLjSvtVJbb58ap76oc4m3wlj6Kq2gfFvzt36X36uvFuCeNlSBte8Ne0IOtDZZrhr0iZlCNfeNcErlDPRTO3kxhrgZYrd8fBCUIt89KJqi5Kbs0ehkH09ZON+A1eQG/T5rwuKO6bwIlEiSTZHcX/bosU06n2fOzV1L2lXHUxrr5HzR6C88WebwoX4COA2oNGzjpHJ5DSCqZNMugthVvLB3udn5PSd9n6vDT5dKw7/QPOYg0ON75+TEJmSwZWFjCbiTUQEyqsvr3R7gRPv37asQ1maIBp0mFLKrYgUrzD37VhH6kdThsgQyypkTHONbwSCVo4K/39jMipqQy5SzgzzkWKrY9qiM9mPbECRClsiPb3L0aR5/txjKaL4vvMM3uAEmOONvwYvFOLrZnc48zpi0TVkf23noyQglo/5j8Tt5632WcNZ5qHcb4ZeCWomGk8DTZpYbMswntE7WWBBdOd/cbCA/pYVSuuQ4UFOBEi/rMeK5R3mQg1Sk8OJYqS6a+4dvFe5/EHP3AH5Op+fna+IbA64+9/RKgPoEsdYOPnPuu9UCDkP41Uz1TUruKnMnV4RuW7/HfTDwOafELchNMcdxfVWIF1NQr7okaYRN6qHVAJQpQjTQGHqLmQL+uAnrglVoEKsy9KqYaGmQ3lveDv2QNpwLdrY2x9+T+dDna/Ec7JH0PNTehpmDC/qKj0L1P27QrjhziAXkpo2EyVdf4ahybCS/ORDo5aTff9ZMgEyAp90xWc8Kgfe3EJ6kVf+wrkQ6oQ/W7vTL8 MYYGz5+U IwZFzjTSVOhQ60Cp+Y26iEfcfSER8TIope7I2rL9UJ6idYy5FhEiDeMzq80CU/dprXl1HDNdXB5SpnjLW3x41RreKFnyIuvwDqXkrgSOc9zWmDS0QRL0fKHeOrJHIOB9rQeQDrvvR7/d5GXrEtJnWoDkD1LiPKCNWi/yZ9VmLmSuOH9HlJbRB0ezwgeRJ3B1t3NS4E2VWs9YOmiYqywbvGvySthFsyfPVWhj6UShnlDl68UCv8Fo3ceGjMySC976mxDef 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: Kairui Song writes: > From: Kairui Song > > When a process which previously swapped some memory was moved to > another cgroup, and the cgroup it previous in is dead, then swapped in > pages will be leaked into rootcg. Previous commits fixed the bug for > no readahead path, this commit fix the same issue for readahead path. > > This can be easily reproduced by: > - Setup a SSD or HDD 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 cgroup B. Accroding to "Memory Ownership" section of Documentation/admin-guide/cgroup-v2.rst, " A memory area is charged to the cgroup which instantiated it and stays charged to the cgroup until the area is released. Migrating a process to a different cgroup doesn't move the memory usages that it instantiated while in the previous cgroup to the new cgroup. " Because we don't move the charge when we move a task from one cgroup to another. It's controversial which cgroup should be charged to. According to the above document, it's acceptable to charge to the cgroup C (cgroup where swapoff happens). -- Best Regards, Huang, Ying