From patchwork Mon Nov 26 11:53:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rapoport X-Patchwork-Id: 10698079 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9F9AD13AD for ; Mon, 26 Nov 2018 11:54:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 89F78287C9 for ; Mon, 26 Nov 2018 11:54:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7D57128F94; Mon, 26 Nov 2018 11:54:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B8F41287C9 for ; Mon, 26 Nov 2018 11:54:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 99B566B420A; Mon, 26 Nov 2018 06:54:20 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 94AF56B420B; Mon, 26 Nov 2018 06:54:20 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 812636B420C; Mon, 26 Nov 2018 06:54:20 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by kanga.kvack.org (Postfix) with ESMTP id 2600F6B420A for ; Mon, 26 Nov 2018 06:54:20 -0500 (EST) Received: by mail-ed1-f71.google.com with SMTP id m19so9070311edc.6 for ; Mon, 26 Nov 2018 03:54:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id; bh=p52UiABFfEF63XIp+m3oaEXcDEpKIdPoqL9ZkWIbF9g=; b=nMec1o/+HBpF3os/SEICiYVdpwPFrBoJgMAQDuCILgiPSXgdsbBa9xfZDYb4syKR9w p3PDu0wAIjmJR9XmSmPQpqMXHRJga5kTu/s65Z8UPd2n+GnpGZit/Etkf1PRtVLnDmzn iQ4Ff5jyeTLAiYbr2WUODUXsnKp1PSKPCMVLUYYuNFylxIDc9Gv3np4J4yZPLUHzQQ25 DACFido3zfxAM49LnAgVvYcyIK0ryKrxx8Bta8qYVe7tBu8ikLfVTec9plD5628i0Xdg 6Ht8VtUrlws+0PDNUzTvv53qou6RPapWocdXM0vIQmHUtsB1Q9oJr+i4oAAz4R+fP5z9 hftA== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of rppt@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=rppt@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com X-Gm-Message-State: AA+aEWYGL29MLRiShb6dZ/OEWbaQRBA0ZDouzXDE7DAi6iVaogGgFfie GGfNTc+AjXH1pD7H3gb3kXWCE9+f1AGeCVBsuL73AV3pw39pY1l1pxTWUYjCPhHKYN3knx0rAD6 57HC2DQJ9yj5oFfIrhFFAulytw4v8eoOsThy+bcxr7Qe7AlsW8O4PlWCt2Vj1Q08JzA== X-Received: by 2002:aa7:c5d0:: with SMTP id h16mr22943225eds.107.1543233259579; Mon, 26 Nov 2018 03:54:19 -0800 (PST) X-Google-Smtp-Source: AFSGD/USZ0J3K+Nv6p/CW1F1vF8PJEoP6qra7y7R1+MNdyrJ4MVGKTtTevOmTAFp//nkLv8ni+3Q X-Received: by 2002:aa7:c5d0:: with SMTP id h16mr22943156eds.107.1543233258324; Mon, 26 Nov 2018 03:54:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543233258; cv=none; d=google.com; s=arc-20160816; b=o0AWhdFlYUKiYrXYYsQblTV9nbglE1b6IpKEcZBUiRuFFXkA85fWfOY/tzUpiExuTr 9SyIA40rMB4QN9JGc/dm4D3J1exGNSG3IlFrQm8xqzobhU/ynON2X8uGqThmCcknPZqF UdVSs3IOOQrkCxE9h2z8ejKDN/uwzFMWPlPUVc6vwcxywi2TXlNkdHz3sH1vIt2xCaN1 6KAw53NdOVp/1H/Zmwd/k8N5gXh8JQRcmnpW8JJIY8rKpeVWlCCq7oZjxCTYdgokWltq aYIT+8p1qpQi7kr3J/2fOZbV3DbI7tUkGo4qXuFgFdzxK/cA47EFtsi5rfGN3msnCHBc rt5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:cc:to:from; bh=p52UiABFfEF63XIp+m3oaEXcDEpKIdPoqL9ZkWIbF9g=; b=dte9jBuB44mwpEfstg2+99cVcrouMR/OnA/SDGfUdXQB/pgS3RIjNzwP+BHwaMo5gn Ji1UaP+wJNBnj6VsH/+ZOlMBuq1Y/iX0dLwWyI17VSxfkZCgYkCKXJw8pzqjYo0m21wT 7Ji34MWy4EBLjG8+6VnW1HIVqrmv6Ehe4l/urEunPxGYlJZj/tjo6x59dEMNByB7ZSRX oVF/UsNp3ifrLwdOA7gFvJSa3vVnB8VIB31RCuuxT+bT/JpLqQio40WmrP/O/uIWZqC2 admRJHAJ3zoy612FARe6DYbhA8tz9D366fBLEQyAYNM7uDb3k8vbfpK7asQ2Q/MVAGvn kv8Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of rppt@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=rppt@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com. [148.163.158.5]) by mx.google.com with ESMTPS id h17si295151edr.245.2018.11.26.03.54.17 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Nov 2018 03:54:18 -0800 (PST) Received-SPF: pass (google.com: domain of rppt@linux.ibm.com designates 148.163.158.5 as permitted sender) client-ip=148.163.158.5; Authentication-Results: mx.google.com; spf=pass (google.com: domain of rppt@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=rppt@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from pps.filterd (m0098420.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wAQBsE1x030035 for ; Mon, 26 Nov 2018 06:54:16 -0500 Received: from e06smtp04.uk.ibm.com (e06smtp04.uk.ibm.com [195.75.94.100]) by mx0b-001b2d01.pphosted.com with ESMTP id 2p0enpcqw7-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 26 Nov 2018 06:54:15 -0500 Received: from localhost by e06smtp04.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 26 Nov 2018 11:53:45 -0000 Received: from b06cxnps4076.portsmouth.uk.ibm.com (9.149.109.198) by e06smtp04.uk.ibm.com (192.168.101.134) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Mon, 26 Nov 2018 11:53:41 -0000 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id wAQBrel23670362 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 26 Nov 2018 11:53:40 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3C9C852050; Mon, 26 Nov 2018 11:53:40 +0000 (GMT) Received: from rapoport-lnx (unknown [9.148.8.115]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTPS id 8EDD25204F; Mon, 26 Nov 2018 11:53:38 +0000 (GMT) Received: by rapoport-lnx (sSMTP sendmail emulation); Mon, 26 Nov 2018 13:53:37 +0200 From: Mike Rapoport To: Andrew Morton Cc: Richard Henderson , Ivan Kokshaysky , Matt Turner , Meelis Roos , linux-alpha@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mike Rapoport Subject: [PATCH] alpha: fix hang caused by the bootmem removal Date: Mon, 26 Nov 2018 13:53:36 +0200 X-Mailer: git-send-email 2.7.4 X-TM-AS-GCONF: 00 x-cbid: 18112611-0016-0000-0000-0000022CC644 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18112611-0017-0000-0000-00003285198D Message-Id: <1543233216-25833-1-git-send-email-rppt@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-11-26_08:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1811260110 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: X-Virus-Scanned: ClamAV using ClamSMTP The conversion of alpha to memblock as the early memory manager caused boot to hang as described at [1]. The issue is caused because for CONFIG_DISCTONTIGMEM=y case, memblock_add() is called using memory start PFN that had been rounded down to the nearest 8Mb and it caused memblock to see more memory that is actually present in the system. Besides, memblock allocates memory from high addresses while bootmem was using low memory, which broke the assumption that early allocations are always accessible by the hardware. This patch ensures that memblock_add() is using the correct PFN for the memory start and forces memblock to use bottom-up allocations. [1] https://lkml.org/lkml/2018/11/22/1032 Reported-by: Meelis Roos Signed-off-by: Mike Rapoport Tested-by: Meelis Roos --- arch/alpha/kernel/setup.c | 1 + arch/alpha/mm/numa.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c index a37fd99..4b5b1b2 100644 --- a/arch/alpha/kernel/setup.c +++ b/arch/alpha/kernel/setup.c @@ -634,6 +634,7 @@ setup_arch(char **cmdline_p) /* Find our memory. */ setup_memory(kernel_end); + memblock_set_bottom_up(true); /* First guess at cpu cache sizes. Do this before init_arch. */ determine_cpu_caches(cpu->type); diff --git a/arch/alpha/mm/numa.c b/arch/alpha/mm/numa.c index 74846553..d0b7337 100644 --- a/arch/alpha/mm/numa.c +++ b/arch/alpha/mm/numa.c @@ -144,14 +144,14 @@ setup_memory_node(int nid, void *kernel_end) if (!nid && (node_max_pfn < end_kernel_pfn || node_min_pfn > start_kernel_pfn)) panic("kernel loaded out of ram"); + memblock_add(PFN_PHYS(node_min_pfn), + (node_max_pfn - node_min_pfn) << PAGE_SHIFT); + /* Zone start phys-addr must be 2^(MAX_ORDER-1) aligned. Note that we round this down, not up - node memory has much larger alignment than 8Mb, so it's safe. */ node_min_pfn &= ~((1UL << (MAX_ORDER-1))-1); - memblock_add(PFN_PHYS(node_min_pfn), - (node_max_pfn - node_min_pfn) << PAGE_SHIFT); - NODE_DATA(nid)->node_start_pfn = node_min_pfn; NODE_DATA(nid)->node_present_pages = node_max_pfn - node_min_pfn;