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 69BECC76196 for ; Thu, 6 Apr 2023 21:12:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DBC9A6B0071; Thu, 6 Apr 2023 17:12:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D6C6B6B0074; Thu, 6 Apr 2023 17:12:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C33C36B0075; Thu, 6 Apr 2023 17:12:45 -0400 (EDT) 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 B04066B0071 for ; Thu, 6 Apr 2023 17:12:45 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 753E1C11DC for ; Thu, 6 Apr 2023 21:12:45 +0000 (UTC) X-FDA: 80652215490.22.CBA47F1 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by imf09.hostedemail.com (Postfix) with ESMTP id 9FD4314000F for ; Thu, 6 Apr 2023 21:12:43 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=DrBepuai; spf=pass (imf09.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.172 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com; dmarc=pass (policy=quarantine) header.from=collabora.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680815563; 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=6rTA/eN9fq5dfeLVAaN43S1EFq0nF1UBG3xK6nrK5bk=; b=v5Fuc2JXjWakCYaYPlE7A9YYzj+GT8aigckwtn9JskhXMWgRM6/Fb1wrIGINJfFGOOBcwr qNi8mGzriu+sA3rAg3cvrhRuvU3IhUHu+uaUllS4PA1VvtNjrsBmoMHB2+j826x3cE0K+X /0SyADZg8FIY0ulobYN7t0dq/FZXr44= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=DrBepuai; spf=pass (imf09.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.172 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com; dmarc=pass (policy=quarantine) header.from=collabora.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680815563; a=rsa-sha256; cv=none; b=bKkQ0t1qtkTSpYUVup1ZayjNSZW9lzHokJyiFRrTS8IBC8e//qNvTGQUaeraJaCwTJfXsh 6PCTx3puJwrZbUwpABB30NAYpMSbogXPZT4ltCXRJEouPQWgDCzD/Kkc1EUd3zPteEQp5n 21bFk63aH6479QEfIBOT8bsMEM3fUlg= Received: from [192.168.10.39] (unknown [119.155.57.40]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: usama.anjum) by madras.collabora.co.uk (Postfix) with ESMTPSA id E1DF666031CB; Thu, 6 Apr 2023 22:12:35 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1680815562; bh=jpv185g+czi+1tMEl7JrJg752pEJcPwtivD3XpZ0TXw=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=DrBepuaie+n9o6W1SSg0a0FDPSz0KooP8jIDuIrlC8GOYZwq5SG35XM9e2z8HzpDb Rzkga9U1BnxIDZVnxhWOiiekt2s4E7+JisS1+X2AQoZjtBXcpEXwiX9Rjp7uCfOz4F JR63zOkdQGDf35/NbuYvRx9q0IYvMDelsStedGQc7NbDHDdkvWWxS/STyNtn0RTIeX 7Q6KJm8padayOB9G3s2dUYCkAwlSN9OTRhXzGOfEzC8vnDQgP4cClBUGPtXe8OXNYT NDrh+5gNUuM5R54q89+uxsIMK70bC8CE0UxFfOZmeH40c9wSXs7yifEPwR3gc6CsEm qevdtb/oURlaA== Message-ID: Date: Fri, 7 Apr 2023 02:12:31 +0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Cc: Muhammad Usama Anjum , 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 Subject: Re: [PATCH v12 2/5] fs/proc/task_mmu: Implement IOCTL to get and optionally clear info about PTEs Content-Language: en-US To: =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= References: <20230406074005.1784728-1-usama.anjum@collabora.com> <20230406074005.1784728-3-usama.anjum@collabora.com> From: Muhammad Usama Anjum In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 9FD4314000F X-Rspam-User: X-Stat-Signature: xor3p9ghadwuhu1gw8jx6zdkdyb8h3za X-HE-Tag: 1680815563-627668 X-HE-Meta: U2FsdGVkX1/YrGlIbZ+N70B6A+H+TLtPHrZrGLjAZF3d4x0JA5+MiVuZQJ7QVsCJADNIeVAVp9mHxqcpPDtkBA6201Ek/j8HxK+kjNQQ+PX1gNWWmX63M+z8JtKVr1Rw1h9pyFV8aji6VHszN+4y2blG7dNR5IOWtBwNsfhPE6ZF8CmEgkSp9aqKRfa28zuzDXYBZ/WxrEX58VZBgh/OpQ/Km7Yu5PV/Ak1oky3Bah4TyGCmCG8TeahIU0ofP9wzV2f4KHw2MSP5UKpxXIBOl8agNw3Ir5D7fuZPsoJFpbIVCKCGaOuhftQUN9eBpK0rCbw5sk4PekOQkqXyr/ZT1g7hWh1TuQDwn5Odg9N0HV85Y0JrkZ1vt7L0rjAtb4+TlsmNbPDi6RcK3QL7Yf5w4dlrNrb3sHH0Xfo3F8j5fxzH8GTJFAyaPssUzmyphkoYSzq8xdLgBu8jtFhyhQqpHXdAa0WHwBpF1YsVJTD3OPuQdVjOicbfk6bp1jRwNA5SqA1b7C06h6D7qcN9Elk3WUdnhhQW1JQJCQt+P2cXx7a1uhxhFhiyHTyr5cHajA4uxNk2+JDWyS8S6qqxHFfPQ6IE0BoGlwIe+82s/tz/58v8nTZ6e5ixHCeStXi1RIoc6nN7bERLwjcmLRuoQ8mC3xizrJTgoiGRtBmJxhxgZ8RZnKbwAfeCwb53g4wBqPo8sfb4BYyZFudZnh9jO7xebGxxHIlEEo/JnBNTulkDGr9tU8pfoa1raE3PS8+wbxJ+LYOO3aALN7PqryzSaSclaPBDyimwDaKPEvDk2YThGak4X/gACLoxLms/aPg9QoW6u4+OWs6ogehBv3LcTiZT8iRkBuBhp49k7ROGnTe3dRKWeC875Y3jnkZ/Dle9yQBQgbRIL5Db3Y0LQriJiH0GBuZEmrOsc+Qh1GAUoqkWryCEsGxvd5RGH0KkSqvO2xeCmxaQRwWZMUJyEVjrMkQ BAyGpHFt N/pgtrMF1CBU6bC6nv1zLiMNjdYKLrNsstLi2XWwBFUY7NkxtXpVH/onMkggcPkgcEFmr+PXALviW1fV3+01CtXRd+MmAYo423YqOsE1yiVtvRd9PWeYdzbtcixX5SK8cU43dhtSjFXmV428vmzeVchcMGIIOaAGW41ZbO1ggt9ekn4Rj/ulRcWl6AoKQKaD69o+Im8kmBwQ8w8OsTQ9VC1JoHnBkmcxqp3ajdJeDcl44AscD6etO9siWYW4INtwxXOtYL0bWvSoV9KTN6ur5Uufcen0CETWMGF/F4+x/RE2yoY/BGZN9hI31784CWd/pZbLuRxXcnyKo6+I= 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 4/7/23 1:12 AM, Michał Mirosław 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) >> +{ >> + struct pagemap_scan_private *p = walk->private; >> + bool is_written, is_file, is_present, is_swap; >> + struct vm_area_struct *vma = walk->vma; >> + unsigned long addr = end; >> + spinlock_t *ptl; >> + int ret = 0; >> + pte_t *pte; >> + >> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE >> + ptl = 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, we should not check it. Do you agree with the following? --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -1957,11 +1957,11 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start, return ret; } -process_smaller_pages: + if (pmd_trans_unstable(pmd)) return 0; #endif - +process_smaller_pages: for (addr = start; addr < end && !ret; pte++, addr += PAGE_SIZE) -- BR, Muhammad Usama Anjum