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 BDB7EC61D96 for ; Wed, 22 Nov 2023 06:59:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 21B096B0570; Wed, 22 Nov 2023 01:59:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1A4966B0571; Wed, 22 Nov 2023 01:59:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 01ED96B0572; Wed, 22 Nov 2023 01:59:32 -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 DE3CE6B0570 for ; Wed, 22 Nov 2023 01:59:32 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 02B9F12050B for ; Wed, 22 Nov 2023 06:59:31 +0000 (UTC) X-FDA: 81484689384.30.702C31F Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by imf07.hostedemail.com (Postfix) with ESMTP id 49D8D40003 for ; Wed, 22 Nov 2023 06:59:29 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=eHwinPCs; spf=pass (imf07.hostedemail.com: domain of ying.huang@intel.com designates 192.198.163.7 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=1700636370; 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=1yKCr1gZf/1+mzHQUHs4Lki04Yt/Cz80ldRP8TYO6tQ=; b=Wkeh5uqtPqbhZ55+ueteM9QYDckQyqABePMy/bXwk4CXvnC7C7Ox0/XawSvDiAAlqboALR AYHWFQk3lif9xWNKNa/4kagg+bIJGvu7TZVFyaa5vsae2wMDX6KtobqQsCEN952pI2PgbH wMI/xYVLZRxmSykTU5uGQbrZe9ue5wk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700636370; a=rsa-sha256; cv=none; b=eIO/33KKCzN09YtwnWDgTlvGcqFo023vT1JJD1lWChyrKR85UAhY6liySs/BxS4AuqasEo vwcnvP7ULLA9mpWY0Uupmx5jd/kwfZ14JB1P+es5SZ7WD8pOjTJbw65RPkTgGtdDxcs6C3 m20JxlrWLcCZhsnzBOz+IPCrYlUUgnA= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=eHwinPCs; spf=pass (imf07.hostedemail.com: domain of ying.huang@intel.com designates 192.198.163.7 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700636369; x=1732172369; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=lz4P4yyNksj4DKVXnTX7lbEklY3XdyKKBLRol+9exJI=; b=eHwinPCsoAl/y+85EKZLVcaajCoIopRj/tASMfp53LdHbUt2Xp61LK4c tD1wwHuMzkk3/4SQr3hroBBOC5fs04CCc+UzqDLjrMBd2vye6NNEbPIva QtB4dwPczp7WWQeNx3feYoMTg1Jk8o6GqbxUbooa9vrVb8poJBr2qmWiX aBuAjPWW+hjPr6Nj5GZrO8i91/xymnK3O+nQMNfWPD4SO3uvdzpiwX0W7 vnhcWMo0fMonWCliNOqVKdp3VYSYNfbv9gVbjN+w6fZJSKuk8JGm518Zk urE/bqyzOqGGZH7UEvkbXBCye1+C8Azh9vuf8sVMVe1K9ksbtcDj3Budd Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10901"; a="13547317" X-IronPort-AV: E=Sophos;i="6.04,218,1695711600"; d="scan'208";a="13547317" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 22:59:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10901"; a="832913554" X-IronPort-AV: E=Sophos;i="6.04,218,1695711600"; d="scan'208";a="832913554" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 22:59:24 -0800 From: "Huang, Ying" To: Yosry Ahmed Cc: Liu Shixin , Michal Hocko , Yu Zhao , Andrew Morton , Sachin Sant , Johannes Weiner , Kefeng Wang , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v10] mm: vmscan: try to reclaim swapcache pages if no swap space In-Reply-To: (Yosry Ahmed's message of "Tue, 21 Nov 2023 22:44:32 -0800") References: <20231121090624.1814733-1-liushixin2@huawei.com> <32fe518a-e962-14ae-badc-719390386db9@huawei.com> Date: Wed, 22 Nov 2023 14:57:24 +0800 Message-ID: <878r6q9sx7.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 49D8D40003 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: xcq6p9afrcm6emh3mmgwjrpmrytia3ne X-HE-Tag: 1700636369-308430 X-HE-Meta: U2FsdGVkX1+K9/dtkx0s7WCxGbiLknBJ+WbAmU580bYLHFWnH1wXXOA/QZf5Jv4uUMylYPE3cw0Ix7ar9GBS4RJ8gsbDO34cBoqv39nRoZL+LdKfifFUCTXGnrGilNJF1sLUeURMYjPDujmMbE1WoUGRbmD5TauylNPoghMiU03JMRZbGcnHfq8pz/MnmaLSs6O5OWlrGNt+ipyRn8plZS20kcCfKmMJBN+CgJT/G6hweSDd6QkLXDJwOhB1zrKzKfxc1T18r1HrYn3A3hVNSQlOPqEcl8O9XIh009K0IFfDHx1w1bY65gmIx7KMdbiRykUTnKI5PnNnBpZdAg1Q7KkQEU8XZ6xKbsoV6dU78VHDtB3yZGBAP3g62E5XT6gT2/GktUOvMmwKFIlQSwstQYXJ+8Q4KJKsH0vSmAePdj5W1KvgTr2zhFe1QOTMJnfMB5DWEI3gpnQzbw0A9O24HmKWsrb8ixDYESmngklhK7EzNG8nE9FAINVBoXuREM+QgDUxOwJy4bLhbAsrZMsVSFyK/ieL6AbOaUFDfc1VUcFvYfYOC4rjDU9F3m34YSxpsHinwpodyGLCGVyU5imTxdHxOUdDzSGJwjYTeDiFG0JIzNT1KpRM9s7htVH2PfDqZC4Q2zD/dDw28biQ3TNbGbZW4YKk4ps0TPVE+W4C074g4bGZrswYz4eOFcwE9Iol8ZVjYftFRza0NpOz6bZPETJBgmOlMcDbFWgRB0ee9KG8wbRP2/Uol4PO8EhATq08a0EM8EFaAeF4t6oJHN2xy90W+25K6J2xwu2v6fHMpxRSUDMZGSc9V8SJrqwZgDLW9xddnMcDufs5ZSlNI1SuyO/ahm8OLQMQ9yPj2c3z7sllKJspFc7iXkL6UTc0eBfm0+57E9gpqjoaIcz86AXhYFM3qdC+H3aY+0PRGgHO84mVcGCmKr7VB3Vaw4lm0p8Kn/t5k5mBL9+5lgoXNsh XxLyGerU h7ehw9VlpHH3GWfsXJF0g8YgK0zN7AxbOFTAWhBgRpI/uf2vEBlACvETsqEqxBGsCYwx4fNwYQzPk+bv36jkINOv1igS6UYdcf9WiGJkHse+BQda4BSh6pDEB04ka5X4mjr+UFx3z9p2J8Thvv+V8B9mt2lPD8ifAPQu6rE8qbis2kLHFwISI6ugOWEJIN2Tio+cI 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: Yosry Ahmed writes: > On Tue, Nov 21, 2023 at 10:41=E2=80=AFPM Liu Shixin wrote: >> >> >> On 2023/11/21 21:00, Michal Hocko wrote: >> > On Tue 21-11-23 17:06:24, Liu Shixin wrote: >> > >> > However, in swapcache_only mode, the scan count still increased when s= can >> > non-swapcache pages because there are large number of non-swapcache pa= ges >> > and rare swapcache pages in swapcache_only mode, and if the non-swapca= che >> > is skipped and do not count, the scan of pages in isolate_lru_folios()= can >> > eventually lead to hung task, just as Sachin reported [2]. >> > I find this paragraph really confusing! I guess what you meant to say = is >> > that a real swapcache_only is problematic because it can end up not >> > making any progress, correct? >> This paragraph is going to explain why checking swapcache_only after sca= n +=3D nr_pages; >> > >> > AFAIU you have addressed that problem by making swapcache_only anon LRU >> > specific, right? That would be certainly more robust as you can still >> > reclaim from file LRUs. I cannot say I like that because swapcache_only >> > is a bit confusing and I do not think we want to grow more special >> > purpose reclaim types. Would it be possible/reasonable to instead put >> > swapcache pages on the file LRU instead? >> It looks like a good idea, but I'm not sure if it's possible. I can try = it, is there anything to >> pay attention to? > > I think this might be more intrusive than we think. Every time a page > is added to or removed from the swap cache, we will need to move it > between LRUs. All pages on the anon LRU will need to go through the > file LRU before being reclaimed. I think this might be too big of a > change to achieve this patch's goal. We need to identify swap cache pages on file LRU firstly. It appears hard from the current definition of page flags. /* Filesystems */ PG_checked =3D PG_owner_priv_1, /* SwapBacked */ PG_swapcache =3D PG_owner_priv_1, /* Swap page: swp_entry_t in priv= ate */ -- Best Regards, Huang, Ying