{"id":655869,"url":"http://patchwork.ozlabs.org/api/patches/655869/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1470330729-6273-1-git-send-email-srikar@linux.vnet.ibm.com/","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":"<1470330729-6273-1-git-send-email-srikar@linux.vnet.ibm.com>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/1470330729-6273-1-git-send-email-srikar@linux.vnet.ibm.com/","date":"2016-08-04T17:12:08","name":"[V2,1/2] mm/page_alloc: Replace set_dma_reserve to set_memory_reserve","commit_ref":null,"pull_url":null,"state":"not-applicable","archived":false,"hash":"30433012cf47bfb90062b25fcd29c200a1b35cd0","submitter":{"id":11795,"url":"http://patchwork.ozlabs.org/api/people/11795/?format=json","name":"Srikar Dronamraju","email":"srikar@linux.vnet.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1470330729-6273-1-git-send-email-srikar@linux.vnet.ibm.com/mbox/","series":[],"comments":"http://patchwork.ozlabs.org/api/patches/655869/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/655869/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 [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3s4xQ53ctMz9sR8\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  5 Aug 2016 03:14:53 +1000 (AEST)","from ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3s4xQ52g7HzDrHp\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  5 Aug 2016 03:14:53 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n\t[148.163.158.5])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3s4xMN2Zj0zDqS9\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tFri,  5 Aug 2016 03:12:32 +1000 (AEST)","from pps.filterd (m0098413.ppops.net [127.0.0.1])\n\tby mx0b-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id\n\tu74H3wEW142824\n\tfor <linuxppc-dev@lists.ozlabs.org>; Thu, 4 Aug 2016 13:12:28 -0400","from e23smtp04.au.ibm.com (e23smtp04.au.ibm.com [202.81.31.146])\n\tby mx0b-001b2d01.pphosted.com with ESMTP id 24kkajquew-1\n\t(version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT)\n\tfor <linuxppc-dev@lists.ozlabs.org>; Thu, 04 Aug 2016 13:12:28 -0400","from localhost\n\tby e23smtp04.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use\n\tOnly! Violators will be prosecuted\n\tfor <linuxppc-dev@lists.ozlabs.org> from <srikar@linux.vnet.ibm.com>; \n\tFri, 5 Aug 2016 03:12:25 +1000","from d23dlp02.au.ibm.com (202.81.31.213)\n\tby e23smtp04.au.ibm.com (202.81.31.210) with IBM ESMTP SMTP Gateway:\n\tAuthorized Use Only! Violators will be prosecuted; \n\tFri, 5 Aug 2016 03:12:22 +1000","from d23relay10.au.ibm.com (d23relay10.au.ibm.com [9.190.26.77])\n\tby d23dlp02.au.ibm.com (Postfix) with ESMTP id 328622BB0054\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tFri,  5 Aug 2016 03:12:22 +1000 (EST)","from d23av06.au.ibm.com (d23av06.au.ibm.com [9.190.235.151])\n\tby d23relay10.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n\tu74HCMPc28442710\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 5 Aug 2016 03:12:22 +1000","from d23av06.au.ibm.com (localhost [127.0.0.1])\n\tby d23av06.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id\n\tu74HCLbw017904\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 5 Aug 2016 03:12:21 +1000","from srdronam.in.ibm.com (srdronam.in.ibm.com [9.124.31.34])\n\tby d23av06.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id\n\tu74HCI6w017834; Fri, 5 Aug 2016 03:12:18 +1000"],"X-IBM-Helo":"d23dlp02.au.ibm.com","X-IBM-MailFrom":"srikar@linux.vnet.ibm.com","X-IBM-RcptTo":"linuxppc-dev@lists.ozlabs.org","From":"Srikar Dronamraju <srikar@linux.vnet.ibm.com>","To":"linux-mm@kvack.org, Mel Gorman <mgorman@techsingularity.net>,\n\tVlastimil Babka <vbabka@suse.cz>, Michal Hocko <mhocko@kernel.org>,\n\tAndrew Morton <akpm@linux-foundation.org>,\n\tMichael Ellerman <mpe@ellerman.id.au>, linuxppc-dev@lists.ozlabs.org, \n\tMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>,\n\tHari Bathini <hbathini@linux.vnet.ibm.com>","Subject":"[PATCH V2 1/2] mm/page_alloc: Replace set_dma_reserve to\n\tset_memory_reserve","Date":"Thu,  4 Aug 2016 22:42:08 +0530","X-Mailer":"git-send-email 2.1.4","X-TM-AS-MML":"disable","X-Content-Scanned":"Fidelis XPS MAILER","x-cbid":"16080417-0012-0000-0000-000001B3CBEA","X-IBM-AV-DETECTION":"SAVI=unused REMOTE=unused XFE=unused","x-cbparentid":"16080417-0013-0000-0000-000005B78BCE","Message-Id":"<1470330729-6273-1-git-send-email-srikar@linux.vnet.ibm.com>","X-Proofpoint-Virus-Version":"vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2016-08-04_09:, , signatures=0","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 suspectscore=2\n\tmalwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam\n\tadjust=0 reason=mlx scancount=1 engine=8.0.1-1604210000\n\tdefinitions=main-1608040183","X-BeenThere":"linuxppc-dev@lists.ozlabs.org","X-Mailman-Version":"2.1.22","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":"Dave Hansen <dave.hansen@intel.com>,\n\tSrikar Dronamraju <srikar@linux.vnet.ibm.com>","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":"Expand the scope of the existing dma_reserve to accommodate other memory\nreserves too. Accordingly rename variable dma_reserve to\nnr_memory_reserve.\n\nset_memory_reserve also takes a new parameter that helps to identify if\nthe current value needs to be incremented.\n\nSuggested-by: Mel Gorman <mgorman@techsingularity.net>\nSigned-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>\n---\n arch/x86/kernel/e820.c |  2 +-\n include/linux/mm.h     |  2 +-\n mm/page_alloc.c        | 20 ++++++++++++--------\n 3 files changed, 14 insertions(+), 10 deletions(-)","diff":"diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c\nindex 621b501..d935983 100644\n--- a/arch/x86/kernel/e820.c\n+++ b/arch/x86/kernel/e820.c\n@@ -1188,6 +1188,6 @@ void __init memblock_find_dma_reserve(void)\n \t\t\tnr_free_pages += end_pfn - start_pfn;\n \t}\n \n-\tset_dma_reserve(nr_pages - nr_free_pages);\n+\tset_memory_reserve(nr_pages - nr_free_pages, false);\n #endif\n }\ndiff --git a/include/linux/mm.h b/include/linux/mm.h\nindex 8f468e0..c884ffb 100644\n--- a/include/linux/mm.h\n+++ b/include/linux/mm.h\n@@ -1886,7 +1886,7 @@ extern int __meminit __early_pfn_to_nid(unsigned long pfn,\n \t\t\t\t\tstruct mminit_pfnnid_cache *state);\n #endif\n \n-extern void set_dma_reserve(unsigned long new_dma_reserve);\n+extern void set_memory_reserve(unsigned long nr_reserve, bool inc);\n extern void memmap_init_zone(unsigned long, int, unsigned long,\n \t\t\t\tunsigned long, enum memmap_context);\n extern void setup_per_zone_wmarks(void);\ndiff --git a/mm/page_alloc.c b/mm/page_alloc.c\nindex c1069ef..a154c2f 100644\n--- a/mm/page_alloc.c\n+++ b/mm/page_alloc.c\n@@ -253,7 +253,7 @@ int watermark_scale_factor = 10;\n \n static unsigned long __meminitdata nr_kernel_pages;\n static unsigned long __meminitdata nr_all_pages;\n-static unsigned long __meminitdata dma_reserve;\n+static unsigned long __meminitdata nr_memory_reserve;\n \n #ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP\n static unsigned long __meminitdata arch_zone_lowest_possible_pfn[MAX_NR_ZONES];\n@@ -5493,10 +5493,10 @@ static void __paginginit free_area_init_core(struct pglist_data *pgdat)\n \t\t}\n \n \t\t/* Account for reserved pages */\n-\t\tif (j == 0 && freesize > dma_reserve) {\n-\t\t\tfreesize -= dma_reserve;\n+\t\tif (j == 0 && freesize > nr_memory_reserve) {\n+\t\t\tfreesize -= nr_memory_reserve;\n \t\t\tprintk(KERN_DEBUG \"  %s zone: %lu pages reserved\\n\",\n-\t\t\t\t\tzone_names[0], dma_reserve);\n+\t\t\t\t\tzone_names[0], nr_memory_reserve);\n \t\t}\n \n \t\tif (!is_highmem_idx(j))\n@@ -6186,8 +6186,9 @@ void __init mem_init_print_info(const char *str)\n }\n \n /**\n- * set_dma_reserve - set the specified number of pages reserved in the first zone\n- * @new_dma_reserve: The number of pages to mark reserved\n+ * set_memory_reserve - set number of pages reserved in the first zone\n+ * @nr_reserve: The number of pages to mark reserved\n+ * @inc: true increment to existing value; false set new value.\n  *\n  * The per-cpu batchsize and zone watermarks are determined by managed_pages.\n  * In the DMA zone, a significant percentage may be consumed by kernel image\n@@ -6196,9 +6197,12 @@ void __init mem_init_print_info(const char *str)\n  * first zone (e.g., ZONE_DMA). The effect will be lower watermarks and\n  * smaller per-cpu batchsize.\n  */\n-void __init set_dma_reserve(unsigned long new_dma_reserve)\n+void __init set_memory_reserve(unsigned long nr_reserve, bool inc)\n {\n-\tdma_reserve = new_dma_reserve;\n+\tif (inc)\n+\t\tnr_memory_reserve += nr_reserve;\n+\telse\n+\t\tnr_memory_reserve = nr_reserve;\n }\n \n void __init free_area_init(unsigned long *zones_size)\n","prefixes":["V2","1/2"]}