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 X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD7AEC4361B for ; Fri, 18 Dec 2020 14:36:19 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7718123AAA for ; Fri, 18 Dec 2020 14:36:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7718123AAA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id C67F76B005D; Fri, 18 Dec 2020 09:36:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C18826B006C; Fri, 18 Dec 2020 09:36:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B07246B006E; Fri, 18 Dec 2020 09:36:18 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0179.hostedemail.com [216.40.44.179]) by kanga.kvack.org (Postfix) with ESMTP id A42E26B005D for ; Fri, 18 Dec 2020 09:36:18 -0500 (EST) Received: from smtpin20.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 66E3B1826887A for ; Fri, 18 Dec 2020 14:36:18 +0000 (UTC) X-FDA: 77606653236.20.floor66_280186d2743e Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin20.hostedemail.com (Postfix) with ESMTP id 556AD181A61B7 for ; Fri, 18 Dec 2020 14:33:18 +0000 (UTC) X-HE-Tag: floor66_280186d2743e X-Filterd-Recvd-Size: 4728 Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175]) by imf11.hostedemail.com (Postfix) with ESMTP for ; Fri, 18 Dec 2020 14:33:17 +0000 (UTC) Received: by mail-qk1-f175.google.com with SMTP id z11so2105432qkj.7 for ; Fri, 18 Dec 2020 06:33:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=9AjyqVwbutY4UwdEgKZiMnawTEyRvpOrzhGwb4DgvJI=; b=GtUC/LQgHdfS1swQRHB0LHYKa8OQL+kbgko6SLafR/VZQni749Jsh6KACMY9EKoD8a 2DwmWX+H8aYzkAtANw1pSw4KvVpkaKFYNv7GxOJmec3fsRj4/+6UneQeUm3Ah7G+Apu9 pjcaqkfpGOEbtbAFLLzeZ6Svj545xC5MEPJGr8zAAiKqKUXxt5MZ79V8gm9RI6RMcgaA NfvZqYPWzeG/vYEHVCBfKobMbhiMk1vUB3zMjJas5VeoSzBEe5sc7sBHK/tdd8H78Y+u YfPk9m/tHQqG+QCL28qWAAUJeHTlzZ/5aRKpYIOD7sa4fYNsGE4pwWVCYJSuv6m714iS qoFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=9AjyqVwbutY4UwdEgKZiMnawTEyRvpOrzhGwb4DgvJI=; b=LWD8RknBICyMHF+ksUIWa3z2iHP8d1oVpjdS1QpjonS4qRZ/bFITVTjQwuNhMR5kXB 4Cscl+qtX6YhdfFVgvZYQMv51X8E5dEZkgwWKPmS1uRdNVl98vad+f0asvjEwoQbua1f EBpbHp3ezZPRuugEyxSX27/XzQHrGczXR26AY/Yq9BEtkfyEJSCU7EPywBAa3fjhut71 /qnoiyjnn55LzW0KekPhBv9Q7AQzaEWiZbj0hvfmEgy9mp+cDLvQaPbTw7/GKD8VCyVb 7aOuuNEkwzZfRh9sjs+71+f59WErhPutLcWc4Ss0+buZFSUaIiJq8Y2kaPCTzXn6r4cX 6VLw== X-Gm-Message-State: AOAM532Ud13ff5/LPXNAAgD2SHqZRDhcidgl2//o726vgrccQ7N1g+o7 qdhyBfx9CIwb1vDRZCBbRaGyr4HQmO8IEQ== X-Google-Smtp-Source: ABdhPJyex2+hl+ut4QlWThc/0jG7ERs3yhBgBc0b6q4vjA8qk/PzdqZc7srNK5Usc9lkscpE0/ZQgA== X-Received: by 2002:a05:620a:11ab:: with SMTP id c11mr4916721qkk.282.1608301523406; Fri, 18 Dec 2020 06:25:23 -0800 (PST) Received: from ziepe.ca (hlfxns017vw-142-162-115-133.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.162.115.133]) by smtp.gmail.com with ESMTPSA id u26sm5885112qke.57.2020.12.18.06.25.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Dec 2020 06:25:22 -0800 (PST) Received: from jgg by mlx with local (Exim 4.94) (envelope-from ) id 1kqGh8-00CgSb-67; Fri, 18 Dec 2020 10:25:22 -0400 Date: Fri, 18 Dec 2020 10:25:22 -0400 From: Jason Gunthorpe To: Joao Martins Cc: linux-mm@kvack.org, Dan Williams , Ira Weiny , linux-nvdimm@lists.01.org, Matthew Wilcox , Jane Chu , Muchun Song , Mike Kravetz , Andrew Morton , Daniel Jordan , John Hubbard Subject: Re: [PATCH RFC 7/9] mm/gup: Decrement head page once for group of subpages Message-ID: <20201218142522.GN5487@ziepe.ca> References: <20201208172901.17384-1-joao.m.martins@oracle.com> <20201208172901.17384-9-joao.m.martins@oracle.com> <20201208193446.GP5487@ziepe.ca> <20201217200530.GK5487@ziepe.ca> <7c8078df-1151-3668-5cee-80c976df1ff6@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7c8078df-1151-3668-5cee-80c976df1ff6@oracle.com> 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 Thu, Dec 17, 2020 at 10:34:54PM +0000, Joao Martins wrote: > On 12/17/20 8:05 PM, Jason Gunthorpe wrote: > > On Thu, Dec 17, 2020 at 07:05:37PM +0000, Joao Martins wrote: > >>> No reason not to fix set_page_dirty_lock() too while you are here. > >> > >> The wack of atomics you mentioned earlier you referred to, I suppose it > >> ends being account_page_dirtied(). See partial diff at the end. > > > > Well, even just eliminating the lock_page, page_mapping, PageDirty, > > etc is already a big win. > > > > If mapping->a_ops->set_page_dirty() needs to be called multiple times > > on the head page I'd probably just suggest: > > > > while (ntails--) > > rc |= (*spd)(head); > > > > At least as a start. > > > /me nods You might just be able to call it once as well, doesn't the page fault handler dirties an entire compound in one call? Someone from the FS world probably knows :) Good example of Matt's Folio concept lending clarity, if this accepted a folio we'd be certain it only need to be called once. Jason