All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mm, sparse: fix typo in online_mem_sections
@ 2017-09-04 11:22 ` Michal Hocko
  0 siblings, 0 replies; 12+ messages in thread
From: Michal Hocko @ 2017-09-04 11:22 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Vlastimil Babka, linux-mm, LKML, Michal Hocko

From: Michal Hocko <mhocko@suse.com>

online_mem_sections accidentally marks online only the first section in
the given range. This is a typo which hasn't been noticed because I
haven't tested large 2GB blocks previously. All users of
pfn_to_online_page would get confused on the the rest of the pfn range
in the block.

All we need to fix this is to use iterator (pfn) rather than start_pfn.

Fixes: 2d070eab2e82 ("mm: consider zone which is not fully populated to have holes")
Cc: stable
Signed-off-by: Michal Hocko <mhocko@suse.com>
---
 mm/sparse.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/sparse.c b/mm/sparse.c
index a9783acf2bb9..83b3bf6461af 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -626,7 +626,7 @@ void online_mem_sections(unsigned long start_pfn, unsigned long end_pfn)
 	unsigned long pfn;
 
 	for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) {
-		unsigned long section_nr = pfn_to_section_nr(start_pfn);
+		unsigned long section_nr = pfn_to_section_nr(pfn);
 		struct mem_section *ms;
 
 		/* onlining code should never touch invalid ranges */
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH] mm, sparse: fix typo in online_mem_sections
@ 2017-09-04 11:22 ` Michal Hocko
  0 siblings, 0 replies; 12+ messages in thread
From: Michal Hocko @ 2017-09-04 11:22 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Vlastimil Babka, linux-mm, LKML, Michal Hocko

From: Michal Hocko <mhocko@suse.com>

online_mem_sections accidentally marks online only the first section in
the given range. This is a typo which hasn't been noticed because I
haven't tested large 2GB blocks previously. All users of
pfn_to_online_page would get confused on the the rest of the pfn range
in the block.

All we need to fix this is to use iterator (pfn) rather than start_pfn.

Fixes: 2d070eab2e82 ("mm: consider zone which is not fully populated to have holes")
Cc: stable
Signed-off-by: Michal Hocko <mhocko@suse.com>
---
 mm/sparse.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/sparse.c b/mm/sparse.c
index a9783acf2bb9..83b3bf6461af 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -626,7 +626,7 @@ void online_mem_sections(unsigned long start_pfn, unsigned long end_pfn)
 	unsigned long pfn;
 
 	for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) {
-		unsigned long section_nr = pfn_to_section_nr(start_pfn);
+		unsigned long section_nr = pfn_to_section_nr(pfn);
 		struct mem_section *ms;
 
 		/* onlining code should never touch invalid ranges */
-- 
2.14.1

--
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>

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] mm, sparse: fix typo in online_mem_sections
  2017-09-04 11:22 ` Michal Hocko
@ 2017-09-05  7:02   ` Anshuman Khandual
  -1 siblings, 0 replies; 12+ messages in thread
From: Anshuman Khandual @ 2017-09-05  7:02 UTC (permalink / raw)
  To: Michal Hocko, Andrew Morton; +Cc: Vlastimil Babka, linux-mm, LKML, Michal Hocko

On 09/04/2017 04:52 PM, Michal Hocko wrote:
> From: Michal Hocko <mhocko@suse.com>
> 
> online_mem_sections accidentally marks online only the first section in
> the given range. This is a typo which hasn't been noticed because I
> haven't tested large 2GB blocks previously. All users of

Section sizes are normally less than 2GB. Could you please elaborate
why this never got noticed before ?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] mm, sparse: fix typo in online_mem_sections
@ 2017-09-05  7:02   ` Anshuman Khandual
  0 siblings, 0 replies; 12+ messages in thread
From: Anshuman Khandual @ 2017-09-05  7:02 UTC (permalink / raw)
  To: Michal Hocko, Andrew Morton; +Cc: Vlastimil Babka, linux-mm, LKML, Michal Hocko

On 09/04/2017 04:52 PM, Michal Hocko wrote:
> From: Michal Hocko <mhocko@suse.com>
> 
> online_mem_sections accidentally marks online only the first section in
> the given range. This is a typo which hasn't been noticed because I
> haven't tested large 2GB blocks previously. All users of

Section sizes are normally less than 2GB. Could you please elaborate
why this never got noticed before ?

--
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>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] mm, sparse: fix typo in online_mem_sections
  2017-09-05  7:02   ` Anshuman Khandual
