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 6C8F9C27C53 for ; Thu, 20 Jun 2024 01:01:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C28EB6B0340; Wed, 19 Jun 2024 21:01:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B62FB6B033F; Wed, 19 Jun 2024 21:01:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8CB5B6B033A; Wed, 19 Jun 2024 21:01:56 -0400 (EDT) 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 5EA9D6B032C for ; Wed, 19 Jun 2024 21:01:56 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id CB2A9C1646 for ; Thu, 20 Jun 2024 01:01:55 +0000 (UTC) X-FDA: 82249464990.15.3D5DEE3 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf06.hostedemail.com (Postfix) with ESMTP id 94CC5180003 for ; Thu, 20 Jun 2024 01:01:53 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Bosutmkj; dmarc=none; spf=pass (imf06.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718845307; a=rsa-sha256; cv=none; b=Cbbd40po1VBtibChIgZJAhN4w0kZhL+XiegFO8Wg9gIEoH9B5vT3EPAdZaPXctKTIfij11 vL83jXtWkgvTBHd8DPPztBPEq5zfX8cXJUA4YCGXRKyQMyB8QC1w1cHzvQH0T4FEAC2f3t uNxBJRWd+39maUgr4b8+kI3lRhcrsDA= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Bosutmkj; dmarc=none; spf=pass (imf06.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718845307; 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=FpCjQ8FfMnQYHbtcxsbnAR2BLBJbW5S4aa70NIfst0g=; b=IpHSGODtuXAUqkIvMzbMIwecFrGKCUfEAHxe8ue6h3M2eLWUuvEgH4IxOKFcObXmHjhgYC 1jeLBTfalScMX9o1nloaQIlZRlXlz9aLIhEXTKaMiPTpXzDxllT6lkz1jz2sI7GVxXaXDn SpBsgkVmoodpebe/moWg1ooDjDVEHpM= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id B2027CE1E98; Thu, 20 Jun 2024 01:01:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B7495C2BBFC; Thu, 20 Jun 2024 01:01:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1718845310; bh=Dh7fI9g0bKhm08YYuZbUPD7TIcVtzqcOd2fHYxtxqqw=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=BosutmkjQy/I6U0jOTI1nwJ//4o8Z0IjQox/7TwrmGqisl/KdfRDwvHq544lLXrpH hU6PxtqJ8agUSI7X914PVFesaz9n1YeI7XgiFqwlEBnW3Ta7dc5LZYzUeFNkAPBY9S JtvJFcltERhLC4TfhX1dVv15jkpm2+dK8/2+XwPk= Date: Wed, 19 Jun 2024 18:01:49 -0700 From: Andrew Morton To: yangge1116@126.com Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, 21cnbao@gmail.com, baolin.wang@linux.alibaba.com, mgorman@techsingularity.net, liuzixing@hygon.cn Subject: Re: [PATCH] mm/page_alloc: add one PCP list for THP Message-Id: <20240619180149.c043cce3f1f84db02fe24f5f@linux-foundation.org> In-Reply-To: <1718801672-30152-1-git-send-email-yangge1116@126.com> References: <1718801672-30152-1-git-send-email-yangge1116@126.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 94CC5180003 X-Stat-Signature: cfht7h5tfdyu98azmox6nkdnhubhteud X-Rspam-User: X-HE-Tag: 1718845313-176991 X-HE-Meta: U2FsdGVkX1/4vafK1b6Es9gJmop/MvJ+KSLTQ9nZp7BQTGPpCdwfUXPxWy9E3CG5hHe8RAbPK1j0evA0w3IipjQRTURtGt9oqGRAl0gVuXORfvF71jRAVoHL1yw9QIKnZZLKmYIDEPYOh7qfmbBas/yd2E0WYhHh+lf3gSI2QH9cWolhq3cp8VuH5iQkCriSodQw6wTSKn4FemTt6uke2hi0QXgF4AR4T/uepgS9CpXPpEA2mbZniTd0+MVonPmRf+hj1s+8d7UUEP6FGdFmjlFt2mCXOLBgdwGfu5QYMsGzgB3nQu/WUt49jlqf1vwaA/rvubn0tQqYuC1OkVvee77fPNphOvkzRTcErdIS4xvhHHFYV5BtlQ4X37vBNm+/EeAUqDI97HN+gP80mFecrCgQs0aJJcjAIqW1yC0aAjdWoqcB5FqKwq0rIe2Sfsxrqn1zxswAeGWrgN0UkyT6+BWJVDnE0RUQutbSDKkkingctCwLu99yE/yk9JSJHu5Ok0n3c0knSj7lhWskpR6nOu2EI3M99cg0xy0XSw11DoWzRJEVX+tM92ucqjMudh/wnr8okqn6gu82y9hnesb2O8o3uuJAhIWMCaoqtGzCzIIBWAD9zVpdCDOfdr9OEZOtwX0Y/F1L/KBAzMcP76JkhDm0WmTEN9QdCH41YCAq41M+nu10kAPoIodF3t+wZKCtmM4r6hQiROL/B6MmmAbCj1ybktSyhVCDEdkEY40KSpLORl77QtgaE5q1JeDAodXRoezLHwy7NtHlaGPVsiMNYk9+uVKvjvliH7jP6mt4RWSRWmOOUrH9jffU1XVc3UtwYP5DHFzwMcXpy2d2euA/KCNexlVz87JO0i9AuLhGFQs7TGiCQm33OCbW6Z/kZyp0G7qJW+0582O/G6rbaVg6KlS/LO9vpUaNs8qw4WoGFwSS3a1SeS+nH7KCB2vPeB0hwzizSUZhvMm+N7dgDr/ 0zEPbrib s6bfzlScQKxWfIMthMrU2ki+yKYVqW8vWoXnFJ2WorDF1SypTE5xy47LRii0g2nxwS4ijm5AqCpuBkdqD9S6Jl4Xqg5nsgS45yE23h+w51TdiBf7XUtIROeJbTe0XWqcn1p+9AgfYQC/wv+MCTRX9j5cN1e/DK/aeWkNPvDBqE+zmnCBSI9idaRYcs/Eyy/7nYsHKbJa+jA7gtEx2dfpqdXhjC1ChK7PBT/hMmr9oa2zQ+uKAq/M9TRCKSo92wmMGwN4d+5MxKLaRSjmhD4AGmS3DujbDCBNiBXc3 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: On Wed, 19 Jun 2024 20:54:32 +0800 yangge1116@126.com wrote: > From: yangge > > Since commit 5d0a661d808f ("mm/page_alloc: use only one PCP list for > THP-sized allocations") no longer differentiates the migration type > of pages in THP-sized PCP list, it's possible that non-movable > allocation requests may get a CMA page from the list, in some cases, > it's not acceptable. > > If a large number of CMA memory are configured in system (for > example, the CMA memory accounts for 50% of the system memory), > starting a virtual machine with device passthrough will get stuck. > During starting the virtual machine, it will call > pin_user_pages_remote(..., FOLL_LONGTERM, ...) to pin memory. Normally > if a page is present and in CMA area, pin_user_pages_remote() will > migrate the page from CMA area to non-CMA area because of > FOLL_LONGTERM flag. But if non-movable allocation requests return > CMA memory, migrate_longterm_unpinnable_pages() will migrate a CMA > page to another CMA page, which will fail to pass the check in > check_and_migrate_movable_pages() and cause migration endless. > Call trace: Thanks. I'll add this for testing - please send us a new version which addresses Barry's comments.