Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp59640imm; Wed, 5 Sep 2018 15:00:09 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZvik+0xQO9Tvt6VZdOu64owr4z9ntXR1rkvVZ3IKi8njDuWxgZ0ltNIe5UdS/83nOW0zBe X-Received: by 2002:a62:ac12:: with SMTP id v18-v6mr43083785pfe.126.1536184809835; Wed, 05 Sep 2018 15:00:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536184809; cv=none; d=google.com; s=arc-20160816; b=aDi0ZQ4Gmf7weEQO3dIR7YKr5Uz8KFfwYfI3d+/PqvCQszPmaI23mQeoJXjKYIZHDR 9bycpnKdVNU7hYFb5ksQ1BzRqFVl4DkYoHBGfkembQ58OTvaCOjZag8sDpjqJnjUqjNO XwKO5djfOQS9ZehSVf0uE6UH+DWWI+u6kVU6b4fHRmjWLdqCCN7335aJBxwy8j43mbmC rPkulF7vYjr43CX2EuaEyVeIU6wADdUh8BPkSpHN7I23ojAN1ekRfvDD4foLkLZ+l/vZ B0ZBURaMXcvTIgcRqDghEUtcxc5TIq9igN/vOidG4NUT9QPXP319dbNu5j/CDIOIy/p/ 9ENQ== 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; bh=ruvtEW2mKDm2G6lcDwkvW2SbMqjmESI04uc9UhzANoM=; b=VLsDnaPzP5RDBsSlngQ4vOZRoC0EWcjM8nW9YAgUfZ93oejnQKD7IESRPlcBXLwevH WaleNxEd8reDN3bsAb2ON1+ruwdtJHlTLYAfCrdMPQnpA2l7FAzmvY1XRwh5pnl55P1G cLZVC2gdy6E3xocLs5Oeq+cZykm55iBn3QOoBy4Jgms2M4aJ/20EFSqvCmTRVlWCl7bR CW2kJ+kr4svOGmXHHly1EslKnvpPScR721hl5qRmBMJDvNVQ8k6d92culbJBa7RMtAVb sKULWh4ldxCw0Jv/P5oFwR9ZD6z6Ej2Xpa0BU9K4bAOu1Jt3srXWjGf5qcYckp06p7Lg s64Q== 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 68-v6si3175834pga.113.2018.09.05.14.59.54; Wed, 05 Sep 2018 15:00:09 -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 S1727885AbeIFCaG (ORCPT + 99 others); Wed, 5 Sep 2018 22:30:06 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:59808 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727572AbeIFCaG (ORCPT ); Wed, 5 Sep 2018 22:30:06 -0400 Received: from akpm3.svl.corp.google.com (unknown [104.133.8.65]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 6D1AA10AF; Wed, 5 Sep 2018 21:57:56 +0000 (UTC) Date: Wed, 5 Sep 2018 14:57:55 -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 , 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, Jia He Subject: Re: [PATCH v11 0/3] remain and optimize memblock_next_valid_pfn on arm and arm64 Message-Id: <20180905145755.cc89819d446f311e4b8e8f95@linux-foundation.org> In-Reply-To: <1534907237-2982-1-git-send-email-jia.he@hxt-semitech.com> References: <1534907237-2982-1-git-send-email-jia.he@hxt-semitech.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 Wed, 22 Aug 2018 11:07:14 +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 Thanks. I switched to v11. It would be nice to see some confirmation from ARM people please?