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 F3F84C46CA3 for ; Mon, 27 Nov 2023 14:54:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 72EDE6B02BC; Mon, 27 Nov 2023 09:54:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6DDBE6B02D2; Mon, 27 Nov 2023 09:54:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5CC3F6B02D5; Mon, 27 Nov 2023 09:54:33 -0500 (EST) 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 4EC946B02BC for ; Mon, 27 Nov 2023 09:54:33 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 573FDB56C6 for ; Mon, 27 Nov 2023 14:54:32 +0000 (UTC) X-FDA: 81504030384.28.A415646 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf17.hostedemail.com (Postfix) with ESMTP id 8583740023 for ; Mon, 27 Nov 2023 14:54:30 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf17.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701096870; 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; bh=u+CY/hlz7qpPrdOoVyvz7MOZFwI7x0cWYI0GTlNtAjk=; b=auXi4cjOBGFwJypTP5phYncPbX8BjReZFSMeJEai48KFBzAwj4tUhdRU5X3z0z4KahzqPi 1B/6RI6PSxLJ2LFFlgocjUtQZxbShz+TB6E6p49Hn/XEZpw1O21wncUoOoWObcAnRhUkO9 PXX80U862Y0c9DytttTMC9mKzPCCeMI= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf17.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701096870; a=rsa-sha256; cv=none; b=7gpDWxN2NnVVbY++cTbzdL4mreFS99s+KBj8usp1iIlvWF80smVuJ0WgffUhZdvtwp3MIq hN0RT2ynS+Zm7EjFRSss1AsePU9WcaLTdQyv8/XQSkVALoCHOO3casHweTr05CMDZ/OXDS aQL3WUywPaP5w3BVcvKYXc2HQTq7/t4= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5F1AC2F4; Mon, 27 Nov 2023 06:55:17 -0800 (PST) Received: from [10.57.73.191] (unknown [10.57.73.191]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B814D3F6C4; Mon, 27 Nov 2023 06:54:26 -0800 (PST) Message-ID: <28bc0263-c297-4392-b70a-df8214ca1a67@arm.com> Date: Mon, 27 Nov 2023 14:54:25 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RESEND PATCH v7 10/10] selftests/mm/cow: Add tests for anonymous small-sized THP Content-Language: en-GB To: David Hildenbrand , Andrew Morton , Matthew Wilcox , Yin Fengwei , Yu Zhao , Catalin Marinas , Anshuman Khandual , Yang Shi , "Huang, Ying" , Zi Yan , Luis Chamberlain , Itaru Kitayama , "Kirill A. Shutemov" , John Hubbard , David Rientjes , Vlastimil Babka , Hugh Dickins , Kefeng Wang Cc: linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <20231122162950.3854897-1-ryan.roberts@arm.com> <20231122162950.3854897-11-ryan.roberts@arm.com> <8dd0f52c-d261-4541-930f-bd4e5921be5b@arm.com> <13a2ce75-b1c0-4930-8911-36ded0b428a7@redhat.com> From: Ryan Roberts In-Reply-To: <13a2ce75-b1c0-4930-8911-36ded0b428a7@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Stat-Signature: mwrt985ozeynetwd95iox8womskeidpn X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 8583740023 X-HE-Tag: 1701096870-235817 X-HE-Meta: U2FsdGVkX18xOBmzTebSjCZdpO64uBHf0ZfX05lrMxKWWezLa88gPeA7D9T41kg2rBboT20oJu0L7cX7NAHZMnIkfQjO8A/0YGeBBm5lCMSM3TfzJAp6x96p+8OqhZhTNCcWLSUJxq4S4J0xb4xKux+TZhOU2FrXKFDyNhnW/qqyeNW2UoeNf4EWQjooJOQ2AznHV6INZ3yYtkCQ3p9QJ+5gVBW2aPIXoFHJnpK4+W3xKhzVWVqJHvBEgm7XcKHia7ip4IDdV4+DRHLTwtn6jawGsoIpbndmYOzWSD/oCzgUhckil2m55vjSPBEgOOgZyU3m1ggz/VSYPgzaX35RRBA8iq6ib1upSf/9k/PRQ4VWyU6NaenC4ZoNoc9mSf0RRS6xT68yaqFt4lBT4o9ArsKJz0thIgo3+wN0Qp+WLdYogsIvTUg++jbibI4ZBpljQsvgYUwBNnCIWFLL+aATxCVjPHaBipgCwSVdJycFGm5np0+pq8ldd58yQQaDOeNA0/O/sSDZ4qHDor6Hr7mHhW5ryRCKgHTERgwG6ReZ7jiTkni/9w+1NcYrQMhYdH58mD+/z1iBPPNjnRxyQ0k2SfqNixWBvH623NVM/WP8qg83Rg86SzLJ1CsCyAqLyWqhxO1bGh+9Kx3yZ66cS2H1TLBPRnBVXe0dp3/aFYVDh67fH3HeEwKVdClbcHq+ocLVL0LG2MIMFP9Wb1B7Rm3yX9ZMJjVIY2xvgu9sKdAl0YARdFa7JbVt7T5JV9szoYqmCYIOxz2aaVt5FUHOKCqdHGuCiMJ08bi0MO0Ca8BZLdohrITtFSHNCcstVkPp0NsDkWtX+f8iPlcQ2fuEI0nCHQ7ka9+bkgqMIM2LFwr8OYmapPNi/YAgqUP6WOiq6fT95RXUYluL3LHMgydXAtELO6gEVnZJS+BSUxSntCZNTGIy2mrJeHb/P0heZ6lMzLZGp3LZMWz/yc16MEeZZ8t 2L2kw4Qy nyKAU2JT2vFlQLX67QREnaOQt7GK6Z1o2CRiIcop9q90DPecJfLjTbatgmJVWLY8BWDE0D3YpVNi1REPGvb9g+QRBH+8Tn0yPaTaGPnz69lejdx85RFtqZdQeYUI5XEMqWGQJ5JyP6n6dxgMYO3TdV77CtTOUqsc33TIuVnhWdDS2CxqWc7cTErGuJ4IKuBq76R43AqZSkMHyvMOzgcG+0YRQ27/pizHRnW+3s5lgPUuiJ2CL5kAxP7l7UGIpTbGs3obYYRBcHGigd7R6Y7qHpHMrFw== 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 27/11/2023 14:50, David Hildenbrand wrote: > On 27.11.23 15:02, Ryan Roberts wrote: >> On 22/11/2023 16:29, Ryan Roberts wrote: >>> Add tests similar to the existing PMD-sized THP tests, but which operate >>> on memory backed by (PTE-mapped) small-sized THP. This reuses all the >>> existing infrastructure. If the test suite detects that small-sized THP >>> is not supported by the kernel, the new tests are skipped. >>> >>> Signed-off-by: Ryan Roberts >>> --- >>>   tools/testing/selftests/mm/cow.c | 71 +++++++++++++++++++++++++++++++- >>>   1 file changed, 70 insertions(+), 1 deletion(-) >>> >>> diff --git a/tools/testing/selftests/mm/cow.c b/tools/testing/selftests/mm/cow.c >>> index d03c453cfd5c..3efc395c7077 100644 >>> --- a/tools/testing/selftests/mm/cow.c >>> +++ b/tools/testing/selftests/mm/cow.c >>> @@ -29,15 +29,49 @@ >>>   #include "../../../../mm/gup_test.h" >>>   #include "../kselftest.h" >>>   #include "vm_util.h" >>> +#include "thp_settings.h" >>> >>>   static size_t pagesize; >>>   static int pagemap_fd; >>>   static size_t pmdsize; >>> +static int nr_thpsmallsizes; >>> +static size_t thpsmallsizes[20]; >> >> Off the back of some comments David made againt the previous patch [1], I'm >> proposing to rework this a bit so that ALL thp sizes are stored in this array, >> not just the non-PMD-sized sizes. This makes the changes overall a bit smaller >> and easier to understand, I think... >> >>>   static int nr_hugetlbsizes; >>>   static size_t hugetlbsizes[10]; >>>   static int gup_fd; >>>   static bool has_huge_zeropage; >>> >>> +static int sz2ord(size_t size) >>> +{ >>> +    return __builtin_ctzll(size / pagesize); >>> +} >>> + >>> +static int detect_smallthp_sizes(size_t sizes[], int max) >> >> This changes to detect_thp_sizes() and deposits all sizes in sizes[] > > Just what I wanted to propose :) Makes it simpler by removing the "small" > terminology and just detecting thp sizes. Great! All done and queued up for the next version. Just waiting for some feedback on the 2 crucial patches in this series (3 & 4) :)