@ 2017-09-05  7:28     ` Michal Hocko
  -1 siblings, 0 replies; 12+ messages in thread
From: Michal Hocko @ 2017-09-05  7:28 UTC (permalink / raw)
  To: Anshuman Khandual; +Cc: Andrew Morton, Vlastimil Babka, linux-mm, LKML

On Tue 05-09-17 12:32:28, Anshuman Khandual wrote:
> On 09/04/2017 04:52 PM, Michal Hocko wrote:
> > From: Michal Hocko <mhocko@suse.com>
> > 
> > online_mem_sections accidentally marks online only the first section in
> > the given range. This is a typo which hasn't been noticed because I
> > haven't tested large 2GB blocks previously. All users of
> 
> Section sizes are normally less than 2GB. Could you please elaborate
> why this never got noticed before ?

Section size is 128MB which is the default block size as well. So we
have one section per block. But if the amount of memory is very large
(64GB - see probe_memory_block_size) then we have a 2GB memory blocks
so multiple sections per block.
-- 
Michal Hocko
SUSE Labs

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] mm, sparse: fix typo in online_mem_sections
@ 2017-09-05  7:28     ` Michal Hocko
  0 siblings, 0 replies; 12+ messages in thread
From: Michal Hocko @ 2017-09-05  7:28 UTC (permalink / raw)
  To: Anshuman Khandual; +Cc: Andrew Morton, Vlastimil Babka, linux-mm, LKML

On Tue 05-09-17 12:32:28, Anshuman Khandual wrote:
> On 09/04/2017 04:52 PM, Michal Hocko wrote:
> > From: Michal Hocko <mhocko@suse.com>
> > 
> > online_mem_sections accidentally marks online only the first section in
> > the given range. This is a typo which hasn't been noticed because I
> > haven't tested large 2GB blocks previously. All users of
> 
> Section sizes are normally less than 2GB. Could you please elaborate
> why this never got noticed before ?

Section size is 128MB which is the default block size as well. So we
have one section per block. But if the amount of memory is very large
(64GB - see probe_memory_block_size) then we have a 2GB memory blocks
so multiple sections per block.
-- 
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>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] mm, sparse: fix typo in online_mem_sections
  2017-09-05  7:28     ` Michal Hocko
@ 2017-09-05  7:37       ` Michal Hocko
  -1 siblings, 0 replies; 12+ messages in thread
From: Michal Hocko @ 2017-09-05  7:37 UTC (permalink / raw)
  To: Anshuman Khandual; +Cc: Andrew Morton, Vlastimil Babka, linux-mm, LKML

On Tue 05-09-17 09:28:36, Michal Hocko wrote:
> On Tue 05-09-17 12:32:28, Anshuman Khandual wrote:
> > On 09/04/2017 04:52 PM, Michal Hocko wrote:
> > > From: Michal Hocko <mhocko@suse.com>
> > > 
> > > online_mem_sections accidentally marks online only the first section in
> > > the given range. This is a typo which hasn't been noticed because I
> > > haven't tested large 2GB blocks previously. All users of
> > 
> > Section sizes are normally less than 2GB. Could you please elaborate
> > why this never got noticed before ?
> 
> Section size is 128MB which is the default block size as well. So we
> have one section per block. But if the amount of memory is very large
> (64GB - see probe_memory_block_size) then we have a 2GB memory blocks
> so multiple sections per block.

