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 10DBAC00A5A for ; Thu, 19 Jan 2023 13:57:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 42D156B0072; Thu, 19 Jan 2023 08:57:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3DD526B0073; Thu, 19 Jan 2023 08:57:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2CBDA6B0074; Thu, 19 Jan 2023 08:57:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 1DD006B0072 for ; Thu, 19 Jan 2023 08:57:43 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BFFC0A86D6 for ; Thu, 19 Jan 2023 13:57:42 +0000 (UTC) X-FDA: 80371701564.11.B006C6E Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf03.hostedemail.com (Postfix) with ESMTP id 51B9E20013 for ; Thu, 19 Jan 2023 13:57:40 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=MAbeO0zO; spf=none (imf03.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674136661; 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=VNSc3Lp53iK4Ampk7NZAEiR+q6Om6HDV1Kth8EWGpOw=; b=qmeFHUHYdJ51oXklf8YZPtjw1CbwH4SAEPfToKYd89qqQSgyUL31u+Dc9DY6agakEAFSBq pUQrrR46tMaQw+hWIf95Pnz9in5JpDTW1BVt5tw341yztjOHlEkxMcWaekAcD3K/NQqaJK 0VfNg6VVF1gZiDeM9dvB5C0qQK0FXPo= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=MAbeO0zO; spf=none (imf03.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674136661; a=rsa-sha256; cv=none; b=BPCBpg0tvYXrOqeAhFKev6OcoA/sl2OzdCp/AdbTh5y9gJepGIk55U2lA21r6x88alnU+J 98NgikD9GX6YY6IHZEWM+Sz1hPRc8RefYKfWrpXtuCkyfFS/Uzw8I/MAgnUg/UcW8ByuVR LdlqqkOENHyUoB2h3IXaz5n+aiOmhB8= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=VNSc3Lp53iK4Ampk7NZAEiR+q6Om6HDV1Kth8EWGpOw=; b=MAbeO0zOLTUUIEtyN/GgUSRBOY Pa8T6VczHRIUTBch+PTJJhubpfXaMtg61R1uuV33IxfYcNLH/eiOSy8hPywGGe3Z1bTTfURMMoH8P SMIwkqWybqp56M5bDfQk5EsWIEQUM6Ca4DEiTEz2AyyYo/kw6QMjAWU/ddr2aNBsQ1M/gGA4saAS+ YoQHgMJ6K9Nwat0iwmwWUvftCEnGOLKrNFIQn35gBpt6tuuxxYAyz7o/y1ZGlGdQnswc+vLYN4mRT rVdrlSVHFfGN4zl6McwSy5YQ5gqHUT0Il4ly+xZrbb0Vzmq0lsWEE8PlmIg3pUpCBMTXuWeO0rhMB OndAIDSw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pIVQ8-00116o-Fq; Thu, 19 Jan 2023 13:57:36 +0000 Date: Thu, 19 Jan 2023 13:57:36 +0000 From: Matthew Wilcox To: Mike Rapoport Cc: linux-mm@kvack.org, Andrew Morton Subject: Re: [PATCH 1/5] mm: Add vma_alloc_zeroed_movable_folio() Message-ID: References: <20230116191813.2145215-1-willy@infradead.org> <20230116191813.2145215-2-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 51B9E20013 X-Rspam-User: X-Stat-Signature: ffk9wuwb5isma5jeigc5qo1kpyyk6xca X-HE-Tag: 1674136660-411496 X-HE-Meta: U2FsdGVkX1/d5pEc9v9m8mpw/PshqJ6YsWcAUGwu/4/VggaGZrvZgAprzcIyVO+CDfGaOsPuaH5JHbX3LGflrtMWLK5J/7tqA8czfhS4MjUJDhXmHCRbi3bzjVZsBfMyBpUQWOelUxGKV06Ta9z1AvqFU5tzXBgkZ+n/KoUd1utXYvh1k03p1UFMbOuIZr0sqBzGv6V35j7punp8EdBFD5gayBPHa8WnKHwabum5PkYJxqGiHMIICN8yIshOkEY4w/VgJ0x8JoSHPVTqZqfmFhNoOHKK+gaTLsZO7wAO6YVusNUsfZBb5tvIZaN5GvY6pcgTocbAQVXA1xqGLyeTtro5Fvn3FCYQiyu1cJTAdutIfrnyIPq8w+qTZ/JmhVKA6M8dDxyYFd5z4+BwMHqbgrUvRocV1FskXjw/AIvwoK7aiwDBY5Il1VHxWWCYAFdwofjHlUrCBhpd4VA1jEjz9YHR/AmVplLsR1eaYmpLfo9N4LfdBXJd7KVQHnS5Gc/Wy5bOLNZxWeKN5yi76eB4Mp4pmqbUXWi9+8enQQwZPGwWHhXyjIxir4N4b58PWaEiqfTnOXHhAZq/QnzSoXatG7aUkk9eUcOwpo7iDCfBsY0iAB+YaraOqctNrtsERthS1CsXj1KpGyxXNu0pTRKB4NRmfedvLAbJbuj8ajaBBwAaRWS5uqTckJ3Jug/VIYKjNWX6IZ+1yigNwRwoeFxQ5kpGm4UIYtiKdlDG4EbePaeUd6fmkgeGngX2+sI1BG9I+MKf70ZebYq2iE53goEIW2cYS4tJmCDrFiFNWFaOD45MjRrt4o6Qx5DBKPWIDo/cZu5YznbdX+hM6ZwuF4K8lMIVPaJTGeaf24qE6WMmh+ZskZw+9txZCv69QBYJ4a9tOKaxBZ4AapcKYY1vrywnHw== 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, Jan 19, 2023 at 12:16:12PM +0200, Mike Rapoport wrote: > > +static inline > > +struct folio *vma_alloc_zeroed_movable_folio(struct vm_area_struct *vma, > > unsigned long vaddr) > > { > > - struct page *page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, vaddr); > > + struct folio *folio; > > > > - if (page) > > - clear_user_highpage(page, vaddr); > > + folio = vma_alloc_folio(GFP_HIGHUSER_MOVABLE, 0, vma, vaddr, false); > > Add __GFP_ZERO and simply return vma_alloc_folio(...)? > > > + if (folio) > > + clear_user_highpage(&folio->page, vaddr); This page is about to be mapped into userspace; the kernel isn't going to touch the data in it. So we don't care if the kernel's view of this page contains zeroes, only that the userspace view of this page contains zeroes. The architectures that override this do exactly what you suggest, but they know they have a physical cache and so that works for them. For virtually indexed caches, this is more efficient.