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=-7.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 60B8BC433E0 for ; Tue, 2 Feb 2021 14:46:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3156464F49 for ; Tue, 2 Feb 2021 14:46:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232287AbhBBOqR (ORCPT ); Tue, 2 Feb 2021 09:46:17 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:57754 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234729AbhBBOoO (ORCPT ); Tue, 2 Feb 2021 09:44:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1612276967; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=p9WVcjtJGSRM6w7F2m39UE8iZCliMcHMPGNuV986qrI=; b=ef9GhwY3hFIcy7iOGjbtV8vjQUSaeYExmUGYz9HkArUUr/BpmRXhg8/eFsQB699Vqn571q rJ9KwgVwL6IjKXOrMQso4pJphTJqTnrnhhzrid0aRiuAu/xrEQb57x6WUSD4yI/f3Flx5u 6fyc2MvnbewCMWlkOvwZK1V9ep1yvW8= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-521-8AQi4yF_NHCuVEWiuakmOQ-1; Tue, 02 Feb 2021 09:42:42 -0500 X-MC-Unique: 8AQi4yF_NHCuVEWiuakmOQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 46BB9184DBED; Tue, 2 Feb 2021 14:42:36 +0000 (UTC) Received: from [10.36.114.148] (ovpn-114-148.ams2.redhat.com [10.36.114.148]) by smtp.corp.redhat.com (Postfix) with ESMTP id 36D6560916; Tue, 2 Feb 2021 14:42:28 +0000 (UTC) To: Michal Hocko , Mike Rapoport Cc: Andrew Morton , Alexander Viro , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Catalin Marinas , Christopher Lameter , Dan Williams , Dave Hansen , Elena Reshetova , "H. Peter Anvin" , Ingo Molnar , James Bottomley , "Kirill A. Shutemov" , Matthew Wilcox , Mark Rutland , Mike Rapoport , Michael Kerrisk , Palmer Dabbelt , Paul Walmsley , Peter Zijlstra , Rick Edgecombe , Roman Gushchin , Shakeel Butt , Shuah Khan , Thomas Gleixner , Tycho Andersen , Will Deacon , linux-api@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org, linux-riscv@lists.infradead.org, x86@kernel.org, Hagen Paul Pfeifer , Palmer Dabbelt References: <20210121122723.3446-1-rppt@kernel.org> <20210121122723.3446-8-rppt@kernel.org> <20210126114657.GL827@dhcp22.suse.cz> <303f348d-e494-e386-d1f5-14505b5da254@redhat.com> <20210126120823.GM827@dhcp22.suse.cz> <20210128092259.GB242749@kernel.org> <20210129072128.GD242749@kernel.org> From: David Hildenbrand Organization: Red Hat GmbH Subject: Re: [PATCH v16 07/11] secretmem: use PMD-size pages to amortize direct map fragmentation Message-ID: Date: Tue, 2 Feb 2021 15:42:26 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Precedence: bulk List-ID: X-Mailing-List: linux-api@vger.kernel.org On 29.01.21 09:51, Michal Hocko wrote: > On Fri 29-01-21 09:21:28, Mike Rapoport wrote: >> On Thu, Jan 28, 2021 at 02:01:06PM +0100, Michal Hocko wrote: >>> On Thu 28-01-21 11:22:59, Mike Rapoport wrote: >>> >>>> And hugetlb pools may be also depleted by anybody by calling >>>> mmap(MAP_HUGETLB) and there is no any limiting knob for this, while >>>> secretmem has RLIMIT_MEMLOCK. >>> >>> Yes it can fail. But it would fail at the mmap time when the reservation >>> fails. Not during the #PF time which can be at any time. >> >> It may fail at $PF time as well: >> >> hugetlb_fault() >> hugeltb_no_page() >> ... >> alloc_huge_page() >> alloc_gigantic_page() >> cma_alloc() >> -ENOMEM; > > I would have to double check. From what I remember cma allocator is an > optimization to increase chances to allocate hugetlb pages when > overcommiting because pages should be normally pre-allocated in the pool > and reserved during mmap time. But even if a hugetlb page is not pre > allocated then this will get propagated as SIGBUS unless that has > changed. It's an optimization to allocate gigantic pages dynamically later (so not using memblock during boot). Not just for overcommit, but for any kind of allocation. The actual allocation from cma should happen when setting nr_pages: nr_hugepages_store_common()->set_max_huge_pages()->alloc_pool_huge_page()...->alloc_gigantic_page() The path described above seems to be trying to overcommit gigantic pages, something that can be expected to SIGBUS. Reservations are handled via the pre-allocated pool. -- Thanks, David / dhildenb 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.2 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 65D69C433E0 for ; Tue, 2 Feb 2021 14:42:54 +0000 (UTC) Received: from ml01.01.org (ml01.01.org [198.145.21.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1C48064ED7 for ; Tue, 2 Feb 2021 14:42:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1C48064ED7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-nvdimm-bounces@lists.01.org Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id DAB25100EA2B4; Tue, 2 Feb 2021 06:42:53 -0800 (PST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=216.205.24.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=david@redhat.com; receiver= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 71905100F2276 for ; Tue, 2 Feb 2021 06:42:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1612276969; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=p9WVcjtJGSRM6w7F2m39UE8iZCliMcHMPGNuV986qrI=; b=hQ3Tso4xUNA6BcbnqEQ3Qn2KNig6XhdHi73BnogWswFN4F3MYGYd8hXtpnt/vVRxVqEtZ4 2TuBBZrI4gMd3ZfA2xz23WMP8NCN4ZrQztaLcfRxZ20SeUb1uDSgTDUxDD6VrFWiXU+q1y GuMr1JWZdwW0sT74o++/1MnRLo2DHGA= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-521-8AQi4yF_NHCuVEWiuakmOQ-1; Tue, 02 Feb 2021 09:42:42 -0500 X-MC-Unique: 8AQi4yF_NHCuVEWiuakmOQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 46BB9184DBED; Tue, 2 Feb 2021 14:42:36 +0000 (UTC) Received: from [10.36.114.148] (ovpn-114-148.ams2.redhat.com [10.36.114.148]) by smtp.corp.redhat.com (Postfix) with ESMTP id 36D6560916; Tue, 2 Feb 2021 14:42:28 +0000 (UTC) To: Michal Hocko , Mike Rapoport References: <20210121122723.3446-1-rppt@kernel.org> <20210121122723.3446-8-rppt@kernel.org> <20210126114657.GL827@dhcp22.suse.cz> <303f348d-e494-e386-d1f5-14505b5da254@redhat.com> <20210126120823.GM827@dhcp22.suse.cz> <20210128092259.GB242749@kernel.org> <20210129072128.GD242749@kernel.org> From: David Hildenbrand Organization: Red Hat GmbH Subject: Re: [PATCH v16 07/11] secretmem: use PMD-size pages to amortize direct map fragmentation Message-ID: Date: Tue, 2 Feb 2021 15:42:26 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Message-ID-Hash: ESDXWNL3IVAKXZBRQKLL2KTFE6DO2I62 X-Message-ID-Hash: ESDXWNL3IVAKXZBRQKLL2KTFE6DO2I62 X-MailFrom: david@redhat.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation CC: Andrew Morton , Alexander Viro , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Catalin Marinas , Christopher Lameter , Dave Hansen , Elena Reshetova , "H. Peter Anvin" , Ingo Molnar , James Bottomley , "Kirill A. Shutemov" , Matthew Wilcox , Mark Rutland , Mike Rapoport , Michael Kerrisk , Palmer Dabbelt , Paul Walmsley , Peter Zijlstra , Rick Edgecombe , Roman Gushchin , Shakeel Butt , Shuah Khan , Thomas Gleixner , Tycho Andersen , Will Deacon , linux-api@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org, linux-riscv@lists.infradead.org, x86@kernel.org, Hagen Paul Pfeifer , Palmer Dabbelt X-Mailman-Version: 3.1.1 Precedence: list List-Id: "Linux-nvdimm developer list." Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="us-ascii"; format="flowed" Content-Transfer-Encoding: 7bit On 29.01.21 09:51, Michal Hocko wrote: > On Fri 29-01-21 09:21:28, Mike Rapoport wrote: >> On Thu, Jan 28, 2021 at 02:01:06PM +0100, Michal Hocko wrote: >>> On Thu 28-01-21 11:22:59, Mike Rapoport wrote: >>> >>>> And hugetlb pools may be also depleted by anybody by calling >>>> mmap(MAP_HUGETLB) and there is no any limiting knob for this, while >>>> secretmem has RLIMIT_MEMLOCK. >>> >>> Yes it can fail. But it would fail at the mmap time when the reservation >>> fails. Not during the #PF time which can be at any time. >> >> It may fail at $PF time as well: >> >> hugetlb_fault() >> hugeltb_no_page() >> ... >> alloc_huge_page() >> alloc_gigantic_page() >> cma_alloc() >> -ENOMEM; > > I would have to double check. From what I remember cma allocator is an > optimization to increase chances to allocate hugetlb pages when > overcommiting because pages should be normally pre-allocated in the pool > and reserved during mmap time. But even if a hugetlb page is not pre > allocated then this will get propagated as SIGBUS unless that has > changed. It's an optimization to allocate gigantic pages dynamically later (so not using memblock during boot). Not just for overcommit, but for any kind of allocation. The actual allocation from cma should happen when setting nr_pages: nr_hugepages_store_common()->set_max_huge_pages()->alloc_pool_huge_page()...->alloc_gigantic_page() The path described above seems to be trying to overcommit gigantic pages, something that can be expected to SIGBUS. Reservations are handled via the pre-allocated pool. -- Thanks, David / dhildenb _______________________________________________ Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org To unsubscribe send an email to linux-nvdimm-leave@lists.01.org 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,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 D9E1AC433DB for ; Tue, 2 Feb 2021 14:43:01 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4675964DF5 for ; Tue, 2 Feb 2021 14:43:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4675964DF5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:Subject: From:References:To:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=2qgqdWX02ICRdeTy9t2HDQOi1+G+G6+QFi+8bhsKDVE=; b=WJMCgIRJvV5jceZQLPq/8Mqc3 eTZ3a2uYMmvs4rlVwGxAIOoUlzIsXvdn/H3sNrxSd9Ig6AQe1LUqe3Nufp8wTuIYNy8LIOPEUXu/x /LEXgvxTme62E4YxOYGnoA2j1yB+lPC/odES3xwRjMwBIJRbKgeSlhImv0ZrxOObHK7JuhEofhlcC tjvk9V3bEEGTuiVD13ALKBjSGCrgBlDTZFYmz037fxzxTs6JWfFF67VDtIsCZbiqq15Gn/nibJKX9 DhNHwpHXJD8RctoPQrMUP/Ca+x5YLq9x+0NNTQXU2Wz/3D7zIodKqc786gWj67GL8+nIbxKYM9NVA PeYSflWpQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l6wtH-0002eG-Qz; Tue, 02 Feb 2021 14:42:51 +0000 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l6wtE-0002d6-Ed for linux-riscv@lists.infradead.org; Tue, 02 Feb 2021 14:42:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1612276967; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=p9WVcjtJGSRM6w7F2m39UE8iZCliMcHMPGNuV986qrI=; b=ef9GhwY3hFIcy7iOGjbtV8vjQUSaeYExmUGYz9HkArUUr/BpmRXhg8/eFsQB699Vqn571q rJ9KwgVwL6IjKXOrMQso4pJphTJqTnrnhhzrid0aRiuAu/xrEQb57x6WUSD4yI/f3Flx5u 6fyc2MvnbewCMWlkOvwZK1V9ep1yvW8= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-521-8AQi4yF_NHCuVEWiuakmOQ-1; Tue, 02 Feb 2021 09:42:42 -0500 X-MC-Unique: 8AQi4yF_NHCuVEWiuakmOQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 46BB9184DBED; Tue, 2 Feb 2021 14:42:36 +0000 (UTC) Received: from [10.36.114.148] (ovpn-114-148.ams2.redhat.com [10.36.114.148]) by smtp.corp.redhat.com (Postfix) with ESMTP id 36D6560916; Tue, 2 Feb 2021 14:42:28 +0000 (UTC) To: Michal Hocko , Mike Rapoport References: <20210121122723.3446-1-rppt@kernel.org> <20210121122723.3446-8-rppt@kernel.org> <20210126114657.GL827@dhcp22.suse.cz> <303f348d-e494-e386-d1f5-14505b5da254@redhat.com> <20210126120823.GM827@dhcp22.suse.cz> <20210128092259.GB242749@kernel.org> <20210129072128.GD242749@kernel.org> From: David Hildenbrand Organization: Red Hat GmbH Subject: Re: [PATCH v16 07/11] secretmem: use PMD-size pages to amortize direct map fragmentation Message-ID: Date: Tue, 2 Feb 2021 15:42:26 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210202_094248_840721_8AAC43B3 X-CRM114-Status: GOOD ( 20.10 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Peter Zijlstra , Catalin Marinas , Dave Hansen , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, "H. Peter Anvin" , Christopher Lameter , Shuah Khan , Thomas Gleixner , Elena Reshetova , linux-arch@vger.kernel.org, Tycho Andersen , linux-nvdimm@lists.01.org, Will Deacon , x86@kernel.org, Matthew Wilcox , Mike Rapoport , Ingo Molnar , Michael Kerrisk , Palmer Dabbelt , Arnd Bergmann , James Bottomley , Hagen Paul Pfeifer , Borislav Petkov , Alexander Viro , Andy Lutomirski , Paul Walmsley , "Kirill A. Shutemov" , Dan Williams , linux-arm-kernel@lists.infradead.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Palmer Dabbelt , linux-fsdevel@vger.kernel.org, Shakeel Butt , Andrew Morton , Rick Edgecombe , Roman Gushchin Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org On 29.01.21 09:51, Michal Hocko wrote: > On Fri 29-01-21 09:21:28, Mike Rapoport wrote: >> On Thu, Jan 28, 2021 at 02:01:06PM +0100, Michal Hocko wrote: >>> On Thu 28-01-21 11:22:59, Mike Rapoport wrote: >>> >>>> And hugetlb pools may be also depleted by anybody by calling >>>> mmap(MAP_HUGETLB) and there is no any limiting knob for this, while >>>> secretmem has RLIMIT_MEMLOCK. >>> >>> Yes it can fail. But it would fail at the mmap time when the reservation >>> fails. Not during the #PF time which can be at any time. >> >> It may fail at $PF time as well: >> >> hugetlb_fault() >> hugeltb_no_page() >> ... >> alloc_huge_page() >> alloc_gigantic_page() >> cma_alloc() >> -ENOMEM; > > I would have to double check. From what I remember cma allocator is an > optimization to increase chances to allocate hugetlb pages when > overcommiting because pages should be normally pre-allocated in the pool > and reserved during mmap time. But even if a hugetlb page is not pre > allocated then this will get propagated as SIGBUS unless that has > changed. It's an optimization to allocate gigantic pages dynamically later (so not using memblock during boot). Not just for overcommit, but for any kind of allocation. The actual allocation from cma should happen when setting nr_pages: nr_hugepages_store_common()->set_max_huge_pages()->alloc_pool_huge_page()...->alloc_gigantic_page() The path described above seems to be trying to overcommit gigantic pages, something that can be expected to SIGBUS. Reservations are handled via the pre-allocated pool. -- Thanks, David / dhildenb _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv 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,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 F3427C433DB for ; Tue, 2 Feb 2021 14:44:08 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A7F1664ED7 for ; Tue, 2 Feb 2021 14:44:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A7F1664ED7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:Subject: From:References:To:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=xYFMSrrOMVEUDEUazxQVf89Bo5MoTZsvQIxmbQUxgjg=; b=I52T0ZcbkDwZ52Yd0oZxALNfU B8ASF8VumDIq1EOEf9HRBaLmb8Cp+uEGzUTVfv/N4JKAimooYwMBYXZwNfejVlx7B7dBM9WAgoXdx ZECCQv09bXxe7vG4Xbkxl/sKfH87my4AuOQJcdz18GAvno/+7W8sT5ol8QrpWchb5j5E5p1Utu3SZ ZMMvlxyWEi3Gd/FXjWid/zxPNFcpF5BwF7s0QxprzOEfZLrg85dMf18UjpC4ta4B1o2DCwCMmMyKo 9E3JNholDFeoASGTt5IVE5K01bW4qZ5zMosUpOg8+8PJQ1KtOWaoiAkFGB/xUvlYxvMQSbO6TwBV9 IVqzbnCHg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l6wtN-0002fT-Lt; Tue, 02 Feb 2021 14:42:57 +0000 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l6wtK-0002eZ-MM for linux-arm-kernel@lists.infradead.org; Tue, 02 Feb 2021 14:42:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1612276974; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=p9WVcjtJGSRM6w7F2m39UE8iZCliMcHMPGNuV986qrI=; b=OQo3i10NkK88wXMNXEXmca0BBgYvMgB4aFbJSf0m52DHmfo1XJm2rYtfET6sk+Vc4FE8bC dw8U/PVY0/csMZsHyU3g1o+hhwBOxQAAIT51769OIMxg5xCAw2KRFVBDHOP0s+PC4M6iUr 65LJvmG5s0DHRvV5gms9g+KHUTiST+0= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-521-8AQi4yF_NHCuVEWiuakmOQ-1; Tue, 02 Feb 2021 09:42:42 -0500 X-MC-Unique: 8AQi4yF_NHCuVEWiuakmOQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 46BB9184DBED; Tue, 2 Feb 2021 14:42:36 +0000 (UTC) Received: from [10.36.114.148] (ovpn-114-148.ams2.redhat.com [10.36.114.148]) by smtp.corp.redhat.com (Postfix) with ESMTP id 36D6560916; Tue, 2 Feb 2021 14:42:28 +0000 (UTC) To: Michal Hocko , Mike Rapoport References: <20210121122723.3446-1-rppt@kernel.org> <20210121122723.3446-8-rppt@kernel.org> <20210126114657.GL827@dhcp22.suse.cz> <303f348d-e494-e386-d1f5-14505b5da254@redhat.com> <20210126120823.GM827@dhcp22.suse.cz> <20210128092259.GB242749@kernel.org> <20210129072128.GD242749@kernel.org> From: David Hildenbrand Organization: Red Hat GmbH Subject: Re: [PATCH v16 07/11] secretmem: use PMD-size pages to amortize direct map fragmentation Message-ID: Date: Tue, 2 Feb 2021 15:42:26 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210202_094254_778545_A42AF9E2 X-CRM114-Status: GOOD ( 21.04 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Peter Zijlstra , Catalin Marinas , Dave Hansen , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, "H. Peter Anvin" , Christopher Lameter , Shuah Khan , Thomas Gleixner , Elena Reshetova , linux-arch@vger.kernel.org, Tycho Andersen , linux-nvdimm@lists.01.org, Will Deacon , x86@kernel.org, Matthew Wilcox , Mike Rapoport , Ingo Molnar , Michael Kerrisk , Palmer Dabbelt , Arnd Bergmann , James Bottomley , Hagen Paul Pfeifer , Borislav Petkov , Alexander Viro , Andy Lutomirski , Paul Walmsley , "Kirill A. Shutemov" , Dan Williams , linux-arm-kernel@lists.infradead.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Palmer Dabbelt , linux-fsdevel@vger.kernel.org, Shakeel Butt , Andrew Morton , Rick Edgecombe , Roman Gushchin Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 29.01.21 09:51, Michal Hocko wrote: > On Fri 29-01-21 09:21:28, Mike Rapoport wrote: >> On Thu, Jan 28, 2021 at 02:01:06PM +0100, Michal Hocko wrote: >>> On Thu 28-01-21 11:22:59, Mike Rapoport wrote: >>> >>>> And hugetlb pools may be also depleted by anybody by calling >>>> mmap(MAP_HUGETLB) and there is no any limiting knob for this, while >>>> secretmem has RLIMIT_MEMLOCK. >>> >>> Yes it can fail. But it would fail at the mmap time when the reservation >>> fails. Not during the #PF time which can be at any time. >> >> It may fail at $PF time as well: >> >> hugetlb_fault() >> hugeltb_no_page() >> ... >> alloc_huge_page() >> alloc_gigantic_page() >> cma_alloc() >> -ENOMEM; > > I would have to double check. From what I remember cma allocator is an > optimization to increase chances to allocate hugetlb pages when > overcommiting because pages should be normally pre-allocated in the pool > and reserved during mmap time. But even if a hugetlb page is not pre > allocated then this will get propagated as SIGBUS unless that has > changed. It's an optimization to allocate gigantic pages dynamically later (so not using memblock during boot). Not just for overcommit, but for any kind of allocation. The actual allocation from cma should happen when setting nr_pages: nr_hugepages_store_common()->set_max_huge_pages()->alloc_pool_huge_page()...->alloc_gigantic_page() The path described above seems to be trying to overcommit gigantic pages, something that can be expected to SIGBUS. Reservations are handled via the pre-allocated pool. -- Thanks, David / dhildenb _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel