Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp2667746rdb; Mon, 4 Dec 2023 04:26:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IFG6HnA2aqnXRhNVrmT6uFw+7CeBqMAIIbsRDsdlCGlA1puqddEUYtpX/pOI/LaIyWRkkq9 X-Received: by 2002:a05:6358:9db4:b0:170:17ea:f4e8 with SMTP id d52-20020a0563589db400b0017017eaf4e8mr3352372rwo.53.1701692814611; Mon, 04 Dec 2023 04:26:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701692814; cv=none; d=google.com; s=arc-20160816; b=gxZtqZCp3ydScX1cA2n5t0jvlU5fIPy4D6KhSSSJuS1X8OC1Gg4zRXqQCZtlCctJ2v aE5yagVqDTlZOySNLNrPnOT0XjwIl4uRJ1n7DKQrgyHv4Cmb23zERDU/CAJTouMXgGye eXiaOr3Mumwlh4C2rmPyNWl5CG4IEmT6wqTeYrpy++mspsP+CuWOK/ll/rgmm0CKyxXp RhDx0oP0N5TaAGKgxD8nfk0chBwiwCJ7TPcFgw0ayxwDjh4L2g/rfsw/1jDShC7o9fd9 P9s2O1CCmuKqJdqfoVQmfNnNeWA/9T3WSks58AWuulzNR3rVTyBaq9jhQLjV+IDF818d 1lmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=kMWNDWarIcZoO1/8XAi6ojh4BZb6bpfGSf2KBFZTWaw=; fh=4P+5eUzOyYMtGbyvNREXGG7sr4Ib796Cl62CpiuPkKc=; b=yeGCAqvWACsjrBH0AKAAAbyOlSzEz3N3XESVdag4SzDyRqTlzpFGWJlSFVOPTJG2e/ 7U+Wl9JT1Ua3TaRRNKrQWhWMT0QqvVMxMZkQFS0sPsBa5GY04UPLnyfVDesBmQc7AtQ8 SHYax3MHf7p2+TSGZtrEpRRVZKjlu2VsAmdvCZTM9tQUcp75GfGzf/65PqS80wbv+NYJ E6Rjyw3c0mZQ5lY+7TSp0RlJjdr6lPABPaYtJpJ5pYTBEvcI5eml4RbGC0j4VlPwMkXA jbe8xXKMdHz/JoJtgrK+hzpksaKTy3l1O769ydZ9xCQD1xhojG2j4QlHdRyzHp/xz5yV oLqw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id dn17-20020a056a00499100b006ce36ffa532si3387667pfb.380.2023.12.04.04.26.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 04:26:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 328F5804C61C; Mon, 4 Dec 2023 04:26:52 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343976AbjLDM0Z (ORCPT + 99 others); Mon, 4 Dec 2023 07:26:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45436 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229944AbjLDM0Y (ORCPT ); Mon, 4 Dec 2023 07:26:24 -0500 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 381F9C3 for ; Mon, 4 Dec 2023 04:26:31 -0800 (PST) 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 492471424; Mon, 4 Dec 2023 04:27:18 -0800 (PST) Received: from [10.57.73.130] (unknown [10.57.73.130]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8B0583F5A1; Mon, 4 Dec 2023 04:26:28 -0800 (PST) Message-ID: <6dd6164a-1dd5-46e7-bcf7-b62ff5c6e8ec@arm.com> Date: Mon, 4 Dec 2023 12:26:27 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 4/4] mm/mmu_gather: Store and process pages in contig ranges Content-Language: en-GB To: Zi Yan , Matthew Wilcox Cc: Will Deacon , "Aneesh Kumar K.V" , Andrew Morton , Nick Piggin , Peter Zijlstra , Christian Borntraeger , Sven Schnelle , Arnd Bergmann , David Hildenbrand , Yu Zhao , "Kirill A. Shutemov" , Yin Fengwei , Yang Shi , "Huang, Ying" , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20230810103332.3062143-1-ryan.roberts@arm.com> <20230810103332.3062143-5-ryan.roberts@arm.com> <800937DA-BAD0-4C60-B155-AECCA21E955E@nvidia.com> <1a0f5cb8-421c-4f28-a986-f3c381406e81@arm.com> <90EC4C0D-0254-4B93-AFD5-3C09580A77DE@nvidia.com> From: Ryan Roberts In-Reply-To: <90EC4C0D-0254-4B93-AFD5-3C09580A77DE@nvidia.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Mon, 04 Dec 2023 04:26:52 -0800 (PST) >>> >>> Also, struct page (memmap) might not be always contiguous, using struct page >>> points to represent folio range might not give the result you want. >>> See nth_page() and folio_page_idx() in include/linux/mm.h. >> >> Is that true for pages within the same folio too? Or are all pages in a folio >> guarranteed contiguous? Perhaps I'm better off using pfn? > > folio_page_idx() says not all pages in a folio is guaranteed to be contiguous. > PFN might be a better choice. Hi Zi, Matthew, Zi made this comment a couple of months back that it is incorrect to assume that `struct page`s within a folio are (virtually) contiguous. I'm not sure if that's really the case though? I see other sites in the source that do page++ when iterating over a folio. e.g. smaps_account(), splice_folio_into_pipe(), __collapse_huge_page_copy(), etc. Any chance someone could explain the rules? Thanks, Ryan