[{"id":1778895,"web_url":"http://patchwork.ozlabs.org/comment/1778895/","msgid":"<20171003122658.cv64pxnuavopjid6@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-03T12:26:58","subject":"Re: [PATCH v9 01/12] x86/mm: setting fields in deferred pages","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Wed 20-09-17 16:17:03, Pavel Tatashin wrote:\n> Without deferred struct page feature (CONFIG_DEFERRED_STRUCT_PAGE_INIT),\n> flags and other fields in \"struct page\"es are never changed prior to first\n> initializing struct pages by going through __init_single_page().\n> \n> With deferred struct page feature enabled, however, we set fields in\n> register_page_bootmem_info that are subsequently clobbered right after in\n> free_all_bootmem:\n> \n>         mem_init() {\n>                 register_page_bootmem_info();\n>                 free_all_bootmem();\n>                 ...\n>         }\n> \n> When register_page_bootmem_info() is called only non-deferred struct pages\n> are initialized. But, this function goes through some reserved pages which\n> might be part of the deferred, and thus are not yet initialized.\n> \n>   mem_init\n>    register_page_bootmem_info\n>     register_page_bootmem_info_node\n>      get_page_bootmem\n>       .. setting fields here ..\n>       such as: page->freelist = (void *)type;\n> \n>   free_all_bootmem()\n>    free_low_memory_core_early()\n>     for_each_reserved_mem_region()\n>      reserve_bootmem_region()\n>       init_reserved_page() <- Only if this is deferred reserved page\n>        __init_single_pfn()\n>         __init_single_page()\n>             memset(0) <-- Loose the set fields here\n> \n> We end-up with issue where, currently we do not observe problem as memory\n> is explicitly zeroed. But, if flag asserts are changed we can start hitting\n> issues.\n> \n> Also, because in this patch series we will stop zeroing struct page memory\n> during allocation, we must make sure that struct pages are properly\n> initialized prior to using them.\n> \n> The deferred-reserved pages are initialized in free_all_bootmem().\n> Therefore, the fix is to switch the above calls.\n\nThanks for extending the changelog. This is more informative now.\n \n> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>\n> Reviewed-by: Steven Sistare <steven.sistare@oracle.com>\n> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>\n> Reviewed-by: Bob Picco <bob.picco@oracle.com>\n\nI hope I haven't missed anything but it looks good to me.\n\nAcked-by: Michal Hocko <mhocko@suse.com>\n\none nit below\n> ---\n>  arch/x86/mm/init_64.c | 9 +++++++--\n>  1 file changed, 7 insertions(+), 2 deletions(-)\n> \n> diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c\n> index 5ea1c3c2636e..30fe22558720 100644\n> --- a/arch/x86/mm/init_64.c\n> +++ b/arch/x86/mm/init_64.c\n> @@ -1182,12 +1182,17 @@ void __init mem_init(void)\n>  \n>  \t/* clear_bss() already clear the empty_zero_page */\n>  \n> -\tregister_page_bootmem_info();\n> -\n>  \t/* this will put all memory onto the freelists */\n>  \tfree_all_bootmem();\n>  \tafter_bootmem = 1;\n>  \n> +\t/* Must be done after boot memory is put on freelist, because here we\n\nstandard code style is to do\n\t/*\n\t * text starts here\n\n> +\t * might set fields in deferred struct pages that have not yet been\n> +\t * initialized, and free_all_bootmem() initializes all the reserved\n> +\t * deferred pages for us.\n> +\t */\n> +\tregister_page_bootmem_info();\n> +\n>  \t/* Register memory areas for /proc/kcore */\n>  \tkclist_add(&kcore_vsyscall, (void *)VSYSCALL_ADDR,\n>  \t\t\t PAGE_SIZE, KCORE_OTHER);\n> -- \n> 2.14.1","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"bNtIvtyA\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y5ywT0lqDz9t2h\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tTue,  3 Oct 2017 23:27:37 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzMIN-0006vp-G1; Tue, 03 Oct 2017 12:27:31 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzMIF-0006p0-Pf for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 12:27:28 +0000","from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id 6F558AC68;\n\tTue,  3 Oct 2017 12:27:00 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=ex6RtWQlBs1YRVfvpIseCHW2Kns6iwa/7yO0BUz5vA4=;\n\tb=bNtIvtyAAU/meG\n\tVbfrboW42B/RzzBU+CMtYx0PsE7Lh4FHML56QVt2lGAinRzmpKCrsfRURxZu+eqsodqe48sPNk6ZY\n\t45KNJ3xjDeZZF0Fh+a6KPgI2SOluBOcqwQ940YG1VCJChD15mvdxrCcs1TqSTy6Q3AssS3QNK+urW\n\tB+FOHO4/hYbaTiPgd9IpFWHj9GCjv4yQIsqcWwZ+LQ5E0kMRXee4zqibrvS3syVt21d0DDwNu9egT\n\tzo5mX8CGT4KPH01VNqfMNjVdL3SNasYWMT10DDk84dJip7hsDtoqCoBvND0xfv5E/JBcLTCXwHD+G\n\tq/cMFDaNh5BK77yoQczw==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Tue, 3 Oct 2017 14:26:58 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pavel Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 01/12] x86/mm: setting fields in deferred pages","Message-ID":"<20171003122658.cv64pxnuavopjid6@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-2-pasha.tatashin@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20170920201714.19817-2-pasha.tatashin@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_052724_300401_D58B604F ","X-CRM114-Status":"GOOD (  18.60  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1778898,"web_url":"http://patchwork.ozlabs.org/comment/1778898/","msgid":"<20171003122823.mdzkhxs4xza7sb2w@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-03T12:28:23","subject":"Re: [PATCH v9 02/12] sparc64/mm: setting fields in deferred pages","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Wed 20-09-17 16:17:04, Pavel Tatashin wrote:\n> Without deferred struct page feature (CONFIG_DEFERRED_STRUCT_PAGE_INIT),\n> flags and other fields in \"struct page\"es are never changed prior to first\n> initializing struct pages by going through __init_single_page().\n> \n> With deferred struct page feature enabled there is a case where we set some\n> fields prior to initializing:\n> \n> mem_init() {\n>      register_page_bootmem_info();\n>      free_all_bootmem();\n>      ...\n> }\n> \n> When register_page_bootmem_info() is called only non-deferred struct pages\n> are initialized. But, this function goes through some reserved pages which\n> might be part of the deferred, and thus are not yet initialized.\n> \n> mem_init\n> register_page_bootmem_info\n> register_page_bootmem_info_node\n>  get_page_bootmem\n>   .. setting fields here ..\n>   such as: page->freelist = (void *)type;\n> \n> free_all_bootmem()\n> free_low_memory_core_early()\n>  for_each_reserved_mem_region()\n>   reserve_bootmem_region()\n>    init_reserved_page() <- Only if this is deferred reserved page\n>     __init_single_pfn()\n>      __init_single_page()\n>       memset(0) <-- Loose the set fields here\n> \n> We end-up with similar issue as in the previous patch, where currently we\n> do not observe problem as memory is zeroed. But, if flag asserts are\n> changed we can start hitting issues.\n> \n> Also, because in this patch series we will stop zeroing struct page memory\n> during allocation, we must make sure that struct pages are properly\n> initialized prior to using them.\n> \n> The deferred-reserved pages are initialized in free_all_bootmem().\n> Therefore, the fix is to switch the above calls.\n> \n> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>\n> Reviewed-by: Steven Sistare <steven.sistare@oracle.com>\n> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>\n> Reviewed-by: Bob Picco <bob.picco@oracle.com>\n> Acked-by: David S. Miller <davem@davemloft.net>\n\nAs you separated x86 and sparc patches doing essentially the same I\nassume David is going to take this patch?\n\nAcked-by: Michal Hocko <mhocko@suse.com>\n\n> ---\n>  arch/sparc/mm/init_64.c | 8 +++++++-\n>  1 file changed, 7 insertions(+), 1 deletion(-)\n> \n> diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c\n> index 6034569e2c0d..310c6754bcaa 100644\n> --- a/arch/sparc/mm/init_64.c\n> +++ b/arch/sparc/mm/init_64.c\n> @@ -2548,9 +2548,15 @@ void __init mem_init(void)\n>  {\n>  \thigh_memory = __va(last_valid_pfn << PAGE_SHIFT);\n>  \n> -\tregister_page_bootmem_info();\n>  \tfree_all_bootmem();\n>  \n> +\t/* Must be done after boot memory is put on freelist, because here we\n> +\t * might set fields in deferred struct pages that have not yet been\n> +\t * initialized, and free_all_bootmem() initializes all the reserved\n> +\t * deferred pages for us.\n> +\t */\n> +\tregister_page_bootmem_info();\n> +\n>  \t/*\n>  \t * Set up the zero page, mark it reserved, so that page count\n>  \t * is not manipulated when freeing the page from user ptes.\n> -- \n> 2.14.1","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"hxrvhyf1\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y5yxx5thKz9t2h\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tTue,  3 Oct 2017 23:28:53 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzMJe-0007Og-MR; Tue, 03 Oct 2017 12:28:50 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzMJZ-0007Kd-QW for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 12:28:48 +0000","from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id 6BBD5AC68;\n\tTue,  3 Oct 2017 12:28:24 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=WU9bBG8E1vJaH7rzLW6Jy23Co5HdPXm1HhaZi3Lt6kM=;\n\tb=hxrvhyf1gSOeNM\n\t+RMF4454bkYZbrFevLlJFAU3zKkMeJHpeXWDHJBfQbK44/8wIZ5/5qL7J0Ve2fr0qiZcPNqwOPwfC\n\tXJalGlmM4jLUW9UGXrXmMxQInsTiebyyAlEMJl2d5tjl1y/U74YsZjYf1WNt2CUvke8XOK4Iggsd8\n\tVEA95rLcEso28lZbqmIlA3/k+LedElNyx9PtrDl+Qp45Mau61613AhNv7L6fu0IibX+0zzxbW8KTi\n\thcB7x4KbNoGcr1t27MU1pLOBKtdJ4vf1IL72fOsAmpYLhat9GYb2MLGsrQByn+JID3zRLCmNLx4GX\n\tgpE4bF8rlIK1Lbl+UrCw==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Tue, 3 Oct 2017 14:28:23 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pavel Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 02/12] sparc64/mm: setting fields in deferred pages","Message-ID":"<20171003122823.mdzkhxs4xza7sb2w@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-3-pasha.tatashin@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20170920201714.19817-3-pasha.tatashin@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_052846_320793_1043979B ","X-CRM114-Status":"GOOD (  18.63  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1778925,"web_url":"http://patchwork.ozlabs.org/comment/1778925/","msgid":"<20171003125754.2kuqzkstywg7axhd@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-03T12:57:54","subject":"Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Wed 20-09-17 16:17:05, Pavel Tatashin wrote:\n> This patch fixes two issues in deferred_init_memmap\n> \n> =====\n> In deferred_init_memmap() where all deferred struct pages are initialized\n> we have a check like this:\n> \n> if (page->flags) {\n> \tVM_BUG_ON(page_zone(page) != zone);\n> \tgoto free_range;\n> }\n> \n> This way we are checking if the current deferred page has already been\n> initialized. It works, because memory for struct pages has been zeroed, and\n> the only way flags are not zero if it went through __init_single_page()\n> before.  But, once we change the current behavior and won't zero the memory\n> in memblock allocator, we cannot trust anything inside \"struct page\"es\n> until they are initialized. This patch fixes this.\n> \n> The deferred_init_memmap() is re-written to loop through only free memory\n> ranges provided by memblock.\n\nPlease be explicit that this is possible only because we discard\nmemblock data later after 3010f876500f (\"mm: discard memblock data\nlater\"). Also be more explicit how the new code works.\n\nI like how the resulting code is more compact and smaller.\nfor_each_free_mem_range also looks more appropriate but I really detest\nthe DEFERRED_FREE thingy. Maybe we can handle all that in a single goto\nsection. I know this is not an art but manipulating variables from\nmacros is more error prone and much more ugly IMHO.\n\n> =====\n> This patch fixes another existing issue on systems that have holes in\n> zones i.e CONFIG_HOLES_IN_ZONE is defined.\n> \n> In for_each_mem_pfn_range() we have code like this:\n> \n> if (!pfn_valid_within(pfn)\n> \tgoto free_range;\n> \n> Note: 'page' is not set to NULL and is not incremented but 'pfn' advances.\n> Thus means if deferred struct pages are enabled on systems with these kind\n> of holes, linux would get memory corruptions. I have fixed this issue by\n> defining a new macro that performs all the necessary operations when we\n> free the current set of pages.\n\nplease do not use macros. Btw. this deserves its own fix. I suspect that\nno CONFIG_HOLES_IN_ZONE arch enables DEFERRED_STRUCT_PAGE_INIT but\npurely from the review point of view it should be its own patch.\n\n> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>\n> Reviewed-by: Steven Sistare <steven.sistare@oracle.com>\n> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>\n> Reviewed-by: Bob Picco <bob.picco@oracle.com>\n> ---\n>  mm/page_alloc.c | 161 +++++++++++++++++++++++++++-----------------------------\n>  1 file changed, 78 insertions(+), 83 deletions(-)\n> \n> diff --git a/mm/page_alloc.c b/mm/page_alloc.c\n> index c841af88836a..d132c801d2c1 100644\n> --- a/mm/page_alloc.c\n> +++ b/mm/page_alloc.c\n> @@ -1410,14 +1410,17 @@ void clear_zone_contiguous(struct zone *zone)\n>  }\n>  \n>  #ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT\n> -static void __init deferred_free_range(struct page *page,\n> -\t\t\t\t\tunsigned long pfn, int nr_pages)\n> +static void __init deferred_free_range(unsigned long pfn,\n> +\t\t\t\t       unsigned long nr_pages)\n>  {\n> -\tint i;\n> +\tstruct page *page;\n> +\tunsigned long i;\n>  \n> -\tif (!page)\n> +\tif (!nr_pages)\n>  \t\treturn;\n>  \n> +\tpage = pfn_to_page(pfn);\n> +\n>  \t/* Free a large naturally-aligned chunk if possible */\n>  \tif (nr_pages == pageblock_nr_pages &&\n>  \t    (pfn & (pageblock_nr_pages - 1)) == 0) {\n> @@ -1443,19 +1446,82 @@ static inline void __init pgdat_init_report_one_done(void)\n>  \t\tcomplete(&pgdat_init_all_done_comp);\n>  }\n>  \n> +#define DEFERRED_FREE(nr_free, free_base_pfn, page)\t\t\t\\\n> +({\t\t\t\t\t\t\t\t\t\\\n> +\tunsigned long nr = (nr_free);\t\t\t\t\t\\\n> +\t\t\t\t\t\t\t\t\t\\\n> +\tdeferred_free_range((free_base_pfn), (nr));\t\t\t\\\n> +\t(free_base_pfn) = 0;\t\t\t\t\t\t\\\n> +\t(nr_free) = 0;\t\t\t\t\t\t\t\\\n> +\tpage = NULL;\t\t\t\t\t\t\t\\\n> +\tnr;\t\t\t\t\t\t\t\t\\\n> +})\n> +\n> +static unsigned long deferred_init_range(int nid, int zid, unsigned long pfn,\n> +\t\t\t\t\t unsigned long end_pfn)\n> +{\n> +\tstruct mminit_pfnnid_cache nid_init_state = { };\n> +\tunsigned long nr_pgmask = pageblock_nr_pages - 1;\n> +\tunsigned long free_base_pfn = 0;\n> +\tunsigned long nr_pages = 0;\n> +\tunsigned long nr_free = 0;\n> +\tstruct page *page = NULL;\n> +\n> +\tfor (; pfn < end_pfn; pfn++) {\n> +\t\t/*\n> +\t\t * First we check if pfn is valid on architectures where it is\n> +\t\t * possible to have holes within pageblock_nr_pages. On systems\n> +\t\t * where it is not possible, this function is optimized out.\n> +\t\t *\n> +\t\t * Then, we check if a current large page is valid by only\n> +\t\t * checking the validity of the head pfn.\n> +\t\t *\n> +\t\t * meminit_pfn_in_nid is checked on systems where pfns can\n> +\t\t * interleave within a node: a pfn is between start and end\n> +\t\t * of a node, but does not belong to this memory node.\n> +\t\t *\n> +\t\t * Finally, we minimize pfn page lookups and scheduler checks by\n> +\t\t * performing it only once every pageblock_nr_pages.\n> +\t\t */\n> +\t\tif (!pfn_valid_within(pfn)) {\n> +\t\t\tnr_pages += DEFERRED_FREE(nr_free, free_base_pfn, page);\n> +\t\t} else if (!(pfn & nr_pgmask) && !pfn_valid(pfn)) {\n> +\t\t\tnr_pages += DEFERRED_FREE(nr_free, free_base_pfn, page);\n> +\t\t} else if (!meminit_pfn_in_nid(pfn, nid, &nid_init_state)) {\n> +\t\t\tnr_pages += DEFERRED_FREE(nr_free, free_base_pfn, page);\n> +\t\t} else if (page && (pfn & nr_pgmask)) {\n> +\t\t\tpage++;\n> +\t\t\t__init_single_page(page, pfn, zid, nid);\n> +\t\t\tnr_free++;\n> +\t\t} else {\n> +\t\t\tnr_pages += DEFERRED_FREE(nr_free, free_base_pfn, page);\n> +\t\t\tpage = pfn_to_page(pfn);\n> +\t\t\t__init_single_page(page, pfn, zid, nid);\n> +\t\t\tfree_base_pfn = pfn;\n> +\t\t\tnr_free = 1;\n> +\t\t\tcond_resched();\n> +\t\t}\n> +\t}\n> +\t/* Free the last block of pages to allocator */\n> +\tnr_pages += DEFERRED_FREE(nr_free, free_base_pfn, page);\n> +\n> +\treturn nr_pages;\n> +}\n> +\n>  /* Initialise remaining memory on a node */\n>  static int __init deferred_init_memmap(void *data)\n>  {\n>  \tpg_data_t *pgdat = data;\n>  \tint nid = pgdat->node_id;\n> -\tstruct mminit_pfnnid_cache nid_init_state = { };\n>  \tunsigned long start = jiffies;\n>  \tunsigned long nr_pages = 0;\n> -\tunsigned long walk_start, walk_end;\n> -\tint i, zid;\n> +\tunsigned long spfn, epfn;\n> +\tphys_addr_t spa, epa;\n> +\tint zid;\n>  \tstruct zone *zone;\n>  \tunsigned long first_init_pfn = pgdat->first_deferred_pfn;\n>  \tconst struct cpumask *cpumask = cpumask_of_node(pgdat->node_id);\n> +\tu64 i;\n>  \n>  \tif (first_init_pfn == ULONG_MAX) {\n>  \t\tpgdat_init_report_one_done();\n> @@ -1477,83 +1543,12 @@ static int __init deferred_init_memmap(void *data)\n>  \t\tif (first_init_pfn < zone_end_pfn(zone))\n>  \t\t\tbreak;\n>  \t}\n> +\tfirst_init_pfn = max(zone->zone_start_pfn, first_init_pfn);\n>  \n> -\tfor_each_mem_pfn_range(i, nid, &walk_start, &walk_end, NULL) {\n> -\t\tunsigned long pfn, end_pfn;\n> -\t\tstruct page *page = NULL;\n> -\t\tstruct page *free_base_page = NULL;\n> -\t\tunsigned long free_base_pfn = 0;\n> -\t\tint nr_to_free = 0;\n> -\n> -\t\tend_pfn = min(walk_end, zone_end_pfn(zone));\n> -\t\tpfn = first_init_pfn;\n> -\t\tif (pfn < walk_start)\n> -\t\t\tpfn = walk_start;\n> -\t\tif (pfn < zone->zone_start_pfn)\n> -\t\t\tpfn = zone->zone_start_pfn;\n> -\n> -\t\tfor (; pfn < end_pfn; pfn++) {\n> -\t\t\tif (!pfn_valid_within(pfn))\n> -\t\t\t\tgoto free_range;\n> -\n> -\t\t\t/*\n> -\t\t\t * Ensure pfn_valid is checked every\n> -\t\t\t * pageblock_nr_pages for memory holes\n> -\t\t\t */\n> -\t\t\tif ((pfn & (pageblock_nr_pages - 1)) == 0) {\n> -\t\t\t\tif (!pfn_valid(pfn)) {\n> -\t\t\t\t\tpage = NULL;\n> -\t\t\t\t\tgoto free_range;\n> -\t\t\t\t}\n> -\t\t\t}\n> -\n> -\t\t\tif (!meminit_pfn_in_nid(pfn, nid, &nid_init_state)) {\n> -\t\t\t\tpage = NULL;\n> -\t\t\t\tgoto free_range;\n> -\t\t\t}\n> -\n> -\t\t\t/* Minimise pfn page lookups and scheduler checks */\n> -\t\t\tif (page && (pfn & (pageblock_nr_pages - 1)) != 0) {\n> -\t\t\t\tpage++;\n> -\t\t\t} else {\n> -\t\t\t\tnr_pages += nr_to_free;\n> -\t\t\t\tdeferred_free_range(free_base_page,\n> -\t\t\t\t\t\tfree_base_pfn, nr_to_free);\n> -\t\t\t\tfree_base_page = NULL;\n> -\t\t\t\tfree_base_pfn = nr_to_free = 0;\n> -\n> -\t\t\t\tpage = pfn_to_page(pfn);\n> -\t\t\t\tcond_resched();\n> -\t\t\t}\n> -\n> -\t\t\tif (page->flags) {\n> -\t\t\t\tVM_BUG_ON(page_zone(page) != zone);\n> -\t\t\t\tgoto free_range;\n> -\t\t\t}\n> -\n> -\t\t\t__init_single_page(page, pfn, zid, nid);\n> -\t\t\tif (!free_base_page) {\n> -\t\t\t\tfree_base_page = page;\n> -\t\t\t\tfree_base_pfn = pfn;\n> -\t\t\t\tnr_to_free = 0;\n> -\t\t\t}\n> -\t\t\tnr_to_free++;\n> -\n> -\t\t\t/* Where possible, batch up pages for a single free */\n> -\t\t\tcontinue;\n> -free_range:\n> -\t\t\t/* Free the current block of pages to allocator */\n> -\t\t\tnr_pages += nr_to_free;\n> -\t\t\tdeferred_free_range(free_base_page, free_base_pfn,\n> -\t\t\t\t\t\t\t\tnr_to_free);\n> -\t\t\tfree_base_page = NULL;\n> -\t\t\tfree_base_pfn = nr_to_free = 0;\n> -\t\t}\n> -\t\t/* Free the last block of pages to allocator */\n> -\t\tnr_pages += nr_to_free;\n> -\t\tdeferred_free_range(free_base_page, free_base_pfn, nr_to_free);\n> -\n> -\t\tfirst_init_pfn = max(end_pfn, first_init_pfn);\n> +\tfor_each_free_mem_range(i, nid, MEMBLOCK_NONE, &spa, &epa, NULL) {\n> +\t\tspfn = max_t(unsigned long, first_init_pfn, PFN_UP(spa));\n> +\t\tepfn = min_t(unsigned long, zone_end_pfn(zone), PFN_DOWN(epa));\n> +\t\tnr_pages += deferred_init_range(nid, zid, spfn, epfn);\n>  \t}\n>  \n>  \t/* Sanity check that the next zone really is unpopulated */\n> -- \n> 2.14.1","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"BUmEAO6U\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y5zc50tYSz9sBW\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tTue,  3 Oct 2017 23:58:29 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzMmG-0005gn-6a; Tue, 03 Oct 2017 12:58:24 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzMmB-0004ZP-2X for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 12:58:21 +0000","from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id A5070AD6D;\n\tTue,  3 Oct 2017 12:57:56 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=pIAZX/dv9NjcYeqU045j5OodnhyoNZhCuWDlu1TAMSo=;\n\tb=BUmEAO6UzftYMm\n\tLOfHtgA3X8L1IGkzi200X7czdX0is1qcqcUkIY3o2otQESZ3UP0HkXfhPE5BZqQnckaNXJFOC0WvW\n\tRz19Ezz/u9H5UwAl2up68qotJ5Wu//Mr0Sdnxq8N//CRWwBmsmYv5D5H7lx+Mhcj24k9Ha9Jn9f0t\n\tnP/krwiKrkD8njfmPrd1rB9ijqCTO4EAa9FZXT03pnhZP0ryGnbx6E7dnMmBHYfmjXJiFXjiZdvnd\n\tAp0+OJCeE01wvoWdIPhRP8ZoMjYEqUgqhQ68m4zUWbo4JZgh6BPcNKVSs0Kr8ncEQE9fufOEvzlpK\n\ttbOAA8O+hMs+MADRKNZw==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Tue, 3 Oct 2017 14:57:54 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pavel Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements","Message-ID":"<20171003125754.2kuqzkstywg7axhd@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-4-pasha.tatashin@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20170920201714.19817-4-pasha.tatashin@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_055819_499996_428A2283 ","X-CRM114-Status":"GOOD (  32.71  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1778931,"web_url":"http://patchwork.ozlabs.org/comment/1778931/","msgid":"<20171003125940.6d5fyhwx2lkzxn67@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-03T12:59:40","subject":"Re: [PATCH v9 04/12] sparc64: simplify vmemmap_populate","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Wed 20-09-17 16:17:06, Pavel Tatashin wrote:\n> Remove duplicating code by using common functions\n> vmemmap_pud_populate and vmemmap_pgd_populate.\n> \n> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>\n> Reviewed-by: Steven Sistare <steven.sistare@oracle.com>\n> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>\n> Reviewed-by: Bob Picco <bob.picco@oracle.com>\n> Acked-by: David S. Miller <davem@davemloft.net>\n\nAcked-by: Michal Hocko <mhocko@suse.com>\n\n> ---\n>  arch/sparc/mm/init_64.c | 23 ++++++-----------------\n>  1 file changed, 6 insertions(+), 17 deletions(-)\n> \n> diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c\n> index 310c6754bcaa..99aea4d15a5f 100644\n> --- a/arch/sparc/mm/init_64.c\n> +++ b/arch/sparc/mm/init_64.c\n> @@ -2651,30 +2651,19 @@ int __meminit vmemmap_populate(unsigned long vstart, unsigned long vend,\n>  \tvstart = vstart & PMD_MASK;\n>  \tvend = ALIGN(vend, PMD_SIZE);\n>  \tfor (; vstart < vend; vstart += PMD_SIZE) {\n> -\t\tpgd_t *pgd = pgd_offset_k(vstart);\n> +\t\tpgd_t *pgd = vmemmap_pgd_populate(vstart, node);\n>  \t\tunsigned long pte;\n>  \t\tpud_t *pud;\n>  \t\tpmd_t *pmd;\n>  \n> -\t\tif (pgd_none(*pgd)) {\n> -\t\t\tpud_t *new = vmemmap_alloc_block(PAGE_SIZE, node);\n> +\t\tif (!pgd)\n> +\t\t\treturn -ENOMEM;\n>  \n> -\t\t\tif (!new)\n> -\t\t\t\treturn -ENOMEM;\n> -\t\t\tpgd_populate(&init_mm, pgd, new);\n> -\t\t}\n> -\n> -\t\tpud = pud_offset(pgd, vstart);\n> -\t\tif (pud_none(*pud)) {\n> -\t\t\tpmd_t *new = vmemmap_alloc_block(PAGE_SIZE, node);\n> -\n> -\t\t\tif (!new)\n> -\t\t\t\treturn -ENOMEM;\n> -\t\t\tpud_populate(&init_mm, pud, new);\n> -\t\t}\n> +\t\tpud = vmemmap_pud_populate(pgd, vstart, node);\n> +\t\tif (!pud)\n> +\t\t\treturn -ENOMEM;\n>  \n>  \t\tpmd = pmd_offset(pud, vstart);\n> -\n>  \t\tpte = pmd_val(*pmd);\n>  \t\tif (!(pte & _PAGE_VALID)) {\n>  \t\t\tvoid *block = vmemmap_alloc_block(PMD_SIZE, node);\n> -- \n> 2.14.1","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"KUKNArjo\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y5zf53933z9s03\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 00:00:13 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzMny-0006nh-0y; Tue, 03 Oct 2017 13:00:10 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzMnq-0006Af-Bv for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 13:00:08 +0000","from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id F0CBBAD6D;\n\tTue,  3 Oct 2017 12:59:40 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=JlyYF9+BHl2un05suJBZzjydiG6KhBw4kgCQMotwWaA=;\n\tb=KUKNArjo17hmZY\n\tt/90YVuMRPTz5PwCaPTIi/LxiYBBTzrh7JgCNON3cgsWUOK5Sdjs0dpFapPStzLLGfDxT1VQAQK27\n\tmmfKsnsfn/NhvO6ZiaPd4484WgQ9HXp0T1eOt9pyzR/Mx5NzCcGn0lKLTL7oRALliyN5UViyvbEFm\n\t31v+MKg5a4hMkrgP78QWJnrYw1OMSPPAlqKRXsjaKJA0J37mSvAzMdiGiNdwTbY8kzpZwkUmIAv8G\n\t6cRUuSpCDCFmyX5fbZ+k7mLWl+b3LxPj29glGZ3fxD9pevKnpIUlHTTg64FbjPcJHQOJrBm95Ldr+\n\tBdSv8HqsPTQBGC5B+Buw==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Tue, 3 Oct 2017 14:59:40 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pavel Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 04/12] sparc64: simplify vmemmap_populate","Message-ID":"<20171003125940.6d5fyhwx2lkzxn67@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-5-pasha.tatashin@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20170920201714.19817-5-pasha.tatashin@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_060002_639882_D19C86E8 ","X-CRM114-Status":"GOOD (  11.80  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1778952,"web_url":"http://patchwork.ozlabs.org/comment/1778952/","msgid":"<20171003130857.vohli6lnqj4tdmhl@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-03T13:08:57","subject":"Re: [PATCH v9 06/12] mm: zero struct pages during initialization","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Wed 20-09-17 16:17:08, Pavel Tatashin wrote:\n> Add struct page zeroing as a part of initialization of other fields in\n> __init_single_page().\n> \n> This single thread performance collected on: Intel(R) Xeon(R) CPU E7-8895\n> v3 @ 2.60GHz with 1T of memory (268400646 pages in 8 nodes):\n> \n>                         BASE            FIX\n> sparse_init     11.244671836s   0.007199623s\n> zone_sizes_init  4.879775891s   8.355182299s\n>                   --------------------------\n> Total           16.124447727s   8.362381922s\n\nHmm, this is confusing. This assumes that sparse_init doesn't zero pages\nanymore, right? So these number depend on the last patch in the series?\n\n> sparse_init is where memory for struct pages is zeroed, and the zeroing\n> part is moved later in this patch into __init_single_page(), which is\n> called from zone_sizes_init().\n> \n> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>\n> Reviewed-by: Steven Sistare <steven.sistare@oracle.com>\n> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>\n> Reviewed-by: Bob Picco <bob.picco@oracle.com>\n> Acked-by: Michal Hocko <mhocko@suse.com>\n> ---\n>  include/linux/mm.h | 9 +++++++++\n>  mm/page_alloc.c    | 1 +\n>  2 files changed, 10 insertions(+)\n> \n> diff --git a/include/linux/mm.h b/include/linux/mm.h\n> index f8c10d336e42..50b74d628243 100644\n> --- a/include/linux/mm.h\n> +++ b/include/linux/mm.h\n> @@ -94,6 +94,15 @@ extern int mmap_rnd_compat_bits __read_mostly;\n>  #define mm_forbids_zeropage(X)\t(0)\n>  #endif\n>  \n> +/*\n> + * On some architectures it is expensive to call memset() for small sizes.\n> + * Those architectures should provide their own implementation of \"struct page\"\n> + * zeroing by defining this macro in <asm/pgtable.h>.\n> + */\n> +#ifndef mm_zero_struct_page\n> +#define mm_zero_struct_page(pp)  ((void)memset((pp), 0, sizeof(struct page)))\n> +#endif\n> +\n>  /*\n>   * Default maximum number of active map areas, this limits the number of vmas\n>   * per mm struct. Users can overwrite this number by sysctl but there is a\n> diff --git a/mm/page_alloc.c b/mm/page_alloc.c\n> index a8dbd405ed94..4b630ee91430 100644\n> --- a/mm/page_alloc.c\n> +++ b/mm/page_alloc.c\n> @@ -1170,6 +1170,7 @@ static void free_one_page(struct zone *zone,\n>  static void __meminit __init_single_page(struct page *page, unsigned long pfn,\n>  \t\t\t\tunsigned long zone, int nid)\n>  {\n> +\tmm_zero_struct_page(page);\n>  \tset_page_links(page, zone, nid, pfn);\n>  \tinit_page_count(page);\n>  \tpage_mapcount_reset(page);\n> -- \n> 2.14.1","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"Ba7/u6yg\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y5zrr6ywzz9sxR\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 00:09:32 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzMwz-0003dY-Ah; Tue, 03 Oct 2017 13:09:29 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzMwr-0003S6-Fa for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 13:09:27 +0000","from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id 4E0E3AD6D;\n\tTue,  3 Oct 2017 13:08:58 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=y4VVfSG4DRZ3rzLSFwNqlS22phJ0lpVI/lS/h0W9Eq4=;\n\tb=Ba7/u6ygTTDPHh\n\t2nmEZ4ozk5yyfn/RKqGBXB20yH9IfWw1ZOS+2IrNFh0INagbYbMsSc/JkheN6tRCv2Oq/O3AGzTc8\n\tHhjt7JFkJ9mKrkV0kea7wC/YlnJgqlN9p+D7NIXxGmus/X6KsJ01SIpNkieAHcbhePzXvfH33/0Sm\n\tp0/qF2t+8fa1eQLcuiHE+xDZ0JV0/Wgh22MxdKDBgkKHhTylJx57T7NMeorpRvhSopgZTj4jxw2lc\n\tqB1w3tVg0P1iN9GMLtE2yMBj08dgVNpF+HNpSrmsIGxM+e/b3EXlBtg2yOb1EDQQOfbf4FqvdRruQ\n\tvB1JU63F3JpgbrayuspA==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Tue, 3 Oct 2017 15:08:57 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pavel Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 06/12] mm: zero struct pages during initialization","Message-ID":"<20171003130857.vohli6lnqj4tdmhl@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-7-pasha.tatashin@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20170920201714.19817-7-pasha.tatashin@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_060921_762918_D7DF5317 ","X-CRM114-Status":"GOOD (  15.32  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1778959,"web_url":"http://patchwork.ozlabs.org/comment/1778959/","msgid":"<20171003131817.omzbam3js67edp3s@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-03T13:18:17","subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Wed 20-09-17 16:17:10, Pavel Tatashin wrote:\n> Some memory is reserved but unavailable: not present in memblock.memory\n> (because not backed by physical pages), but present in memblock.reserved.\n> Such memory has backing struct pages, but they are not initialized by going\n> through __init_single_page().\n\nCould you be more specific where is such a memory reserved?","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"iO73imDC\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y603Z0Sdmz9sPr\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 00:18:50 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzN5y-00085J-Rf; Tue, 03 Oct 2017 13:18:46 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzN5s-00080N-3l for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 13:18:45 +0000","from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id A3AF1AD6D;\n\tTue,  3 Oct 2017 13:18:18 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=brcsxJRnuYn6B915186ciVv1x8hhI+OjPycCcNU5HLs=;\n\tb=iO73imDCFqlShR\n\tvEhyWrymCHDA2GUHdJQNeR0dpi9argo8aN4oTcB9ghNcCgs6M+xVve55nhslTWLdB3YVO4p7xB2bv\n\t89KCnLLB0V7OLyMu39ogviww7YLzt1WBMkzGPzZx1KSlR1RmDX4ogt0UrUcXg4qHPKYHMJ/ws0FNJ\n\tRizhKdxHAPNXSK2uuzdtsBi9xLwHcZhsDi5nSLJivylYVWheCQ5fbfn8pyAcZZWMAO+Oxtb9oQodT\n\t4mHWMtOYmp2/IBvt5w33eW4taxkTju45Kcrub3o8RWYXMSHzU4VK479f7h1FZPGyoHod81ALgWFm7\n\tud/74+0oo3BMuFtBlLAw==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Tue, 3 Oct 2017 15:18:17 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pavel Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","Message-ID":"<20171003131817.omzbam3js67edp3s@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-9-pasha.tatashin@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20170920201714.19817-9-pasha.tatashin@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_061840_313855_C473C549 ","X-CRM114-Status":"UNSURE (   7.47  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1778963,"web_url":"http://patchwork.ozlabs.org/comment/1778963/","msgid":"<20171003131952.aqq377pjug5me6go@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-03T13:19:52","subject":"Re: [PATCH v9 12/12] mm: stop zeroing memory during allocation in\n\tvmemmap","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Wed 20-09-17 16:17:14, Pavel Tatashin wrote:\n> vmemmap_alloc_block() will no longer zero the block, so zero memory\n> at its call sites for everything except struct pages.  Struct page memory\n> is zero'd by struct page initialization.\n> \n> Replace allocators in sprase-vmemmap to use the non-zeroing version. So,\n> we will get the performance improvement by zeroing the memory in parallel\n> when struct pages are zeroed.\n\nIs it possible to merge this patch with http://lkml.kernel.org/r/20170920201714.19817-7-pasha.tatashin@oracle.com\n\n> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>\n> Reviewed-by: Steven Sistare <steven.sistare@oracle.com>\n> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>\n> Reviewed-by: Bob Picco <bob.picco@oracle.com>\n> ---\n>  include/linux/mm.h  | 11 +++++++++++\n>  mm/sparse-vmemmap.c | 15 +++++++--------\n>  mm/sparse.c         |  6 +++---\n>  3 files changed, 21 insertions(+), 11 deletions(-)\n> \n> diff --git a/include/linux/mm.h b/include/linux/mm.h\n> index a7bba4ce79ba..25848764570f 100644\n> --- a/include/linux/mm.h\n> +++ b/include/linux/mm.h\n> @@ -2501,6 +2501,17 @@ static inline void *vmemmap_alloc_block_buf(unsigned long size, int node)\n>  \treturn __vmemmap_alloc_block_buf(size, node, NULL);\n>  }\n>  \n> +static inline void *vmemmap_alloc_block_zero(unsigned long size, int node)\n> +{\n> +\tvoid *p = vmemmap_alloc_block(size, node);\n> +\n> +\tif (!p)\n> +\t\treturn NULL;\n> +\tmemset(p, 0, size);\n> +\n> +\treturn p;\n> +}\n> +\n>  void vmemmap_verify(pte_t *, int, unsigned long, unsigned long);\n>  int vmemmap_populate_basepages(unsigned long start, unsigned long end,\n>  \t\t\t       int node);\n> diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c\n> index d1a39b8051e0..c2f5654e7c9d 100644\n> --- a/mm/sparse-vmemmap.c\n> +++ b/mm/sparse-vmemmap.c\n> @@ -41,7 +41,7 @@ static void * __ref __earlyonly_bootmem_alloc(int node,\n>  \t\t\t\tunsigned long align,\n>  \t\t\t\tunsigned long goal)\n>  {\n> -\treturn memblock_virt_alloc_try_nid(size, align, goal,\n> +\treturn memblock_virt_alloc_try_nid_raw(size, align, goal,\n>  \t\t\t\t\t    BOOTMEM_ALLOC_ACCESSIBLE, node);\n>  }\n>  \n> @@ -54,9 +54,8 @@ void * __meminit vmemmap_alloc_block(unsigned long size, int node)\n>  \tif (slab_is_available()) {\n>  \t\tstruct page *page;\n>  \n> -\t\tpage = alloc_pages_node(node,\n> -\t\t\tGFP_KERNEL | __GFP_ZERO | __GFP_RETRY_MAYFAIL,\n> -\t\t\tget_order(size));\n> +\t\tpage = alloc_pages_node(node, GFP_KERNEL | __GFP_RETRY_MAYFAIL,\n> +\t\t\t\t\tget_order(size));\n>  \t\tif (page)\n>  \t\t\treturn page_address(page);\n>  \t\treturn NULL;\n> @@ -183,7 +182,7 @@ pmd_t * __meminit vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node)\n>  {\n>  \tpmd_t *pmd = pmd_offset(pud, addr);\n>  \tif (pmd_none(*pmd)) {\n> -\t\tvoid *p = vmemmap_alloc_block(PAGE_SIZE, node);\n> +\t\tvoid *p = vmemmap_alloc_block_zero(PAGE_SIZE, node);\n>  \t\tif (!p)\n>  \t\t\treturn NULL;\n>  \t\tpmd_populate_kernel(&init_mm, pmd, p);\n> @@ -195,7 +194,7 @@ pud_t * __meminit vmemmap_pud_populate(p4d_t *p4d, unsigned long addr, int node)\n>  {\n>  \tpud_t *pud = pud_offset(p4d, addr);\n>  \tif (pud_none(*pud)) {\n> -\t\tvoid *p = vmemmap_alloc_block(PAGE_SIZE, node);\n> +\t\tvoid *p = vmemmap_alloc_block_zero(PAGE_SIZE, node);\n>  \t\tif (!p)\n>  \t\t\treturn NULL;\n>  \t\tpud_populate(&init_mm, pud, p);\n> @@ -207,7 +206,7 @@ p4d_t * __meminit vmemmap_p4d_populate(pgd_t *pgd, unsigned long addr, int node)\n>  {\n>  \tp4d_t *p4d = p4d_offset(pgd, addr);\n>  \tif (p4d_none(*p4d)) {\n> -\t\tvoid *p = vmemmap_alloc_block(PAGE_SIZE, node);\n> +\t\tvoid *p = vmemmap_alloc_block_zero(PAGE_SIZE, node);\n>  \t\tif (!p)\n>  \t\t\treturn NULL;\n>  \t\tp4d_populate(&init_mm, p4d, p);\n> @@ -219,7 +218,7 @@ pgd_t * __meminit vmemmap_pgd_populate(unsigned long addr, int node)\n>  {\n>  \tpgd_t *pgd = pgd_offset_k(addr);\n>  \tif (pgd_none(*pgd)) {\n> -\t\tvoid *p = vmemmap_alloc_block(PAGE_SIZE, node);\n> +\t\tvoid *p = vmemmap_alloc_block_zero(PAGE_SIZE, node);\n>  \t\tif (!p)\n>  \t\t\treturn NULL;\n>  \t\tpgd_populate(&init_mm, pgd, p);\n> diff --git a/mm/sparse.c b/mm/sparse.c\n> index 83b3bf6461af..d22f51bb7c79 100644\n> --- a/mm/sparse.c\n> +++ b/mm/sparse.c\n> @@ -437,9 +437,9 @@ void __init sparse_mem_maps_populate_node(struct page **map_map,\n>  \t}\n>  \n>  \tsize = PAGE_ALIGN(size);\n> -\tmap = memblock_virt_alloc_try_nid(size * map_count,\n> -\t\t\t\t\t  PAGE_SIZE, __pa(MAX_DMA_ADDRESS),\n> -\t\t\t\t\t  BOOTMEM_ALLOC_ACCESSIBLE, nodeid);\n> +\tmap = memblock_virt_alloc_try_nid_raw(size * map_count,\n> +\t\t\t\t\t      PAGE_SIZE, __pa(MAX_DMA_ADDRESS),\n> +\t\t\t\t\t      BOOTMEM_ALLOC_ACCESSIBLE, nodeid);\n>  \tif (map) {\n>  \t\tfor (pnum = pnum_begin; pnum < pnum_end; pnum++) {\n>  \t\t\tif (!present_section_nr(pnum))\n> -- \n> 2.14.1","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"ZWD9slLB\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y605M2yb1z9t2M\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 00:20:23 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzN7T-0001jX-Nl; Tue, 03 Oct 2017 13:20:19 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzN7O-0000EP-CS for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 13:20:17 +0000","from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id B35EFAD6D;\n\tTue,  3 Oct 2017 13:19:52 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=LFuDm88VWbrO5nAXi9pBm8h8GJB4FrPaCr8LDh5GQjI=;\n\tb=ZWD9slLBBc0Abi\n\tMl1VXiI8NkLyQU0rTz5tVm8+cv5pkQ8c75Db3ApMuTq8DAgccJiUJQtGYVahL+BrmTsdjD1sylHNC\n\tfQHNIPHhqBAMHzR9i4HryDS25wYDw7jwlMGMtnmp9cS5WN2CdE0RM3Au4GuqskvL+ag1QnSZu+4yR\n\tYU8gmh0l1hoI1lerLIrYDs3D03MjXyFg+v4ekUa6z7o8BSxI3+LiQMyzqqZ1SyHNLyTpKCjH1PABn\n\taJ23FzfTWRVdM1QzPoH/c351U3bE91WRwS1lEMgjwexbKAjhpDTpAdqQnozDe3RiUsGh6kmjFKTJ6\n\tPtpx3PwTiSufjI38bs0Q==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Tue, 3 Oct 2017 15:19:52 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pavel Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 12/12] mm: stop zeroing memory during allocation in\n\tvmemmap","Message-ID":"<20171003131952.aqq377pjug5me6go@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-13-pasha.tatashin@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20170920201714.19817-13-pasha.tatashin@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_062014_797054_B1D580F7 ","X-CRM114-Status":"GOOD (  17.38  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779033,"web_url":"http://patchwork.ozlabs.org/comment/1779033/","msgid":"<20171003144845.GD4931@leverpostej>","list_archive_url":null,"date":"2017-10-03T14:48:46","subject":"Re: [PATCH v9 09/12] mm/kasan: kasan specific map populate function","submitter":{"id":8806,"url":"http://patchwork.ozlabs.org/api/people/8806/","name":"Mark Rutland","email":"mark.rutland@arm.com"},"content":"Hi Pavel,\n\nOn Wed, Sep 20, 2017 at 04:17:11PM -0400, Pavel Tatashin wrote:\n> During early boot, kasan uses vmemmap_populate() to establish its shadow\n> memory. But, that interface is intended for struct pages use.\n> \n> Because of the current project, vmemmap won't be zeroed during allocation,\n> but kasan expects that memory to be zeroed. We are adding a new\n> kasan_map_populate() function to resolve this difference.\n\nThanks for putting this together.\n\nI've given this a spin on arm64, and can confirm that it works.\n\nGiven that this involes redundant walking of page tables, I still think\nit'd be preferable to have some common *_populate() helper that took a\ngfp argument, but I guess it's not the end of the world.\n\nI'll leave it to Will and Catalin to say whether they're happy with the\npage table walking and the new p{u,m}d_large() helpers added to arm64.\n\nThanks,\nMark.\n\n> \n> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>\n> ---\n>  arch/arm64/include/asm/pgtable.h |  3 ++\n>  include/linux/kasan.h            |  2 ++\n>  mm/kasan/kasan_init.c            | 67 ++++++++++++++++++++++++++++++++++++++++\n>  3 files changed, 72 insertions(+)\n> \n> diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h\n> index bc4e92337d16..d89713f04354 100644\n> --- a/arch/arm64/include/asm/pgtable.h\n> +++ b/arch/arm64/include/asm/pgtable.h\n> @@ -381,6 +381,9 @@ extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,\n>  \t\t\t\t PUD_TYPE_TABLE)\n>  #endif\n>  \n> +#define pmd_large(pmd)\t\tpmd_sect(pmd)\n> +#define pud_large(pud)\t\tpud_sect(pud)\n> +\n>  static inline void set_pmd(pmd_t *pmdp, pmd_t pmd)\n>  {\n>  \t*pmdp = pmd;\n> diff --git a/include/linux/kasan.h b/include/linux/kasan.h\n> index a5c7046f26b4..7e13df1722c2 100644\n> --- a/include/linux/kasan.h\n> +++ b/include/linux/kasan.h\n> @@ -78,6 +78,8 @@ size_t kasan_metadata_size(struct kmem_cache *cache);\n>  \n>  bool kasan_save_enable_multi_shot(void);\n>  void kasan_restore_multi_shot(bool enabled);\n> +int __meminit kasan_map_populate(unsigned long start, unsigned long end,\n> +\t\t\t\t int node);\n>  \n>  #else /* CONFIG_KASAN */\n>  \n> diff --git a/mm/kasan/kasan_init.c b/mm/kasan/kasan_init.c\n> index 554e4c0f23a2..57a973f05f63 100644\n> --- a/mm/kasan/kasan_init.c\n> +++ b/mm/kasan/kasan_init.c\n> @@ -197,3 +197,70 @@ void __init kasan_populate_zero_shadow(const void *shadow_start,\n>  \t\tzero_p4d_populate(pgd, addr, next);\n>  \t} while (pgd++, addr = next, addr != end);\n>  }\n> +\n> +/* Creates mappings for kasan during early boot. The mapped memory is zeroed */\n> +int __meminit kasan_map_populate(unsigned long start, unsigned long end,\n> +\t\t\t\t int node)\n> +{\n> +\tunsigned long addr, pfn, next;\n> +\tunsigned long long size;\n> +\tpgd_t *pgd;\n> +\tp4d_t *p4d;\n> +\tpud_t *pud;\n> +\tpmd_t *pmd;\n> +\tpte_t *pte;\n> +\tint ret;\n> +\n> +\tret = vmemmap_populate(start, end, node);\n> +\t/*\n> +\t * We might have partially populated memory, so check for no entries,\n> +\t * and zero only those that actually exist.\n> +\t */\n> +\tfor (addr = start; addr < end; addr = next) {\n> +\t\tpgd = pgd_offset_k(addr);\n> +\t\tif (pgd_none(*pgd)) {\n> +\t\t\tnext = pgd_addr_end(addr, end);\n> +\t\t\tcontinue;\n> +\t\t}\n> +\n> +\t\tp4d = p4d_offset(pgd, addr);\n> +\t\tif (p4d_none(*p4d)) {\n> +\t\t\tnext = p4d_addr_end(addr, end);\n> +\t\t\tcontinue;\n> +\t\t}\n> +\n> +\t\tpud = pud_offset(p4d, addr);\n> +\t\tif (pud_none(*pud)) {\n> +\t\t\tnext = pud_addr_end(addr, end);\n> +\t\t\tcontinue;\n> +\t\t}\n> +\t\tif (pud_large(*pud)) {\n> +\t\t\t/* This is PUD size page */\n> +\t\t\tnext = pud_addr_end(addr, end);\n> +\t\t\tsize = PUD_SIZE;\n> +\t\t\tpfn = pud_pfn(*pud);\n> +\t\t} else {\n> +\t\t\tpmd = pmd_offset(pud, addr);\n> +\t\t\tif (pmd_none(*pmd)) {\n> +\t\t\t\tnext = pmd_addr_end(addr, end);\n> +\t\t\t\tcontinue;\n> +\t\t\t}\n> +\t\t\tif (pmd_large(*pmd)) {\n> +\t\t\t\t/* This is PMD size page */\n> +\t\t\t\tnext = pmd_addr_end(addr, end);\n> +\t\t\t\tsize = PMD_SIZE;\n> +\t\t\t\tpfn = pmd_pfn(*pmd);\n> +\t\t\t} else {\n> +\t\t\t\tpte = pte_offset_kernel(pmd, addr);\n> +\t\t\t\tnext = addr + PAGE_SIZE;\n> +\t\t\t\tif (pte_none(*pte))\n> +\t\t\t\t\tcontinue;\n> +\t\t\t\t/* This is base size page */\n> +\t\t\t\tsize = PAGE_SIZE;\n> +\t\t\t\tpfn = pte_pfn(*pte);\n> +\t\t\t}\n> +\t\t}\n> +\t\tmemset(phys_to_virt(PFN_PHYS(pfn)), 0, size);\n> +\t}\n> +\treturn ret;\n> +}\n> -- \n> 2.14.1\n>","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"P8fkpRut\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y625l1nxQz9t2M\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 01:50:51 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOX2-0007jq-8D; Tue, 03 Oct 2017 14:50:48 +0000","from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]\n\thelo=foss.arm.com)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOWu-0007VS-QN for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 14:50:46 +0000","from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])\n\tby usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 996971529;\n\tTue,  3 Oct 2017 07:50:18 -0700 (PDT)","from leverpostej (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249])\n\tby usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id\n\t162C03F53D; Tue,  3 Oct 2017 07:50:14 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=Cxr0cVJhtlBBnZC1JMv54+zp9l5Xv3OpSPbx//op3WQ=;\n\tb=P8fkpRutaFdFn7\n\tptO59hOyVz2nZimCkcv2J3sZoQtqd00uHeNaikjC4WRKzu+DrFJ3a6p9is42Q98Pl2bAoW+gdrJ5P\n\t3eBbkMJ9aAvCO8MjdNowzd9kBjQx9MOCfrRPp89DexD5OL67JgVgmFeitXFwMgtf83CHFmU8ec+Cv\n\tGWbWXaud5AxaOApFC2htw1bwxOp6igT3xKjWwrM1SCoY5Ir0E7GFojGcgwjBuEUhiw/92LOiHsgTe\n\tQToQv2AQUCAwXM5UChFjReIstcYwCP/mDTCewrjRLOiqkzub/VzOjMApCJtqTfVZZTRy1d0oMKg1b\n\tyDkkKiyJiRNLKbNfXnLw==;","Date":"Tue, 3 Oct 2017 15:48:46 +0100","From":"Mark Rutland <mark.rutland@arm.com>","To":"Pavel Tatashin <pasha.tatashin@oracle.com>, will.deacon@arm.com,\n\tcatalin.marinas@arm.com","Subject":"Re: [PATCH v9 09/12] mm/kasan: kasan specific map populate function","Message-ID":"<20171003144845.GD4931@leverpostej>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-10-pasha.tatashin@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20170920201714.19817-10-pasha.tatashin@oracle.com>","User-Agent":"Mutt/1.5.21 (2010-09-15)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_075040_958610_85871484 ","X-CRM114-Status":"GOOD (  18.43  )","X-Spam-Score":"-6.9 (------)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-6.9 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/,\n\thigh trust [217.140.101.70 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"linux-s390@vger.kernel.org, ard.biesheuvel@linaro.org,\n\tmgorman@techsingularity.net, borntraeger@de.ibm.com, sam@ravnborg.org,\n\tx86@kernel.org, heiko.carstens@de.ibm.com, linux-kernel@vger.kernel.org, \n\tkasan-dev@googlegroups.com, mhocko@kernel.org, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, daniel.m.jordan@oracle.com,\n\tlinuxppc-dev@lists.ozlabs.org, davem@davemloft.net,\n\tlinux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779050,"web_url":"http://patchwork.ozlabs.org/comment/1779050/","msgid":"<1e2dc0da-5eb8-3160-803a-262a3c506baf@oracle.com>","list_archive_url":null,"date":"2017-10-03T15:04:26","subject":"Re: [PATCH v9 09/12] mm/kasan: kasan specific map populate function","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"Hi Mark,\n\nI considered using a new  *populate() function for shadow without using \nvmemmap_populate(), but that makes things unnecessary complicated: \nvmemmap_populate() has builtin:\n\n1. large page support\n2. device memory support\n3. node locality support\n4. several config based variants on different platforms\n\nAll of that  will cause the code simply be duplicated on each platform \nif we want to support that in kasan.\n\nWe could limit ourselves to only supporting base pages in memory by \nusing something like vmemmap_populate_basepages(), but that is a step \nbackward.  Kasan benefits from using large pages now, why remove it?\n\nSo, the solution I provide is walking page table right after memory is \nmapped. Since, we are using the actual page table, it is guaranteed that \nwe are not going to miss any mapped memory, and also it is in common \ncode, which makes things smaller and nicer.\n\nThank you,\nPasha\n\nOn 10/03/2017 10:48 AM, Mark Rutland wrote:\n> \n> I've given this a spin on arm64, and can confirm that it works.\n> \n> Given that this involes redundant walking of page tables, I still think\n> it'd be preferable to have some common *_populate() helper that took a\n> gfp argument, but I guess it's not the end of the world.\n> \n> I'll leave it to Will and Catalin to say whether they're happy with the\n> page table walking and the new p{u,m}d_large() helpers added to arm64.\n>","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"h0S26IPW\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y62RJ2bH8z9sBZ\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 02:06:04 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOll-00085o-Ax; Tue, 03 Oct 2017 15:06:01 +0000","from aserp1040.oracle.com ([141.146.126.69])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOli-00082B-24 for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 15:05:59 +0000","from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234])\n\tby aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2)\n\twith ESMTP id v93F4WJq005901\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:04:32 GMT","from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75])\n\tby aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v93F4VMB014381\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:04:31 GMT","from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8])\n\tby userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v93F4TPY019989; \n\tTue, 3 Oct 2017 15:04:29 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 03 Oct 2017 08:04:29 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=OephHUHOD3cF3SKERgWhWOi3oYSZKhkj0WLD2nxfIcA=;\n\tb=h0S26IPW6M+HX89LjyW7jGDhJ\n\tlXsbX2Ndq0CSzs2PbVuK1vBgsvcYq7yAGwLrYg5XrOy8rMsrWbVj6qY8ijIbUSTlFDkZ6lg+mt01M\n\t2seYdN2NIGGEwO97meEDpslSVjceVBK01VC34FDacVr0gxWM2iXamARxBpPoGtLLxMV4M5iWUtDen\n\tB0OtjqJOsLKe+Eb33OzMv5T+PwE2s13On95wf3tAEpZiO5XAW16fcMBHH3ZtU7bdy/3PuBnbINpjb\n\tKD6d/wyl9/5WsfRnOD210BOKvsU/jsWjjg8PUDsVunj0fGBDOn8QKO6yH2OiuByzeJZ6axp5rN2Ah\n\tgAJ7GAx0Q==;","Subject":"Re: [PATCH v9 09/12] mm/kasan: kasan specific map populate function","To":"Mark Rutland <mark.rutland@arm.com>, will.deacon@arm.com,\n\tcatalin.marinas@arm.com","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-10-pasha.tatashin@oracle.com>\n\t<20171003144845.GD4931@leverpostej>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<1e2dc0da-5eb8-3160-803a-262a3c506baf@oracle.com>","Date":"Tue, 3 Oct 2017 11:04:26 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171003144845.GD4931@leverpostej>","Content-Language":"en-US","X-Source-IP":"aserv0022.oracle.com [141.146.126.234]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_080558_299494_2514F4C7 ","X-CRM114-Status":"GOOD (  12.20  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [141.146.126.69 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)\n\t[141.146.126.69 listed in wl.mailspike.net]\n\t-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"linux-s390@vger.kernel.org, ard.biesheuvel@linaro.org,\n\tmgorman@techsingularity.net, borntraeger@de.ibm.com, sam@ravnborg.org,\n\tx86@kernel.org, heiko.carstens@de.ibm.com, linux-kernel@vger.kernel.org, \n\tkasan-dev@googlegroups.com, mhocko@kernel.org, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, daniel.m.jordan@oracle.com,\n\tlinuxppc-dev@lists.ozlabs.org, davem@davemloft.net,\n\tlinux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779057,"web_url":"http://patchwork.ozlabs.org/comment/1779057/","msgid":"<00978c7c-8d05-fbc3-eaba-9455b66ff02e@oracle.com>","list_archive_url":null,"date":"2017-10-03T15:07:54","subject":"Re: [PATCH v9 01/12] x86/mm: setting fields in deferred pages","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"Hi Michal,\n\n> \n> I hope I haven't missed anything but it looks good to me.\n> \n> Acked-by: Michal Hocko <mhocko@suse.com>\n\nThank you for your review.\n\n> \n> one nit below\n>> ---\n>>   arch/x86/mm/init_64.c | 9 +++++++--\n>>   1 file changed, 7 insertions(+), 2 deletions(-)\n>>\n>> diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c\n>> index 5ea1c3c2636e..30fe22558720 100644\n>> --- a/arch/x86/mm/init_64.c\n>> +++ b/arch/x86/mm/init_64.c\n>> @@ -1182,12 +1182,17 @@ void __init mem_init(void)\n>>   \n>>   \t/* clear_bss() already clear the empty_zero_page */\n>>   \n>> -\tregister_page_bootmem_info();\n>> -\n>>   \t/* this will put all memory onto the freelists */\n>>   \tfree_all_bootmem();\n>>   \tafter_bootmem = 1;\n>>   \n>> +\t/* Must be done after boot memory is put on freelist, because here we\n> \n> standard code style is to do\n> \t/*\n> \t * text starts here\n\nOK, will change for both patch 1 and 2.\n\nPasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"d9Yjor98\"; \n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=infradead.org header.i=@infradead.org\n\theader.b=\"pr72tmQq\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y62Vy1KHkz9sBZ\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 02:09:14 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOoo-0001Hd-TQ; Tue, 03 Oct 2017 15:09:10 +0000","from merlin.infradead.org ([2001:8b0:10b:1231::1])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOom-0001Fw-7w for linux-arm-kernel@bombadil.infradead.org;\n\tTue, 03 Oct 2017 15:09:08 +0000","from aserp1040.oracle.com ([141.146.126.69])\n\tby merlin.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOoi-0007Hu-G8 for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 15:09:06 +0000","from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74])\n\tby aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with\n\tESMTP id v93F7wEU011444\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:07:59 GMT","from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75])\n\tby userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v93F7wGL025883\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:07:58 GMT","from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8])\n\tby userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v93F7vLL022241; \n\tTue, 3 Oct 2017 15:07:57 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 03 Oct 2017 08:07:57 -0700"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=bVE8zbkP+gYXMVOgL+4ETBG3zTwZd9yTdHNlSrCV4P4=;\n\tb=d9Yjor98Lus08AviOVzDHCNdR\n\tqNrFvMXwH4FL66sPdzfnQHgBI7qukf8gsIHWDsfumzNh9sJu1v53mP7JvFqzU8A8OUxhGEstrOIg8\n\tYGTPR0bRwKRBhL4FxxY2kQhOdYa/YO5lfnvFDlUJqeEdBWauCP2FluySNreHetLztVSAJJ0J1H9O6\n\t4mBLGmu4WJfrGdwUcaaGVuoPbG0pDFtpywjlXO2fOmXlPfO95ji5yfOWplEomQjy/9ATiXLcN1Mae\n\t0+PsdskFsbxYxkRX7wP9hTDzQq03XRA3YeHjW8soGyqLqoUM8CMemyB+GVz70ozrz9V1W95NOVKmp\n\tSLuXKOSCA==;","v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=merlin.20170209;\n\th=Content-Transfer-Encoding:Content-Type:\n\tIn-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender\n\t:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:\n\tList-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;\n\tbh=RrLaaTYBzkkOM1GRVTQHEV5ycWlMNlXfVopCdxvK4NE=;\n\tb=pr72tmQqSG4PtBduQQXB/tZNHn\n\t47H0wXovzerYGBErQ4z0IVSXY7NdTua/vIPN1Cg7eDnKW8vf+djIiHVAF9lG8ML421yDbKG91DBln\n\tz8mW/6qkq3ufbR2kiX5rWmDEgckTxF/4an21PCqPY5CRF/Nnpu1rx/7CaE3lvR48OAhsbKusc22sJ\n\tvVXpVz5SCVQfuT52rKdrKIE82NiH3tDlTow8tiItTEx7XjszToK3XmH21iIPohXvjux5Qbv9GXiim\n\tya8rSdXt3i+ZcdsJZ8TnQa+jUuHn4U7PxS5bpAVM3ljgpLNh0+k/E1aKjXe19musca/MT4QZsfRei\n\t6AHiO5bg==;"],"Subject":"Re: [PATCH v9 01/12] x86/mm: setting fields in deferred pages","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-2-pasha.tatashin@oracle.com>\n\t<20171003122658.cv64pxnuavopjid6@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<00978c7c-8d05-fbc3-eaba-9455b66ff02e@oracle.com>","Date":"Tue, 3 Oct 2017 11:07:54 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171003122658.cv64pxnuavopjid6@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"userv0022.oracle.com [156.151.31.74]","X-Spam-Note":"CRM114 invocation failed","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on merlin.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [141.146.126.69 listed in list.dnswl.org]\n\t-0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)\n\t[141.146.126.69 listed in wl.mailspike.net]\n\t-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779061,"web_url":"http://patchwork.ozlabs.org/comment/1779061/","msgid":"<3c410186-0af9-dae8-84eb-8f4d4651d355@oracle.com>","list_archive_url":null,"date":"2017-10-03T15:10:35","subject":"Re: [PATCH v9 02/12] sparc64/mm: setting fields in deferred pages","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"> \n> As you separated x86 and sparc patches doing essentially the same I\n> assume David is going to take this patch?\n\nCorrect, I noticed that usually platform specific changes are done in \nseparate patches even if they are small. Dave already Acked this patch. \nSo, I do not think it should be separated from the rest of the patches \nwhen this projects goes into mm-tree.\n\n> \n> Acked-by: Michal Hocko <mhocko@suse.com>\n\nThank you,\nPasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"KgR3h8qj\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y62Yx0T22z9sPk\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 02:11:49 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOrK-0003c1-17; Tue, 03 Oct 2017 15:11:46 +0000","from aserp1040.oracle.com ([141.146.126.69])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOrD-0003Y1-5t for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 15:11:44 +0000","from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74])\n\tby aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with\n\tESMTP id v93FAdub016143\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:10:39 GMT","from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235])\n\tby userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv93FAc6g003030\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:10:38 GMT","from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13])\n\tby aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id\n\tv93FAbhq026640; Tue, 3 Oct 2017 15:10:37 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 03 Oct 2017 08:10:37 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=IHishDdNWmlR6ETbWPmqBuHKMw6ZVsOwM0xEGIHwKJ4=;\n\tb=KgR3h8qjGJui1KKxdzg+Lh+uh\n\tgk5VVygky6dUSjbIM0ipKRwSsu2tklEM2j6Krk66JHA+suQtTbNvD6bgCVaarUaAw/w6/3q+n30VG\n\tXcpH6zWzURUhfGH6ROZQgpKgdlerT/i1AT9H0ZkWcs6WJ3z2iqJLW1N41fbi8JyRWnFv3HsMzweOk\n\tGSY1dqAdh5NGQXqN5OVVqC1jFpDDFFNFvWS55/JvJ9r4NVpdfpxmi829E3/FERbdEixGdA9EXfeQc\n\t/v7M1oqsBUzUNdg+Yc8Ku6YtUfbZgs2BGHPWuiGql+PJRO5/k5fHSWwYq2/4VoUJJv3gArPZBcKU1\n\t6zbdgf1iw==;","Subject":"Re: [PATCH v9 02/12] sparc64/mm: setting fields in deferred pages","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-3-pasha.tatashin@oracle.com>\n\t<20171003122823.mdzkhxs4xza7sb2w@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<3c410186-0af9-dae8-84eb-8f4d4651d355@oracle.com>","Date":"Tue, 3 Oct 2017 11:10:35 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171003122823.mdzkhxs4xza7sb2w@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"userv0022.oracle.com [156.151.31.74]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_081139_445325_FF794217 ","X-CRM114-Status":"UNSURE (   7.57  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [141.146.126.69 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)\n\t[141.146.126.69 listed in wl.mailspike.net]\n\t-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779066,"web_url":"http://patchwork.ozlabs.org/comment/1779066/","msgid":"<fc4ef789-d9a8-5dab-6508-f0fe8751b462@oracle.com>","list_archive_url":null,"date":"2017-10-03T15:15:54","subject":"Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"Hi Michal,\n\n> \n> Please be explicit that this is possible only because we discard\n> memblock data later after 3010f876500f (\"mm: discard memblock data\n> later\"). Also be more explicit how the new code works.\n\nOK\n\n> \n> I like how the resulting code is more compact and smaller.\n\nThat was the goal :)\n\n> for_each_free_mem_range also looks more appropriate but I really detest\n> the DEFERRED_FREE thingy. Maybe we can handle all that in a single goto\n> section. I know this is not an art but manipulating variables from\n> macros is more error prone and much more ugly IMHO.\n\nSure, I can re-arrange to have a goto place. Function won't be as small, \nand if compiler is not smart enough we might end up with having more \nbranches than what my current code has.\n\n> \n> please do not use macros. Btw. this deserves its own fix. I suspect that\n> no CONFIG_HOLES_IN_ZONE arch enables DEFERRED_STRUCT_PAGE_INIT but\n> purely from the review point of view it should be its own patch.\n\nSure, I will submit this patch separately from the rest of the project. \nIn my opinion DEFERRED_STRUCT_PAGE_INIT is the way of the future, so we \nshould make sure it is working with as many configs as possible.\n\nThank you,\nPasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"RCAJZomH\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y62hJ2ZNkz9sRV\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 02:17:20 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOwc-0006bw-Tf; Tue, 03 Oct 2017 15:17:14 +0000","from aserp1040.oracle.com ([141.146.126.69])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzOwM-0006JL-6Q for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 15:17:01 +0000","from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71])\n\tby aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with\n\tESMTP id v93FG0EA026631\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:16:00 GMT","from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75])\n\tby userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id v93FFx5b019433\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:15:59 GMT","from abhmp0008.oracle.com (abhmp0008.oracle.com [141.146.116.14])\n\tby userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv93FFwks027811; Tue, 3 Oct 2017 15:15:58 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 03 Oct 2017 08:15:57 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=kXLYK0pppELBQapln/gyImcTpwHd0kEGqTrw1nQy6E8=;\n\tb=RCAJZomH2RnF66NyFiKDr6rBK\n\tFKDL0nWewF7KhNmbvZjM8254zd6reP+Sb8Yz1769dvfum6JuKIwZBcHBhoVmx9jlXz9Ya98xcwMkf\n\tn0x1DsIhXOTZ+AFyha8se1VINdB/DQAz0tpUa88tCAt0OQcFDUi96Wz2TzL/hJaZ8dLlG2tMsRAdn\n\tNFnJQl8JzTzrOu/GdWWM4V0qAqITs+yeIDsLCpAgmQM6FtkrdEGZjjLM6qt2V5VZHcTPm2cSSNxC6\n\tG7e/Yf9LXapTiFHiV3VZnzAeLrLuEA/mEyvHH8gqdRzBr7VzDFjSeivRl+UEVPg0CVpaJSLV0DKKJ\n\t51FGYcrUw==;","Subject":"Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-4-pasha.tatashin@oracle.com>\n\t<20171003125754.2kuqzkstywg7axhd@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<fc4ef789-d9a8-5dab-6508-f0fe8751b462@oracle.com>","Date":"Tue, 3 Oct 2017 11:15:54 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171003125754.2kuqzkstywg7axhd@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"userv0021.oracle.com [156.151.31.71]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_081658_457135_ADDC0A4C ","X-CRM114-Status":"GOOD (  11.06  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [141.146.126.69 listed in list.dnswl.org]\n\t-0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)\n\t[141.146.126.69 listed in wl.mailspike.net]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779071,"web_url":"http://patchwork.ozlabs.org/comment/1779071/","msgid":"<8104d3da-7905-e888-eb6a-223ecf237ca1@oracle.com>","list_archive_url":null,"date":"2017-10-03T15:20:53","subject":"Re: [PATCH v9 04/12] sparc64: simplify vmemmap_populate","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"> \n> Acked-by: Michal Hocko <mhocko@suse.com>\n\nThank you,\nPasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"nqsrsq2F\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y62nk3Tphz9sPk\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 02:22:02 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzP1C-0000rs-V7; Tue, 03 Oct 2017 15:21:58 +0000","from aserp1040.oracle.com ([141.146.126.69])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzP18-0000iW-DZ for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 15:21:56 +0000","from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234])\n\tby aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2)\n\twith ESMTP id v93FKvvT002318\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:20:57 GMT","from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236])\n\tby aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv93FKver017219\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:20:57 GMT","from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25])\n\tby aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv93FKuJQ004042; Tue, 3 Oct 2017 15:20:56 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 03 Oct 2017 15:20:56 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=hTJWLPcyQxVauDZsfR6zYf2WfLQW5j9c/YEbA7C9b2s=;\n\tb=nqsrsq2FPVELz7lNIdR6LEVjX\n\tJC4gYjtK9DoRdPTuw8KYYHRW4C8CmsG+0tDd0yMKVUhc9cD+uTm06JB89j/NKCSvQoNBjRIHvY4gb\n\ttQDhPX03HhOShom1h2t6UjgRtdYlJraNARXZ488BCOjuB8f4Z1j/xk8tfqaulKv7GVxWOnuAc1btC\n\tB+lhS3JglDcgH06SgM56vWYSQ7YxWXJlBLGJyOcrd9BxxBtMKvkeO3Ayu+cPNjksz0YwkBqXrqbuq\n\tCiBcMEpzbqkPcpVbA79VLOUUeWXjG7zo2lS7FtUPku3XNsxbS0uaWRoUYuvm0z4QAvKIrmIPRpWqC\n\t8KDRMQ1bA==;","Subject":"Re: [PATCH v9 04/12] sparc64: simplify vmemmap_populate","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-5-pasha.tatashin@oracle.com>\n\t<20171003125940.6d5fyhwx2lkzxn67@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<8104d3da-7905-e888-eb6a-223ecf237ca1@oracle.com>","Date":"Tue, 3 Oct 2017 11:20:53 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171003125940.6d5fyhwx2lkzxn67@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"aserv0022.oracle.com [141.146.126.234]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_082154_648258_4A5C52D3 ","X-CRM114-Status":"UNSURE (   4.73  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [141.146.126.69 listed in list.dnswl.org]\n\t-0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)\n\t[141.146.126.69 listed in wl.mailspike.net]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779074,"web_url":"http://patchwork.ozlabs.org/comment/1779074/","msgid":"<73ea1215-7aa2-39e1-b820-30f58119183e@oracle.com>","list_archive_url":null,"date":"2017-10-03T15:22:35","subject":"Re: [PATCH v9 06/12] mm: zero struct pages during initialization","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"On 10/03/2017 09:08 AM, Michal Hocko wrote:\n> On Wed 20-09-17 16:17:08, Pavel Tatashin wrote:\n>> Add struct page zeroing as a part of initialization of other fields in\n>> __init_single_page().\n>>\n>> This single thread performance collected on: Intel(R) Xeon(R) CPU E7-8895\n>> v3 @ 2.60GHz with 1T of memory (268400646 pages in 8 nodes):\n>>\n>>                          BASE            FIX\n>> sparse_init     11.244671836s   0.007199623s\n>> zone_sizes_init  4.879775891s   8.355182299s\n>>                    --------------------------\n>> Total           16.124447727s   8.362381922s\n> \n> Hmm, this is confusing. This assumes that sparse_init doesn't zero pages\n> anymore, right? So these number depend on the last patch in the series?\n\nCorrect, without the last patch sparse_init time won't change.\n\nPasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"oPe+KTty\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y62qk6fXPz9sPk\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 02:23:46 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzP2t-0001Mn-L1; Tue, 03 Oct 2017 15:23:43 +0000","from aserp1040.oracle.com ([141.146.126.69])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzP2p-0001IY-UD for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 15:23:41 +0000","from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74])\n\tby aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with\n\tESMTP id v93FMjsX006181\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:22:46 GMT","from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235])\n\tby userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv93FMi3q021707\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:22:45 GMT","from abhmp0018.oracle.com (abhmp0018.oracle.com [141.146.116.24])\n\tby aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id\n\tv93FMiZr004139; Tue, 3 Oct 2017 15:22:44 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 03 Oct 2017 08:22:44 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=gBXhyn5NPBDQXGgGs77XyaLRacHcaQOg1WlEdxcCt/E=;\n\tb=oPe+KTtyKgdujij6+2jelfduz\n\tZOD6jBUZ066+dH7gnDZGJK7NOcMZSvrbd2ZdL43OtNqhW/6h6mcFEPvihmzHdXkrZHR8yiYmfOiGO\n\tpCcvLYee9SWi0OZE8M0td3TRxQz26PzqiuzYJknK2Sk+liwjyaARemxUlKNZpSoEm/POSSaUBYv+8\n\tVEkfv/da2entTkYcUf/YY66cp5JbcSd96Gl/MkCrCJh0IMJHKbd8++4o5VpY64ayhGaCWULqesHwv\n\tb49wh8giCyt98cW5XaR4P/5L+lPfizfEoQdh9DgRGvZ4IzAfDncw/LApJU+nF9XsdUjd9pikqda7l\n\t0w7c5fBwg==;","Subject":"Re: [PATCH v9 06/12] mm: zero struct pages during initialization","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-7-pasha.tatashin@oracle.com>\n\t<20171003130857.vohli6lnqj4tdmhl@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<73ea1215-7aa2-39e1-b820-30f58119183e@oracle.com>","Date":"Tue, 3 Oct 2017 11:22:35 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171003130857.vohli6lnqj4tdmhl@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"userv0022.oracle.com [156.151.31.74]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_082340_129729_657F7973 ","X-CRM114-Status":"UNSURE (   7.43  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [141.146.126.69 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)\n\t[141.146.126.69 listed in wl.mailspike.net]\n\t-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779085,"web_url":"http://patchwork.ozlabs.org/comment/1779085/","msgid":"<691dba28-718c-e9a9-d006-88505eb5cd7e@oracle.com>","list_archive_url":null,"date":"2017-10-03T15:29:16","subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"On 10/03/2017 09:18 AM, Michal Hocko wrote:\n> On Wed 20-09-17 16:17:10, Pavel Tatashin wrote:\n>> Some memory is reserved but unavailable: not present in memblock.memory\n>> (because not backed by physical pages), but present in memblock.reserved.\n>> Such memory has backing struct pages, but they are not initialized by going\n>> through __init_single_page().\n> \n> Could you be more specific where is such a memory reserved?\n> \n\nI know of one example: trim_low_memory_range() unconditionally reserves \nfrom pfn 0, but e820__memblock_setup() might provide the exiting memory \nfrom pfn 1 (i.e. KVM).\n\nBut, there could be more based on this comment from linux/page-flags.h:\n\n  19  * PG_reserved is set for special pages, which can never be swapped \nout. Some\n  20  * of them might not even exist (eg empty_bad_page)...\n\nPasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"PQwqGF8M\"; \n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=infradead.org header.i=@infradead.org\n\theader.b=\"ZS0UtFa+\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y631z6H8pz9s9Y\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 02:32:39 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzPBU-0007Ki-6r; Tue, 03 Oct 2017 15:32:36 +0000","from casper.infradead.org ([2001:8b0:10b:1236::1])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzPBS-0007GG-1K for linux-arm-kernel@bombadil.infradead.org;\n\tTue, 03 Oct 2017 15:32:34 +0000","from userp1040.oracle.com ([156.151.31.81])\n\tby casper.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzP9T-0001VJ-0F for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 15:30:36 +0000","from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234])\n\tby userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2)\n\twith ESMTP id v93FTR9t006397\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:29:28 GMT","from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75])\n\tby aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v93FTQ1d020907\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:29:27 GMT","from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8])\n\tby userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v93FTPvc004296; \n\tTue, 3 Oct 2017 15:29:25 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 03 Oct 2017 08:29:25 -0700"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=UC9F32JBZzU009d4eYq+8Ra6Txi17+2/NMVtdnMN7cs=;\n\tb=PQwqGF8MsiFLZiv5QVNvQHEiK\n\tQLcTJ1JYnkDQETFH/EYUiQPgHxa9z0bLwXKNAJyRnvxbbVGVPKO1nxD8XfHIo4j+rH3ohRXpKLFJN\n\tXbJsrjENcBpkVRQ1vgqVqiIlyzGoa7BroOk8GIZwnmo4eutqXwpbNn3VHDBvB+5Aa+mTBxZ8+b8kx\n\tX7bQPEq6f6H9lPvbFjVWctSQnYTQIGMwc0ofWYf24aQ8vzMJoNHPqKREA2NF5ngPB72ha5sKRlqoH\n\t23AIOlKToKfsCTgDNO8dbP2fFvVMOmqeA230gJOHnT6MlcbKIOXPnR/snAVJlVvPj6VzrkgSGwMjw\n\t80NaMpsJg==;","v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=casper.20170209;\n\th=Content-Transfer-Encoding:Content-Type:\n\tIn-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender\n\t:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:\n\tList-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;\n\tbh=BETsyzCMotgV+2izcwMHQOySAlA8F4R2zFqa6aTRr9w=;\n\tb=ZS0UtFa+WJxCiL2ta7VPflNGNK\n\tFhx/N5//Uq7py+S5XTQljN0b2VMnzWSSOJ+TbBsSV2HvRp39obIaibmCZFFkWfk8k1J6JHCNByPnH\n\t6zdJm+wkVVCMFr/yYfwPfyMhLzh5AtKYsGN2p2dgo64vhWOr54wOBjd8ll23O52p6RvAr7PhC46Wh\n\tRFof7+Ie0YYeCgO/RtU7SZ4dvQDzCNbzncBjAtcrlPCa5h8LscoQhu1T5SPvfRFhvY+7euufmPWt2\n\tDmD8IUj19meAcM3oE9BNCpkjwsw8RwnGkdJTbslnDE5hzfWf5tblJSHAXei+TbHbl03+LYpregB3f\n\tqpo6qChQ==;"],"Subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-9-pasha.tatashin@oracle.com>\n\t<20171003131817.omzbam3js67edp3s@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<691dba28-718c-e9a9-d006-88505eb5cd7e@oracle.com>","Date":"Tue, 3 Oct 2017 11:29:16 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171003131817.omzbam3js67edp3s@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"aserv0022.oracle.com [141.146.126.234]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_163031_317692_F75E1D7C ","X-CRM114-Status":"GOOD (  10.75  )","X-Spam-Score":"-7.0 (-------)","X-Spam-Report":"SpamAssassin version 3.4.1 on casper.infradead.org summary:\n\tContent analysis details:   (-7.0 points, 5.0 required)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.8 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)\n\t[156.151.31.81 listed in wl.mailspike.net]\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [156.151.31.81 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779086,"web_url":"http://patchwork.ozlabs.org/comment/1779086/","msgid":"<c028f65a-b4a6-e56d-3a50-5d7ad9af50cb@oracle.com>","list_archive_url":null,"date":"2017-10-03T15:34:25","subject":"Re: [PATCH v9 12/12] mm: stop zeroing memory during allocation in\n\tvmemmap","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"On 10/03/2017 09:19 AM, Michal Hocko wrote:\n> On Wed 20-09-17 16:17:14, Pavel Tatashin wrote:\n>> vmemmap_alloc_block() will no longer zero the block, so zero memory\n>> at its call sites for everything except struct pages.  Struct page memory\n>> is zero'd by struct page initialization.\n>>\n>> Replace allocators in sprase-vmemmap to use the non-zeroing version. So,\n>> we will get the performance improvement by zeroing the memory in parallel\n>> when struct pages are zeroed.\n> \n> Is it possible to merge this patch with http://lkml.kernel.org/r/20170920201714.19817-7-pasha.tatashin@oracle.com\n\nYes, I will do that. It would also require re-arranging\n[PATCH v9 07/12] sparc64: optimized struct page zeroing\noptimization to come after this patch.\n\nPasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"LekpiTWU\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y635J30cGz9sMN\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 02:35:32 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzPEG-000149-QO; Tue, 03 Oct 2017 15:35:28 +0000","from userp1040.oracle.com ([156.151.31.81])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzPED-0008M4-2v for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 15:35:26 +0000","from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233])\n\tby userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2)\n\twith ESMTP id v93FYTnZ015606\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:34:29 GMT","from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236])\n\tby aserv0021.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv93FYSQE001013\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 15:34:28 GMT","from abhmp0015.oracle.com (abhmp0015.oracle.com [141.146.116.21])\n\tby aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv93FYSqb015610; Tue, 3 Oct 2017 15:34:28 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 03 Oct 2017 08:34:27 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=g83UeKcwVIUv4qMm74gSzxrXcc388ODjkp33RnHfw8s=;\n\tb=LekpiTWUy5wfkEOlX9CaDAnVx\n\t5/7M5rfeOXkYRvXjbuDfEgltaiVd2bv2OqQQqaMVFaTbJBQ3YTTs9qNmc+I5fhQRg1T8z4qhcOh4X\n\t81KwMkbbJBIFjt0hI0PvruuKzdDQROPxNiO78kjuSXlXZl8qxXO6IzXkxMV+foA0bRJY3zgY0/XUU\n\tSbprDlSm9vs/eLCXkdALhAKADtXu9Ddc0tdIfTwH4X0milhcq1yKqIHMRlk96gE8kbTiqqklQeXHB\n\tUzDQMguh+46U1Zj/MnAOGaLkJhypihjK4TEZpHkBMtYDSgD9U+LA5HDKhcvZrbxFPpEcKvWg6+EBG\n\t9bu9Y+bvg==;","Subject":"Re: [PATCH v9 12/12] mm: stop zeroing memory during allocation in\n\tvmemmap","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-13-pasha.tatashin@oracle.com>\n\t<20171003131952.aqq377pjug5me6go@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<c028f65a-b4a6-e56d-3a50-5d7ad9af50cb@oracle.com>","Date":"Tue, 3 Oct 2017 11:34:25 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171003131952.aqq377pjug5me6go@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"aserv0021.oracle.com [141.146.126.233]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_083525_181318_18BCA68F ","X-CRM114-Status":"UNSURE (   8.77  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-7.0 (-------)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-7.0 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [156.151.31.81 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-2.8 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)\n\t[156.151.31.81 listed in wl.mailspike.net]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779109,"web_url":"http://patchwork.ozlabs.org/comment/1779109/","msgid":"<d81baa49-b796-7130-4ace-0f14ed59be46@oracle.com>","list_archive_url":null,"date":"2017-10-03T16:01:08","subject":"Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"Hi Michal,\n\nAre you OK, if I replace DEFERRED_FREE() macro with a function like this:\n\n/*\n  * Helper for deferred_init_range, free the given range, and reset the\n  * counters\n  */\nstatic inline unsigned long __def_free(unsigned long *nr_free,\n                                        unsigned long *free_base_pfn,\n                                        struct page **page)\n{\n         unsigned long nr = *nr_free;\n\n         deferred_free_range(*free_base_pfn, nr);\n         *free_base_pfn = 0;\n         *nr_free = 0;\n         *page = NULL;\n\n         return nr;\n}\n\nSince it is inline, and we operate with non-volatile counters, compiler \nwill be smart enough to remove all the unnecessary de-references. As a \nplus, we won't be adding any new branches, and the code is still going \nto stay compact.\n\nPasha\n\nOn 10/03/2017 11:15 AM, Pasha Tatashin wrote:\n> Hi Michal,\n> \n>>\n>> Please be explicit that this is possible only because we discard\n>> memblock data later after 3010f876500f (\"mm: discard memblock data\n>> later\"). Also be more explicit how the new code works.\n> \n> OK\n> \n>>\n>> I like how the resulting code is more compact and smaller.\n> \n> That was the goal :)\n> \n>> for_each_free_mem_range also looks more appropriate but I really detest\n>> the DEFERRED_FREE thingy. Maybe we can handle all that in a single goto\n>> section. I know this is not an art but manipulating variables from\n>> macros is more error prone and much more ugly IMHO.\n> \n> Sure, I can re-arrange to have a goto place. Function won't be as small, \n> and if compiler is not smart enough we might end up with having more \n> branches than what my current code has.\n> \n>>\n>> please do not use macros. Btw. this deserves its own fix. I suspect that\n>> no CONFIG_HOLES_IN_ZONE arch enables DEFERRED_STRUCT_PAGE_INIT but\n>> purely from the review point of view it should be its own patch.\n> \n> Sure, I will submit this patch separately from the rest of the project. \n> In my opinion DEFERRED_STRUCT_PAGE_INIT is the way of the future, so we \n> should make sure it is working with as many configs as possible.\n> \n> Thank you,\n> Pasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"ohJ3xYmo\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y63hd3chyz9sRq\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 03:02:41 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzPeY-0006FG-2D; Tue, 03 Oct 2017 16:02:38 +0000","from userp1040.oracle.com ([156.151.31.81])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzPeB-0005z1-VJ for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 16:02:35 +0000","from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234])\n\tby userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2)\n\twith ESMTP id v93G1FSG023350\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 16:01:16 GMT","from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75])\n\tby aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v93G1Eli030053\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 16:01:14 GMT","from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15])\n\tby userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv93G1Bkw030011; Tue, 3 Oct 2017 16:01:11 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 03 Oct 2017 09:01:10 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:References:\n\tTo:From:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=NS9vmlnpQT66HHsIYPcyQ/pZDlpjKDC4egF4bu1X9Xs=;\n\tb=ohJ3xYmoW1aRPW1IEwl/K7AiA\n\txNEHCEChf9z2TbRpHIh3pjZ++RuD94uYcCAbX53eiy7W2KdH8b2ArKGUR17ToBqGuI1b2x3j59zyr\n\tbCyaSd9RtsbxPxhqCz5OukxVHDLETIT4P61VMABUyB+npWTfSS0Cgcxek8qOLbmK0Xo4pS95v1Gao\n\tCJlmfLNkZ+tmWLriTa/VV71enB6QzjBm4wMI70dS59H6u7ly3ntXVEMr9ovd1xs47U82mB7ofDJgI\n\t+NCITcyiCpLHxGlMOj8rCR5QhJMoxch9827vPd1LUusAT/XzEiO17lM2wxmFC3ZfmTXocxGCrNW6L\n\tsftB6kQvQ==;","Subject":"Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-4-pasha.tatashin@oracle.com>\n\t<20171003125754.2kuqzkstywg7axhd@dhcp22.suse.cz>\n\t<fc4ef789-d9a8-5dab-6508-f0fe8751b462@oracle.com>","Message-ID":"<d81baa49-b796-7130-4ace-0f14ed59be46@oracle.com>","Date":"Tue, 3 Oct 2017 12:01:08 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<fc4ef789-d9a8-5dab-6508-f0fe8751b462@oracle.com>","Content-Language":"en-US","X-Source-IP":"aserv0022.oracle.com [141.146.126.234]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_090216_595363_2BCE46E6 ","X-CRM114-Status":"GOOD (  15.38  )","X-Spam-Score":"-7.0 (-------)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-7.0 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [156.151.31.81 listed in list.dnswl.org]\n\t-2.8 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)\n\t[156.151.31.81 listed in wl.mailspike.net]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779240,"web_url":"http://patchwork.ozlabs.org/comment/1779240/","msgid":"<e5872937-b166-fd48-d46d-1921c738d4b1@oracle.com>","list_archive_url":null,"date":"2017-10-03T20:26:51","subject":"Re: [PATCH v9 12/12] mm: stop zeroing memory during allocation in\n\tvmemmap","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"Hi Michal,\n\nI decided not to merge these two patches, because in addition to sparc \noptimization move, we have this dependancies:\n\nmm: zero reserved and unavailable struct pages\n\nmust be before\n\nmm: stop zeroing memory during allocation in vmemmap.\n\nOtherwise, we can end-up with struct pages that are not zeroed properly.\n\nHowever, the first patch depends on\nmm: zero struct pages during initialization\n\nAs it uses mm_zero_struct_page().\n\nPasha\n\n\nOn 10/03/2017 11:34 AM, Pasha Tatashin wrote:\n> On 10/03/2017 09:19 AM, Michal Hocko wrote:\n>> On Wed 20-09-17 16:17:14, Pavel Tatashin wrote:\n>>> vmemmap_alloc_block() will no longer zero the block, so zero memory\n>>> at its call sites for everything except struct pages.  Struct page \n>>> memory\n>>> is zero'd by struct page initialization.\n>>>\n>>> Replace allocators in sprase-vmemmap to use the non-zeroing version. So,\n>>> we will get the performance improvement by zeroing the memory in \n>>> parallel\n>>> when struct pages are zeroed.\n>>\n>> Is it possible to merge this patch with \n>> http://lkml.kernel.org/r/20170920201714.19817-7-pasha.tatashin@oracle.com\n> \n> Yes, I will do that. It would also require re-arranging\n> [PATCH v9 07/12] sparc64: optimized struct page zeroing\n> optimization to come after this patch.\n> \n> Pasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"Rmt0jnQF\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y69Zz5KGfz9t5Y\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 07:28:11 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzTnU-0006UN-0c; Tue, 03 Oct 2017 20:28:08 +0000","from userp1040.oracle.com ([156.151.31.81])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzTnQ-0006Rt-E3 for linux-arm-kernel@lists.infradead.org;\n\tTue, 03 Oct 2017 20:28:06 +0000","from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71])\n\tby userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with\n\tESMTP id v93KQxxf016657\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 20:27:00 GMT","from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235])\n\tby userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv93KQvRd029605\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 3 Oct 2017 20:26:57 GMT","from abhmp0008.oracle.com (abhmp0008.oracle.com [141.146.116.14])\n\tby aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id\n\tv93KQtEY030670; Tue, 3 Oct 2017 20:26:55 GMT","from [10.154.106.162] (/10.154.106.162)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 03 Oct 2017 13:26:54 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:References:\n\tTo:From:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=8zgpAJabdAZMDUxu+NOhvxdcoLanf0xyHkZW1MoFTlE=;\n\tb=Rmt0jnQFnRu0ODvrjr6otUIgD\n\t7QVoDnx4eGL+P4xBkNa7HckevcY58fGheSeXdmbG+RARe3o+P6B6OMmzA7UE+mTuNEZ2xWlJFO/pH\n\tJ50yuPvWDMCf00LHy3hpomGPzD+o3aJLemJCESNctvGSSq5/oxSRQeX83siok5SuXI44tgelCwnvH\n\t+FAo9T0AM669E48mP+U1E3uyuh8l/q1h4uculcqf45eTI/3YxRn78hWnXZsfh9pqV8nJgKq3zjKah\n\tuiHO2OR3G0qcuJUnmdBp4kc/IhTblFLE0vSLtNURKywyy6ZVfPxZRLeSvi3Fp+n/o9xoyk0PZ8t6l\n\tKrar6HCSw==;","Subject":"Re: [PATCH v9 12/12] mm: stop zeroing memory during allocation in\n\tvmemmap","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-13-pasha.tatashin@oracle.com>\n\t<20171003131952.aqq377pjug5me6go@dhcp22.suse.cz>\n\t<c028f65a-b4a6-e56d-3a50-5d7ad9af50cb@oracle.com>","Message-ID":"<e5872937-b166-fd48-d46d-1921c738d4b1@oracle.com>","Date":"Tue, 3 Oct 2017 16:26:51 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<c028f65a-b4a6-e56d-3a50-5d7ad9af50cb@oracle.com>","Content-Language":"en-US","X-Source-IP":"userv0021.oracle.com [156.151.31.71]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171003_132804_537890_A27BFD4B ","X-CRM114-Status":"GOOD (  10.02  )","X-Spam-Score":"-7.0 (-------)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-7.0 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [156.151.31.81 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-2.8 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)\n\t[156.151.31.81 listed in wl.mailspike.net]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"base64","Content-Type":"text/plain; charset=\"utf-8\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779529,"web_url":"http://patchwork.ozlabs.org/comment/1779529/","msgid":"<20171004084526.57uzy3t4ualwxdyt@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-04T08:45:26","subject":"Re: [PATCH v9 12/12] mm: stop zeroing memory during allocation in\n\tvmemmap","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Tue 03-10-17 16:26:51, Pasha Tatashin wrote:\n> Hi Michal,\n> \n> I decided not to merge these two patches, because in addition to sparc\n> optimization move, we have this dependancies:\n\noptimizations can and should go on top of the core patch.\n\n> mm: zero reserved and unavailable struct pages\n> \n> must be before\n> \n> mm: stop zeroing memory during allocation in vmemmap.\n> \n> Otherwise, we can end-up with struct pages that are not zeroed properly.\n\nRight and you can deal with it easily. Just introduce the\nmm_zero_struct_page earlier along with its user in \"stop zeroing ...\"\n\nI think that moving the zeroying in one go is more reasonable than\nadding it to __init_single_page with misleading numbers and later\ndropping the zeroying from the memmap path.","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"Cypn+GQY\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6TyJ0Ylpz9t1G\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 19:46:00 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzfJT-0008AL-7w; Wed, 04 Oct 2017 08:45:55 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzfJP-0007rp-LF for linux-arm-kernel@lists.infradead.org;\n\tWed, 04 Oct 2017 08:45:53 +0000","from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id AB9C1AC05;\n\tWed,  4 Oct 2017 08:45:27 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=DQQozta1MlaS3pJ2+hA1MVHXuCg+4gWJrZ7LU59Kf70=;\n\tb=Cypn+GQYdgGpMq\n\thSYoiVKLgwzPOCQrBTo6Bm536sg8P9Mqt3RA+JaXIXvMZX4nJP5etkz8g8YN0rnWz+tXoY2cqMqeK\n\te8oarsDlpKJj7D532KIR6u0vT8T/d19j1hw+/Xao4b+izmRG30yiRm19w0Vw9U6UFzGSXLLYWlsXe\n\trCQA9y5qLGctV2ZVukh0Cd2oT6kjdS37F8zuUVQThRvkXOM7UdNgs2gsmv/LSjajZEziLI/ZbUef+\n\trSVST157NiweKCopVfJTKNVvcIASkTFbyz2aoBYJRP3lBTT9z87V8BOGYEkxA3Sr+alnyAgG4YTLm\n\tRcA7yxWNnfsd16zEX6Ew==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Wed, 4 Oct 2017 10:45:26 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pasha Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 12/12] mm: stop zeroing memory during allocation in\n\tvmemmap","Message-ID":"<20171004084526.57uzy3t4ualwxdyt@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-13-pasha.tatashin@oracle.com>\n\t<20171003131952.aqq377pjug5me6go@dhcp22.suse.cz>\n\t<c028f65a-b4a6-e56d-3a50-5d7ad9af50cb@oracle.com>\n\t<e5872937-b166-fd48-d46d-1921c738d4b1@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<e5872937-b166-fd48-d46d-1921c738d4b1@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171004_014551_925883_48B2958F ","X-CRM114-Status":"UNSURE (   9.88  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779531,"web_url":"http://patchwork.ozlabs.org/comment/1779531/","msgid":"<20171004084554.fhxpmywtovs5umnm@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-04T08:45:54","subject":"Re: [PATCH v9 06/12] mm: zero struct pages during initialization","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Tue 03-10-17 11:22:35, Pasha Tatashin wrote:\n> \n> \n> On 10/03/2017 09:08 AM, Michal Hocko wrote:\n> > On Wed 20-09-17 16:17:08, Pavel Tatashin wrote:\n> > > Add struct page zeroing as a part of initialization of other fields in\n> > > __init_single_page().\n> > > \n> > > This single thread performance collected on: Intel(R) Xeon(R) CPU E7-8895\n> > > v3 @ 2.60GHz with 1T of memory (268400646 pages in 8 nodes):\n> > > \n> > >                          BASE            FIX\n> > > sparse_init     11.244671836s   0.007199623s\n> > > zone_sizes_init  4.879775891s   8.355182299s\n> > >                    --------------------------\n> > > Total           16.124447727s   8.362381922s\n> > \n> > Hmm, this is confusing. This assumes that sparse_init doesn't zero pages\n> > anymore, right? So these number depend on the last patch in the series?\n> \n> Correct, without the last patch sparse_init time won't change.\n\nTHen this is just misleading.","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"OQTiigBL\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6Typ6thFz9t2Z\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 19:46:26 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzfJv-00005s-5y; Wed, 04 Oct 2017 08:46:23 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzfJp-0008C0-KC for linux-arm-kernel@lists.infradead.org;\n\tWed, 04 Oct 2017 08:46:19 +0000","from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id E2CE0AAEF;\n\tWed,  4 Oct 2017 08:45:55 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=2GQSuktS6+ckZibbxQuz2o9Dhn0FCO26IoAI4lDjClk=;\n\tb=OQTiigBLEPjwQA\n\tsWXQ+6re7dVWBkAgiWRKNm/xB1RMCz12DyJI6DeHoIQxNXLfkylRlcE5gwcqE5pDXE8SWkPXQc5CG\n\tGK+zd6XRHunhRawo1vQeyd+caKDYQ74uhQ1/ZpODxxmsyLOuu7540Yev08C4VSkTqPnS5Fwi7sOUT\n\tRxzEs5EUMuQKPJgff5aZ3SFLiDSEam4jUZpQ0hiU0l3eJwejPb+pMjpDgSGhSHz9E30C6pow+W5zR\n\trTIX5k9f1B+haffdkJNqtoL7/BNWXWNrt0LKwqWpMF9y34exewzWsjExSDy8UUIFn3RZF2Bwf+uXU\n\t7HFieHWHlIxNpGB/tKsQ==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Wed, 4 Oct 2017 10:45:54 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pasha Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 06/12] mm: zero struct pages during initialization","Message-ID":"<20171004084554.fhxpmywtovs5umnm@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-7-pasha.tatashin@oracle.com>\n\t<20171003130857.vohli6lnqj4tdmhl@dhcp22.suse.cz>\n\t<73ea1215-7aa2-39e1-b820-30f58119183e@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<73ea1215-7aa2-39e1-b820-30f58119183e@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171004_014617_934704_F556F52D ","X-CRM114-Status":"UNSURE (   8.94  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779535,"web_url":"http://patchwork.ozlabs.org/comment/1779535/","msgid":"<20171004084816.ljyw2gdf5gmgtm7z@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-04T08:48:16","subject":"Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Tue 03-10-17 12:01:08, Pasha Tatashin wrote:\n> Hi Michal,\n> \n> Are you OK, if I replace DEFERRED_FREE() macro with a function like this:\n> \n> /*\n>  * Helper for deferred_init_range, free the given range, and reset the\n>  * counters\n>  */\n> static inline unsigned long __def_free(unsigned long *nr_free,\n>                                        unsigned long *free_base_pfn,\n>                                        struct page **page)\n> {\n>         unsigned long nr = *nr_free;\n> \n>         deferred_free_range(*free_base_pfn, nr);\n>         *free_base_pfn = 0;\n>         *nr_free = 0;\n>         *page = NULL;\n> \n>         return nr;\n> }\n> \n> Since it is inline, and we operate with non-volatile counters, compiler will\n> be smart enough to remove all the unnecessary de-references. As a plus, we\n> won't be adding any new branches, and the code is still going to stay\n> compact.\n\nOK. It is a bit clunky but we are holding too much state there. I\nhaven't checked whether that can be simplified but this can be always\ndone later.","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"oZ1XoxAO\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6V1V4cgDz9sPt\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 19:48:46 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzfMB-0000yQ-3L; Wed, 04 Oct 2017 08:48:43 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzfM6-0000so-WA for linux-arm-kernel@lists.infradead.org;\n\tWed, 04 Oct 2017 08:48:41 +0000","from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id 92FF9AC05;\n\tWed,  4 Oct 2017 08:48:17 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=xCNyXEgFsobHvTmcxSDtj8NZesKy25qe7D7EqSQrTLg=;\n\tb=oZ1XoxAO1Ew5aX\n\tKWLXcahuXK1nU2GMn5id0jkcRjHNp3spk/hiJYqZ6YB8cfwqgLgXHBwOqmd7CsyixO18YJfY6spnk\n\tVFDHWzjTltRryO8VmTHgDanEn7FTD/0NaF4Uno2TTgz1kEH1ec0PC7wNX71OdmtZ8tWz7VbHy9N3C\n\tup4YP86hWm98GReYgTooslcO822pRmChwa1AAiBzKgPqmbgcgRyn0gQd60MSWu/E4wSq7KOcFECTb\n\ti8l+ixNdDHOvYZRwBL6uT5nHzmWygtqZdvq+QpYb0oGogwasoApwCbLN92JDbLxUZPWV6KQzTtagq\n\tAKWzcbL349COYwVl1yEQ==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Wed, 4 Oct 2017 10:48:16 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pasha Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements","Message-ID":"<20171004084816.ljyw2gdf5gmgtm7z@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-4-pasha.tatashin@oracle.com>\n\t<20171003125754.2kuqzkstywg7axhd@dhcp22.suse.cz>\n\t<fc4ef789-d9a8-5dab-6508-f0fe8751b462@oracle.com>\n\t<d81baa49-b796-7130-4ace-0f14ed59be46@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<d81baa49-b796-7130-4ace-0f14ed59be46@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171004_014839_337125_6DDCF375 ","X-CRM114-Status":"GOOD (  10.86  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779538,"web_url":"http://patchwork.ozlabs.org/comment/1779538/","msgid":"<20171004085636.w2rnwf5xxhahzuy7@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-04T08:56:36","subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Tue 03-10-17 11:29:16, Pasha Tatashin wrote:\n> On 10/03/2017 09:18 AM, Michal Hocko wrote:\n> > On Wed 20-09-17 16:17:10, Pavel Tatashin wrote:\n> > > Some memory is reserved but unavailable: not present in memblock.memory\n> > > (because not backed by physical pages), but present in memblock.reserved.\n> > > Such memory has backing struct pages, but they are not initialized by going\n> > > through __init_single_page().\n> > \n> > Could you be more specific where is such a memory reserved?\n> > \n> \n> I know of one example: trim_low_memory_range() unconditionally reserves from\n> pfn 0, but e820__memblock_setup() might provide the exiting memory from pfn\n> 1 (i.e. KVM).\n\nThen just initialize struct pages for that mapping rigth there where a\nspecial API is used.\n\n> But, there could be more based on this comment from linux/page-flags.h:\n> \n>  19  * PG_reserved is set for special pages, which can never be swapped out.\n> Some\n>  20  * of them might not even exist (eg empty_bad_page)...\n\nI have no idea wht empty_bad_page is but a quick grep shows that this is\nnever used. I might be wrong here but if somebody is reserving a memory\nin a special way then we should handle the initialization right there.\nE.g. create an API for special memblock reservations.","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"X0Np0UKZ\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6VC63nKGz9sRV\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 19:57:05 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzfUD-0006KE-OW; Wed, 04 Oct 2017 08:57:01 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzfUA-0006Cr-Id for linux-arm-kernel@lists.infradead.org;\n\tWed, 04 Oct 2017 08:57:00 +0000","from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id 07AE7AAEF;\n\tWed,  4 Oct 2017 08:56:36 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=l3Im9xR77eQuC9ma05ViPcbcUAjpbD8l3r3Y/tOv8dc=;\n\tb=X0Np0UKZc1/j+p\n\tVvrow9VqxoGqYXASZvdsRjZzt+WD6ZUNAXmKN66uH3HMSez7j+7Uo9dYpgepSW27CX6NWCTEAB3UE\n\trZwKYffhgmh/BBKnPLjzDc7nvUjfVwcDar+rbVzsvJT514wUcDr2Fe9sF1zvgf3/Jk/tWLh/egC8j\n\tPXi212o3kktr4audaCzXcD4dt8qCIGLFHv8/C3xT5WnXYpGLYN09BMR2w1s6mepO27dOXwDC0ETnQ\n\tCCDG71iXplPp1aqXjPicTAIXkIdfEBIe8Q/9Gi0YrvyIpeNW292fMxmKh0VdtK61RjN08KoZnCHjZ\n\t5MpslWYzC+0hafSygEOA==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Wed, 4 Oct 2017 10:56:36 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pasha Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","Message-ID":"<20171004085636.w2rnwf5xxhahzuy7@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-9-pasha.tatashin@oracle.com>\n\t<20171003131817.omzbam3js67edp3s@dhcp22.suse.cz>\n\t<691dba28-718c-e9a9-d006-88505eb5cd7e@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<691dba28-718c-e9a9-d006-88505eb5cd7e@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171004_015658_774631_80EC1EC1 ","X-CRM114-Status":"GOOD (  13.08  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779753,"web_url":"http://patchwork.ozlabs.org/comment/1779753/","msgid":"<2fd7b718-c254-612b-e100-a457094e7c38@oracle.com>","list_archive_url":null,"date":"2017-10-04T12:26:57","subject":"Re: [PATCH v9 06/12] mm: zero struct pages during initialization","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"On 10/04/2017 04:45 AM, Michal Hocko wrote:\n> On Tue 03-10-17 11:22:35, Pasha Tatashin wrote:\n>>\n>>\n>> On 10/03/2017 09:08 AM, Michal Hocko wrote:\n>>> On Wed 20-09-17 16:17:08, Pavel Tatashin wrote:\n>>>> Add struct page zeroing as a part of initialization of other fields in\n>>>> __init_single_page().\n>>>>\n>>>> This single thread performance collected on: Intel(R) Xeon(R) CPU E7-8895\n>>>> v3 @ 2.60GHz with 1T of memory (268400646 pages in 8 nodes):\n>>>>\n>>>>                           BASE            FIX\n>>>> sparse_init     11.244671836s   0.007199623s\n>>>> zone_sizes_init  4.879775891s   8.355182299s\n>>>>                     --------------------------\n>>>> Total           16.124447727s   8.362381922s\n>>>\n>>> Hmm, this is confusing. This assumes that sparse_init doesn't zero pages\n>>> anymore, right? So these number depend on the last patch in the series?\n>>\n>> Correct, without the last patch sparse_init time won't change.\n> \n> THen this is just misleading.\n> \n\nOK, I will re-arrange patches the way you suggested earlier.\n\nPasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"dyCQ6XsV\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6Ztr0Pvsz9t2W\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 23:28:20 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzime-0005L1-Gn; Wed, 04 Oct 2017 12:28:16 +0000","from aserp1040.oracle.com ([141.146.126.69])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzimZ-0005EZ-Cv for linux-arm-kernel@lists.infradead.org;\n\tWed, 04 Oct 2017 12:28:13 +0000","from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71])\n\tby aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with\n\tESMTP id v94CR8ao010922\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Wed, 4 Oct 2017 12:27:09 GMT","from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235])\n\tby userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv94CR6O4023745\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Wed, 4 Oct 2017 12:27:06 GMT","from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23])\n\tby aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id\n\tv94CR3g8026336; Wed, 4 Oct 2017 12:27:03 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Wed, 04 Oct 2017 05:27:02 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=AUaIdbfWViE5xbVNR7x5/WfVeHd1NMYC+fwQ2GgzIUU=;\n\tb=dyCQ6XsVaLbTC+CZ8tYUMiRuD\n\t/mmvBj1KsJqMx8xPhOapVew3X/ngpjS8bgdfAcp8wHdsAAKjSrf4yXuFNNme6EO9bTlc5RNV3nm/H\n\tiM8fp7QpRPh8Yw1jRmoO0zNhO4YNWUcLw+EpsShEjevf7sPgCPp30j2UsBsxNHvY1x7mttNdKbNXi\n\tvhcl0RXQ9MCs+ODBLuZFDIybjcZrTtjlHDbXFcVw/OjpNB2GlrG8Cp+CFOwxTSQU0Pb8EFN0whmQR\n\tVv8GBW9cw8fH9evHe3iRf8Yq80qPN9lq+94S0NXROias3ymdoN9XQATADPAnpaztsYT5h7MtNPcoq\n\tJh2wX6rzg==;","Subject":"Re: [PATCH v9 06/12] mm: zero struct pages during initialization","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-7-pasha.tatashin@oracle.com>\n\t<20171003130857.vohli6lnqj4tdmhl@dhcp22.suse.cz>\n\t<73ea1215-7aa2-39e1-b820-30f58119183e@oracle.com>\n\t<20171004084554.fhxpmywtovs5umnm@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<2fd7b718-c254-612b-e100-a457094e7c38@oracle.com>","Date":"Wed, 4 Oct 2017 08:26:57 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171004084554.fhxpmywtovs5umnm@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"userv0021.oracle.com [156.151.31.71]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171004_052811_607307_47367615 ","X-CRM114-Status":"UNSURE (   8.24  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [141.146.126.69 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)\n\t[141.146.126.69 listed in wl.mailspike.net]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779770,"web_url":"http://patchwork.ozlabs.org/comment/1779770/","msgid":"<9198a33d-cd40-dd70-4823-7f70c57ef9a2@oracle.com>","list_archive_url":null,"date":"2017-10-04T12:40:11","subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":">>> Could you be more specific where is such a memory reserved?\n>>>\n>>\n>> I know of one example: trim_low_memory_range() unconditionally reserves from\n>> pfn 0, but e820__memblock_setup() might provide the exiting memory from pfn\n>> 1 (i.e. KVM).\n> \n> Then just initialize struct pages for that mapping rigth there where a\n> special API is used.\n> \n>> But, there could be more based on this comment from linux/page-flags.h:\n>>\n>>   19  * PG_reserved is set for special pages, which can never be swapped out.\n>> Some\n>>   20  * of them might not even exist (eg empty_bad_page)...\n> \n> I have no idea wht empty_bad_page is but a quick grep shows that this is\n> never used. I might be wrong here but if somebody is reserving a memory\n> in a special way then we should handle the initialization right there.\n> E.g. create an API for special memblock reservations.\n> \n\nHi Michal,\n\nThe reservations happen before struct pages are allocated and mapped. \nSo, it is not always possible to do it at call sites.\n\nPreviously, I have solved this problem like this:\n\nhttps://patchwork.kernel.org/patch/9886163\n\nBut, I was not too happy with that approach, so I replaced it with the \ncurrent approach as it is more generic, and solves similar issues if \nthey happen in other places. Also, the comment in page-flags got me \nscared that there are probably other places perhaps on other \narchitectures that can have the similar issue.\n\nIn addition, I did not like my solution, I was simply shrinking the low \nreservation from:\n[0 - reserve_low) to [min_pfn - reserve_low), but if min_pfn > \nreserve_low can we skip low reservation entirely? I was not sure.\n\nThe current approach notifies us if there are such pages, and we can \nfix/remove them in the future without crashing kernel in the meantime.\n\nPasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"sJ2leKHI\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6b9t713dz9t16\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 23:41:22 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzizH-0003Li-TQ; Wed, 04 Oct 2017 12:41:19 +0000","from aserp1040.oracle.com ([141.146.126.69])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzizA-0003Hn-3N for linux-arm-kernel@lists.infradead.org;\n\tWed, 04 Oct 2017 12:41:17 +0000","from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233])\n\tby aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2)\n\twith ESMTP id v94CeGIH001666\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Wed, 4 Oct 2017 12:40:16 GMT","from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72])\n\tby aserv0021.oracle.com (8.14.4/8.14.4) with ESMTP id v94CeF12017474\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Wed, 4 Oct 2017 12:40:15 GMT","from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18])\n\tby userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id\n\tv94CeDVh010487; Wed, 4 Oct 2017 12:40:14 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Wed, 04 Oct 2017 05:40:13 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=gNz7ybIBSi52KX0vgGdj5M4rn5aOrkjrWfkq9qVCRMc=;\n\tb=sJ2leKHIx0ep3vChb1VfJjHh1\n\txR1/i09ifdvqDNQuWpFgOIVD3c8Uf6ikcmgm9C5PwBfmp+y8I2viSp7ud4aV0crijaoBQmQ613aFt\n\tNNwtcdBRubKTqAki+nl1HstF38p4l6/hbc0rL1veUiIs+7vMFaMCxe9/mezAQMq6WBma9ncUZoZXP\n\tR2rIvaxFCPjEwc9CvzzPeSzXJuBA0PFEtQMHwAzaLCE7AjOM7rSMyhA5zHb8tDPGraEJ+pYthvCUm\n\tqpqrlTLP3awB8zfjnkA0Iqt+f03IsaHHkExfe6hEVxYtoEch7iNXvDUAeD3YNGscRbiXqss/8p0uz\n\tpvrJfC8IA==;","Subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-9-pasha.tatashin@oracle.com>\n\t<20171003131817.omzbam3js67edp3s@dhcp22.suse.cz>\n\t<691dba28-718c-e9a9-d006-88505eb5cd7e@oracle.com>\n\t<20171004085636.w2rnwf5xxhahzuy7@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<9198a33d-cd40-dd70-4823-7f70c57ef9a2@oracle.com>","Date":"Wed, 4 Oct 2017 08:40:11 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171004085636.w2rnwf5xxhahzuy7@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"aserv0021.oracle.com [141.146.126.233]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171004_054112_228168_45606991 ","X-CRM114-Status":"GOOD (  12.51  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [141.146.126.69 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)\n\t[141.146.126.69 listed in wl.mailspike.net]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779787,"web_url":"http://patchwork.ozlabs.org/comment/1779787/","msgid":"<20171004125743.fm6mf2artbga76et@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-04T12:57:43","subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Wed 04-10-17 08:40:11, Pasha Tatashin wrote:\n> > > > Could you be more specific where is such a memory reserved?\n> > > > \n> > > \n> > > I know of one example: trim_low_memory_range() unconditionally reserves from\n> > > pfn 0, but e820__memblock_setup() might provide the exiting memory from pfn\n> > > 1 (i.e. KVM).\n> > \n> > Then just initialize struct pages for that mapping rigth there where a\n> > special API is used.\n> > \n> > > But, there could be more based on this comment from linux/page-flags.h:\n> > > \n> > >   19  * PG_reserved is set for special pages, which can never be swapped out.\n> > > Some\n> > >   20  * of them might not even exist (eg empty_bad_page)...\n> > \n> > I have no idea wht empty_bad_page is but a quick grep shows that this is\n> > never used. I might be wrong here but if somebody is reserving a memory\n> > in a special way then we should handle the initialization right there.\n> > E.g. create an API for special memblock reservations.\n> > \n> \n> Hi Michal,\n> \n> The reservations happen before struct pages are allocated and mapped. So, it\n> is not always possible to do it at call sites.\n\nOK, I didn't realize that.\n \n> Previously, I have solved this problem like this:\n> \n> https://patchwork.kernel.org/patch/9886163\n> \n> But, I was not too happy with that approach, so I replaced it with the\n> current approach as it is more generic, and solves similar issues if they\n> happen in other places. Also, the comment in page-flags got me scared that\n> there are probably other places perhaps on other architectures that can have\n> the similar issue.\n\nI believe the comment is just stale. I have looked into empty_bad_page\nand it is just a relict. I plan to post a patch soon.\n\n> In addition, I did not like my solution, I was simply shrinking the low\n> reservation from:\n> [0 - reserve_low) to [min_pfn - reserve_low), but if min_pfn > reserve_low\n> can we skip low reservation entirely? I was not sure.\n> \n> The current approach notifies us if there are such pages, and we can\n> fix/remove them in the future without crashing kernel in the meantime.\n\nI am not really familiar with the trim_low_memory_range code path. I am\nnot even sure we have to care about it because nobody should be walking\npfns outside of any zone. I am worried that this patch adds a code which\nis not really used and it will just stay that way for ever because\nnobody will dare to change it as it is too obscure and not explained\nvery well. trim_low_memory_range is a good example of this. Why do we\neven reserve this range from the memory block allocator? The memory\nshouldn't be backed by any real memory and thus not in the allocator in\nthe first place, no?","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"VByLi7DN\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6bYV4mtxz9t2S\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed,  4 Oct 2017 23:58:22 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzjFj-0002Q1-80; Wed, 04 Oct 2017 12:58:19 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzjFf-0002Mp-A0 for linux-arm-kernel@lists.infradead.org;\n\tWed, 04 Oct 2017 12:58:17 +0000","from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id 33BFBACFA;\n\tWed,  4 Oct 2017 12:57:50 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=zr7i+3zoeP2LoyKc967yzLtXOKMll90vznYTsqaDyig=;\n\tb=VByLi7DNxM/Fbk\n\tTDb9hl0b1I/IAfNMPGaBwfTxE5loTLgU24l/uU3AUwRwBrogNFIvVdv953Ayv36uuKTvDg8dz+uaD\n\tcUS7uNGQlPTzysP0TxgdLSbhqTEGNFij9wviiPdmOSdVY4SmEd3Y2fE5+nqPJcWeZbm0olGjUQ+dF\n\tDUV96mtvnSX66HMmtB2hXh5f9R2KnMFPMvwvTvUi4NW9a40u/d0huuhTSh+qtaljBZ4sHTxf18RIj\n\tnSNZwSUVzfVgiq87qAeu3cYhCQIjXhrCXaVwwOT3v2RRuncBrYCYyQd7/wkNU/infpRxda9PE22+A\n\tGqUUwnUwXK8Qpx9c5H7g==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Wed, 4 Oct 2017 14:57:43 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pasha Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","Message-ID":"<20171004125743.fm6mf2artbga76et@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-9-pasha.tatashin@oracle.com>\n\t<20171003131817.omzbam3js67edp3s@dhcp22.suse.cz>\n\t<691dba28-718c-e9a9-d006-88505eb5cd7e@oracle.com>\n\t<20171004085636.w2rnwf5xxhahzuy7@dhcp22.suse.cz>\n\t<9198a33d-cd40-dd70-4823-7f70c57ef9a2@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<9198a33d-cd40-dd70-4823-7f70c57ef9a2@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171004_055815_710181_DB540269 ","X-CRM114-Status":"GOOD (  22.42  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779816,"web_url":"http://patchwork.ozlabs.org/comment/1779816/","msgid":"<d743668c-6b7e-1775-a5b8-d6e997537990@oracle.com>","list_archive_url":null,"date":"2017-10-04T13:28:55","subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"> I am not really familiar with the trim_low_memory_range code path. I am\n> not even sure we have to care about it because nobody should be walking\n> pfns outside of any zone.\n\nAccording to commit comments first 4K belongs to BIOS, so I think the \nmemory exists but BIOS may or may not report it to Linux. So, reserve it \nto make sure we never touch it.\n\n  I am worried that this patch adds a code which\n> is not really used and it will just stay that way for ever because\n> nobody will dare to change it as it is too obscure and not explained\n> very well.\n\nI could explain mine code better. Perhaps add more comments, and explain \nwhen it can be removed?\n\n  trim_low_memory_range is a good example of this. Why do we\n> even reserve this range from the memory block allocator? The memory\n> shouldn't be backed by any real memory and thus not in the allocator in\n> the first place, no?\n> \n\nSince it is not enforced in memblock that everything in reserved list \nmust be part of memory list, we can have it, and we need to make sure \nkernel does not panic. Otherwise, it is very hard to detect such bugs.","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"UPCuk32v\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6cGD0lq8z9t2l\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tThu,  5 Oct 2017 00:30:12 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzjkV-0008Ah-Sd; Wed, 04 Oct 2017 13:30:07 +0000","from userp1040.oracle.com ([156.151.31.81])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzjkO-0007NU-NV for linux-arm-kernel@lists.infradead.org;\n\tWed, 04 Oct 2017 13:30:06 +0000","from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74])\n\tby userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with\n\tESMTP id v94DT1AU020593\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Wed, 4 Oct 2017 13:29:01 GMT","from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236])\n\tby userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv94DT0sH012100\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Wed, 4 Oct 2017 13:29:00 GMT","from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11])\n\tby aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv94DSwLu020790; Wed, 4 Oct 2017 13:28:58 GMT","from [192.168.1.10] (/98.216.35.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Wed, 04 Oct 2017 06:28:58 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=DaszCjqaK5FgSflu9fV9gXjfMWfg+VziFEyICN3bYpo=;\n\tb=UPCuk32vwkWKcj3mLuC6Qn3zk\n\tYnaAj1yRGLJBMi4Qn2i6rgLFlwD2eVXme9OVrvsKYAdwsKW72azRFWQamRRHQkgfrcj/M7TJnW6Hr\n\t1Wn3i0R2uaL51FoHZpcwAt7Y5Cgwq3ufR1mf3yf4Jn4PT1chuRy1svwnHNjJqGhWq3fFmGwPYDO2N\n\tlcXBcPjtPC+6PkEDwThI4/uhzg/WjexFZ3oL+zDgIHP0joEdxKM5KZbE1Ty07QbH7ktjMMauIWZFj\n\tFv3unOiF7/t85/Xn3wP+H9N//od5afA86vPcCuq1tX/UOWeijVizh8e6UHofsPVEU8wik9KMbiF08\n\t9RdZV+/tw==;","Subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-9-pasha.tatashin@oracle.com>\n\t<20171003131817.omzbam3js67edp3s@dhcp22.suse.cz>\n\t<691dba28-718c-e9a9-d006-88505eb5cd7e@oracle.com>\n\t<20171004085636.w2rnwf5xxhahzuy7@dhcp22.suse.cz>\n\t<9198a33d-cd40-dd70-4823-7f70c57ef9a2@oracle.com>\n\t<20171004125743.fm6mf2artbga76et@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<d743668c-6b7e-1775-a5b8-d6e997537990@oracle.com>","Date":"Wed, 4 Oct 2017 09:28:55 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171004125743.fm6mf2artbga76et@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"userv0022.oracle.com [156.151.31.74]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171004_063000_827740_EBED8907 ","X-CRM114-Status":"GOOD (  11.98  )","X-Spam-Score":"-7.0 (-------)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-7.0 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [156.151.31.81 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-2.8 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)\n\t[156.151.31.81 listed in wl.mailspike.net]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779850,"web_url":"http://patchwork.ozlabs.org/comment/1779850/","msgid":"<20171004140410.2w2zf2gbutdxunir@dhcp22.suse.cz>","list_archive_url":null,"date":"2017-10-04T14:04:10","subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","submitter":{"id":66979,"url":"http://patchwork.ozlabs.org/api/people/66979/","name":"Michal Hocko","email":"mhocko@kernel.org"},"content":"On Wed 04-10-17 09:28:55, Pasha Tatashin wrote:\n> \n> > I am not really familiar with the trim_low_memory_range code path. I am\n> > not even sure we have to care about it because nobody should be walking\n> > pfns outside of any zone.\n> \n> According to commit comments first 4K belongs to BIOS, so I think the memory\n> exists but BIOS may or may not report it to Linux. So, reserve it to make\n> sure we never touch it.\n\nYes and that memory should be outside of any zones, no?\n\n> > I am worried that this patch adds a code which\n> > is not really used and it will just stay that way for ever because\n> > nobody will dare to change it as it is too obscure and not explained\n> > very well.\n> \n> I could explain mine code better. Perhaps add more comments, and explain\n> when it can be removed?\n\nMore explanation would be definitely helpful\n\n> > trim_low_memory_range is a good example of this. Why do we\n> > even reserve this range from the memory block allocator? The memory\n> > shouldn't be backed by any real memory and thus not in the allocator in\n> > the first place, no?\n> > \n> \n> Since it is not enforced in memblock that everything in reserved list must\n> be part of memory list, we can have it, and we need to make sure kernel does\n> not panic. Otherwise, it is very hard to detect such bugs.\n\nSo, should we report such a memblock reservation API (ab)use to the log?\nAre you actually sure that trim_low_memory_range is doing a sane and\nreally needed thing? In other words do we have a zone which contains\nthis no-memory backed pfns?","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"NJBpd7ol\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6d2303PTz9t16\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tThu,  5 Oct 2017 01:04:43 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzkHv-0008Sf-CV; Wed, 04 Oct 2017 14:04:39 +0000","from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzkHr-0008PR-88 for linux-arm-kernel@lists.infradead.org;\n\tWed, 04 Oct 2017 14:04:38 +0000","from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id 2DAB1ADED;\n\tWed,  4 Oct 2017 14:04:12 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=AiGt6NhHRADgN3D6wIa1h+llTMeN4Zhg32b/zKCL224=;\n\tb=NJBpd7olbrmWd5\n\tGFTFkwayN/edY0NsSRDbMQhhPY+2JFvE71BvcQYVUtgpZT9/xqY2AW0OiVqMcHu5NypsfRWLo5/K2\n\tAhdkCcSsDkKoX4IA3Egv0ljZhoyASmBL+OcF621LoN3VEb5hMUuBJKikuyuCcNnmnicnHy8wn0iGL\n\t0Ccd4dfMjp4Dqy/tnT+IJaDdrOqPcRkOD2f+PQol6coK1jPjL1SsuQBPRRWMBGC/LyJjVng1jr7nn\n\tttYjLCdX8UztR18u06ki6tXn3P9FMDQa1NbPkAMXp/Z9mYgE/49YMZAFCyiFWkGqg2TEHuBHGyRjw\n\tOV4SG1LtRzUgHg2Ke57w==;","X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Wed, 4 Oct 2017 16:04:10 +0200","From":"Michal Hocko <mhocko@kernel.org>","To":"Pasha Tatashin <pasha.tatashin@oracle.com>","Subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","Message-ID":"<20171004140410.2w2zf2gbutdxunir@dhcp22.suse.cz>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-9-pasha.tatashin@oracle.com>\n\t<20171003131817.omzbam3js67edp3s@dhcp22.suse.cz>\n\t<691dba28-718c-e9a9-d006-88505eb5cd7e@oracle.com>\n\t<20171004085636.w2rnwf5xxhahzuy7@dhcp22.suse.cz>\n\t<9198a33d-cd40-dd70-4823-7f70c57ef9a2@oracle.com>\n\t<20171004125743.fm6mf2artbga76et@dhcp22.suse.cz>\n\t<d743668c-6b7e-1775-a5b8-d6e997537990@oracle.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<d743668c-6b7e-1775-a5b8-d6e997537990@oracle.com>","User-Agent":"NeoMutt/20170609 (1.8.3)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171004_070435_523993_6DB8BF14 ","X-CRM114-Status":"GOOD (  17.42  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [195.135.220.15 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1779922,"web_url":"http://patchwork.ozlabs.org/comment/1779922/","msgid":"<ee817a40-1160-c24a-5106-f900ad3ebf26@oracle.com>","list_archive_url":null,"date":"2017-10-04T15:08:59","subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"On 10/04/2017 10:04 AM, Michal Hocko wrote:\n> On Wed 04-10-17 09:28:55, Pasha Tatashin wrote:\n>>\n>>> I am not really familiar with the trim_low_memory_range code path. I am\n>>> not even sure we have to care about it because nobody should be walking\n>>> pfns outside of any zone.\n>>\n>> According to commit comments first 4K belongs to BIOS, so I think the memory\n>> exists but BIOS may or may not report it to Linux. So, reserve it to make\n>> sure we never touch it.\n> \n> Yes and that memory should be outside of any zones, no?\n\nI am not totally sure, I think some x86 expert could help us here. But, \nin either case this issue can be fixed separately from the rest of the \nseries.\n\n> \n>>> I am worried that this patch adds a code which\n>>> is not really used and it will just stay that way for ever because\n>>> nobody will dare to change it as it is too obscure and not explained\n>>> very well.\n>>\n>> I could explain mine code better. Perhaps add more comments, and explain\n>> when it can be removed?\n> \n> More explanation would be definitely helpful\n> \n>>> trim_low_memory_range is a good example of this. Why do we\n>>> even reserve this range from the memory block allocator? The memory\n>>> shouldn't be backed by any real memory and thus not in the allocator in\n>>> the first place, no?\n>>>\n>>\n>> Since it is not enforced in memblock that everything in reserved list must\n>> be part of memory list, we can have it, and we need to make sure kernel does\n>> not panic. Otherwise, it is very hard to detect such bugs.\n> \n> So, should we report such a memblock reservation API (ab)use to the log?\n> Are you actually sure that trim_low_memory_range is doing a sane and\n> really needed thing? In other words do we have a zone which contains\n> this no-memory backed pfns?\n> \n\nAnd, this patch reports it already:\n\n+\tpr_info(\"Reserved but unavailable: %lld pages\", pgcnt);\n\nI could add a comment above this print call, explain that such memory is \nprobably bogus and must be studied/fixed. Also, add that this code can \nbe removed once memblock is changed to allow reserve only memory that is \nbacked by physical memory i.e. in \"memory\" list.\n\nPasha","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"m1GY53WM\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6fV108FBz9t2Z\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tThu,  5 Oct 2017 02:10:33 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzlJZ-00041J-Jj; Wed, 04 Oct 2017 15:10:25 +0000","from aserp1040.oracle.com ([141.146.126.69])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dzlJU-0002YV-NL for linux-arm-kernel@lists.infradead.org;\n\tWed, 04 Oct 2017 15:10:23 +0000","from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234])\n\tby aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2)\n\twith ESMTP id v94F951W031914\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Wed, 4 Oct 2017 15:09:06 GMT","from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236])\n\tby aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv94F94Cv017140\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Wed, 4 Oct 2017 15:09:04 GMT","from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15])\n\tby aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id\n\tv94F91Xp031016; Wed, 4 Oct 2017 15:09:02 GMT","from [10.154.139.198] (/10.154.139.198)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Wed, 04 Oct 2017 08:09:01 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=n2Ig+6B+e2QXmYFCgH8WcXn5pmKyN3ZB+X+oRAfn0eA=;\n\tb=m1GY53WMrMcQAXliaxiuacNP2\n\t6vTvkF3FqvU6rw7yBROzSftZzm0HpcGpL0aO6aLoVnZfMzAzHNVTT14TsaFSNMLYw3xpOwfzNIL/x\n\tI7yCI4k6RIX+GcS2Vf3hW7rkq7kuArmIHwrtRndfuWXJ5MnUTqruyEWtblu9exKvCNz/pLixV3pqI\n\twf4crq4gIq+cvr3S/Y3nHI2j/U1MSxZw+ZxZonnG76PHLnL7xYMZk1va46aMbaYoxwLreUFHzWeH1\n\t3BSZN1oT1kHocLedUPHPwrqGhoX9soRBiF6X66nodNafL61IUcOhJqQ2Bv/bLH+huId12kQDAGkYz\n\tbrNOhMT5w==;","Subject":"Re: [PATCH v9 08/12] mm: zero reserved and unavailable struct pages","To":"Michal Hocko <mhocko@kernel.org>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-9-pasha.tatashin@oracle.com>\n\t<20171003131817.omzbam3js67edp3s@dhcp22.suse.cz>\n\t<691dba28-718c-e9a9-d006-88505eb5cd7e@oracle.com>\n\t<20171004085636.w2rnwf5xxhahzuy7@dhcp22.suse.cz>\n\t<9198a33d-cd40-dd70-4823-7f70c57ef9a2@oracle.com>\n\t<20171004125743.fm6mf2artbga76et@dhcp22.suse.cz>\n\t<d743668c-6b7e-1775-a5b8-d6e997537990@oracle.com>\n\t<20171004140410.2w2zf2gbutdxunir@dhcp22.suse.cz>","From":"Pasha Tatashin <pasha.tatashin@oracle.com>","Message-ID":"<ee817a40-1160-c24a-5106-f900ad3ebf26@oracle.com>","Date":"Wed, 4 Oct 2017 11:08:59 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20171004140410.2w2zf2gbutdxunir@dhcp22.suse.cz>","Content-Language":"en-US","X-Source-IP":"aserv0022.oracle.com [141.146.126.234]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171004_081020_892211_91CE19A9 ","X-CRM114-Status":"GOOD (  16.03  )","X-Spam-Score":"-4.2 (----)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.2 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [141.146.126.69 listed in list.dnswl.org]\n\t-0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)\n\t[141.146.126.69 listed in wl.mailspike.net]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"mark.rutland@arm.com, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, \n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\twill.deacon@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tlinux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,\n\tdaniel.m.jordan@oracle.com, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, willy@infradead.org, catalin.marinas@arm.com,\n\tsparclinux@vger.kernel.org, \n\tbob.picco@oracle.com, linuxppc-dev@lists.ozlabs.org,\n\tdavem@davemloft.net, linux-arm-kernel@lists.infradead.org","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1783041,"web_url":"http://patchwork.ozlabs.org/comment/1783041/","msgid":"<20171009171337.GE30085@arm.com>","list_archive_url":null,"date":"2017-10-09T17:13:37","subject":"Re: [PATCH v9 09/12] mm/kasan: kasan specific map populate function","submitter":{"id":7916,"url":"http://patchwork.ozlabs.org/api/people/7916/","name":"Will Deacon","email":"will.deacon@arm.com"},"content":"On Tue, Oct 03, 2017 at 03:48:46PM +0100, Mark Rutland wrote:\n> On Wed, Sep 20, 2017 at 04:17:11PM -0400, Pavel Tatashin wrote:\n> > During early boot, kasan uses vmemmap_populate() to establish its shadow\n> > memory. But, that interface is intended for struct pages use.\n> > \n> > Because of the current project, vmemmap won't be zeroed during allocation,\n> > but kasan expects that memory to be zeroed. We are adding a new\n> > kasan_map_populate() function to resolve this difference.\n> \n> Thanks for putting this together.\n> \n> I've given this a spin on arm64, and can confirm that it works.\n> \n> Given that this involes redundant walking of page tables, I still think\n> it'd be preferable to have some common *_populate() helper that took a\n> gfp argument, but I guess it's not the end of the world.\n> \n> I'll leave it to Will and Catalin to say whether they're happy with the\n> page table walking and the new p{u,m}d_large() helpers added to arm64.\n\nTo be honest, it just looks completely backwards to me; we're walking the\npage tables we created earlier on so that we can figure out what needs to\nbe zeroed for KASAN. We already had that information before, hence my\npreference to allow propagation of GFP_FLAGs to vmemmap_alloc_block when\nit's needed. I know that's not popular for some reason, but is walking the\npage tables really better?\n\nWill","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"DgEYQHS6\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y9n0B29Vsz9t3B\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tTue, 10 Oct 2017 04:14:02 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1e1bct-0002h2-RS; Mon, 09 Oct 2017 17:13:59 +0000","from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]\n\thelo=foss.arm.com)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1e1bcp-0002e4-TW for linux-arm-kernel@lists.infradead.org;\n\tMon, 09 Oct 2017 17:13:57 +0000","from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])\n\tby usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3B9311529;\n\tMon,  9 Oct 2017 10:13:35 -0700 (PDT)","from edgewater-inn.cambridge.arm.com\n\t(usa-sjc-imap-foss1.foss.arm.com [10.72.51.249])\n\tby usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id\n\t0BAB33F483; Mon,  9 Oct 2017 10:13:35 -0700 (PDT)","by edgewater-inn.cambridge.arm.com (Postfix, from userid 1000)\n\tid C5ED81AE1189; Mon,  9 Oct 2017 18:13:37 +0100 (BST)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=2J8KXMoG1aux0p8QQRErDb+U4OIinnuQll9ic7vcCFI=;\n\tb=DgEYQHS6IVMzGx\n\tXYJwO3Nnk5BgR6NBxOVK//WIVwLnX1VlpASN6Vuherb0cS6GgCVyN2FnG1ErTqy6N5ytmFXnB9mSV\n\tfAopCCGVkDJ3IZqYDuuN+lY+/O1jHEXlGCSe2w2Zqo487nYxLHNSx1iN766mP2/gB9Kr8EVNV74fA\n\thw+L+6PrMyJkmhzKjBovKpCyI9ZWmJL2Kv5aVgo6L2HB5fGgR2QXR0glc23xTNfElq7xeurlzPG+E\n\tiTYKRmg/tEHOKf2Nrigmk0j53YGq8geS6cukyAO6oiuOgdTDVJp4nZOy2Y/FSqb1UmlGuXr3OlcZD\n\t/5x5mXveOWXOCUN8o8iQ==;","Date":"Mon, 9 Oct 2017 18:13:37 +0100","From":"Will Deacon <will.deacon@arm.com>","To":"Mark Rutland <mark.rutland@arm.com>","Subject":"Re: [PATCH v9 09/12] mm/kasan: kasan specific map populate function","Message-ID":"<20171009171337.GE30085@arm.com>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-10-pasha.tatashin@oracle.com>\n\t<20171003144845.GD4931@leverpostej>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20171003144845.GD4931@leverpostej>","User-Agent":"Mutt/1.5.23 (2014-03-12)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171009_101355_972223_63A71DC6 ","X-CRM114-Status":"GOOD (  15.23  )","X-Spam-Score":"-6.9 (------)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-6.9 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/,\n\thigh trust [217.140.101.70 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"linux-s390@vger.kernel.org, ard.biesheuvel@linaro.org,\n\tmgorman@techsingularity.net, sam@ravnborg.org, borntraeger@de.ibm.com,\n\tcatalin.marinas@arm.com, x86@kernel.org, heiko.carstens@de.ibm.com,\n\tPavel Tatashin <pasha.tatashin@oracle.com>, kasan-dev@googlegroups.com,\n\tlinux-kernel@vger.kernel.org, linux-mm@kvack.org,\n\tsteven.sistare@oracle.com, \n\twilly@infradead.org, sparclinux@vger.kernel.org, bob.picco@oracle.com,\n\tmhocko@kernel.org, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net,\n\tlinux-arm-kernel@lists.infradead.org, daniel.m.jordan@oracle.com","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1783100,"web_url":"http://patchwork.ozlabs.org/comment/1783100/","msgid":"<CAOAebxtHHFvYn4WysMASe1GqvgKYPVyjJ572UM3Sef5sP0hi9A@mail.gmail.com>","list_archive_url":null,"date":"2017-10-09T17:51:47","subject":"Re: [PATCH v9 09/12] mm/kasan: kasan specific map populate function","submitter":{"id":71010,"url":"http://patchwork.ozlabs.org/api/people/71010/","name":"Pavel Tatashin","email":"pasha.tatashin@oracle.com"},"content":"Hi Will,\n\nI can go back to that approach, if Michal OK with it. But, that would\nmean that I would need to touch every single architecture that\nimplements vmemmap_populate(), and also pass flags at least through\nthese functions on every architectures (some have more than one\ndecided by configs).:\n\nvmemmap_populate()\nvmemmap_populate_basepages()\nvmemmap_populate_hugepages()\nvmemmap_pte_populate()\n__vmemmap_alloc_block_buf()\nalloc_block_buf()\nvmemmap_alloc_block()\n\nIMO, while I understand that it looks strange that we must walk page\ntable after creating it, it is a better approach: more enclosed as it\neffects kasan only, and more universal as it is in common code. We are\nalso somewhat late in the review process, means we will need again to\nget ACKs from the maintainers of other arches.\n\nPavel\n\nOn Mon, Oct 9, 2017 at 1:13 PM, Will Deacon <will.deacon@arm.com> wrote:\n> On Tue, Oct 03, 2017 at 03:48:46PM +0100, Mark Rutland wrote:\n>> On Wed, Sep 20, 2017 at 04:17:11PM -0400, Pavel Tatashin wrote:\n>> > During early boot, kasan uses vmemmap_populate() to establish its shadow\n>> > memory. But, that interface is intended for struct pages use.\n>> >\n>> > Because of the current project, vmemmap won't be zeroed during allocation,\n>> > but kasan expects that memory to be zeroed. We are adding a new\n>> > kasan_map_populate() function to resolve this difference.\n>>\n>> Thanks for putting this together.\n>>\n>> I've given this a spin on arm64, and can confirm that it works.\n>>\n>> Given that this involes redundant walking of page tables, I still think\n>> it'd be preferable to have some common *_populate() helper that took a\n>> gfp argument, but I guess it's not the end of the world.\n>>\n>> I'll leave it to Will and Catalin to say whether they're happy with the\n>> page table walking and the new p{u,m}d_large() helpers added to arm64.\n>\n> To be honest, it just looks completely backwards to me; we're walking the\n> page tables we created earlier on so that we can figure out what needs to\n> be zeroed for KASAN. We already had that information before, hence my\n> preference to allow propagation of GFP_FLAGs to vmemmap_alloc_block when\n> it's needed. I know that's not popular for some reason, but is walking the\n> page tables really better?\n>\n> Will\n>\n> --\n> To unsubscribe, send a message with 'unsubscribe linux-mm' in\n> the body to majordomo@kvack.org.  For more info on Linux MM,\n> see: http://www.linux-mm.org/ .\n> Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"ZVU/RCcc\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y9nrQ5f1Wz9t6C\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tTue, 10 Oct 2017 04:52:22 +1100 (AEDT)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1e1cDx-0004Jn-1z; Mon, 09 Oct 2017 17:52:17 +0000","from userp1040.oracle.com ([156.151.31.81])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1e1cDs-0004GV-Mm for linux-arm-kernel@lists.infradead.org;\n\tMon, 09 Oct 2017 17:52:14 +0000","from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71])\n\tby userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with\n\tESMTP id v99Hpn8c025541\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK) for <linux-arm-kernel@lists.infradead.org>;\n\tMon, 9 Oct 2017 17:51:49 GMT","from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72])\n\tby userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id v99HpmlX023457\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK) for <linux-arm-kernel@lists.infradead.org>;\n\tMon, 9 Oct 2017 17:51:48 GMT","from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25])\n\tby userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id\n\tv99HpmuI019732 for <linux-arm-kernel@lists.infradead.org>;\n\tMon, 9 Oct 2017 17:51:48 GMT","from mail-oi0-f41.google.com (/209.85.218.41)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Mon, 09 Oct 2017 10:51:48 -0700","by mail-oi0-f41.google.com with SMTP id j126so17513824oib.8\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tMon, 09 Oct 2017 10:51:48 -0700 (PDT)","by 10.74.174.131 with HTTP; Mon, 9 Oct 2017 10:51:47 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:\n\tReferences:In-Reply-To:MIME-Version:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=mN0E2JvvM3Q/hhHlshc5BhDYuETy3f76j1J4h0PyYKM=;\n\tb=ZVU/RCccd9uKxj\n\tZMEq6p5p7V6eLUs9or9E+Q7cOU+rqmkjjPx4gt+Eu9z5SVItigg93+SioLe03FCMxjKkzpvL1wg4N\n\tUDhoMLOwHjCMAvLI6X09IJCBBfXdN+/pDY+g8EGuHtdeFG8sNM3oXN0GILtX4H4kz8WB6VWWmqDBM\n\tUyudzwcHk6Hra+m9i/+gPw0CpMu3g3oRAimkwCOjBVUZcuFS4ua2p538xNM2GGnp+Q9cJAO2+CST1\n\t9tYyq8c6PmFkzjNg4XBY9ApRK3fbFwnDoaCz6G+UqshKDsELEX9GRUja/czWHj5fjVkRFnR7fu6OT\n\tSWb5/uBNb2iwxmgGYpzw==;","X-Gm-Message-State":"AMCzsaX/abQ3J3yd5ZixAtJHq/sIKFVE2tjhlguQHRr4kCwqGPZgAtRR\n\t1FfZkeUcUFbMpLuWpmUZfGEjdWtzs7kNgh+eEw==","X-Google-Smtp-Source":"AOwi7QCZW+v6qunni2yqKR2Y6ILKJbMLF4Y3cEcswUL0X9HUH1DsscVupbc3TZtyoMBOne7s89/AnOFCGtAYCaUHBUg=","X-Received":"by 10.157.68.38 with SMTP id u35mr153948ote.415.1507571507502;\n\tMon, 09 Oct 2017 10:51:47 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<20171009171337.GE30085@arm.com>","References":"<20170920201714.19817-1-pasha.tatashin@oracle.com>\n\t<20170920201714.19817-10-pasha.tatashin@oracle.com>\n\t<20171003144845.GD4931@leverpostej>\n\t<20171009171337.GE30085@arm.com>","From":"Pavel Tatashin <pasha.tatashin@oracle.com>","Date":"Mon, 9 Oct 2017 13:51:47 -0400","X-Gmail-Original-Message-ID":"<CAOAebxtHHFvYn4WysMASe1GqvgKYPVyjJ572UM3Sef5sP0hi9A@mail.gmail.com>","Message-ID":"<CAOAebxtHHFvYn4WysMASe1GqvgKYPVyjJ572UM3Sef5sP0hi9A@mail.gmail.com>","Subject":"Re: [PATCH v9 09/12] mm/kasan: kasan specific map populate function","To":"Will Deacon <will.deacon@arm.com>","X-Source-IP":"userv0021.oracle.com [156.151.31.71]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20171009_105212_897027_6B215CAA ","X-CRM114-Status":"GOOD (  18.49  )","X-Spam-Score":"-7.0 (-------)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-7.0 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [156.151.31.81 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-2.8 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)\n\t[156.151.31.81 listed in wl.mailspike.net]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay\n\tlines","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>, linux-s390@vger.kernel.org,\n\tard.biesheuvel@linaro.org, mgorman@techsingularity.net,\n\tsam@ravnborg.org, \n\tborntraeger@de.ibm.com, catalin.marinas@arm.com, x86@kernel.org,\n\theiko.carstens@de.ibm.com, linux-kernel@vger.kernel.org,\n\tkasan-dev@googlegroups.com, mhocko@kernel.org, linux-mm@kvack.org,\n\tSteve Sistare <steven.sistare@oracle.com>, willy@infradead.org,\n\tsparclinux@vger.kernel.org, bob.picco@oracle.com,\n\tdaniel.m.jordan@oracle.com, \n\tlinuxppc-dev@lists.ozlabs.org, davem@davemloft.net,\n\tlinux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}}]