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 59783C48260 for ; Wed, 24 Jan 2024 18:40:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B9D3A8D0003; Wed, 24 Jan 2024 13:40:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B264C8D0001; Wed, 24 Jan 2024 13:40:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C7A08D0003; Wed, 24 Jan 2024 13:40:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8822B8D0001 for ; Wed, 24 Jan 2024 13:40:14 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 0C9B412056B for ; Wed, 24 Jan 2024 18:40:14 +0000 (UTC) X-FDA: 81715069548.11.BDC3633 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf26.hostedemail.com (Postfix) with ESMTP id 2EA01140004 for ; Wed, 24 Jan 2024 18:40:11 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=g+zmg+Ym; dmarc=none; spf=none (imf26.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706121612; 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=draqL+CE/rP10cXaUi8xoo+aCaYER4SdwSjRFB4PIm8=; b=g7qDC5UJNHbnnjCsg52dYXoCG394Z4tE6m6iPXYmDAZcVDkqoxQRYnQNIWJI9eCCCo+8I3 EGfS3lzzVeyis5nqNdF6sBbvsz9ZXuHxxg4v9N9ZH75w3Smxink//p7cAIPDsk+IQo+q+l 3sSsATNUPI/V7Mw7alveGM7ZLfu3BZ4= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=g+zmg+Ym; dmarc=none; spf=none (imf26.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706121612; a=rsa-sha256; cv=none; b=DlElMS8GCDzPI6UhvXSfeza6aSdYRfCRPSp5eQlOfV8bZ2K7yPHlY3mRC3SlLe4fH4RdCQ 79W17OqNwQd7nJdYgWcnEUX1LH7EtXlEtJsprOBezrYfTWQoJavYWhACc8ZM3IixfHqVcq YhfvPGkHRSGK9h1jxqU8hqj45cUEegc= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=draqL+CE/rP10cXaUi8xoo+aCaYER4SdwSjRFB4PIm8=; b=g+zmg+YmwmdzlghpYwJW/wat/t I/cEHh96j3CYzc1CTJqQpLR5HDfuqmoh7R+NZ42ScpDxaJF6gVLHWAL2nZchFm5v58pWmvbMeglcZ MzyF6Q2qAJeOzsmHNiGeTCRXXfqxTMW5L6tBKrwj5/B/oTA3UQ4ZS004KWeY9HEpm3HT5JyHChscz UFlgYfyno6PQR58/cQhX1glfFvyaelEpSFCbyIa0W8qR5M3QHKUwgZOhkm9A8xE9xMd05M/SaoN7s payZ5Eq73rquLSQmgMppR1ujBfIE5U0Xfucr3M/h90xU8t2SQfIvShi22ZeFYcHm+/0UNeBD9xqcB X3Zp449A==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rSiAR-00000007SKc-2nnP; Wed, 24 Jan 2024 18:40:07 +0000 Date: Wed, 24 Jan 2024 18:40:07 +0000 From: Matthew Wilcox To: Haiqiang Gong =?utf-8?B?KOm+mua1t+W8uik=?= Cc: "linux-kernel@vger.kernel.org" , Mike Zhang =?utf-8?B?KOW8oOS8n+S8nyk=?= , Andrew Morton , Matthias Brugger , AngeloGioacchino Del Regno , "linux-mm@kvack.org" , "linux-arm-kernel@lists.infradead.org" , "linux-mediatek@lists.infradead.org" Subject: Re: =?utf-8?B?5Zue5aSNOiBbUEFUQ0g=?= =?utf-8?Q?=5D?= mm/compaction: add check mechanism to avoid cma alloc fail Message-ID: References: <20240122022317.30091-1-Haiqiang.Gong@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 2EA01140004 X-Stat-Signature: on957ycuxhjtu5934ournfukbq6im87b X-Rspam-User: X-HE-Tag: 1706121611-533716 X-HE-Meta: U2FsdGVkX19Bw7NCtk5LH26/WtETFpWvbFDq72mNusxOs+GZsETQiMM0+D1Zie9q3GRsAmN/vyMsLUojBfuXspWo1qkYx7ZCesNrExu9773wiMosLlQF15Zu0Zwnll3xnTt18fC1RjXusnZn4BDMHzjIzYtvBpdU/nC1kdJfSZHAF4lkxhZq69J6XiD1QToxRwsec/ZYF79LRQWg8a4ogRT9xzjveoQvAqdwBwxKihcElWsx21QgmpJDi29diU1+JqKU1lXxGG0H3+F/uhB0dg9ANKd6u1RKQT7TaoWFolkaMX83TE9WvjXTgh4jLGd0Z3DbPbxKMgDBO+62nSHAYIh/cInbJl87QbT818PNB5mTWEsgOMzwo8lffu0dgm/o9hYLbf9X55D0pYYPFfizfq1JVmSJibxNCRdNu4cx2uIw5JrBtkBSRubmrBh7+M2/Rt1pJ3XfAs1sY5bApbnUeNrc/lu/PBF1gQCA/h7/+n2/7GZIZu10cB5sqcU55s1Np12FuTHjudbmmVDwFLJ9lb/r355BPtuAy2/nfn0+z5/9crV89s49l78tkSnMoRD+wzTFqDmcaDV5SphxCd0OpDN8N9aDVy9dVwAg9LVYOkqMRMvMKIFHhPf/YDaOaDUQN3J7wzIjNMnhlCNJd5XI8XcWqW+bUi+PJQzC8sl5kV2COFeYUibL7bBcGQutjd93et5tCR2fX4bugWL/9Kih7W7zOtRvh9ovUOIBqWDmI9wEl3k5QVzvH27B52aIWlZiUAZVDnSPCMLpQwEbyzqsN0jeI+Mh30xcKZdZ5JVbNKLfh39K5WX7HI0fMlDaNarQdwLaEQn0zntqmDWBRJCwbImIesmL0kqdFV/clLkBgLXlSyLt//u10BhoxSlgknX2m5x/iphXSNuEK0AFNfsANuNOnGVX0+c/qinpesS2Uih9bZ7ddFCfOsshaeDHi/2J9BWSzU5Z9aevyzJzOfo rD4DfXr9 HVoFSOH1s0eYGJ/hETaB2rcpTxjcoOd919XlA9XqAKgkroHYVHtbsJx+um7dArY4s7Kl4YFOlntYkLHM319KG80jInPrLlfqfIh2GWskk31lfAFDStQnTVjX6KGhUr5MFNts0lJJIFFoc3cSXR3edZxZC5K48BYAooTe8js8P5/q9FlL/kFZaZTQa+KKy1BuiJPk7FDBtu2PJY8c9xKj542/jQqLCTI9hLrzn+OJE1W/xrmCsMR7w/kbS7+0FDW88zP6b0fU4qE5z2J8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000014, 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 Wed, Jan 24, 2024 at 07:20:53AM +0000, Haiqiang Gong (龚海强) wrote: > > I don't understand.  You say that the memory isn't movable, but then you > > say that it's migrated in.  So it was movable, but it's no longer > > movable after being moved once?  > Sorry for not expressing clearly > When doing memory migration, the kernel will determine whether the current > page can be moved based on the refcount and mapcount of the current page. > This memory can be moved during kernel compaction. At this time, refcount > is less than or equal to mapcount. > After this memory is kcompacted and placed in the cma buffer, under > certain special conditions, the refcount may be greater than the mapcount > (ex:the current page is being used by fs), and then migrate will fail. But that's always true. Any page that is currently in use might have its refcount temporarily incremented. There's nothing special about pages that belong to a file. You've basically just prevented all filesystem memory from being migrated to the CMA area, and that's wrong. What's special about this page? Or were you just unlucky?