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 450F6C636D6 for ; Mon, 30 Jan 2023 21:34:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D7E1F6B0072; Mon, 30 Jan 2023 16:34:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D55406B0073; Mon, 30 Jan 2023 16:34:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BF7256B0074; Mon, 30 Jan 2023 16:34:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B1CB26B0072 for ; Mon, 30 Jan 2023 16:34:58 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8DB8BA0BA2 for ; Mon, 30 Jan 2023 21:34:58 +0000 (UTC) X-FDA: 80412770676.04.AD681FE Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf30.hostedemail.com (Postfix) with ESMTP id 6981F80015 for ; Mon, 30 Jan 2023 21:34:56 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="b45pZdJ/"; spf=pass (imf30.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675114496; 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=7BSxtpSj4BrAFBe1Q7X5Ylg8I71bsH6V8VmhxdA0ZpI=; b=C4hPrwb5j3OvWX9PNljWV05obXK/oHDfE0BbBAjh5E2yyotnUFOvupvoMYr/NNwDQD1j2z GbmqNAeZYGhwSQnQEREmAVkAZsamOUzMXHDwyV2vzwS3aHaexpUBclQPEm+cXR3Ep701Na ZyPymxnTOQlDz+xkeyOK1IcBTDF4nQk= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="b45pZdJ/"; spf=pass (imf30.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675114496; a=rsa-sha256; cv=none; b=WkiKpLbmoFRMtuXGQzVX/x8NWwFWJxBCcDnn40FocTFhCVilepFU6Z4D+3t3kyNJkzyqES bOng2rcSDU4gK7qM0LdmsV1oGKqQi/T08bgoMl472xhjbwz6te+vr02IjKZ07vP+z3GOtL feZz5na9iXMn9rRFZwDXZpMshqDLe/E= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675114495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7BSxtpSj4BrAFBe1Q7X5Ylg8I71bsH6V8VmhxdA0ZpI=; b=b45pZdJ/S2CxkLY8rLjvv+6Z4sxzUYOb/4R/i8JJ1OMSHAtCPPayedGLMKoe22aGlEhQdO BxEs+g2LTsXMqE27LZaKPrIptmme47MWhXi2/5PB1lX0OV/rg/tMg6vGshcToxIg1IcKs9 3twU2hqfSiyNpsuf6dcQGXnkSkFTNz4= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-76-DbeHOLpZNVOp-rTu0jg6sg-1; Mon, 30 Jan 2023 16:34:53 -0500 X-MC-Unique: DbeHOLpZNVOp-rTu0jg6sg-1 Received: by mail-qv1-f72.google.com with SMTP id b19-20020a0ccd13000000b005374d115edbso7219914qvm.19 for ; Mon, 30 Jan 2023 13:34:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=7BSxtpSj4BrAFBe1Q7X5Ylg8I71bsH6V8VmhxdA0ZpI=; b=2jVulrfje/6SW9uMuztHQ7RbdZoI9Mgld16WDNgmUoqswjLi2dAxBzd8Jy89434L1C VtOIs7891Lrs5KoGPatYLJcQxOcM8cGj7ok6HZFKb/oskVU2Rpx2DxK4/QfKwdA5Sw8k ZKNDHROBA3oUx+4OHXjqtLv2Fsa7XydH5uepfkipgDg4d6c4h2Olk7Wu+F5srrZHN1iw 9odkSctkX4ffOfg6JLuCJQy/DiXQ6Gz0g/goCP/qOxgc65arAFx651l8jko243Ovc2Fi HbOaIDm5cuBQVaIy35ezHYEdBkMUrEF1ggEj6ahYxpwEFmlXSIO0JOvBnlw5adqmFWEy aElA== X-Gm-Message-State: AO0yUKVQdnUfNWmgjw6iTZNXe8abUFTZxdixmkmpSyPZTlV6r0tj81XM YSY38R5rkAj8v86W8i+dCcXgeIq3UQ6SP/F7qLydcqhZcK+4Qkue537e5j7oVdVzdGpMdPs2W4r CPNRjP1CgIhU= X-Received: by 2002:ac8:550b:0:b0:3b8:4951:57bb with SMTP id j11-20020ac8550b000000b003b8495157bbmr3383741qtq.5.1675114492268; Mon, 30 Jan 2023 13:34:52 -0800 (PST) X-Google-Smtp-Source: AK7set+kUbZekNhe/Em61clYhE5CvtRxiubqnW3sSZZq/i2jVbSztFLD9L4HgdjzGzOWpE7h6EK0CA== X-Received: by 2002:ac8:550b:0:b0:3b8:4951:57bb with SMTP id j11-20020ac8550b000000b003b8495157bbmr3383706qtq.5.1675114492023; Mon, 30 Jan 2023 13:34:52 -0800 (PST) Received: from x1n (bras-base-aurron9127w-grc-56-70-30-145-63.dsl.bell.ca. [70.30.145.63]) by smtp.gmail.com with ESMTPSA id l3-20020ac84a83000000b003a5c6ad428asm8589540qtq.92.2023.01.30.13.34.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jan 2023 13:34:51 -0800 (PST) Date: Mon, 30 Jan 2023 16:34:49 -0500 From: Peter Xu To: Muhammad Usama Anjum Cc: David Hildenbrand , Andrew Morton , =?utf-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= , 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 Subject: Re: [PATCH v8 3/4] fs/proc/task_mmu: Implement IOCTL to get and/or the clear info about PTEs Message-ID: References: <20230124084323.1363825-1-usama.anjum@collabora.com> <20230124084323.1363825-4-usama.anjum@collabora.com> <01bc1428-5340-5a75-6876-417194edba39@collabora.com> MIME-Version: 1.0 In-Reply-To: <01bc1428-5340-5a75-6876-417194edba39@collabora.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Stat-Signature: 1kexqe77bqfknhty1nruj78j4jueay73 X-Rspam-User: X-Rspamd-Queue-Id: 6981F80015 X-Rspamd-Server: rspam06 X-HE-Tag: 1675114496-765055 X-HE-Meta: U2FsdGVkX1/d0sows60CH3ZTd4NewpbKOPFiMqsWuYXWEiGthIs+Jf7G1jzLu9IsIUOm6t+vb21jqTo5ooS80kUjuMbvSn2XT2CFy6d0y80mZNR29tlquqcst5xD1Le4rDHjiIAEM9bkNnMYjNS2LMIf6ZluQ/HjJgRcYtHpeC830Hm+mwEoWHH3QA2DATjbOwYEsq9gzDiFkFm1HZnEmAiLQdT14LV759UPGy9JJ90mFPZt5Duicu0NT06PLFGNa4qqYEtk8/InaGcxmFRebfegmLUvsMpf7QjNtthwJTNHf7LpWFvcfwghwC3JtpyxQWYOdweXKwWPyNRgzM216IK0718CZwnOkXYJ2INT8j+z5xQcvwgeQYbd59UcHJO3MQ4hCGYGV4S7BnuVXfWrhXfg+01yIuECS6ZMQtASTH6NdCMcUQ2fko3NXjIYR0JwREweez/xnxUPNHQFPs62bk9NAREIb6XPAoizVUBNsR4J+VkxICMkBnwxqxJNQQMrUvY35NaCV53H5Syob5vP/ol3/D5UYoU952B9pha+yhMhQqa7OyqAPYtuGPLqjBVBloGaP+gSzc31Joj56FrL183nldijYVZ/VNA6FYyW6VZHBcGxubf8o7tpKkrieLyojr5GzuRMNlT6hGVekE+CFLInbfY1IT51JuFElVl6XW/Txss9hKOOhO49azCQssJnHY6p4IBPIzdmM7TSWHrSDQePDIMf4ItZmWbdCNlPQglw7Dqcsp+4JFyDRcElNGrNLOjVK76+sPY5RURdpu39hYibJtuimAD9xtSqHpOIojY+9VSK6NN8UY+gmSnGQe5kdKZAWvyhXjgcMcY+AllHQXotSm5jet7N+nInCQCnFenLenk7x6ZCmbqjRsgFYc4+HPk2dM/jTzd/co5GdzWptmPLIWiXaaw7d5gJmjaC1zc8Z2f6giiHEaGWQ7U7S9mvKuzYqn9DEZ1CxVE8fgj QmVnM2a4 tLQy6sr47pPYVM3PaSjmABbflR4eguP+SGSdV74oAL9GpadTFXiUbS1kHFFbTpPv8H8Kxs/XZfba7n9N0tRuf/NjoKr9u/8QgnuINK/+PJzK14W9KoAuX0X2zg+pVxi8N3vDawI+L7HMAlOhOPLxKKfyYtI8UpkPEI2F1NKzOpIbm+un4KBuRaJp0s6nK6tz9E74nT6x4frv5w2qS9NlhE0FJ8Sa8E9NdZoby1Ou9ZYhw+VnqLV/YtiSAOlExsqk+IkcjTQIfvY1DgaW8RK/pU5C/HnCsSumv3ytIvNrRj5E54PiqywZl/fN89CXc2MZPvgyBasVekPbqP3O3iNKve62cgjXy5sFp/tlucHRNWKeBiwT5eZu0QdaCU8CtJBbYWzsoRjkxXnQNVojcAgBdLANL3b6so4boZj6GBMuaiwuFILM= 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 Mon, Jan 30, 2023 at 04:12:25PM +0500, Muhammad Usama Anjum wrote: [...] > > > >> +#define IS_WP_ENGAGE_OP(a) (a->flags & PAGEMAP_WP_ENGAGE) > >> +#define IS_GET_OP(a) (a->vec) > > > > Having a->vec to imply the GET is fine, but IMHO not as clean as having > > each OP a bit in the flags. > > > > How about: > > > > #define PAGEMAP_OP_GET (1UL << 0) > > #define PAGEMAP_OP_WP (1UL << 1) > > #define PAGEMAP_OP_MASK (PAGEMAP_OP_GET | PAGEMAP_OP_WP) > > > > ? > > > > Then a->vec requried for PAGEMAP_OP_GET. > I had something like PAGEMAP_OP_GET and PAGEMAP_OP_WP flags once until I > was asked to only keep WP flag and vec != NULL will imply GET flag in a > previous review. I'm ready to change again if there are more notes on it? Sorry to know that; that's somewhat frustrating when you need to go back and forth on subjective comments like mine. So if you still think your original way is better then at least you have two votes now. :) Your call to choose any, I have a preference as I said but not that strong. [...] > > > >> + struct pagemap_scan_private *p, unsigned long addr, unsigned int len) > >> +{ > >> + unsigned long bitmap, cur = PAGEMAP_SCAN_BITMAP(wt, file, pres, swap); > >> + bool cpy = true; > >> + struct page_region *prev = &p->prev; > >> + > >> + if (HAS_NO_SPACE(p)) > >> + return -ENOSPC; > > > > This can be moved to below [1], we should stop scanning immediately if the > > condition met. > It would be definately possible. Wouldn't it be strange to return error > when the operation was successful? A function should return error only when > the current execution is unsuccessful. So I'm returning error only when the > space is full and there is no space left in the buffer anymore. I would expect the user to always provide some more space than they expect because the merging of page_regions are kind of unpredictable from the user's POV. But yeah, maybe you're right. I'm fine to keep that as is. Thanks, -- Peter Xu