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=-3.8 required=3.0 tests=BAYES_00, 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 B009FC433E0 for ; Thu, 18 Feb 2021 11:08:21 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id CEDDF60C3D for ; Thu, 18 Feb 2021 11:08:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CEDDF60C3D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=sf-tec.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 374DB6B006E; Thu, 18 Feb 2021 06:08:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 325956B006C; Thu, 18 Feb 2021 06:08:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2155A6B006E; Thu, 18 Feb 2021 06:08:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0118.hostedemail.com [216.40.44.118]) by kanga.kvack.org (Postfix) with ESMTP id 0B2546B0006 for ; Thu, 18 Feb 2021 06:08:20 -0500 (EST) Received: from smtpin03.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id C682A4DA9 for ; Thu, 18 Feb 2021 11:08:19 +0000 (UTC) X-FDA: 77831114718.03.E972266 Received: from mail.sf-mail.de (mail.sf-mail.de [116.202.16.50]) by imf11.hostedemail.com (Postfix) with ESMTP id D9B902000DA3 for ; Thu, 18 Feb 2021 11:08:12 +0000 (UTC) Received: (qmail 5856 invoked from network); 18 Feb 2021 11:07:49 -0000 Received: from mail.sf-mail.de ([2a01:4f8:1c17:6fae:616d:6c69:616d:6c69]:42702 HELO webmail.sf-mail.de) (auth=eike@sf-mail.de) by mail.sf-mail.de (Qsmtpd 0.37dev) with (TLS_AES_256_GCM_SHA384 encrypted) ESMTPSA for ; Thu, 18 Feb 2021 12:07:49 +0100 MIME-Version: 1.0 Date: Thu, 18 Feb 2021 12:07:26 +0100 From: Rolf Eike Beer To: Vlastimil Babka Cc: David Hildenbrand , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Arnd Bergmann , Michal Hocko , Oscar Salvador , Matthew Wilcox , Andrea Arcangeli , Minchan Kim , Jann Horn , Jason Gunthorpe , Dave Hansen , Hugh Dickins , Rik van Riel , "Michael S . Tsirkin" , "Kirill A . Shutemov" , Richard Henderson , Ivan Kokshaysky , Matt Turner , Thomas Bogendoerfer , "James E.J. Bottomley" , Helge Deller , Chris Zankel , Max Filippov , linux-alpha@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linux-xtensa@linux-xtensa.org, linux-arch@vger.kernel.org, Linux API Subject: Re: [PATCH RFC] mm/madvise: introduce MADV_POPULATE to prefault/prealloc memory In-Reply-To: <7859a7a0-96e2-72ff-be92-c0af5d642564@suse.cz> References: <20210217154844.12392-1-david@redhat.com> <7859a7a0-96e2-72ff-be92-c0af5d642564@suse.cz> User-Agent: Roundcube Webmail/1.4.11 Message-ID: <50f73055950ff7382f2194134ef0f439@sf-tec.de> X-Sender: eike-kernel@sf-tec.de Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: fh5spxt6jnbp3bqsm7xkgs9mwah89nrc X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: D9B902000DA3 Received-SPF: none (sf-tec.de>: No applicable sender policy available) receiver=imf11; identity=mailfrom; envelope-from=""; helo=mail.sf-mail.de; client-ip=116.202.16.50 X-HE-DKIM-Result: none/none X-HE-Tag: 1613646492-813603 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: >> Let's introduce MADV_POPULATE with the following semantics >> 1. MADV_POPULATED does not work on PROT_NONE and special VMAs. It >> works >> on everything else. >> 2. Errors during MADV_POPULATED (especially OOM) are reported. If we >> hit >> hardware errors on pages, ignore them - nothing we really can or >> should do. >> 3. On errors during MADV_POPULATED, some memory might have been >> populated. Callers have to clean up if they care. >> 4. Concurrent changes to the virtual memory layour are tolerated - we ^t >> process each and every PFN only once, though. >> 5. If MADV_POPULATE succeeds, all memory in the range can be accessed >> without SIGBUS. (of course, not if user space changed mappings in >> the >> meantime or KSM kicked in on anonymous memory). You are talking both about MADV_POPULATE and MADV_POPULATED here. Eike