And just to clarify. Not that 64G would be too large but the original
patch has been merged in 4.13 so nobody probably managed to hit that
_yet_.
-- 
Michal Hocko
SUSE Labs

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] mm, sparse: fix typo in online_mem_sections
@ 2017-09-05  7:37       ` Michal Hocko
  0 siblings, 0 replies; 12+ messages in thread
From: Michal Hocko @ 2017-09-05  7:37 UTC (permalink / raw)
  To: Anshuman Khandual; +Cc: Andrew Morton, Vlastimil Babka, linux-mm, LKML

On Tue 05-09-17 09:28:36, Michal Hocko wrote:
> On Tue 05-09-17 12:32:28, Anshuman Khandual wrote:
> > On 09/04/2017 04:52 PM, Michal Hocko wrote:
> > > From: Michal Hocko <mhocko@suse.com>
> > > 
> > > online_mem_sections accidentally marks online only the first section in
> > > the given range. This is a typo which hasn't been noticed because I
> > > haven't tested large 2GB blocks previously. All users of
> > 
> > Section sizes are normally less than 2GB. Could you please elaborate
> > why this never got noticed before ?
> 
> Section size is 128MB which is the default block size as well. So we
> have one section per block. But if the amount of memory is very large
> (64GB - see probe_memory_block_size) then we have a 2GB memory blocks
> so multiple sections per block.

And just to clarify. Not that 64G would be too large but the original
patch has been merged in 4.13 so nobody probably managed to hit that
_yet_.
-- 
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>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] mm, sparse: fix typo in online_mem_sections
  2017-09-05  7:37       ` Michal Hocko
@ 2017-09-05  8:44         ` Anshuman Khandual
  -1 siblings, 0 replies; 12+ messages in thread
From: Anshuman Khandual @ 2017-09-05  8:44 UTC (permalink / raw)
  To: Michal Hocko, Anshuman Khandual
  Cc: Andrew Morton, Vlastimil Babka, linux-mm, LKML

On 09/05/2017 01:07 PM, Michal Hocko wrote:
> On Tue 05-09-17 09:28:36, Michal Hocko wrote:
>> On Tue 05-09-17 12:32:28, Anshuman Khandual wrote:
>>> On 09/04/2017 04:52 PM, Michal Hocko wrote:
>>>> From: Michal Hocko <mhocko@suse.com>
>>>>
>>>> online_mem_sections accidentally marks online only the first section in
>>>> the given range. This is a typo which hasn't been noticed because I
>>>> haven't tested large 2GB blocks previously. All users of
>>>
>>> Section sizes are normally less than 2GB. Could you please elaborate
>>> why this never got noticed before ?
>>
>> Section size is 128MB which is the default block size as well. So we
>> have one section per block. But if the amount of memory is very large
>> (64GB - see probe_memory_block_size) then we have a 2GB memory blocks
>> so multiple sections per block.
> 
> And just to clarify. Not that 64G would be too large but the original
> patch has been merged in 4.13 so nobody probably managed to hit that
> _yet_.

Got it. Section size is 16MB and block size is 256MB on most of the
POWER platforms. Hence this could have affected them as well.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] mm, sparse: fix typo in online_mem_sections
@ 2017-09-05  8:44         ` Anshuman Khandual
  0 siblings, 0 replies; 12+ messages in thread
From: Anshuman Khandual @ 2017-09-05  8:44 UTC (permalink / raw)
  To: Michal Hocko, Anshuman Khandual
  Cc: Andrew Morton, Vlastimil Babka, linux-mm, LKML

On 09/05/2017 01:07 PM, Michal Hocko wrote:
> On Tue 05-09-17 09:28:36, Michal Hocko wrote:
>> On Tue 05-09-17 12:32:28, Anshuman Khandual wrote:
>>> On 09/04/2017 04:52 PM, Michal Hocko wrote:
>>>> From: Michal Hocko <mhocko@suse.com>
>>>>
>>>> online_mem_sections accidentally marks online only the first section in
>>>> the given range. This is a typo which hasn't been noticed because I
>>>> haven't tested large 2GB blocks previously. All users of
>>>
>>> Section sizes are normally less than 2GB. Could you please elaborate
>>> why this never got noticed before ?
>>
>> Section size is 128MB which is the default block size as well. So we
>> have one section per block. But if the amount of memory is very large
>> (64GB - see probe_memory_block_size) then we have a 2GB memory blocks
>> so multiple sections per block.
> 
> And just to clarify. Not that 64G would be too large but the original
> patch has been merged in 4.13 so nobody probably managed to hit that
> _yet_.

Got it. Section size is 16MB and block size is 256MB on most of the
POWER platforms. Hence this could have affected them as well.

