{"id":810847,"url":"http://patchwork.ozlabs.org/api/patches/810847/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20170907050551.4632-1-anton@ozlabs.org/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/","list_archive_url":"https://lore.kernel.org/linuxppc-dev/","list_archive_url_format":"https://lore.kernel.org/linuxppc-dev/{}/","commit_url_format":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"},"msgid":"<20170907050551.4632-1-anton@ozlabs.org>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/20170907050551.4632-1-anton@ozlabs.org/","date":"2017-09-07T05:05:51","name":"powerpc/powernv: Increase memory block size to 1GB on radix","commit_ref":"53ecde0b9126ff140abe3aefd7f0ec64d6fa36b0","pull_url":null,"state":"accepted","archived":false,"hash":"bbe109191f405edc3cbd06637e9226a5490815c6","submitter":{"id":69104,"url":"http://patchwork.ozlabs.org/api/people/69104/?format=json","name":"Anton Blanchard","email":"anton@ozlabs.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20170907050551.4632-1-anton@ozlabs.org/mbox/","series":[{"id":1910,"url":"http://patchwork.ozlabs.org/api/series/1910/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=1910","date":"2017-09-07T05:05:51","name":"powerpc/powernv: Increase memory block size to 1GB on radix","version":1,"mbox":"http://patchwork.ozlabs.org/series/1910/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/810847/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/810847/checks/","tags":{},"related":[],"headers":{"Return-Path":"<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>","X-Original-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xnpNX1kNTz9s82\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu,  7 Sep 2017 15:07:24 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xnpNX0K7SzDrWj\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu,  7 Sep 2017 15:07:24 +1000 (AEST)","from ozlabs.org (ozlabs.org [IPv6:2401:3900:2:1::2])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xnpLt1HLhzDrSs\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tThu,  7 Sep 2017 15:05:58 +1000 (AEST)","by ozlabs.org (Postfix, from userid 1010)\n\tid 3xnpLt0RJXz9s8J; Thu,  7 Sep 2017 15:05:57 +1000 (AEST)"],"Authentication-Results":["ozlabs.org; dkim=pass (2048-bit key;\n\tsecure) header.d=ozlabs.org header.i=@ozlabs.org header.b=\"j8uP3Nku\";\n\tdkim-atps=neutral","lists.ozlabs.org; dkim=pass (2048-bit key;\n\tsecure) header.d=ozlabs.org header.i=@ozlabs.org header.b=\"j8uP3Nku\";\n\tdkim-atps=neutral","lists.ozlabs.org; dkim=pass (2048-bit key;\n\tsecure) header.d=ozlabs.org header.i=@ozlabs.org header.b=\"j8uP3Nku\"; \n\tdkim-atps=neutral"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; \n\tt=1504760758; bh=366dIb817QVqb8VCm9vZzdxFX2/S+zm4uxWyPY6c1Ig=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=j8uP3NkuRqwmvWjTT5RkDVz8lJXV8oY3Ps3AAOfVCwZx35ZnVBGlUFDYeisspWFNQ\n\tvJ+tb/PQ3ibGt7/qQt3P59xDSN+QmrrTal5jqY2bUpk/jFfqavu2yLdKzcGjGmeYA2\n\tpd5DDRBA/M27CDBvtEIFp3eCeqzEwKUE271ejIbi2wOp4TGXVtaHA2BK+iho5yU34R\n\tpzLEaxnqpt8VMwcDm25I0S1EYWQ3MAdFKb3M/KtGMtnzJZFjXE/xZNH7iJv+2BUVBK\n\t/6P0nmZqPhHhwXBDnuJbzL/NfQ9mWy1QuSCLx1O5mV4SRWvKZO/bMk8vmDWk07cShx\n\tDCYA8IUE2eRYQ==","From":"Anton Blanchard <anton@ozlabs.org>","To":"benh@kernel.crashing.org, paulus@samba.org, mpe@ellerman.id.au,\n\tbharata@linux.vnet.ibm.com, arbab@linux.vnet.ibm.com, npiggin@gmail.com, \n\tmikey@neuling.org, cyrilbur@gmail.com, aneesh.kumar@linux.vnet.ibm.com","Subject":"[PATCH] powerpc/powernv: Increase memory block size to 1GB on radix","Date":"Thu,  7 Sep 2017 15:05:51 +1000","Message-Id":"<20170907050551.4632-1-anton@ozlabs.org>","X-Mailer":"git-send-email 2.11.0","X-BeenThere":"linuxppc-dev@lists.ozlabs.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>","Cc":"linuxppc-dev@lists.ozlabs.org","Errors-To":"linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org","Sender":"\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"},"content":"From: Anton Blanchard <anton@samba.org>\n\nMemory hot unplug on PowerNV radix hosts is broken. Our memory block\nsize is 256MB but since we map the linear region with very large pages,\neach pte we tear down maps 1GB.\n\nA hot unplug of one 256MB memory block results in 768MB of memory\ngetting unintentionally unmapped. At this point we are likely to oops.\n\nFix this by increasing our memory block size to 1GB on PowerNV radix\nhosts.\n\nSigned-off-by: Anton Blanchard <anton@samba.org>\n---\n arch/powerpc/platforms/powernv/setup.c | 10 +++++++++-\n 1 file changed, 9 insertions(+), 1 deletion(-)","diff":"diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c\nindex 897aa1400eb8..bbb73aa0eb8f 100644\n--- a/arch/powerpc/platforms/powernv/setup.c\n+++ b/arch/powerpc/platforms/powernv/setup.c\n@@ -272,7 +272,15 @@ static void pnv_kexec_cpu_down(int crash_shutdown, int secondary)\n #ifdef CONFIG_MEMORY_HOTPLUG_SPARSE\n static unsigned long pnv_memory_block_size(void)\n {\n-\treturn 256UL * 1024 * 1024;\n+\t/*\n+\t * We map the kernel linear region with 1GB large pages on radix. For\n+\t * memory hot unplug to work our memory block size must be at least\n+\t * this size.\n+\t */\n+\tif (radix_enabled())\n+\t\treturn 1UL * 1024 * 1024 * 1024;\n+\telse\n+\t\treturn 256UL * 1024 * 1024;\n }\n #endif\n \n","prefixes":[]}