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 D042BC433DB 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 9F57F64F54 for ; Tue, 2 Feb 2021 14:46:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232771AbhBBOqi (ORCPT ); Tue, 2 Feb 2021 09:46:38 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:23440 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234776AbhBBOoU (ORCPT ); Tue, 2 Feb 2021 09:44:20 -0500 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 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-kernel@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