--
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>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] mm, sparse: fix typo in online_mem_sections
  2017-09-04 11:22 ` Michal Hocko
@ 2017-09-06  8:18   ` Vlastimil Babka
  -1 siblings, 0 replies; 12+ messages in thread
From: Vlastimil Babka @ 2017-09-06  8:18 UTC (permalink / raw)
  To: Michal Hocko, Andrew Morton; +Cc: linux-mm, LKML, Michal Hocko

On 09/04/2017 01:22 PM, Michal Hocko wrote:
> From: Michal Hocko <mhocko@suse.com>
> 
> online_mem_sections accidentally marks online only the first section in
> the given range. This is a typo which hasn't been noticed because I
> haven't tested large 2GB blocks previously. All users of
> pfn_to_online_page would get confused on the the rest of the pfn range
> in the block.
> 
> All we need to fix this is to use iterator (pfn) rather than start_pfn.
> 
> Fixes: 2d070eab2e82 ("mm: consider zone which is not fully populated to have holes")
> Cc: stable
> Signed-off-by: Michal Hocko <mhocko@suse.com>

Acked-by: Vlastimil Babka <vbabka@suse.cz>

> ---
>  mm/sparse.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/sparse.c b/mm/sparse.c
> index a9783acf2bb9..83b3bf6461af 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -626,7 +626,7 @@ void online_mem_sections(unsigned long start_pfn, unsigned long end_pfn)
>  	unsigned long pfn;
>  
>  	for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) {
> -		unsigned long section_nr = pfn_to_section_nr(start_pfn);
> +		unsigned long section_nr = pfn_to_section_nr(pfn);
>  		struct mem_section *ms;
>  
>  		/* onlining code should never touch invalid ranges */
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] mm, sparse: fix typo in online_mem_sections
@ 2017-09-06  8:18   ` Vlastimil Babka
  0 siblings, 0 replies; 12+ messages in thread
From: Vlastimil Babka @ 2017-09-06  8:18 UTC (permalink / raw)
  To: Michal Hocko, Andrew Morton; +Cc: linux-mm, LKML, Michal Hocko

On 09/04/2017 01:22 PM, Michal Hocko wrote:
> From: Michal Hocko <mhocko@suse.com>
> 
> online_mem_sections accidentally marks online only the first section in
> the given range. This is a typo which hasn't been noticed because I
> haven't tested large 2GB blocks previously. All users of
> pfn_to_online_page would get confused on the the rest of the pfn range
> in the block.
> 
> All we need to fix this is to use iterator (pfn) rather than start_pfn.
> 
> Fixes: 2d070eab2e82 ("mm: consider zone which is not fully populated to have holes")
> Cc: stable
> Signed-off-by: Michal Hocko <mhocko@suse.com>

Acked-by: Vlastimil Babka <vbabka@suse.cz>

> ---
>  mm/sparse.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/sparse.c b/mm/sparse.c
> index a9783acf2bb9..83b3bf6461af 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -626,7 +626,7 @@ void online_mem_sections(unsigned long start_pfn, unsigned long end_pfn)
>  	unsigned long pfn;
>  
>  	for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) {
> -		unsigned long section_nr = pfn_to_section_nr(start_pfn);
> +		unsigned long section_nr = pfn_to_section_nr(pfn);
>  		struct mem_section *ms;
>  
>  		/* onlining code should never touch invalid ranges */
> 

--
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>

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-09-06  8:18 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-04 11:22 [PATCH] mm, sparse: fix typo in online_mem_sections Michal Hocko
2017-09-04 11:22 ` Michal Hocko
2017-09-05  7:02 ` Anshuman Khandual
2017-09-05  7:02   ` Anshuman Khandual
2017-09-05  7:28   ` Michal Hocko
2017-09-05  7:28     ` Michal Hocko
2017-09-05  7:37     ` Michal Hocko
2017-09-05  7:37       ` Michal Hocko
2017-09-05  8:44       ` Anshuman Khandual
2017-09-05  8:44         ` Anshuman Khandual
2017-09-06  8:18 ` Vlastimil Babka
2017-09-06  8:18   ` Vlastimil Babka

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.