From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752556AbdKWLNv (ORCPT ); Thu, 23 Nov 2017 06:13:51 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:49542 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751584AbdKWLNt (ORCPT ); Thu, 23 Nov 2017 06:13:49 -0500 Date: Thu, 23 Nov 2017 11:13:35 +0000 From: Andrea Reale To: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, m.bielski@virtualopensystems.com, arunks@qti.qualcomm.com, mark.rutland@arm.com, scott.branden@broadcom.com, will.deacon@arm.com, qiuxishi@huawei.com, catalin.marinas@arm.com, mhocko@suse.com, realean2@ie.ibm.com Subject: [PATCH v2 0/5] Memory hotplug support for arm64 - complete patchset v2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline User-Agent: Mutt/1.5.24 (2015-08-30) X-TM-AS-GCONF: 00 x-cbid: 17112311-0012-0000-0000-00000590C648 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17112311-0013-0000-0000-0000190B9D6C Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-11-23_04:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1711230155 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, this is a second round of patches to introduce memory hotplug and hotremove support for arm64. It builds on the work previously published at [1] and it implements the feedback received in the first round of reviews. The patchset applies and has been tested on commit bebc6082da0a ("Linux 4.14"). Due to a small regression introduced with commit 8135d8926c08 ("mm: memory_hotplug: memory hotremove supports thp migration"), you will need to appy patch [2] first, until the fix is not upstreamed. Comments and feedback are gold. [1] https://lkml.org/lkml/2017/4/11/536 [2] https://lkml.org/lkml/2017/11/20/902 Changes v1->v2: - swapper pgtable updated in place on hot add, avoiding unnecessary copy - stop_machine used to updated swapper on hot add, avoiding races - introduced check on offlining state before hot remove - new memblock flag used to mark partially unused vmemmap pages, avoiding the nasty 0xFD hack used in the prev rev (and in x86 hot remove code) - proper cleaning sequence for p[um]ds,ptes and related TLB management - Removed macros that changed hot remove behavior based on number of pgtable levels. Now this is hidden in the pgtable traversal macros. - Check on the corner case where P[UM]Ds would have to be split during hot remove: now this is forbidden. - Minor fixes and refactoring. Andrea Reale (4): mm: memory_hotplug: Remove assumption on memory state before hotremove mm: memory_hotplug: memblock to track partially removed vmemmap mem mm: memory_hotplug: Add memory hotremove probe device mm: memory-hotplug: Add memory hot remove support for arm64 Maciej Bielski (1): mm: memory_hotplug: Memory hotplug (add) support for arm64 arch/arm64/Kconfig | 15 + arch/arm64/configs/defconfig | 2 + arch/arm64/include/asm/mmu.h | 7 + arch/arm64/mm/init.c | 116 ++++++++ arch/arm64/mm/mmu.c | 609 ++++++++++++++++++++++++++++++++++++++++- drivers/acpi/acpi_memhotplug.c | 2 +- drivers/base/memory.c | 34 ++- include/linux/memblock.h | 12 + include/linux/memory_hotplug.h | 9 +- mm/memblock.c | 32 +++ mm/memory_hotplug.c | 13 +- 11 files changed, 835 insertions(+), 16 deletions(-) -- 2.7.4