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 8AEF3C7115B for ; Mon, 23 Jun 2025 19:07:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D00E6B00AD; Mon, 23 Jun 2025 15:07:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2A0A56B00AE; Mon, 23 Jun 2025 15:07:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 168EF6B00B5; Mon, 23 Jun 2025 15:07:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 0614C6B00AD for ; Mon, 23 Jun 2025 15:07:02 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 96647121925 for ; Mon, 23 Jun 2025 19:07:01 +0000 (UTC) X-FDA: 83587597842.18.7F30900 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf10.hostedemail.com (Postfix) with ESMTP id 22D42C0005 for ; Mon, 23 Jun 2025 19:06:58 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=EgU59Sfv; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf10.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750705619; a=rsa-sha256; cv=none; b=RuLRgSFi3k84j52X4YO6t4BRcGrwZNDD0n/HXvOFdY1460Z9ru1z9Ibm89GEJ1RnX4aaE3 JSjvlfrIYi2GxaO8zyoQd8BwNyg8ku6dJsic9Fr78j7db/DfWiBvAy0kQcd6KxO0nFCLyU V8F4D1WoWWeyLxVIFEVGyYQMigG/S7I= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=EgU59Sfv; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf10.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750705619; 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=v6+xsrJx+U/L1M0U5bQLUpjYxTAKwKf8kRtHgQOrM20=; b=1+3A5KoGuEsNIzfTQL8mB4beHEI8AwaabJPpRMJlWKpkPbmEXK0ebC3v2wfUe4ww0N5pU3 MTK+KGD4ref2qYPsKG71/afRxnYWZjfI0jX2mAOznhL+JMCxf5vThIfWKDZvLVoE2LQY7F C0qpK6hoJXSaVCka1M2mazc+A/IRQSg= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1750705618; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=v6+xsrJx+U/L1M0U5bQLUpjYxTAKwKf8kRtHgQOrM20=; b=EgU59SfvStJ3P005jwND2sHer24PjfnSIv1pDQ2OgXGWd+avKiymGMvUeTiHZOEEGXvqG5 lcj4k0W2Z3o3XkISRwy1U2CFT67og9Gk9d3pXqJeiZC7gq92K5EabYGUd4CtJcSH262RBb 3T4grlOfxHa597m+4B3+/UTb1mAqiCY= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-355-KSbeeTd1PLCO4VFabzcxDA-1; Mon, 23 Jun 2025 15:06:55 -0400 X-MC-Unique: KSbeeTd1PLCO4VFabzcxDA-1 X-Mimecast-MFC-AGG-ID: KSbeeTd1PLCO4VFabzcxDA_1750705614 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-450db029f2aso17450605e9.3 for ; Mon, 23 Jun 2025 12:06:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750705614; x=1751310414; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:from:references:cc:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=v6+xsrJx+U/L1M0U5bQLUpjYxTAKwKf8kRtHgQOrM20=; b=NS3matEBNAz8olbDruL+5Qxs8xOYBNBaPRe2AkPIPfFe61qz+LboL3bc+O47e3GZKm 3Gq3Ko6lIDjQzNSXma4vogBPldNSO7Tq8yhNErrl8ODAhS4cNkL+l6lOu5ojYOnx60V9 SI31UlZQG78eHsGrogmflsu+8l+1ILcZ0mJkw/LC/8RgDXR4ohRpW/8RW1gI+f9U9jPQ 4m6SGgqmZ/g3v/qGpMcjHY39o9MxCfF9YxtkZ0aeqC+I/b2Fp+01kArSElIcBDART5lI FXOnTKOpg+MxW46A1VxCDVFyUYKVD/pCbXkFNwvpaGK5x8uUVNFyiaGZ/Jbd8TvYgp0v q7dw== X-Forwarded-Encrypted: i=1; AJvYcCUfLoS/cAd8jnZHB9qqHe3TPRdBciboKMm+WhuMayr3bl4CaodywCN2h8k5/e+mxaLN7lIe0emC9A==@kvack.org X-Gm-Message-State: AOJu0YzWEAZ1Zxug3qPwj9UmlJQnAfuoouzHdmBLKaFkBrukoJlT1Yr7 g0yQcLnyfLmziPMyeDXFp3S1YH22e8NhL0Hy7Kp64NIfJ0D3TB5yvCvu8OJ7okEqjmqS6Ptp7PY 6OgXG+rAdqj4pJpE6itw9PKhIy1vBuT/s4F7ljMnnDX83uoGe3OQn X-Gm-Gg: ASbGnctnXLiukG/sbXwpmZN8AbG+mfxKN0PBpGvwx1tqdW6RCMvHnSBfcLXwZQBbRMt H7PfC0+VGeTywBvgeySiNTLNCRKWTP7zt4moyjOVdw7iktbh6YNFbEeBmP7xaaBO07fLbgTyP2D 4XfM3w64t7wAwPrJ4PpY495mQ0Dhv17hNAwcxAJmpk2LiOGfQ8uM8NKNRk9U1BkpK1WZZWoMWmw FJdW4FeHk9j2opM2zlHIbl2d0n/mNS5ctBnxQ836CugviVucyG3rJHVaLA82rzS4nA91DpuZW5M 6SxRgrRlX9GGX3jrqV/Udjgni8R4v0NOC81fr3FesdldbhOf7Z21DT8RUvLAcHCy3ONt+xDxxOE cW8cens7ffhnEJIPe+GPUvckdB5XXqoNKYlMQhGJ1XxHeHfQg X-Received: by 2002:a05:600c:3ac7:b0:450:d019:263 with SMTP id 5b1f17b1804b1-453659aef70mr135344255e9.18.1750705613866; Mon, 23 Jun 2025 12:06:53 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHVg8x6pzMvuJ6hzMYvpzDFMyHeNwgxpx68avx7puQNXKvlynoH4pWU7K0OzT7U2DDNVNIJpw== X-Received: by 2002:a05:600c:3ac7:b0:450:d019:263 with SMTP id 5b1f17b1804b1-453659aef70mr135344055e9.18.1750705613431; Mon, 23 Jun 2025 12:06:53 -0700 (PDT) Received: from ?IPV6:2003:d8:2f4e:fd00:8e13:e3b5:90c8:1159? (p200300d82f4efd008e13e3b590c81159.dip0.t-ipconnect.de. [2003:d8:2f4e:fd00:8e13:e3b5:90c8:1159]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45364703f1esm119167505e9.32.2025.06.23.12.06.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Jun 2025 12:06:52 -0700 (PDT) Message-ID: <15891cf8-4866-476c-867f-8027693cacfb@redhat.com> Date: Mon, 23 Jun 2025 21:06:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 0/1] mm/debug_vm_pgtable: Use a swp_entry_t input value for swap tests To: Gerald Schaefer , Andrew Morton , Anshuman Khandual Cc: Matthew Wilcox , LKML , linux-mm References: <20250623184321.927418-1-gerald.schaefer@linux.ibm.com> From: David Hildenbrand Autocrypt: addr=david@redhat.com; keydata= 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 WNyWQQ== Organization: Red Hat In-Reply-To: <20250623184321.927418-1-gerald.schaefer@linux.ibm.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: IWzdQPtFmIBoAswxAJtw-Q6YmgFAbwFXtM-uJAz0MM0_1750705614 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 22D42C0005 X-Stat-Signature: wqhxxbkd4nap8h4aeiaiggf9xrxbpkyw X-Rspam-User: X-HE-Tag: 1750705618-414631 X-HE-Meta: U2FsdGVkX19lRi8rOVen22/OAX+/ZvOslCSZziyqtTneQTda/katYqpB+YSAdPfeMNw+9dG3XFvP73xlteqa5u9cT8zgviovlxbSXWZIY6YRVGNKQKXSRmVYeKLaC6j0UZvMfsKQYHormjGfOwMbwqbaBeWD0dfX6CscD6zWjkwFDNoaS6UEuKbScdkrVbYM30lNdo31QH/hXaXzdOzEuW+VSImimJDp6cZ7zjpK4tz5xDr/AUo0e7yCtvCP11PE4OanRbgevIHzh0P8D7jkN5B6w3ZKmvwXBy7C1C99QbQVItJ6A5sAsa/6Y2+q0vLkobCyEXGOfjpbc7daIveR2jiOS0KddMUBX6YgGTHP4xnW3JEVqIaE/QRCm7+akiCVr4Wy33UfzsQcMrLJvOS8dkaUYHso+3FUcXkFPo/DZGTyYqW9ifNrd+xDc5q52EfkUorDYIWwxFjTD6SvBuUX4LHr9AK8UwsS5aULLEJygxcHz7YjmF0UPp6LDnwCkiRyzZOwiJhC9UPsn5zNQTrDP75ZZvMym6jJbu3mWysZESvLmnRJQpH+zlOKOpHOPNAAbIZ8JHrg0lBd/2CtSIDNFIOpeEOwSCauclpi1E7CY7ar96LGL21/U//PvLV1fCAYU3DTjCgMny80w3DgE35tQDlbcOQULwhGd04Nixel4lVOfPYFTWV7r1hTUVPQf4nGPF/T3Lw6WnyW+U6ASmPSOgrU1177I9LQV+E1thDBzjPx0lm3I2WOmD5Q4YhhGVuChavXkWrbHDeWn3NeXRuTB4GsBIB1siAd5w/QKAYosNJtJbB3oBsO3WiSN5jRBoG9WCq8YKNAE49UTHkHTsCZbCDGjP+QrmXs9IZjC92vVjsBPvKZ+RJOdq+0QQj0EpIU5ZrHmttEqfb2y0fVRdu7rL9HlEBNR+Ex0oITvAmvVOHMNmDgTNd/h0+LL/YOo9ACkWqlOe0jrPr+TNmKa0l 0h/u4yXU yRy69aeY5ArE/T5bvIO12km5npCrpyM23qRRkyRgWOT+UrQkm4b/a7VrZppAn0dCENL1LpvA7UMSi/rChA4NsScC1ElFwx0PoBhhFsCA0z/pO3UPYc/SLsMqCdnZAG/fdEfrKfpJoJSzeugxJzdSxUme7V2i5r99S+7+EldOZk0N3giHgcyThLicQ8UceyBXeDjcB+OxFZ7jlbO+FLW9WIeznM3SteUyKU6aLddTTKsJYJtcDn5qLXQqO5qAvzxaObMzy9LBZ2GFvSddX0f5yuiBd9KsG2Q7/ub35WJoCCOfWN9C/c/yBprwypeAsxmbThLsQtHeA7mt93aBVJfDNqK7EJdLNrGKiNlWBN1tNZAx1JMWsEpX5oBXJn//3Pcige08MDCdeqzi15FKYsXHVA23oCSqrwtuNuQTYXsnnk9yEmT6dxyvHOQVwQ4XgEyBK/dw/ 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: List-Subscribe: List-Unsubscribe: On 23.06.25 20:43, Gerald Schaefer wrote: > Hi, > > currently working on enabling THP_SWAP and THP_MIGRATION support for s390, > and stumbling over the WARN_ON(args->fixed_pmd_pfn != pmd_pfn(pmd)) in > debug_vm_pgtable pmd_swap_tests(). The problem is that pmd_pfn() on s390 > will use different shift values for leaf (large) and non-leaf PMDs. And > when used on swapped PMDs, for which pmd_leaf() will always return false > because !pmd_present(), the result is not really well defined. > > I think that pmd_pfn() is not safe or ever meant to be called on swapped > PMD entries, Exactly that. Just like pte_pfn() on a swap entry is bogus. Instead, we can test for is_pfn_swap_entry() and then use swp_offset_pfn/pfn_swap_entry_to_page/pfn_swap_entry_folio. Code in task_mmu.c uses something like swp_entry_t entry = pmd_to_swp_entry(*pmd); if (is_pfn_swap_entry(entry)) page = pfn_swap_entry_to_page(entry); and it doesn't seem to be used in that way anywhere else but > debug_vm_pgtable. Also, the whole logic to test the various swap helpers > on normal PTE/PMD entries seems wrong to me. It just works by chance, > because e.g. __pmd_to_swp_entry() and __swp_entry_to_pmd() are just no-ops > on other architectures (also on s390, but only for PTEs), and also > pmd_pfn() does not have any dependency on leaf/non-leaf entries there. > > So, I started with a small patch to make pmd_swap_tests() use a proper > swapped PMD entry as input value, similar to how it is already done in > pte_swap_exclusive_tests(), and not use pmd_pfn() for compare but rather > compare the whole entries, again similar to pte_swap_exclusive_tests(). > > But then I noticed that such a change would probably also make sense for > the other swap tests, and also a small inconsistency in Documentation, > where it says e.g. > > __pte_to_swp_entry | Creates a swapped entry (arch) from a mapped PTE > > I think this is wrong, those helpers should never operate on present and > mapped PTEs, and they certainly don't create any swapped entry from a > mapped entry, given that they are just no-ops on most architectures. "mapped" is probably misleading. Probably "mapped" as in "this PTE is in the page tables", not "mapped" as in "maps a present page". In any case, it should be clarified. -- Cheers, David / dhildenb