All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: Pavel Tatashin <pasha.tatashin@oracle.com>
Cc: linux-kernel@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	x86@kernel.org, kasan-dev@googlegroups.com,
	borntraeger@de.ibm.com, heiko.carstens@de.ibm.com,
	davem@davemloft.net, willy@infradead.org,
	ard.biesheuvel@linaro.org, will.deacon@arm.com,
	catalin.marinas@arm.com, sam@ravnborg.org,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [v6 01/15] x86/mm: reserve only exiting low pages
Date: Mon, 14 Aug 2017 15:55:25 +0200	[thread overview]
Message-ID: <20170814135525.GN19063@dhcp22.suse.cz> (raw)
In-Reply-To: <1502138329-123460-2-git-send-email-pasha.tatashin@oracle.com>

Let's CC Hpa on this one. I am still not sure it is correct. The full
series is here
http://lkml.kernel.org/r/1502138329-123460-1-git-send-email-pasha.tatashin@oracle.com

On Mon 07-08-17 16:38:35, Pavel Tatashin wrote:
> Struct pages are initialized by going through __init_single_page(). Since
> the existing physical memory in memblock is represented in memblock.memory
> list, struct page for every page from this list goes through
> __init_single_page().
> 
> The second memblock list: memblock.reserved, manages the allocated memory.
> The memory that won't be available to kernel allocator. So, every page from
> this list goes through reserve_bootmem_region(), where certain struct page
> fields are set, the assumption being that the struct pages have been
> initialized beforehand.
> 
> In trim_low_memory_range() we unconditionally reserve memoryfrom PFN 0, but
> memblock.memory might start at a later PFN. For example, in QEMU,
> e820__memblock_setup() can use PFN 1 as the first PFN in memblock.memory,
> so PFN 0 is not on memblock.memory (and hence isn't initialized via
> __init_single_page) but is on memblock.reserved (and hence we set fields in
> the uninitialized struct page).
> 
> Currently, the struct page memory is always zeroed during allocation,
> which prevents this problem from being detected. But, if some asserts
> provided by CONFIG_DEBUG_VM_PGFLAGS are tighten, this problem may become
> visible in existing kernels.
> 
> In this patchset we will stop zeroing struct page memory during allocation.
> Therefore, this bug must be fixed in order to avoid random assert failures
> caused by CONFIG_DEBUG_VM_PGFLAGS triggers.
> 
> The fix is to reserve memory from the first existing PFN.
> 
> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
> Reviewed-by: Steven Sistare <steven.sistare@oracle.com>
> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>
> Reviewed-by: Bob Picco <bob.picco@oracle.com>
> ---
>  arch/x86/kernel/setup.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 3486d0498800..489cdc141bcb 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -790,7 +790,10 @@ early_param("reservelow", parse_reservelow);
>  
>  static void __init trim_low_memory_range(void)
>  {
> -	memblock_reserve(0, ALIGN(reserve_low, PAGE_SIZE));
> +	unsigned long min_pfn = find_min_pfn_with_active_regions();
> +	phys_addr_t base = min_pfn << PAGE_SHIFT;
> +
> +	memblock_reserve(base, ALIGN(reserve_low, PAGE_SIZE));
>  }
>  	
>  /*
> -- 
> 2.14.0

-- 
Michal Hocko
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [v6 01/15] x86/mm: reserve only exiting low pages
Date: Mon, 14 Aug 2017 13:55:25 +0000	[thread overview]
Message-ID: <20170814135525.GN19063@dhcp22.suse.cz> (raw)
In-Reply-To: <1502138329-123460-2-git-send-email-pasha.tatashin@oracle.com>

Let's CC Hpa on this one. I am still not sure it is correct. The full
series is here
http://lkml.kernel.org/r/1502138329-123460-1-git-send-email-pasha.tatashin@oracle.com

On Mon 07-08-17 16:38:35, Pavel Tatashin wrote:
> Struct pages are initialized by going through __init_single_page(). Since
> the existing physical memory in memblock is represented in memblock.memory
> list, struct page for every page from this list goes through
> __init_single_page().
> 
> The second memblock list: memblock.reserved, manages the allocated memory.
> The memory that won't be available to kernel allocator. So, every page from
> this list goes through reserve_bootmem_region(), where certain struct page
> fields are set, the assumption being that the struct pages have been
> initialized beforehand.
> 
> In trim_low_memory_range() we unconditionally reserve memoryfrom PFN 0, but
> memblock.memory might start at a later PFN. For example, in QEMU,
> e820__memblock_setup() can use PFN 1 as the first PFN in memblock.memory,
> so PFN 0 is not on memblock.memory (and hence isn't initialized via
> __init_single_page) but is on memblock.reserved (and hence we set fields in
> the uninitialized struct page).
> 
> Currently, the struct page memory is always zeroed during allocation,
> which prevents this problem from being detected. But, if some asserts
> provided by CONFIG_DEBUG_VM_PGFLAGS are tighten, this problem may become
> visible in existing kernels.
> 
> In this patchset we will stop zeroing struct page memory during allocation.
> Therefore, this bug must be fixed in order to avoid random assert failures
> caused by CONFIG_DEBUG_VM_PGFLAGS triggers.
> 
> The fix is to reserve memory from the first existing PFN.
> 
> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
> Reviewed-by: Steven Sistare <steven.sistare@oracle.com>
> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>
> Reviewed-by: Bob Picco <bob.picco@oracle.com>
> ---
>  arch/x86/kernel/setup.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 3486d0498800..489cdc141bcb 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -790,7 +790,10 @@ early_param("reservelow", parse_reservelow);
>  
>  static void __init trim_low_memory_range(void)
>  {
> -	memblock_reserve(0, ALIGN(reserve_low, PAGE_SIZE));
> +	unsigned long min_pfn = find_min_pfn_with_active_regions();
> +	phys_addr_t base = min_pfn << PAGE_SHIFT;
> +
> +	memblock_reserve(base, ALIGN(reserve_low, PAGE_SIZE));
>  }
>  	
>  /*
> -- 
> 2.14.0

-- 
Michal Hocko
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org>
To: Pavel Tatashin <pasha.tatashin@oracle.com>
Cc: linux-kernel@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	x86@kernel.org, kasan-dev@googlegroups.com,
	borntraeger@de.ibm.com, heiko.carstens@de.ibm.com,
	davem@davemloft.net, willy@infradead.org,
	ard.biesheuvel@linaro.org, will.deacon@arm.com,
	catalin.marinas@arm.com, sam@ravnborg.org,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [v6 01/15] x86/mm: reserve only exiting low pages
Date: Mon, 14 Aug 2017 15:55:25 +0200	[thread overview]
Message-ID: <20170814135525.GN19063@dhcp22.suse.cz> (raw)
In-Reply-To: <1502138329-123460-2-git-send-email-pasha.tatashin@oracle.com>

Let's CC Hpa on this one. I am still not sure it is correct. The full
series is here
http://lkml.kernel.org/r/1502138329-123460-1-git-send-email-pasha.tatashin@oracle.com

On Mon 07-08-17 16:38:35, Pavel Tatashin wrote:
> Struct pages are initialized by going through __init_single_page(). Since
> the existing physical memory in memblock is represented in memblock.memory
> list, struct page for every page from this list goes through
> __init_single_page().
> 
> The second memblock list: memblock.reserved, manages the allocated memory.
> The memory that won't be available to kernel allocator. So, every page from
> this list goes through reserve_bootmem_region(), where certain struct page
> fields are set, the assumption being that the struct pages have been
> initialized beforehand.
> 
> In trim_low_memory_range() we unconditionally reserve memoryfrom PFN 0, but
> memblock.memory might start at a later PFN. For example, in QEMU,
> e820__memblock_setup() can use PFN 1 as the first PFN in memblock.memory,
> so PFN 0 is not on memblock.memory (and hence isn't initialized via
> __init_single_page) but is on memblock.reserved (and hence we set fields in
> the uninitialized struct page).
> 
> Currently, the struct page memory is always zeroed during allocation,
> which prevents this problem from being detected. But, if some asserts
> provided by CONFIG_DEBUG_VM_PGFLAGS are tighten, this problem may become
> visible in existing kernels.
> 
> In this patchset we will stop zeroing struct page memory during allocation.
> Therefore, this bug must be fixed in order to avoid random assert failures
> caused by CONFIG_DEBUG_VM_PGFLAGS triggers.
> 
> The fix is to reserve memory from the first existing PFN.
> 
> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
> Reviewed-by: Steven Sistare <steven.sistare@oracle.com>
> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>
> Reviewed-by: Bob Picco <bob.picco@oracle.com>
> ---
>  arch/x86/kernel/setup.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 3486d0498800..489cdc141bcb 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -790,7 +790,10 @@ early_param("reservelow", parse_reservelow);
>  
>  static void __init trim_low_memory_range(void)
>  {
> -	memblock_reserve(0, ALIGN(reserve_low, PAGE_SIZE));
> +	unsigned long min_pfn = find_min_pfn_with_active_regions();
> +	phys_addr_t base = min_pfn << PAGE_SHIFT;
> +
> +	memblock_reserve(base, ALIGN(reserve_low, PAGE_SIZE));
>  }
>  	
>  /*
> -- 
> 2.14.0

-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: mhocko@kernel.org (Michal Hocko)
To: linux-arm-kernel@lists.infradead.org
Subject: [v6 01/15] x86/mm: reserve only exiting low pages
Date: Mon, 14 Aug 2017 15:55:25 +0200	[thread overview]
Message-ID: <20170814135525.GN19063@dhcp22.suse.cz> (raw)
In-Reply-To: <1502138329-123460-2-git-send-email-pasha.tatashin@oracle.com>

Let's CC Hpa on this one. I am still not sure it is correct. The full
series is here
http://lkml.kernel.org/r/1502138329-123460-1-git-send-email-pasha.tatashin at oracle.com

On Mon 07-08-17 16:38:35, Pavel Tatashin wrote:
> Struct pages are initialized by going through __init_single_page(). Since
> the existing physical memory in memblock is represented in memblock.memory
> list, struct page for every page from this list goes through
> __init_single_page().
> 
> The second memblock list: memblock.reserved, manages the allocated memory.
> The memory that won't be available to kernel allocator. So, every page from
> this list goes through reserve_bootmem_region(), where certain struct page
> fields are set, the assumption being that the struct pages have been
> initialized beforehand.
> 
> In trim_low_memory_range() we unconditionally reserve memoryfrom PFN 0, but
> memblock.memory might start at a later PFN. For example, in QEMU,
> e820__memblock_setup() can use PFN 1 as the first PFN in memblock.memory,
> so PFN 0 is not on memblock.memory (and hence isn't initialized via
> __init_single_page) but is on memblock.reserved (and hence we set fields in
> the uninitialized struct page).
> 
> Currently, the struct page memory is always zeroed during allocation,
> which prevents this problem from being detected. But, if some asserts
> provided by CONFIG_DEBUG_VM_PGFLAGS are tighten, this problem may become
> visible in existing kernels.
> 
> In this patchset we will stop zeroing struct page memory during allocation.
> Therefore, this bug must be fixed in order to avoid random assert failures
> caused by CONFIG_DEBUG_VM_PGFLAGS triggers.
> 
> The fix is to reserve memory from the first existing PFN.
> 
> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
> Reviewed-by: Steven Sistare <steven.sistare@oracle.com>
> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>
> Reviewed-by: Bob Picco <bob.picco@oracle.com>
> ---
>  arch/x86/kernel/setup.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 3486d0498800..489cdc141bcb 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -790,7 +790,10 @@ early_param("reservelow", parse_reservelow);
>  
>  static void __init trim_low_memory_range(void)
>  {
> -	memblock_reserve(0, ALIGN(reserve_low, PAGE_SIZE));
> +	unsigned long min_pfn = find_min_pfn_with_active_regions();
> +	phys_addr_t base = min_pfn << PAGE_SHIFT;
> +
> +	memblock_reserve(base, ALIGN(reserve_low, PAGE_SIZE));
>  }
>  	
>  /*
> -- 
> 2.14.0

-- 
Michal Hocko
SUSE Labs

  parent reply	other threads:[~2017-08-14 13:55 UTC|newest]

Thread overview: 282+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-07 20:38 [v6 00/15] complete deferred page initialization Pavel Tatashin
2017-08-07 20:38 ` Pavel Tatashin
2017-08-07 20:38 ` Pavel Tatashin
2017-08-07 20:38 ` Pavel Tatashin
2017-08-07 20:38 ` [v6 01/15] x86/mm: reserve only exiting low pages Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-11  8:07   ` Michal Hocko
2017-08-11  8:07     ` Michal Hocko
2017-08-11  8:07     ` Michal Hocko
2017-08-11  8:07     ` Michal Hocko
2017-08-11 15:24     ` Pasha Tatashin
2017-08-11 15:24       ` Pasha Tatashin
2017-08-11 15:24       ` Pasha Tatashin
2017-08-11 15:24       ` Pasha Tatashin
2017-08-14 11:40       ` Michal Hocko
2017-08-14 11:40         ` Michal Hocko
2017-08-14 11:40         ` Michal Hocko
2017-08-14 11:40         ` Michal Hocko
2017-08-14 13:30         ` Pasha Tatashin
2017-08-14 13:30           ` Pasha Tatashin
2017-08-14 13:30           ` Pasha Tatashin
2017-08-14 13:30           ` Pasha Tatashin
2017-08-14 13:55   ` Michal Hocko [this message]
2017-08-14 13:55     ` Michal Hocko
2017-08-14 13:55     ` Michal Hocko
2017-08-14 13:55     ` Michal Hocko
2017-08-17 15:37     ` Pasha Tatashin
2017-08-17 15:37       ` Pasha Tatashin
2017-08-17 15:37       ` Pasha Tatashin
2017-08-17 15:37       ` Pasha Tatashin
2017-08-07 20:38 ` [v6 02/15] x86/mm: setting fields in deferred pages Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-11  9:02   ` Michal Hocko
2017-08-11  9:02     ` Michal Hocko
2017-08-11  9:02     ` Michal Hocko
2017-08-11  9:02     ` Michal Hocko
2017-08-11 15:39     ` Pasha Tatashin
2017-08-11 15:39       ` Pasha Tatashin
2017-08-11 15:39       ` Pasha Tatashin
2017-08-11 15:39       ` Pasha Tatashin
2017-08-14 11:43       ` Michal Hocko
2017-08-14 11:43         ` Michal Hocko
2017-08-14 11:43         ` Michal Hocko
2017-08-14 11:43         ` Michal Hocko
2017-08-14 13:32         ` Pasha Tatashin
2017-08-14 13:32           ` Pasha Tatashin
2017-08-14 13:32           ` Pasha Tatashin
2017-08-14 13:32           ` Pasha Tatashin
2017-08-07 20:38 ` [v6 03/15] sparc64/mm: " Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38 ` [v6 04/15] mm: discard memblock data later Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-11  9:32   ` Michal Hocko
2017-08-11  9:32     ` Michal Hocko
2017-08-11  9:32     ` Michal Hocko
2017-08-11  9:32     ` Michal Hocko
2017-08-11  9:50     ` Mel Gorman
2017-08-11  9:50       ` Mel Gorman
2017-08-11  9:50       ` Mel Gorman
2017-08-11  9:50       ` Mel Gorman
2017-08-11 15:49     ` Pasha Tatashin
2017-08-11 15:49       ` Pasha Tatashin
2017-08-11 15:49       ` Pasha Tatashin
2017-08-11 15:49       ` Pasha Tatashin
2017-08-11 16:04       ` Michal Hocko
2017-08-11 16:04         ` Michal Hocko
2017-08-11 16:04         ` Michal Hocko
2017-08-11 16:04         ` Michal Hocko
2017-08-11 16:22         ` Pasha Tatashin
2017-08-11 16:22           ` Pasha Tatashin
2017-08-11 16:22           ` Pasha Tatashin
2017-08-11 16:22           ` Pasha Tatashin
2017-08-14 11:36           ` Michal Hocko
2017-08-14 11:36             ` Michal Hocko
2017-08-14 11:36             ` Michal Hocko
2017-08-14 11:36             ` Michal Hocko
2017-08-14 13:35             ` Pasha Tatashin
2017-08-14 13:35               ` Pasha Tatashin
2017-08-14 13:35               ` Pasha Tatashin
2017-08-14 13:35               ` Pasha Tatashin
2017-08-11 19:00     ` Pasha Tatashin
2017-08-11 19:00       ` Pasha Tatashin
2017-08-11 19:00       ` Pasha Tatashin
2017-08-11 19:00       ` Pasha Tatashin
2017-08-14 11:34       ` Michal Hocko
2017-08-14 11:34         ` Michal Hocko
2017-08-14 11:34         ` Michal Hocko
2017-08-14 11:34         ` Michal Hocko
2017-08-14 13:39         ` Pasha Tatashin
2017-08-14 13:39           ` Pasha Tatashin
2017-08-14 13:39           ` Pasha Tatashin
2017-08-14 13:39           ` Pasha Tatashin
2017-08-14 13:42           ` Michal Hocko
2017-08-14 13:42             ` Michal Hocko
2017-08-14 13:42             ` Michal Hocko
2017-08-14 13:42             ` Michal Hocko
2017-08-07 20:38 ` [v6 05/15] mm: don't accessed uninitialized struct pages Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-11  9:37   ` Michal Hocko
2017-08-11  9:37     ` Michal Hocko
2017-08-11  9:37     ` Michal Hocko
2017-08-11  9:37     ` Michal Hocko
2017-08-11 15:55     ` Pasha Tatashin
2017-08-11 15:55       ` Pasha Tatashin
2017-08-11 15:55       ` Pasha Tatashin
2017-08-11 15:55       ` Pasha Tatashin
2017-08-14 11:47       ` Michal Hocko
2017-08-14 11:47         ` Michal Hocko
2017-08-14 11:47         ` Michal Hocko
2017-08-14 11:47         ` Michal Hocko
2017-08-14 13:51         ` Pasha Tatashin
2017-08-14 13:51           ` Pasha Tatashin
2017-08-14 13:51           ` Pasha Tatashin
2017-08-14 13:51           ` Pasha Tatashin
2017-08-17 15:28           ` Pasha Tatashin
2017-08-17 15:28             ` Pasha Tatashin
2017-08-17 15:28             ` Pasha Tatashin
2017-08-17 15:28             ` Pasha Tatashin
2017-08-17 15:43             ` Michal Hocko
2017-08-17 15:43               ` Michal Hocko
2017-08-17 15:43               ` Michal Hocko
2017-08-17 15:43               ` Michal Hocko
2017-08-15  9:33   ` Michal Hocko
2017-08-15  9:33     ` Michal Hocko
2017-08-15  9:33     ` Michal Hocko
2017-08-15  9:33     ` Michal Hocko
2017-08-07 20:38 ` [v6 06/15] sparc64: simplify vmemmap_populate Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38 ` [v6 07/15] mm: defining memblock_virt_alloc_try_nid_raw Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-11 12:39   ` Michal Hocko
2017-08-11 12:39     ` Michal Hocko
2017-08-11 12:39     ` Michal Hocko
2017-08-11 12:39     ` Michal Hocko
2017-08-11 15:58     ` Pasha Tatashin
2017-08-11 15:58       ` Pasha Tatashin
2017-08-11 15:58       ` Pasha Tatashin
2017-08-11 15:58       ` Pasha Tatashin
2017-08-11 16:06       ` Michal Hocko
2017-08-11 16:06         ` Michal Hocko
2017-08-11 16:06         ` Michal Hocko
2017-08-11 16:06         ` Michal Hocko
2017-08-11 16:24         ` Pasha Tatashin
2017-08-11 16:24           ` Pasha Tatashin
2017-08-11 16:24           ` Pasha Tatashin
2017-08-11 16:24           ` Pasha Tatashin
2017-08-07 20:38 ` [v6 08/15] mm: zero struct pages during initialization Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-11 12:50   ` Michal Hocko
2017-08-11 12:50     ` Michal Hocko
2017-08-11 12:50     ` Michal Hocko
2017-08-11 12:50     ` Michal Hocko
2017-08-11 16:03     ` Pasha Tatashin
2017-08-11 16:03       ` Pasha Tatashin
2017-08-11 16:03       ` Pasha Tatashin
2017-08-11 16:03       ` Pasha Tatashin
2017-08-07 20:38 ` [v6 09/15] sparc64: optimized struct page zeroing Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-11 12:53   ` Michal Hocko
2017-08-11 12:53     ` Michal Hocko
2017-08-11 12:53     ` Michal Hocko
2017-08-11 12:53     ` Michal Hocko
2017-08-11 16:04     ` Pasha Tatashin
2017-08-11 16:04       ` Pasha Tatashin
2017-08-11 16:04       ` Pasha Tatashin
2017-08-11 16:04       ` Pasha Tatashin
2017-08-07 20:38 ` [v6 10/15] x86/kasan: explicitly zero kasan shadow memory Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38 ` [v6 11/15] arm64/kasan: " Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-08  9:07   ` Will Deacon
2017-08-08  9:07     ` Will Deacon
2017-08-08  9:07     ` Will Deacon
2017-08-08  9:07     ` Will Deacon
2017-08-08 11:49     ` Pasha Tatashin
2017-08-08 11:49       ` Pasha Tatashin
2017-08-08 11:49       ` Pasha Tatashin
2017-08-08 11:49       ` Pasha Tatashin
2017-08-08 12:30       ` Will Deacon
2017-08-08 12:30         ` Will Deacon
2017-08-08 12:30         ` Will Deacon
2017-08-08 12:30         ` Will Deacon
2017-08-08 12:49         ` Pasha Tatashin
2017-08-08 12:49           ` Pasha Tatashin
2017-08-08 12:49           ` Pasha Tatashin
2017-08-08 12:49           ` Pasha Tatashin
2017-08-08 13:15       ` David Laight
2017-08-08 13:15         ` David Laight
2017-08-08 13:15         ` David Laight
2017-08-08 13:15         ` David Laight
2017-08-08 13:15         ` David Laight
2017-08-08 13:30         ` Pasha Tatashin
2017-08-08 13:30           ` Pasha Tatashin
2017-08-08 13:30           ` Pasha Tatashin
2017-08-08 13:30           ` Pasha Tatashin
2017-08-08 13:30           ` Pasha Tatashin
2017-08-07 20:38 ` [v6 12/15] mm: explicitly zero pagetable memory Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38 ` [v6 13/15] mm: stop zeroing memory during allocation in vmemmap Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-11 13:04   ` Michal Hocko
2017-08-11 13:04     ` Michal Hocko
2017-08-11 13:04     ` Michal Hocko
2017-08-11 13:04     ` Michal Hocko
2017-08-11 16:11     ` Pasha Tatashin
2017-08-11 16:11       ` Pasha Tatashin
2017-08-11 16:11       ` Pasha Tatashin
2017-08-11 16:11       ` Pasha Tatashin
2017-08-07 20:38 ` [v6 14/15] mm: optimize early system hash allocations Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-11 13:05   ` Michal Hocko
2017-08-11 13:05     ` Michal Hocko
2017-08-11 13:05     ` Michal Hocko
2017-08-11 13:05     ` Michal Hocko
2017-08-11 16:13     ` Pasha Tatashin
2017-08-11 16:13       ` Pasha Tatashin
2017-08-11 16:13       ` Pasha Tatashin
2017-08-11 16:13       ` Pasha Tatashin
2017-08-07 20:38 ` [v6 15/15] mm: debug for raw alloctor Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-07 20:38   ` Pavel Tatashin
2017-08-11 13:08   ` Michal Hocko
2017-08-11 13:08     ` Michal Hocko
2017-08-11 13:08     ` Michal Hocko
2017-08-11 13:08     ` Michal Hocko
2017-08-11 16:18     ` Pasha Tatashin
2017-08-11 16:18       ` Pasha Tatashin
2017-08-11 16:18       ` Pasha Tatashin
2017-08-11 16:18       ` Pasha Tatashin
2017-08-14 11:50       ` Michal Hocko
2017-08-14 11:50         ` Michal Hocko
2017-08-14 11:50         ` Michal Hocko
2017-08-14 11:50         ` Michal Hocko
2017-08-14 14:01         ` Pasha Tatashin
2017-08-14 14:01           ` Pasha Tatashin
2017-08-14 14:01           ` Pasha Tatashin
2017-08-14 14:01           ` Pasha Tatashin
2017-08-15  9:36           ` Michal Hocko
2017-08-15  9:36             ` Michal Hocko
2017-08-15  9:36             ` Michal Hocko
2017-08-15  9:36             ` Michal Hocko
2017-08-11  7:58 ` [v6 00/15] complete deferred page initialization Michal Hocko
2017-08-11  7:58   ` Michal Hocko
2017-08-11  7:58   ` Michal Hocko
2017-08-11  7:58   ` Michal Hocko
2017-08-11 15:13   ` Pasha Tatashin
2017-08-11 15:13     ` Pasha Tatashin
2017-08-11 15:13     ` Pasha Tatashin
2017-08-11 15:13     ` Pasha Tatashin
2017-08-11 15:22     ` Michal Hocko
2017-08-11 15:22       ` Michal Hocko
2017-08-11 15:22       ` Michal Hocko
2017-08-11 15:22       ` Michal Hocko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170814135525.GN19063@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=borntraeger@de.ibm.com \
    --cc=catalin.marinas@arm.com \
    --cc=davem@davemloft.net \
    --cc=heiko.carstens@de.ibm.com \
    --cc=hpa@zytor.com \
    --cc=kasan-dev@googlegroups.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=pasha.tatashin@oracle.com \
    --cc=sam@ravnborg.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=will.deacon@arm.com \
    --cc=willy@infradead.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.