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 37F2EC6FD1D for ; Fri, 7 Apr 2023 10:04:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A991E900003; Fri, 7 Apr 2023 06:04:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A48F0900002; Fri, 7 Apr 2023 06:04:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 911DA900003; Fri, 7 Apr 2023 06:04:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 845E2900002 for ; Fri, 7 Apr 2023 06:04:18 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 449DDACB64 for ; Fri, 7 Apr 2023 10:04:18 +0000 (UTC) X-FDA: 80654159796.24.5714133 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by imf28.hostedemail.com (Postfix) with ESMTP id 6E11BC0005 for ; Fri, 7 Apr 2023 10:04:16 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=VWJjsNJo; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf28.hostedemail.com: domain of emmir@google.com designates 209.85.218.54 as permitted sender) smtp.mailfrom=emmir@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680861856; 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=vPQGp8DUY8W9IGUTHTlsTXZsaE+QtLNfRWEOu4cQss8=; b=5Y1Vr7WgiRjgVzYKU4v04nrXz1O83HLxJqORBFI0zXmg6jLDvXe0idRHMhz/eS1eRKNp3I 1WIwtWGAZddLUhKr5oy5oFp/GmcFrvOIMByLXQNzHGyyBQk5m7+8G/90x5ZonTpPa3KPhm MUeAPG2BVyNEKYCR+GgpuOY9DerZsJo= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=VWJjsNJo; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf28.hostedemail.com: domain of emmir@google.com designates 209.85.218.54 as permitted sender) smtp.mailfrom=emmir@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680861856; a=rsa-sha256; cv=none; b=EFfBsdcserv1GgKKpADRL2vj9PxKt/I9A19a6d5QCchXQF5tYuq44CnKJk4i2s1XiXFdtD mTk1yzf6BunOqvVJ4a4MoirJlK6vugud4MywilDy+G6w/hZGk0bBpYR03w31KwEsYxAJEI M5ZBE/Bt1tzrxjHGxjcXM987Pb9Xmlo= Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-93071f06a9fso190699366b.2 for ; Fri, 07 Apr 2023 03:04:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1680861855; 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=vPQGp8DUY8W9IGUTHTlsTXZsaE+QtLNfRWEOu4cQss8=; b=VWJjsNJosuq2jvCi47QZbfxKB/4eNXh3nr0Y6k4rsHO9NBcxy+RZaO3tpu1IPvC9R1 r4AyoWtsTC6mZOIFGNcugTFYaMOchIV6Xbh3rJtnw3TSFW3jH1dxAjTv5rIj4uQ+9cVe 6ReCOw8pNkNXZS62YMs4h0zXIeR8H0U0Fex+fln5fUvo1GfYD6EyCdCdYeQ5/674V1uY Fv+nzRUdJq+IibYOLQyvan2jw4MdwXDFZgjBcDZdrCALqelePxYd5BtNox7YpB5AFNG8 pwSUXFXY11LmyfLHhQ2MzIEwizQ0xVEILd3tpmxkWYcD5he/q9xGbxzcDh2OR3Joug5U iBTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680861855; 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=vPQGp8DUY8W9IGUTHTlsTXZsaE+QtLNfRWEOu4cQss8=; b=W/xAYQJmTZfGzUo5gZQLCT/OOTvQ/LCBqtcOwnPyMk0wkhOnpp6VuVoGp5FGh59J6C s8yRtPAt7YimYcgwfZWhqx2WrzzQbmCQC43rouiycDDv7CW7Ynd2OLZyOvP4QDzkBBYD f3Yw9FND/5yc9x3R2YdEWwsxm3b2pZ5pXFSmWe5v4U0AJQSFr6vLKLcl4F6/tztsxi5P kAvltf9zVjJYxaoNWrcSvaBfJj1HWt1y+zZQ3AyOuAkX6rHGjx4kfdAd1FF7SNSZxBrL D8yy2H+YNuA2Az6+CLvvH1GeD/qUDw3CAU2o3XF9p9CkvTQPn6zXE7tbAhH4z9ho8z8U lgkw== X-Gm-Message-State: AAQBX9esblxRj8OHdR03LF7StlUeb5OAhMb22shN9XO88fbuZJLDYXiy 6vxxc26mp8q/AwCTiEgIJiT1ONUZqTLOPJzLoLgiuQ== X-Google-Smtp-Source: AKy350bmDKnskEhSU/k39PBr/b5AfSt9nDX3ik+DWAn0sMFTB4UltL1+/LRu/rfJnj85LVDre3Mnnq/y6fQ4tMnM3bY= X-Received: by 2002:a50:d55a:0:b0:504:7857:d739 with SMTP id f26-20020a50d55a000000b005047857d739mr1000696edj.7.1680861854780; Fri, 07 Apr 2023 03:04:14 -0700 (PDT) MIME-Version: 1.0 References: <20230406074005.1784728-1-usama.anjum@collabora.com> <20230406074005.1784728-3-usama.anjum@collabora.com> In-Reply-To: From: =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= Date: Fri, 7 Apr 2023 12:04:03 +0200 Message-ID: Subject: Re: [PATCH v12 2/5] fs/proc/task_mmu: Implement IOCTL to get and optionally clear info about PTEs To: Muhammad Usama Anjum Cc: Peter Xu , David Hildenbrand , Andrew Morton , Andrei Vagin , Danylo Mocherniuk , Paul Gofman , Cyrill Gorcunov , Mike Rapoport , Nadav Amit , Alexander Viro , Shuah Khan , Christian Brauner , Yang Shi , Vlastimil Babka , "Liam R . Howlett" , Yun Zhou , Suren Baghdasaryan , Alex Sierra , Matthew Wilcox , Pasha Tatashin , Axel Rasmussen , "Gustavo A . R . Silva" , Dan Williams , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, Greg KH , kernel@collabora.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 6E11BC0005 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: q5e3z3qercg3iju5kqdneoimfemjfm76 X-HE-Tag: 1680861856-343656 X-HE-Meta: U2FsdGVkX1/yjt/QYCgrT2LLLk0w73HF3z/7RAXeOfamkxArVJX2lf8QAYiFlcmf0oT0owUJ9GKiooYVWk9RLO+PeTANUqmcfKnaizupG9BlCmvtX0A6kjgcL1RTzUfHLu8IWV3gSUxZ6Q3J5eou/gbvt/R2Q/TTgjTyFUz46HMf2JDjigsVBzNTnAo5jSf2REm21Z8IBv9o50dUPKWa7ODExT2D7/V77JXO+q171IGdOpfuUarih4uHEiz9gugAvDOx65OzDEM7MBhFLMbgrLylNml4w0z/7ldfxvs0XZAuLO+j1w0BHA3KfFx1OuDHszmDqmmpESkfT1QPwkG7/vgK0fQTJlXrBu4HCmB3YFzlfc2krSRNXdh2RIgmGdHe2lixVNifpndmYRFj/OHXEqMD302Hs4rDccIkghryRAXOqJea3jGFVuO33A/4dVjgdAPbzjNxA6d6XmYMEQihqjiGOhiQDiOSLlldk9n8Lsh+7m5y0Ksm3eky+Vypdh/JDZ3KbsmxuVGpetNE/V4Dk4/2+m2jjMqkrgQNtwCFZB96SQkL0sltdDxPgdkBjiFzaJBEVb58nP/kY48J5nnq53UMQjQYuaj7q36aYWYpxTtf/t+a9vHTNKkrOE1NadCJQd/Z9b36FPraMRjy9sCYunqiFc91Bw+rCIUeTTtHo1mhzolLMT9r6KidF0G085ZbwH1RCjWlCMGWQMQrEiIAOcv4VPhj813IUEbYZg5GhqIPLX4Yg6NyroB64Bh5Df8gXsBMqSnqx0YBkADO9j8FF/pWSlNzdiHMqe3+bd1+HrXwyOuj/5+bW6IKlJk3wB+8A36tZNbuQr2UPe2OLjk95cXTxWOKy3vRPgg7PE8iJqKlM8EeNlhmzS1q8mVMizfd1My/vEVHDNoiMHtcoqMYj7trNSXPF/8wJ2+zn4xwrrM6Ecj3GoYHPJr59qor7leAY8BsCTNHOpzBniinHL2 eIjcdYxa hx+dqkxx/kyDO4NcN9P7+ncr4pNUbkGF4aViCXN9XXk+9l6Hmr2Re41cp398q8r9ZPMIxVcpFZ5o/gVk/IZe2S58PJ/0LBNqncgAwFcqH0GYu9hE5DeoU4uimjpap0R5+RzWbSWSnTx34cZjYlVfSYsB2hno7q0Sqd75rEVEVaGgRf08FBk6DRxpAKOoy/6r6NjZxaZNXCt4yXmV8fh7+jWPNsiLAgIfTK+ham055TvKDrRhJU2abaTpgzMQxK9tp9BNCxhiQ3D9BVUJg4ImkVwooiPMQgpEEASoaIiosTRu26n0XkoxoIrkXHtyz4R1JiO92NwkpOOUCWgCm8u9FA0y1CwuEyh40i8MhkgzXzaUlTW6hgrPtgZnB++ruKsHpFcineIivqskaH4Ou1f/OfebnRq2/NjanshNZzAq7KVtQeLa48qp3WQ4tfQ== 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: On Fri, 7 Apr 2023 at 11:35, Muhammad Usama Anjum wrote: > On 4/7/23 12:23=E2=80=AFPM, Micha=C5=82 Miros=C5=82aw wrote: > > On Thu, 6 Apr 2023 at 23:12, Muhammad Usama Anjum > > wrote: > >> On 4/7/23 1:12=E2=80=AFAM, Micha=C5=82 Miros=C5=82aw wrote: > >>> On Thu, 6 Apr 2023 at 09:40, Muhammad Usama Anjum > >>> wrote: > >>> [...] > >>>> --- a/fs/proc/task_mmu.c > >>>> +++ b/fs/proc/task_mmu.c > >>> [...] > >>>> +static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start, > >>>> + unsigned long end, struct mm_walk = *walk) > >>>> +{ > > [...] > >>>> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE > >>>> + ptl =3D pmd_trans_huge_lock(pmd, vma); > >>>> + if (ptl) { > >>> [...] > >>>> + return ret; > >>>> + } > >>>> +process_smaller_pages: > >>>> + if (pmd_trans_unstable(pmd)) > >>>> + return 0; > >>> > >>> Why pmd_trans_unstable() is needed here and not only after split_huge= _pmd()? > >> I'm not entirely sure. But the idea is if THP is unstable, we should > >> return. As it doesn't seem like after splitting THP can be unstable, w= e > >> should not check it. Do you agree with the following? > > > > The description of pmd_trans_unstable() [1] seems to indicate that it > > is needed only after split_huge_pmd(). > > > > [1] https://elixir.bootlin.com/linux/v6.3-rc5/source/include/linux/pgta= ble.h#L1394 > Sorry, yeah pmd_trans_unstable() is need after split. But it is also need= ed > in normal case when ptl is NULL to rule out the case if pmd is unstable > before performing operation on normal pages: > > ptl =3D pmd_trans_huge_lock(pmd, vma); > if (ptl) { > ... > } > if (pmd_trans_unstable(pmd)) > return 0; > > This file has usage examples of pmd_trans_unstable(): > > https://elixir.bootlin.com/linux/v6.3-rc5/source/fs/proc/task_mmu.c#L634 > https://elixir.bootlin.com/linux/v6.3-rc5/source/fs/proc/task_mmu.c#L1195 > https://elixir.bootlin.com/linux/v6.3-rc5/source/fs/proc/task_mmu.c#L1543 > https://elixir.bootlin.com/linux/v6.3-rc5/source/fs/proc/task_mmu.c#L1887 > > So we are good with what we have in this patch. Shouldn't we signal ACTION_AGAIN then in order to call .pte_hole? Best Regards Micha=C5=82 Miros=C5=82aw