From patchwork Mon Dec 3 15:47:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rapoport X-Patchwork-Id: 10709885 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 465BE14BD for ; Mon, 3 Dec 2018 15:47:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 34C872A082 for ; Mon, 3 Dec 2018 15:47:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 28ABF2A1F2; Mon, 3 Dec 2018 15:47:53 +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 9ACAD2A082 for ; Mon, 3 Dec 2018 15:47:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 47FAA6B69DB; Mon, 3 Dec 2018 10:47:46 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 42DAF6B69DC; Mon, 3 Dec 2018 10:47:46 -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 31D066B69DD; Mon, 3 Dec 2018 10:47:46 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) by kanga.kvack.org (Postfix) with ESMTP id CE3416B69DB for ; Mon, 3 Dec 2018 10:47:45 -0500 (EST) Received: by mail-ed1-f70.google.com with SMTP id o21so6716381edq.4 for ; Mon, 03 Dec 2018 07:47:45 -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=3zqkzPaSuiGCyJmI6kWRlGPCKeaj6XWAVxk9o+ekCJU=; b=sG54Tcq8HJSrLTd+o10xt9luFOf1l7SdZtoRY+rjN5kF/rd4iLFxDJz0VNxiocF3cT qkOORY9PluBoi4rHcWf4JaoeRYs/uVCti5p/3Zx3CHJCVDb2QzXAxmtCy6rZELPPMqbg bC/OkCGz4U/rTARz3OYXOHFJdnZF7KQWOGaYE6aIhm+jUrYCxAmBpgRx5rX1UY+c2W5l 7cQKImdhJo1R8iyxfAwCA904vYAl8P/QPuTbrjWPpSKc5ZoF/6bKEMRP36OO2OaWOnos IPMAgd2nrU03V5jxOjziPgbWNamOkZR+bK4K7qPp+K9GTloQinZ97uRd1Do7s81NmwRC LEnQ== 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+aEWaK8MvBpSj+vyT7BIL+2mStcCLywwWwufcKGRss7iUFTHCjQqFp HUz/MMdaHu6Z5w/1aScIaSJFzNiBgBcHXhVyl+Xg5Pn+va/CSmfFImqkNPQ9TEje5wRwvo3FLgd baywKsW9EWeMB8w/AxLes3TYEWs2uaMwAIN+UBxO/WLHlXtbq9t8lRrfrsN9bnVBiaA== X-Received: by 2002:a17:906:be2:: with SMTP id z2-v6mr13228291ejg.170.1543852065301; Mon, 03 Dec 2018 07:47:45 -0800 (PST) X-Google-Smtp-Source: AFSGD/VxMiKXTiJRH/bGGnYYmF6CPRtLTvkm5XAw6o8WkIrmU8bZ908v1DKjqGW6FNcl0LnMKxMR X-Received: by 2002:a17:906:be2:: with SMTP id z2-v6mr13228246ejg.170.1543852063872; Mon, 03 Dec 2018 07:47:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543852063; cv=none; d=google.com; s=arc-20160816; b=fb9uynO9h6n24mYZxVPaOWxwFf1leSpxjTJvE7RnRhfvLkoivUL/2C96w1EVGmluIi HoW8Bq4E/z/K5Q6KBxHMAsmwTsYf9zD59Q79GI5nLuVILw/p7ty4VOJeo7qmgQ3RPOQr tEdhvChNP3RqMq8xztNFO2LaPZOMOa/xu5LJnukv2X7IoKDUk8BftnS5ggmDqTnli8Z2 WtTcVTi5HGvVBFH8hE3yCqqOMIpUuWVnRSPnRrebsOnqJrUMo6Dbjok7hLe1pZ99PDgt 2stHNsiyYGyAKW87at9ZBCqsjVfLfr+Lqk51H5tib/iLSrVLF50UT1wvECEnIeQofu9c cQLg== 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=3zqkzPaSuiGCyJmI6kWRlGPCKeaj6XWAVxk9o+ekCJU=; b=vO0fG0bipabHdo7GbpJTIpUVvIGVqyeKBup/CjdNR2GcdN1Z7A15K+2bJYfm+JtfvL 5XNUPbetogNCYFHpv8zK1tJb8WY221AiyQGF0HyZ4G1ug8C1P4csXFVX3cBo/khIKqRB d3v11wrIBWGv10gum3V7Vm9ZGqhzfkTtgKXVjGB+myRysnbYkHhO+ZY5RdQTPo7JK+qg k/BZJRuX24Rq0ooAkrGxY8pFBn9aUGAnqhoicCs99zEVZIxh4cZQbsTQqOH4cZuZk7M9 y06r4bI4HsHzsVVr2pPuJOKCP1CA1OeOAto2g3tLhnRUd2nbcL+0tG5kEWXOF6hitryE zLaw== 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 91si982189eda.102.2018.12.03.07.47.43 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Dec 2018 07:47:43 -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 wB3FiFam064919 for ; Mon, 3 Dec 2018 10:47:42 -0500 Received: from e06smtp01.uk.ibm.com (e06smtp01.uk.ibm.com [195.75.94.97]) by mx0b-001b2d01.pphosted.com with ESMTP id 2p56u7ta2c-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 03 Dec 2018 10:47:38 -0500 Received: from localhost by e06smtp01.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 3 Dec 2018 15:47:29 -0000 Received: from b06cxnps3074.portsmouth.uk.ibm.com (9.149.109.194) by e06smtp01.uk.ibm.com (192.168.101.131) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Mon, 3 Dec 2018 15:47:22 -0000 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id wB3FlLYn40697962 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 3 Dec 2018 15:47:21 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6881952057; Mon, 3 Dec 2018 15:47:21 +0000 (GMT) Received: from rapoport-lnx (unknown [9.148.206.196]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTPS id 2E7DF52059; Mon, 3 Dec 2018 15:47:18 +0000 (GMT) Received: by rapoport-lnx (sSMTP sendmail emulation); Mon, 03 Dec 2018 17:47:17 +0200 From: Mike Rapoport To: Andrew Morton Cc: Arnd Bergmann , Benjamin Herrenschmidt , "David S. Miller" , Guan Xuetao , Greentime Hu , Jonas Bonn , Michael Ellerman , Michal Hocko , Michal Simek , Mark Salter , Paul Mackerras , Rich Felker , Russell King , Stefan Kristiansson , Stafford Horne , Vincent Chen , Yoshinori Sato , linux-arm-kernel@lists.infradead.org, linux-c6x-dev@linux-c6x.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-sh@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, openrisc@lists.librecores.org, sparclinux@vger.kernel.org, Mike Rapoport Subject: [PATCH v2 0/6] memblock: simplify several early memory allocation Date: Mon, 3 Dec 2018 17:47:09 +0200 X-Mailer: git-send-email 2.7.4 X-TM-AS-GCONF: 00 x-cbid: 18120315-4275-0000-0000-000002EB6064 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18120315-4276-0000-0000-000037F8646A Message-Id: <1543852035-26634-1-git-send-email-rppt@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-12-03_09:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=2 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=773 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1812030148 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 Hi, These patches simplify some of the early memory allocations by replacing usage of older memblock APIs with newer and shinier ones. Quite a few places in the arch/ code allocated memory using a memblock API that returns a physical address of the allocated area, then converted this physical address to a virtual one and then used memset(0) to clear the allocated range. More recent memblock APIs do all the three steps in one call and their usage simplifies the code. It's important to note that regardless of API used, the core allocation is nearly identical for any set of memblock allocators: first it tries to find a free memory with all the constraints specified by the caller and then falls back to the allocation with some or all constraints disabled. The first three patches perform the conversion of call sites that have exact requirements for the node and the possible memory range. The fourth patch is a bit one-off as it simplifies openrisc's implementation of pte_alloc_one_kernel(), and not only the memblock usage. The fifth patch takes care of simpler cases when the allocation can be satisfied with a simple call to memblock_alloc(). The sixth patch removes one-liner wrappers for memblock_alloc on arm and unicore32, as suggested by Christoph. v2: * added Ack from Stafford Horne for openrisc changes * entirely drop early_alloc wrappers on arm and unicore32, as per Christoph Hellwig Mike Rapoport (6): powerpc: prefer memblock APIs returning virtual address microblaze: prefer memblock API returning virtual address sh: prefer memblock APIs returning virtual address openrisc: simplify pte_alloc_one_kernel() arch: simplify several early memory allocations arm, unicore32: remove early_alloc*() wrappers arch/arm/mm/mmu.c | 13 +++---------- arch/c6x/mm/dma-coherent.c | 9 ++------- arch/microblaze/mm/init.c | 5 +++-- arch/nds32/mm/init.c | 12 ++++-------- arch/openrisc/mm/ioremap.c | 11 ++++------- arch/powerpc/kernel/paca.c | 14 ++++++-------- arch/powerpc/kernel/setup-common.c | 4 ++-- arch/powerpc/kernel/setup_64.c | 21 ++++++++++----------- arch/powerpc/mm/hash_utils_64.c | 6 +++--- arch/powerpc/mm/pgtable-book3e.c | 8 ++------ arch/powerpc/mm/pgtable-book3s64.c | 5 +---- arch/powerpc/mm/pgtable-radix.c | 24 +++++++++--------------- arch/powerpc/mm/pgtable_32.c | 4 +--- arch/powerpc/mm/ppc_mmu_32.c | 3 +-- arch/powerpc/platforms/pasemi/iommu.c | 5 +++-- arch/powerpc/platforms/powernv/opal.c | 3 +-- arch/powerpc/platforms/pseries/setup.c | 11 +++++++---- arch/powerpc/sysdev/dart_iommu.c | 5 +++-- arch/sh/mm/init.c | 18 +++++------------- arch/sh/mm/numa.c | 5 ++--- arch/sparc/kernel/prom_64.c | 7 ++----- arch/sparc/mm/init_64.c | 9 +++------ arch/unicore32/mm/mmu.c | 14 ++++---------- 23 files changed, 81 insertions(+), 135 deletions(-)