From patchwork Sun Nov 25 21:44:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rapoport X-Patchwork-Id: 10697113 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 E4AA815A8 for ; Sun, 25 Nov 2018 21:44:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 792A229A0B for ; Sun, 25 Nov 2018 21:44:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6BA1129A14; Sun, 25 Nov 2018 21:44:57 +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 D383229A0B for ; Sun, 25 Nov 2018 21:44:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C3A836B3E3A; Sun, 25 Nov 2018 16:44:55 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id BC0306B3E3B; Sun, 25 Nov 2018 16:44:55 -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 A624D6B3E3C; Sun, 25 Nov 2018 16:44:55 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by kanga.kvack.org (Postfix) with ESMTP id 653686B3E3A for ; Sun, 25 Nov 2018 16:44:55 -0500 (EST) Received: by mail-pf1-f199.google.com with SMTP id h86-v6so9800951pfd.2 for ; Sun, 25 Nov 2018 13:44:55 -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=LqOvyS1uLKWlmNaza7U1IHUeH3bfbTKP6l8oGlWU5s8=; b=iywmlk3m74m0ZbgksJZtInJQ+Z3n6RSb7QoBTTSVAAJFiWNj3rpGdS79uXaEOdljED gI8aFnyAb+f3N0v+KDGw8CrMUKDDlfq8ZB/bM2MCF/JAZbFoXtbTct7MmNec8eZu3dgC v/poVvFcM4T6nboNlcVFuYvx/AMi6snytbgSQSxS5/XbJTou3tJb6V5x0z+1TqgxS3zV DvfIJA46sZBfupI98ZiXpIm/ojvdQx1njmKI0F3kklWkq+6MfJYdKv5fJWzZOUCgI8cA c/7R/lRQHDrRIc+eUDT/MBMiu+Emjru+h/7uJVLMLNNoTFitXwFLg1GuheFD/c2od+Ap OCOA== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of rppt@linux.ibm.com designates 148.163.156.1 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+aEWZ50B5RIjZ3B0wzQMJll5E/2uoH8gmId31IM8GyptYWuXRlGhmt PyJvChIb+zYN3KsbEjClSCv/rPaLua6eYBQT4qk3DKJSYS3OxruaAMI/m11kpBphO3z22XpcpXy W8SyQKfCCSwdhSez8bLUSALM/6RL9jkbHGIQFgloHIyw+uIrMSlJdwprvY6UVnFIYqA== X-Received: by 2002:a63:7154:: with SMTP id b20mr22258236pgn.342.1543182295071; Sun, 25 Nov 2018 13:44:55 -0800 (PST) X-Google-Smtp-Source: AFSGD/XAcbsZsS0xJqJhI4tPHAD0/VfVWULUEUPV8ts6tmD1dfizedLDCiq7VnLRYuaWPpJp1ciU X-Received: by 2002:a63:7154:: with SMTP id b20mr22258210pgn.342.1543182294180; Sun, 25 Nov 2018 13:44:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543182294; cv=none; d=google.com; s=arc-20160816; b=vw0Jg6NQeacw5MMPavquel2oEgWibNntnVM7pd5l5ZJbps6/Dcb8Qj+fxcQmYHQ9Tk 3PmsBCBeHgMz+3PGFf5DmEVgTNrOj/HNzl055Xur24t1z/kDaXRgFBd4cnMZ9hZ07H0i K2MyVVn4rmluMYyOh7oQ6PjwSsxb6FGf99aSQnMygyiWaiaO8J9CEufmL0MxNJd074jJ rHQsdf/qD2dYgvoxBHnK5Vm0k7UqOBx2G1uDcaPdupdRP/k26GLChvFzEJ8ySl1+z8m6 Y3CjpVFEdMNVpy4Gp7rV6m2clEHl86EZEqSGLJWtI+A9fqoeEDeNFD5dLVnGcsgsUt59 J2nQ== 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=LqOvyS1uLKWlmNaza7U1IHUeH3bfbTKP6l8oGlWU5s8=; b=C9EZyP2FswIYn78HCLKCdfIiwQrgw/FQpEAYfIlkFyQkYVF1hviDP4m7jOmgzhtqhi ZN0tKYPE5pF2f98pMr2MdnZvhw9AsV2nG82g4YaHkhZb96JY5fjRRNzWQyngGF9T0Aup BfTv6/ZTbzGIapFthZBUIzIm+kZEVV9gmcMLVZutqORkJv20HVcOkGDmO01rQQvo8UMQ iiHq+eCNVfcLYymX1TFT7ghjrvASNWcfF56mLubP2xwfYmt6ZChe5f1ZdGqA35iGKIs8 Sz6JBNjNBqSVkpTrxE9wtCWasps8c/4rTO6mPa545Sf4LCwOtzgScT+oL6ArW01TjHPH KvKw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of rppt@linux.ibm.com designates 148.163.156.1 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 (mx0a-001b2d01.pphosted.com. [148.163.156.1]) by mx.google.com with ESMTPS id p10si59729954pgi.549.2018.11.25.13.44.53 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 25 Nov 2018 13:44:54 -0800 (PST) Received-SPF: pass (google.com: domain of rppt@linux.ibm.com designates 148.163.156.1 as permitted sender) client-ip=148.163.156.1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of rppt@linux.ibm.com designates 148.163.156.1 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 (m0098394.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wAPLiJYe128050 for ; Sun, 25 Nov 2018 16:44:53 -0500 Received: from e06smtp05.uk.ibm.com (e06smtp05.uk.ibm.com [195.75.94.101]) by mx0a-001b2d01.pphosted.com with ESMTP id 2p01askxj1-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sun, 25 Nov 2018 16:44:53 -0500 Received: from localhost by e06smtp05.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sun, 25 Nov 2018 21:44:50 -0000 Received: from b06cxnps3074.portsmouth.uk.ibm.com (9.149.109.194) by e06smtp05.uk.ibm.com (192.168.101.135) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Sun, 25 Nov 2018 21:44:43 -0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id wAPLihL245219980 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 25 Nov 2018 21:44:43 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DC2B811C054; Sun, 25 Nov 2018 21:44:42 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9EEAD11C04C; Sun, 25 Nov 2018 21:44:39 +0000 (GMT) Received: from rapoport-lnx (unknown [9.148.207.68]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTPS; Sun, 25 Nov 2018 21:44:39 +0000 (GMT) Received: by rapoport-lnx (sSMTP sendmail emulation); Sun, 25 Nov 2018 23:44:38 +0200 From: Mike Rapoport To: linux-kernel@vger.kernel.org Cc: Andrew Morton , 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-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 0/5] memblock: simplify several early memory allocations Date: Sun, 25 Nov 2018 23:44:32 +0200 X-Mailer: git-send-email 2.7.4 X-TM-AS-GCONF: 00 x-cbid: 18112521-0020-0000-0000-000002ED8573 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18112521-0021-0000-0000-0000213CCEAF Message-Id: <1543182277-8819-1-git-send-email-rppt@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-11-25_15:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=3 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=610 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1811250133 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(). Mike Rapoport (5): 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 arch/arm/mm/mmu.c | 4 +--- 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 | 4 +--- 23 files changed, 76 insertions(+), 121 deletions(-)