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 4222BC5AD49 for ; Mon, 26 May 2025 08:05:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BE2526B007B; Mon, 26 May 2025 04:05:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B93046B0082; Mon, 26 May 2025 04:05:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AA8E36B0083; Mon, 26 May 2025 04:05:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8B0A36B007B for ; Mon, 26 May 2025 04:05:32 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 368AA1405CF for ; Mon, 26 May 2025 08:05:32 +0000 (UTC) X-FDA: 83484324504.08.20CE906 Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) by imf21.hostedemail.com (Postfix) with ESMTP id 305B11C000B for ; Mon, 26 May 2025 08:05:29 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LVwSPB98; spf=pass (imf21.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.208.173 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748246730; 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=3vJJoQsbAyxRV4NWVJ9lC72ggtrf0ant2BG6X9o8XlY=; b=BcjXDmmHATzjyT7wTC0zP/xVLuNM+qcPhnurLSYh9WrsxabEiiw2dVzhd/xvaWDogiH4mS 025VQVDvN38SOZFL6DMbktSx4reo10lM76ywmXQtfRMTeq2bY5GA9JxPj2EJCXQ5NMtJT3 Ro8suETEFoze9GFLnSTo0qJXu+rVeps= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LVwSPB98; spf=pass (imf21.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.208.173 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748246730; a=rsa-sha256; cv=none; b=XurE+KmvPOkKlMpXprzpRmqb79eV/9+ssaNMD+NijV9yHs7Uvkrwh8NeqBCkiFjSWckIc1 1P07aknNycXlblPRYaKmoIfy56mZi4TNvc2ZMsU3XTF254JyaUfUVO8A0EIAIhWHhCAmg1 hYSrLnWIgekC8Wq/JDxyl+EL90acxIk= Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-3290e75e136so529071fa.0 for ; Mon, 26 May 2025 01:05:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748246728; x=1748851528; 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=3vJJoQsbAyxRV4NWVJ9lC72ggtrf0ant2BG6X9o8XlY=; b=LVwSPB98MzdNaphFc1Z6uXeQmZ8aH6Z9CcV4WXCtfwulN+1+hm5NYMTBagvigdq2+m ldPyjwpr6tJirbKptREo+YPYWmcmAEgrrd0stUjvG0FeNcUIYrAeIza6prhmv6PZ0NU6 80ln8n+5nRDFuAwIx4Csgfg5oRKJHzXIZDzYweW2fJSGd3NSP9IaKfomIhXdEr2osDKE sqan0PEirBF/L2sjfXnrmO3MHYGTIXO5RUPM7NBWJqVp2PQ1arfCyvoywNB2uDosSxZj +RxiN4W/XvyN5MLhWQHvlwYqhgQHnNSqFwWd1RDSCaLtRfMyfsaVhxMTkU7wttEBX/1j pVMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748246728; x=1748851528; 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=3vJJoQsbAyxRV4NWVJ9lC72ggtrf0ant2BG6X9o8XlY=; b=KKLTSWC2t3OeDvCKm8kElOpzyyQLm4QO8ovlGKqVeXIBdQrftfUgC+cw1lmgsAxqAv C3KZ3qNWcc+AGZAEqBLg006K15DI0wDEeIyM3sodFCPpxr3lqN9B5gfEmSeODCll1NRD Z3M8ShcWfdnIP0GZIYAm0EZ6JH0D+j2gIHunCilLwndaYe8LWcG5AdJaWwfyS+pmC6wD EpxzRon5+dpeR1C+WePKzJrBrIOxkjGjDGj9wyPeNdRb6x4g1oX1T/Q5QCoXF1sCu8OB sanVHTCX9Wi5K0JYPTcdpcwIVQb7LRhaE2D4Vc57FhFD00HGGrJXIuDvP0CRfLGDI30+ vO0g== X-Forwarded-Encrypted: i=1; AJvYcCXfMPN+GAM9WLt3/KiMUW7tYQT9FH5zGMRi3MjMH2DNu67rKwCFvERzlqGOQPCU7aBqcNylH/7DBQ==@kvack.org X-Gm-Message-State: AOJu0Yz0++A5jkQHgctkm6niSQX5jXAaM1Kj32gGL5Z7Zx+EPdeyPWyr XfRPgmWyC/A5C0+vNTXW6cuIYvGwvTZlxQ8JT4V2BboR/C3EiVnrfOOYN5QsReH8cLxFu4CwWd8 EToN4s6jXC43Lc6dHC0avT87b3Vrvga4= X-Gm-Gg: ASbGncsVBOUkZpW2bphIlMC9UPsQ6lY5TNGziNEorJno0312AVZfzcejY0S3WdOkc4I nCGU4K2WpSUuLPK3C2XnfqWdJiAnnA7Ci4iV3wn9k21OhKbIHIE0JWRLLFjqMKm8M4ttQGmYWs9 7Yn6npsJSkHyHUwDMzJ6Sh+CJA4vR0gweEbg== X-Google-Smtp-Source: AGHT+IE3nAr5bHC45WuqNmfDi5Bm/Z3cp9HoTGOZ7MdXf4dW5kp9/vL+aPt64k1Vg7eObNTCx165kw/VHdMUgczoxMQ= X-Received: by 2002:a05:651c:2221:b0:30a:52f9:7690 with SMTP id 38308e7fff4ca-3295ba79486mr6261041fa.7.1748246727967; Mon, 26 May 2025 01:05:27 -0700 (PDT) MIME-Version: 1.0 References: <1dd70770-f097-46bc-99b1-1bd3249032fb@redhat.com> <99ae448a-5c5e-4491-8cf7-1325f47e225e@redhat.com> <20250522130901epcms1p31d757b179fbb3563cad6bef4a1829235@epcms1p3> <20250522144418epcms1p2a31c1a5c95b1937077bddf1b30495e83@epcms1p2> <20250523023709epcms1p236d4f55b79adb9366ec1cf6d5792b06b@epcms1p2> <4e2305d6-b067-4963-b16a-367a254d22c1@nvidia.com> <20250526074845.GA2848800@tiffany> In-Reply-To: <20250526074845.GA2848800@tiffany> From: Zhaoyang Huang Date: Mon, 26 May 2025 16:05:16 +0800 X-Gm-Features: AX0GCFv3RRFaeleKrb89H7YbOlu9d_dwmTcbzx-2c-pCmM-NIVX9X7Gs-4HSeOM Message-ID: Subject: Re: reply: [RFC] pin_user_pages_fast failure count increased To: Hyesoo Yu Cc: John Hubbard , jaewon31.kim@samsung.com, David Hildenbrand , "zhaoyang.huang@unisoc.com" , "surenb@google.com" , "Steve.Kang@unisoc.com" , Jaewon Kim , "linux-mm@kvack.org" , janghyuck.kim@samsung.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 305B11C000B X-Stat-Signature: 3spohn1u1kpirao9hztc3umxse544oc1 X-Rspam-User: X-HE-Tag: 1748246729-85401 X-HE-Meta: U2FsdGVkX1/SgjaH6sCA7JN9L6uqHtjeXG4YVhhEyziETg4hqLIGaC6N0zI/QPHv2YMjRxTfn5kAQeKDgeTu7sG4fZXimo7KQfFdSxVKmMZiP3gdn33KXafl7CAwWirjrBucHlLYps4wJwcqYIbkYMO/SHWAffO7tTJqIYX5U74nTBa3iJ+i5U6ebFiMVMsLpSrDlwtl3V7h++pGvnhieKA1xcLoLK5hCmf46piJIADzO8+fNnRKb1M8KEuxzPSceynFjGPxD2IdC0kzEvkW6lbx46r7cEQvl6/jr7mNuwjjGzI2i4MPcDNpm8909+Y2kz7xvOjCrxTXTjnxJQu3jh43055LRuldJCn0J247bCkBm9T2rln142Zmm71rJmW5bjVeDxHm4DqJkF1Gk5nIO90/NP7PpPCaIt4q8/axzwqjaTdz8ghMYjnXkie84qMt0hwMAJIZVQ7v3slcTAGmo5M1mOvWNVwfHerUOkI+/7XfJ4hXAhdQyaKeBl9l94sjLOL3U5tSzNst3akteZbpSTsMN04PJcseT2oNFGXQ1Uf6LPZoUvoAQ2jzcE4eBc7en//wNmmCo9Ykifp4LF/KXcM6mjPi99/OGncJMxeC0Bd/OiqfZmth/zkqtbJ8+fcTXYFOdp33TrRiaaqpCYJhKtXa34VyHg0SV7lSG+OL/0+3Vw4QQW3vErkerE+dGf+XnB0VBniWkzFaX1GHoLy0KHLLsAo9nqpS2Ypk7fneTIVk2YVjNDKZTABH3u+0Z5GXL6z0JNpx+91r86xb9iZkXt8Y9Dibfo1IXhYEnF8cTJCBm7g+VLuQcZydra62z5RCtCsjW0k8Q37x5UJWoUyremwGVOpCEa7Zi2Bg5z6ZyOZfonoVLS0E4BM46PJnWfm6FtP7mjZVzzfYbJk9PJROGXqmo9gZc7Vqr5jI2rmBuyq0eSG9t3DbShHxI3rduOQ7UyICCy/U+t5Sq4pRjjR MT6RDx37 8M5Yr2+e3sCkF/I9J0BLrSmPaFLsmznH2J7oXymR/evb7ulwXJxTuO9yctdUZyzkF7X2jAk60RYeQFgKwbOnb2c2bazZWJmAd4EKW2ylQOGP3ZjenrHVpJFIftfT/wGqkXZezEHvdyC7aRrawcN5YhFpFfdGSDGHQXaCzVn7CCG7uMgZZTmHNNLOskQdOMRgmMO/+ZNIzB7G5SS1wcw9bpi9b1FIdS5S2zJQZMjPBD/r34EtYETZP6HrTaB5TWo8k3UT38VFo4l67elAWuiKG0yrSmzdAtq4pIo0EShn6Rznmjga2lxlagMFJtEcCZTWbvVx7Y9dZIKzhiDo35rCykRxi5eFOCU/z2KhArSV3q8F7+wNa1eR4pDOX9f9gbq0SzX+FyhBfn1GCnGKeT2HRvQZoXr7CKxUJ2ToKo7Wz5be0DgsOx8dHYb/FSbI1XZncVcr0K68Mz4YGg0lmKXHwq2Xld+RjMQsBW1/0q4x/d7W7HOCyW0JmvEMvgg== 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 Mon, May 26, 2025 at 3:50=E2=80=AFPM Hyesoo Yu w= rote: > > On Thu, May 22, 2025 at 07:52:41PM -0700, John Hubbard wrote: > > On 5/22/25 7:37 PM, =EA=B9=80=EC=9E=AC=EC=9B=90 wrote: > > ... > > > I think this is what you meant, please let me know if you have an ide= a to make this nicer. > > > We may be to able to prepare the patch next week. > > > > > > static long > > > check_and_migrate_movable_pages_or_folios(struct pages_or_folios *po= fs) > > > { > > > + bool any_unpinnable; > > > LIST_HEAD(movable_folio_list); > > > > > > - collect_longterm_unpinnable_folios(&movable_folio_list, pofs)= ; > > > - if (list_empty(&movable_folio_list)) > > > - return 0; > > > + any_unpinnable =3D collect_longterm_unpinnable_folios(&movabl= e_folio_list, pofs); > > > + if (list_empty(&movable_folio_list)) { > > > + if (any_unpinnable) > > > + pofs_unpin(pofs); > > > > I think this is correct, although as I mentioned in the other thread, > > that implies that commit 1aaf8c122918 (which didn't add nor remove > > any pof unpinning) is probably not the true or only culprit, right? > > > > > + return any_unpinnable ? -EAGAIN : 0; > > > > Ha, the "?" operator almost always does more harm than good. > > > > Here, for example, it has obscured from you the fact that any_unpinnabl= e > > is being checked twice, when you could have merged those into a single = "if". > > > > Hello, > > I was wondering if the original problem - an infinite loop when pages all= ocated by > cma_alloc() in vm_ops->fault are passed to GUP - still remains unresolved= . > (To be honest, I'm not quite sure how such pages end up being pinned via = GUP. > Is that the expected behavior, or could it possibly indicate a bug ?) The original problem arises from applying CMA as guestOS's memory slots for kvm which use GUP to setup its 2nd stage mapping(HVA->PFN). You can check KVM code if you are interested. > Would it be make sense to try calling __lru_add_drain_all(false) in colle= ct_longterm_unpinnable_folios ? Please be noted that not all the pages allocated from vm_ops->fault will be added to LRU. > We could consider limiting the number of -EAGAIN retries to a fixed count= (e.g., 5 attempts) to > avoid an infinite loop. Or perhaps in check_and_migrate_movable_pages_or_= folio(), > if the list is empty but any_unpinnable is true, we should consider retur= ning an error > instead of EAGAIN to explicitly prevent longterm pinning of CMA allocated= memory. > > I'd be interested to hear what others think. > > Thanks, > Hyesoo Yu. > > > > > + } > > > > > > return migrate_longterm_unpinnable_folios(&movable_folio_list= , pofs); > > > } > > thanks, > > -- > > John Hubbard > > > >