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 201CFC04A6A for ; Thu, 27 Jul 2023 11:47:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8D7ED6B0072; Thu, 27 Jul 2023 07:47:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 887F76B0074; Thu, 27 Jul 2023 07:47:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 729496B0075; Thu, 27 Jul 2023 07:47:11 -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 6562B6B0072 for ; Thu, 27 Jul 2023 07:47:11 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 31AA340509 for ; Thu, 27 Jul 2023 11:47:11 +0000 (UTC) X-FDA: 81057215862.16.872CEF4 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) by imf29.hostedemail.com (Postfix) with ESMTP id 57B9012002B for ; Thu, 27 Jul 2023 11:47:09 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b="ujVW/hIe"; spf=pass (imf29.hostedemail.com: domain of emmir@google.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=emmir@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690458429; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=qlpFvFih5GNNFlLVS+kGv2ki2c8Ll+1BvaJ8aRuK9S8=; b=TbhJmfb6R2OaGYOprHHIkStJDhrcoLPAS+8/s1RrwdkxLO5HyyV9IV4wE0qkWKh+l6Yp7F 5LbNj/ML9cJa0ciFCtcV0UpYOgMWk4K7w0GxZdj39E6Q4XwywG/zeClTuOlm0101nFUnQf QtYiEyRuT2BFm7Z/eAgTtAXm6gncvEM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690458429; a=rsa-sha256; cv=none; b=gHrKb5eBzRl3772btpf4K+oNGVCo3HY90GwKcfSZOxO9VgJOjm6TSdpUVEOWotAlFAx3rX hUqXXIpZZBVhaXZ2k8BwL3cZC8LcCiOU4Fe7iZoGC4b968r9SGk5uAOXO/ddfKetFI8ftZ 57gmqHVI/ioG2/gFZjizmivhK8gsqDg= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b="ujVW/hIe"; spf=pass (imf29.hostedemail.com: domain of emmir@google.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=emmir@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-51e24210395so11501a12.0 for ; Thu, 27 Jul 2023 04:47:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1690458428; x=1691063228; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qlpFvFih5GNNFlLVS+kGv2ki2c8Ll+1BvaJ8aRuK9S8=; b=ujVW/hIeAcMqTgtHIGUFEu+YyAKGtrsu3UgdsoRPDPWXPqjjTrGvvT/+TomWCDMNEE smG9z1Hj5QXb9B+hICOfNKa8kLEmzcwPz3qTWSiklR+lXYz3qtHZO91BDB9j8kpe/ATD L/5QiEmFSsorHiikkg8KZV4hqg/R3PHGKYfX+JwX1FzSY7khHOQW/6pLNBQlejhGiton RCWGtAoaSzWHbWhwuUOi8b4fBhzW4zIbFwjr4uXFTJToDdyxMRkCQocqFpTlZz68+OpD l9uc8727PvEqzdQ8oZ3fUvbKoy1+whzmNxsGQZNtg/7ZLynTO+1j4UwVAuNnort5Wltn reMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690458428; x=1691063228; h=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=qlpFvFih5GNNFlLVS+kGv2ki2c8Ll+1BvaJ8aRuK9S8=; b=KxDduKpmez2o40M/pGyXzi9tGtG+yZ7lj5Dw+vMfV6cPEVcyVDCFMltrnE0HX6FcUe R5dfoqxIOpNJHOD4Le1cIgQbqvjTowjA77aX/Dethk58rea9GUPhltQ5aQt7DNk9xhAI wNX+AAZvl0W0DDbETLx7n06zLhlRjKgjWIUPixl4PYQw2d22Mcfpcyc30621YK9qheXm fwqnPJZ21WWA269YsyWDNSH4KefMLbr6N0BrunRvsi8IIYBDJdxtOM0IcfsNXzftPuGH 7+1JV/+MJ/AP5aXu1yjMihpcaXMr1V8DStrBRslegDF+POK5xdUJ2iwCsYcrYUTjcHgx jeWw== X-Gm-Message-State: ABy/qLZX2aEuqIkM0Qo9VaWDKMMKR4+jvEnXFS3JpSHqAx9qcLtlj7yG E94atI0MtcNyxnE2Gq05h2dLIG4NNDxcrVQ/prDhEg== X-Google-Smtp-Source: APBJJlE3Ak6SrPpYNQym9CXnEyN4bE4ktVECrlEgTPLFQyDYNdtVYB9u6qLMyh0cL/BUEGDyLb+GfNuNoJPF3Vc8fY4= X-Received: by 2002:a50:d0d2:0:b0:522:41c9:9b9 with SMTP id g18-20020a50d0d2000000b0052241c909b9mr83558edf.5.1690458427687; Thu, 27 Jul 2023 04:47:07 -0700 (PDT) MIME-Version: 1.0 References: <20230727093637.1262110-1-usama.anjum@collabora.com> <20230727093637.1262110-3-usama.anjum@collabora.com> In-Reply-To: <20230727093637.1262110-3-usama.anjum@collabora.com> From: =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= Date: Thu, 27 Jul 2023 13:46:55 +0200 Message-ID: Subject: Re: [PATCH v26 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, =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 57B9012002B X-Rspam-User: X-Stat-Signature: osi9ectzuwqjizg87s96bq31sr987aga X-Rspamd-Server: rspam03 X-HE-Tag: 1690458429-650060 X-HE-Meta: U2FsdGVkX1/bt8UtVuYZ5d9HfW4dyQgAHlfI47hGyO6xnQy+YaVV0goqc4B549LRGOu90CIOeMNG7cGT7chHicD9HOXmhNTxKQNc6t5q3+oX/u+Tv353CLGUok2Ky1TyRyvt9AR7CI6+tNfi7VV/WXH18PjFi3DQsPX6cwShneXK1R6fj6sTb14yWzKvoGUuvEQyGA/fCHFFd883vJMNhiSOJ8iNAtfnPJIJCGshuL9U2Ougxy84/4GFbeBFEYchzTl9B6SsNuD/XmhJdMMtmlWLpCLdrrjfxRWCc43XJ8Dli3wT+F3IcTxRF80hLsRpecx70VLgbwX1jxEhbZG2ZRkM+ZunDtdXwGJ0N7xbhuLnukb8ykqSvCPm7QbON/s/lPaOdoVkZRgA/W3nkDY2lo01bFohj0vjKl9jeoOvqVxiLQnqfdBz9OZLEmMkKcy0+moa8Uc9/QbFGkyppfwXMcYryn9OMA6kcxFHZ21JKrDcspF9Ms9MQ8GT4/XKmkDoCWv2eo9n8aFXSJGGZYfzsfMjSLDgEthZuHl+hpWJrYFSvZ2uC/6p1V56vbJepyIqen/r6tVkvBRMP/TxzmOdJgVtckqcGDGReTJFTl4/zXL1CninpvQJ/SO10/wCgR2uCBIj/nxaTsLy8kd5nA4AcwdV+DFkAoP3GaBDcv8Ww22odDpPkrJnWDN8LLokgM0OtV9sBx5Bxln9bLnkRX3o9p2nqrmJDWMjI0zg61Y3xhTOhWlnPsBcIsegRpYENNE3fKTJjkhZeYhWx+DDEMKqXnELKbl4PrwJmOPoqPixX0068DeQFn6RzJms2z7rRcJwwL5+CwmphsM5Q97T2PbJxDoIMqiE2C43JKJ0Bne4QQR9nJH6ATu8+WI+xX33CjYNGhHmGdZoJskxX21DBoBJVmhmTgSGTQjwjiIa1cojU2QfhuuW9Dl2lGZaoQlsI4yUrNnSvXD63bvC3Q2Fz4B uv7afKGz EB83oD0liDBS9rlF1GJkcr6s0tcPO2yM0DIeAE5wTzSnG1dRzdHDXrjHSeEIweGmnzyEZWad3EXqt/OVPm612VKZUILoKXB1tCRCfqVlweMGNeiTKKjaGi4Qni33QjEdNlSwjszukxBKfKbAgZpTU9ZvR3ooWFFFs/dRA3wRcZ65nlBcf1/AIqz1s2aQYcqQn3/hNbdeoyrIi1pn8EJO5BjtCecgSUYDGRQiP6oRnufuPcilPJAgosdy3mn7peqR2MuQa7XWk1asxk0znUYcEK45Q7nxh5oa+pRycCkKeuKiTjI5BanUd0mOE93JPeQSEiHb+sLEz1yekoWtgvquKeT/KNu+AcpES9xWDKlGxXP9spvE= 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 Thu, 27 Jul 2023 at 11:37, Muhammad Usama Anjum wrote: [...] > --- a/include/uapi/linux/fs.h > +++ b/include/uapi/linux/fs.h [...] > +/* > + * struct pm_scan_arg - Pagemap ioctl argument > + * @size: Size of the structure > + * @flags: Flags for the IOCTL > + * @start: Starting address of the region > + * @end: Ending address of the region > + * @walk_end: Ending address of the visited memory is returned > + * (This helps if entire range hasn't been visited) "Address where the scan stopped (written by kernel). walk_end == end informs that the scan completed." (To make the userspace life easier, we can copy `end` (only) in case of full scan completion, so that the tag is retained.) > + * @vec: Address of page_region struct array for output > + * @vec_len: Length of the page_region struct array > + * @max_pages: Optional limit for number of returned pages (0 = disabled) > + * @category_inverted: PAGE_IS_* categories which values match if 0 instead of 1 > + * @category_mask: Skip pages for which any category doesn't match > + * @category_anyof_mask: Skip pages for which no category matches > + * @return_mask: PAGE_IS_* categories that are to be reported in `page_region`s returned > + */