Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1328492imm; Wed, 15 Aug 2018 15:48:47 -0700 (PDT) X-Google-Smtp-Source: AA+uWPwdS1oJVcQxR1WwsjqCZXyif697OK4l4ST7QXDacvhjkLvpaOWcBG1nWukuflkVkMjo47rD X-Received: by 2002:a65:4c87:: with SMTP id m7-v6mr26358412pgt.98.1534373327702; Wed, 15 Aug 2018 15:48:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534373327; cv=none; d=google.com; s=arc-20160816; b=fbfwCup1WEjdlCbTTAatVej2I4P2RMUL57UFGmhtmnZlTGpEATGfUiQMGf3tdWZ00B c7Jn+uhReIPiSOoWYOvtkrJBRBBARGjs4YF5qTe5OLJXgG52REl8stTyxcDRFogkUwY0 Fqdf8pykyjrYX1VDFunoMbP4Byvbia4mpmO3RLi0/LQs72A+0IuP+81dI+2SZdzjoTs3 rKkOh3JScleWArYuwTW/6gWE0AGwJ+P6Ccd6uvNattFHMx8VvyKhGzoa9emjagV749EW 9J+AM8Qkxgzes8HFoL40H/adYqvhT8vJhFR0e9/XCMr4VoHega99O1C9co9efCH0swAX A9Cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :arc-authentication-results; bh=PaYW0Ihm5ZM9sZ6z04Ooi8+8B6PntyFSiZzhxkNRwlY=; b=ZZuKEy77xDqHbdyzsfdmp68LV6xRBtntptpKLqt3Lx7SUpFz+1XXt3UG8gSX66MlZD gjQwkQDnRHGK/tUleJwBrblOxABto117S4CHpRlma8Rx+4wA0avMhqfaodB4Snj377Wq uGV0EFMnypUcj+yP1rlwfS5aDCYXElHokQAHbjSQwC1ITKscNGU6csJBXarvMuvEwAlj mxfWKORpr90O0+J1YQMgIw/C47M3gZN5pvIEtWHIYY9xnOHHxth+U6Yid0lFCfwpVfIB S/JB+TlUQWo9N7bTfKclpyn3gQjaYILFpstjPBGRoI3JhLhmfSWuZOMciueJ3ebxrNYy phww== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 184-v6si24842422pgj.421.2018.08.15.15.48.19; Wed, 15 Aug 2018 15:48:47 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730692AbeHPB3I (ORCPT + 99 others); Wed, 15 Aug 2018 21:29:08 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:38752 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730651AbeHPB3I (ORCPT ); Wed, 15 Aug 2018 21:29:08 -0400 Received: from akpm3.svl.corp.google.com (unknown [104.133.9.92]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 670CB40B; Wed, 15 Aug 2018 22:34:57 +0000 (UTC) Date: Wed, 15 Aug 2018 15:34:56 -0700 From: Andrew Morton To: Jia He Cc: Russell King , Catalin Marinas , Will Deacon , Mark Rutland , Ard Biesheuvel , Michal Hocko , Wei Yang , Kees Cook , Laura Abbott , Vladimir Murzin , Philip Derrin , AKASHI Takahiro , James Morse , Steve Capper , Pavel Tatashin , Gioh Kim , Vlastimil Babka , Mel Gorman , Johannes Weiner , Kemi Wang , Petr Tesarik , YASUAKI ISHIMATSU , Andrey Ryabinin , Nikolay Borisov , Daniel Jordan , Daniel Vacek , Eugeniu Rosca , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [RESEND PATCH v10 0/6] optimize memblock_next_valid_pfn and early_pfn_valid on arm and arm64 Message-Id: <20180815153456.974798c62dd5a5e4628db8f5@linux-foundation.org> In-Reply-To: <1530867675-9018-1-git-send-email-hejianet@gmail.com> References: <1530867675-9018-1-git-send-email-hejianet@gmail.com> X-Mailer: Sylpheed 3.6.0 (GTK+ 2.24.31; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 6 Jul 2018 17:01:09 +0800 Jia He wrote: > Commit b92df1de5d28 ("mm: page_alloc: skip over regions of invalid pfns > where possible") optimized the loop in memmap_init_zone(). But it causes > possible panic bug. So Daniel Vacek reverted it later. > > But as suggested by Daniel Vacek, it is fine to using memblock to skip > gaps and finding next valid frame with CONFIG_HAVE_ARCH_PFN_VALID. > > More from what Daniel said: > "On arm and arm64, memblock is used by default. But generic version of > pfn_valid() is based on mem sections and memblock_next_valid_pfn() does > not always return the next valid one but skips more resulting in some > valid frames to be skipped (as if they were invalid). And that's why > kernel was eventually crashing on some !arm machines." > > About the performance consideration: > As said by James in b92df1de5, > "I have tested this patch on a virtual model of a Samurai CPU with a > sparse memory map. The kernel boot time drops from 109 to 62 seconds." > Thus it would be better if we remain memblock_next_valid_pfn on arm/arm64. > > Besides we can remain memblock_next_valid_pfn, there is still some room > for improvement. After this set, I can see the time overhead of memmap_init > is reduced from 27956us to 13537us in my armv8a server(QDF2400 with 96G > memory, pagesize 64k). I believe arm server will benefit more if memory is > larger than TBs This patchset is basically unreviewed at this stage. Could people please find some time to check it carefully? Thanks.