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 070CCC6379F for ; Fri, 17 Feb 2023 15:19:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 498C56B0072; Fri, 17 Feb 2023 10:19:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4480C6B0073; Fri, 17 Feb 2023 10:19:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 30FB56B0074; Fri, 17 Feb 2023 10:19:03 -0500 (EST) 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 238AB6B0072 for ; Fri, 17 Feb 2023 10:19:03 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id D79151C48AC for ; Fri, 17 Feb 2023 15:19:02 +0000 (UTC) X-FDA: 80477141724.06.66926A8 Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) by imf29.hostedemail.com (Postfix) with ESMTP id 0AEC7120024 for ; Fri, 17 Feb 2023 15:19:00 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=ClA2++cy; spf=pass (imf29.hostedemail.com: domain of emmir@google.com designates 209.85.208.44 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=1676647141; 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=FU0XLrtzMAKjlRYy7HgclTRxusFFqyOt4HUxHYauwNc=; b=65ws84endyph3ypfky/Q8mv2TZpkLDApAV4ZvxEctFMV206Fy7Mxm6ND1KUi0FzDWX984a 0MGH4onKxR16lVxPzZH/8nuMHoDE+ZNoVTccj+vJ3ULwgp8tp3SgaWDb2ZLgrvLV5ez7N1 guCXpiZfrlsJZ14KFEX50kw4gI5XQ6s= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=ClA2++cy; spf=pass (imf29.hostedemail.com: domain of emmir@google.com designates 209.85.208.44 as permitted sender) smtp.mailfrom=emmir@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676647141; a=rsa-sha256; cv=none; b=JgaPr5bmHRH4g7n9J7HuGkX2js3zqUjxNAbRAoS/c2Fh9SZtS9a4Ki7YnnszJQH0U/Wzy7 Aj41Qe51VliDPwvVOYMxKyFaUiMO28/8mjqR35OgkYcxiRHAerK5X+IrTBygdUlt914H5v xZSPOLQq3tjymHgX7fs0Hcr9tolpIO4= Received: by mail-ed1-f44.google.com with SMTP id er25so5283302edb.6 for ; Fri, 17 Feb 2023 07:19:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; 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=FU0XLrtzMAKjlRYy7HgclTRxusFFqyOt4HUxHYauwNc=; b=ClA2++cyEmWIvrCX/JLkk1qEq68q05a7YodtcNV8zGQp1BNgn63XDxPeGO7ySUcDYu d/BePzI2UZKdbMBHeF/uusiEID2WsgF/lI0ZO0877Ps7RzA86sMfjjc1Z3Khofm4S0v8 KkPGTDYEIR3Dxr25JpZ4QoJAXrpm2d2qU343QGPZOx/rqhd+s5q4LvOrP06XV3EobMI4 Y0Y5hq1fKFB9aU2sdTAL7uSoo9pGWeekuKrycc5FhIEWiP/VLCsAayu90Nvtw+OYrhBN L8xmKmDLgZpok4Nfhs2ZMXm6azC0AeyitLgDGNi3iJS2nEB4vZskhWphpKChMmYyxShV RLMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=FU0XLrtzMAKjlRYy7HgclTRxusFFqyOt4HUxHYauwNc=; b=oBGKSYK86XJixam9qlDjIwbZlX8Y8fHl7R+2R+En05N0EThOd/yghuGLuI+Y5FiRUV vDSooduETsk1vIQU58qB2DEpoi6qfegtmOoZPDmZYoJXeY0adyDufWNbz1gP4KuJOwBP Vc2M8bglebdMK0UQzX/IF75tnq414F2Iik/0Enp8ydHA8iAEB4I98l8jW0Yf6EWS5Hbj yQ5A3ZxpaHoF0a953kidrgGj1CyBbyF5EmgFjT3tsPnwYokrNcMWaobamC3BnLCr5YR+ wXycbekA6hVTSpz1Edq0f3gzOVtXJBQIZFkDW5rR3H/wi3xjMZH1/tRARcbYNTlK6Oex C1uA== X-Gm-Message-State: AO0yUKVytASQc8VRtTUzJnmr4ZSrRKpld/hmWwNd49ECTPiOoL8VkVxN kCA+YjGTUJQgQz/z4O07/3/5wr/VQgwYxGDu32Wdiw== X-Google-Smtp-Source: AK7set+sX96S/Lh1UKWLv7UWH9jx5/d5nrpnfKpxlGGC/JiPWb4tlRxD5PVoIjiClVPuLTYAaerKW4sYVYIH/ehhHR0= X-Received: by 2002:a17:906:48c9:b0:8ae:9f1e:a1c5 with SMTP id d9-20020a17090648c900b008ae9f1ea1c5mr525133ejt.3.1676647139268; Fri, 17 Feb 2023 07:18:59 -0800 (PST) MIME-Version: 1.0 References: <20230202112915.867409-1-usama.anjum@collabora.com> <20230202112915.867409-4-usama.anjum@collabora.com> In-Reply-To: <20230202112915.867409-4-usama.anjum@collabora.com> From: =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= Date: Fri, 17 Feb 2023 16:18:47 +0100 Message-ID: Subject: Re: [PATCH v10 3/6] fs/proc/task_mmu: Implement IOCTL to get and/or the clear info about PTEs To: Muhammad Usama Anjum Cc: Peter Xu , David Hildenbrand , Andrew Morton , Andrei Vagin , Danylo Mocherniuk , Paul Gofman , Cyrill Gorcunov , Alexander Viro , Shuah Khan , Christian Brauner , Yang Shi , Vlastimil Babka , "Liam R . Howlett" , Yun Zhou , Suren Baghdasaryan , Alex Sierra , Matthew Wilcox , Pasha Tatashin , Mike Rapoport , Nadav Amit , 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: 0AEC7120024 X-Stat-Signature: a97mq4mizg4rbgem56cfukaybju6psta X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1676647140-505451 X-HE-Meta: U2FsdGVkX18JOW9sbb36A70rTfXKKSxPVieIp7ETSkO6BH1/EWJ/kWbmQldyyG2PC5NzcUINUyDFsmTLLRJiPEf9QTVvJ2oEgPX3NyDvSumAuVkGRT2ndxqwd6Lp2LCizJcWbBcV1k0xQzpuFRiMZK09PRfH3AiWlshBWNpj9rii1smnBvYaTr6LeizYrMAJwfTAw4C2lNGTapR+McTfTbECXBTL+tpSJ9yqigutjjwBvyhD2Yj+grLqW4s8LomvSIVeWMyEfNykwjNBZx0A8PLZ6t0c/0niKDqUneslKP/6m+DUhsZZq2TsA06PWGqJGm/dvukuycp7tYh8KtybmAeySXMJh/72/jsDEoVVjjnB+CJmM2+g4mwsGnXYCe694YacMei0vdqvU+cKmWbiUTxrKjmr7RIcvHgpCdW9Q93KX/p4WgjME09oPc/Hcdx5ErXP23b/RxxB2xCZ68+/QE4pt1F0wSbVfsUEZCLRsoe1HOHEhSEZgbsxKcbf7ICfrH8ljZds+FoKE7tU/201u9mH42rMxaaHUIqs0sXEYxysQWOQBc9UTMgFoUHOBXB8eGJaY7z/Q6QXqttmE7sjzThiB95i7br9kI0fNiINGiw9ju6LzNMZRpxdIduyCuOQoUcPPd74f2CO251mHhbjLUm0iJ5iHqnRZMJHi4HZmg4TlwCQ9Bj/jyXzIQ3UQjgoaz5Xj/T/M25TljRsQVMCBLsqRpjtj9u9BHB/WXhNdETgZ/YDQeT4xWoHJsptNJjVOLckGm0BPdwRHEB4DU93/5yWx9mSQnOGUarni4f/Tq13Se9eJSsvFWHpvZ+pg5kUPqBVTrku7H8A3gDO3Hgz/I5CmbttpvW9r/V9kwW/s3jGJ5Y+Rr5WPNtypS5uwbosXQmgNm+eunNyOSqVlgXjnpP+LBspg0S8EqaDSJBE7gQG8AC+EifH501TLouZ1oNFcLyY26uXfVD75NLgtbD 910pwTQ8 b7AEuRje48+NOE66ksnFS6jAcA+XoL6Ne/VILYXBjHDCUq8Rv6AhgZyFNOYDfmc4obUE+VFZg73m/ePdNh7Pj/4SjJkJgmqdPhYhvQxqgPrN+ZanOwG9SCu1TDJ8aNEbM69HWiCU0JUFl6r/Mv6O8ZVJoVbzhw6kiZEw0kGzViGH+1kEFjhTtYzusqFuYyBSNv0/6NXmHFgMNoX7CtGC3kVQCn5jYs1xXzaPye8TfIskoo3+NNC+rrOCdfzDL7h5NtReT/KvshrWRsKGsQcneyD0imwtMz3HbS06B28BfSUxt/BKwPreqV+Ha10fyvZaZIU2kLhjwv1FCZ8hMEoJ7GD+jwlHJJj3qKLZlmaqjNR6Ppx2TjgaBPaNhGOpJswHP8rQqCEm5aTZZ4k65dNpje7v3P1kB9gVDibE0PvPK+vuIvTc= 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, 2 Feb 2023 at 12:30, Muhammad Usama Anjum wrote: [...] > - The masks are specified in required_mask, anyof_mask, excluded_ mask > and return_mask. [...] May I suggest a slightly modified interface for the flags? As I understand, the return_mask is what is applied to page flags to aggregate the list. This is a separate thing, and I think it doesn't need changes except maybe an improvement in the documentation and visual distinction. For the page-selection mechanism, currently required_mask and excluded_mask have conflicting responsibilities. I suggest to rework that to: 1. negated_flags: page flags which are to be negated before applying the page selection using following masks; 2. required_flags: flags which all have to be set in the (negation-applied) page flags; 3. anyof_flags: flags of which at least one has to be set in the (negation-applied) page flags; IOW, the resulting algorithm would be: tested_flags =3D page_flags ^ negated_flags; if (~tested_flags & required_flags) skip page; if (!(tested_flags & anyof_flags)) skip_page; aggregate_on(page_flags & return_flags); Best Regards Micha=C5=82 Miros=C5=82aw