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 BA107C4167B for ; Thu, 30 Nov 2023 21:31:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4362F8D0052; Thu, 30 Nov 2023 16:31:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3E6228D0001; Thu, 30 Nov 2023 16:31:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 287958D0052; Thu, 30 Nov 2023 16:31:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 197548D0001 for ; Thu, 30 Nov 2023 16:31:08 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D567E12012B for ; Thu, 30 Nov 2023 21:31:07 +0000 (UTC) X-FDA: 81515916174.26.6835CDD Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf09.hostedemail.com (Postfix) with ESMTP id 96E44140032 for ; Thu, 30 Nov 2023 21:31:05 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MNyXjOeY; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf09.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701379865; 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=CRU7CkycS7SUcJkoz0E93L3cEZtHoI2nxjtl0XDIHtI=; b=XC53Je/YwDYwMjoeFe9QX6FEbz3m1SdRAVrgsE1W3Sji7oiAEDILuo/QtqxYjlfY3UjNkf is+SMsHsAxHh+sbL+spsUxIDZ8pH3hs0qb1Jr1DGK7GAPik/8UQFgZeD9VMp3NGTDfl/41 8v0zYLN+pH1qnNsqjqQNyyDZImEB+0s= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MNyXjOeY; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf09.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701379865; a=rsa-sha256; cv=none; b=6XJk7q3gCoCTXJTOgncczWp3i+tD7iZTo9pMdu/ZVMGCd9j64DXveZmdpDYvers5ZgTz8n fBc989sbV+arar6723KL8YLlMqTahy+c7nELAc/pOr2/uOY554I/DEEsjGNf3WKqR78tbV E00zHqMdPVXMWoUIt9BdySpt8aOvYRc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1701379864; 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=CRU7CkycS7SUcJkoz0E93L3cEZtHoI2nxjtl0XDIHtI=; b=MNyXjOeYCMi3d7PY+Iothk1aqIuuHcepB5STzcFYou6yGJl3AhqVaMOT+D2SRA0Xz2oQqi 1QgecfId4m4nuWaHcH10T4AFGlPHkD/Or6k0Y5gW8LbMNTJeeuIo8W8GZGzwA7CWlf5x2Z 3Q5Jsii1af4934f8BwxOyNkO13UehCQ= Received: from mail-oa1-f71.google.com (mail-oa1-f71.google.com [209.85.160.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-609-AFHnwYhJPvixuO4EthIP0A-1; Thu, 30 Nov 2023 16:31:03 -0500 X-MC-Unique: AFHnwYhJPvixuO4EthIP0A-1 Received: by mail-oa1-f71.google.com with SMTP id 586e51a60fabf-1fa4873fea7so445722fac.1 for ; Thu, 30 Nov 2023 13:31:02 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701379862; x=1701984662; 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=CRU7CkycS7SUcJkoz0E93L3cEZtHoI2nxjtl0XDIHtI=; b=A+gtQp+Ixi1Fo1kjMQ1v2AfAdDF4o2hYaWS7w9VsCDxxCAIxEVcDrKqSbJZ4sDnDdK q6dVF4dC8VtsVn7071ffyn7hOdXnLNm7rkvflT4VGLhYR0fl+3RR2qfaDFMvwYB9bhVK 3N/Sdxo3t24OLnIyNl0Gdw7cXuGp8zXKnZgyXrBhNxrHLC/bwZtayeKCO7mulb/1D3ea hZIKdLijetUWw2aC+LXcbz/oc6U4yhZcoNSOEuBJt1/SC4jJxR5za9lYQd/52ev/EGId vUvEPYbf+8p0yt03srRyVBypjr9QICSkUQ26DzOyGsaJR/i/EL7DxYTP0NAdhq/DCjW3 5Hfw== X-Gm-Message-State: AOJu0YxgyNE1FQOWMQ9nGpEP3CPap+MGiPnIiifPzbf5Cy4tO/mmfvoI HOSblX1xE7pkHobtJn1Ph+brHawwSP1XQdjVTK7Vzi9YgWYKk98Ba88QtPXHIH9/q+0IG2WQi1U NSA0HjnXlpwY= X-Received: by 2002:a05:6871:89f:b0:1fa:25e7:380c with SMTP id r31-20020a056871089f00b001fa25e7380cmr3376636oaq.4.1701379862192; Thu, 30 Nov 2023 13:31:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IE/wrmZb1Pj0VJ3a4ZBfX7FQO3l+DqTcZEmdXOZXRg9ok8MvraDC5X1akCfH4y0bxaGhg1yPw== X-Received: by 2002:a05:6871:89f:b0:1fa:25e7:380c with SMTP id r31-20020a056871089f00b001fa25e7380cmr3376607oaq.4.1701379861914; Thu, 30 Nov 2023 13:31:01 -0800 (PST) Received: from x1n (cpe688f2e2cb7c3-cm688f2e2cb7c0.cpe.net.cable.rogers.com. [99.254.121.117]) by smtp.gmail.com with ESMTPSA id b19-20020ac87553000000b00423b8a53641sm842916qtr.29.2023.11.30.13.31.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 13:31:01 -0800 (PST) Date: Thu, 30 Nov 2023 16:30:58 -0500 From: Peter Xu To: Ryan Roberts Cc: Matthew Wilcox , Christoph Hellwig , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrea Arcangeli , James Houghton , Lorenzo Stoakes , David Hildenbrand , Vlastimil Babka , John Hubbard , Yang Shi , Rik van Riel , Hugh Dickins , Jason Gunthorpe , Axel Rasmussen , "Kirill A . Shutemov" , Andrew Morton , linuxppc-dev@lists.ozlabs.org, Mike Rapoport , Mike Kravetz Subject: Re: [PATCH RFC 06/12] mm/gup: Drop folio_fast_pin_allowed() in hugepd processing Message-ID: References: <20231116012908.392077-7-peterx@redhat.com> <510adc26-9aed-4745-8807-dba071fadbbe@arm.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Queue-Id: 96E44140032 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: gbere7efazxz16cngq8r3uweukaoua84 X-HE-Tag: 1701379865-159237 X-HE-Meta: U2FsdGVkX19eQUZ/gjEp3oYVvnQ+gFepKWgvjGJ9Qi1nEAiZPBv2O6omQFLTTs/j/pX9mmdjnJJ2UA8BfcY2IHC8ogbCPiAGnAIw1vb2cmbe4mB+L4X9rvxHqxaGaLtw//7cD9cfu13LkKHJAX/JKh98rObSfa6nZvgPZEG+jHVrV9FxbkI66gXjHGjK192avYiNQFmYsEC+Kl/w3hZSkfbrE6naK0SErfmEHieFoRg7wYQr1YNKPc+bjeInfvSF3hOz0AgW7vU4DHRIikLntnl+y1uBIOoeJHGEvDhLI5e5u2Wsw6YNEYRQqVoVWrhqp41yqJsZdGFFw0JQmiCAdqvM2BUZSnv1BojeMw/Ws9Cy4AoHLqDpSQlxGGPKE5ICfKfpXpuRUsMpLb5DVk0lKjDk3C9IcbI1hCcMLYIwUJqrmcJZegAZmtYDRaVyytf+6+/gtaG7kqRtECPTb1PFW5WqJC+abqkkvtrs70hMWr7Ayyej39Oth3gxcVakLBDEsqQmyPPqJIcZMNAcaiddqtE9BklaS3R8aF8n+LQV/T/LySGH/Ezro0pEJbk8rrvPezD4sp9wrcHY1sU8MWhpJhsesXt3rg1ztWWROn5sZkmuUmMM2o7bolID4QzlWWYZ8X5+oz4fpTH4b421cwtQu0NWWWu400rUO/QXfrKPNuG3xIoU80cfaITJVHmKryMaCUyUfrUPUpQLZTYXDgKhxzid3GIpgQksrxCJrxPA63f+cXm5k+0FUkd8I6wTcNa4bJDCO78P9ENHbIy4KcWQiyVZoHURa/g3qFybannCEWmiMNDqJ5QD3ruJxF1SF9oTzYzjlAPW4tcMBpaM+G95XEJYNY/6yCCNkZighBJmxDIP4z18FBcUV1nHZLKHNMslQ+lidiZgXx4C7R01HwUKvrFNbauAOeE7ED9KzSn5ylxpRyyWDdOoxlTX8ybjfeMc8zv7/9RNbv4V32bJ81u OV3BFuBv RNxokHWc522OXqovAN+bMr7dciPOKW56rA482iBaMXVAm8w7bLUmnx4UCqSwh3D/8MoEPBDT2BZHnL9W2K1Uv1zARshJZ6Zx5EU2Vv8/bjVtqr5HR5LeC41XUxauJ0J9Db0iDE5ZAuIqaZCPOxWpQt0b6XCtLiOpAdrkNIWP6visMKucZjcT2WfvLCo71fVN2Gn+y01gFToJZaWrAFbScauke1JlhjU69uHxlfbZKT7RbtixvcpWHf/PDO2S9v0h8lKYyBMWirtzzN4PtaBkoGZYZue7avO7bz6Cm7QPzGru7KtP189DyMEQL0r4xDgVqAFwqrrhP8JQbBV2T1wyYHtAAP+rGx/H/a2To53zAh65bzE5o3OYWhWvbttOHEDVvz+lcU5fgXbLQNp81yesVJbNz/sMTbOHy/+t3 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 Fri, Nov 24, 2023 at 11:07:51AM -0500, Peter Xu wrote: > On Fri, Nov 24, 2023 at 09:06:01AM +0000, Ryan Roberts wrote: > > I don't have any micro-benchmarks for GUP though, if that's your question. Is > > there an easy-to-use test I can run to get some numbers? I'd be happy to try it out. > > Thanks Ryan. Then nothing is needed to be tested if gup is not yet touched > from your side, afaict. I'll see whether I can provide some rough numbers > instead in the next post (I'll probably only be able to test it in a VM, > though, but hopefully that should still reflect mostly the truth). An update: I finished a round of 64K cont_pte test, in the slow gup micro benchmark I see ~15% perf degrade with this patchset applied on a VM on top of Apple M1. Frankly that's even less than I expected, considering not only how slow gup THP used to be, but also on the fact that that's a tight loop over slow gup, which in normal cases shouldn't happen: "present" ptes normally goes to fast-gup, while !present goes into a fault following it. I assume that's why nobody cared slow gup for THP before. I think adding cont_pte support shouldn't be very hard, but that will include making cont_pte idea global just for arm64 and riscv Svnapot. The current plan is I'll add that performance number into my commit message only, as I don't ever expect any real workload will regress with it. Maybe a global cont_pte api will be needed at some point, but perhaps not yet feel strongly for this use case. Please feel free to raise any concerns otherwise. Thanks, -- Peter Xu