linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [patch] slub: fix a code merge error
@ 2011-11-10  8:04 Shaohua Li
  2011-11-10 14:44 ` Christoph Lameter
  2011-11-10 20:18 ` David Rientjes
  0 siblings, 2 replies; 9+ messages in thread
From: Shaohua Li @ 2011-11-10  8:04 UTC (permalink / raw)
  To: linux-mm; +Cc: penberg, cl

Looks there is a merge error in the slub tree. DEACTIVATE_TO_TAIL != 1.
And this will cause performance regression.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>

diff --git a/mm/slub.c b/mm/slub.c
index 7d2a996..60e16c4 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1904,7 +1904,8 @@ static void unfreeze_partials(struct kmem_cache *s)
 				if (l == M_PARTIAL)
 					remove_partial(n, page);
 				else
-					add_partial(n, page, 1);
+					add_partial(n, page,
+						DEACTIVATE_TO_TAIL);
 
 				l = m;
 			}


--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [patch] slub: fix a code merge error
  2011-11-10  8:04 [patch] slub: fix a code merge error Shaohua Li
@ 2011-11-10 14:44 ` Christoph Lameter
  2011-11-10 20:18 ` David Rientjes
  1 sibling, 0 replies; 9+ messages in thread
From: Christoph Lameter @ 2011-11-10 14:44 UTC (permalink / raw)
  To: Shaohua Li; +Cc: linux-mm, penberg

On Thu, 10 Nov 2011, Shaohua Li wrote:

> Looks there is a merge error in the slub tree. DEACTIVATE_TO_TAIL != 1.
> And this will cause performance regression.

Thanks.

Acked-by: Christoph Lameter <cl@linux.com>

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [patch] slub: fix a code merge error
  2011-11-10  8:04 [patch] slub: fix a code merge error Shaohua Li
  2011-11-10 14:44 ` Christoph Lameter
@ 2011-11-10 20:18 ` David Rientjes
  2011-11-10 20:30   ` Pekka Enberg
  1 sibling, 1 reply; 9+ messages in thread
From: David Rientjes @ 2011-11-10 20:18 UTC (permalink / raw)
  To: Shaohua Li; +Cc: linux-mm, penberg, cl

On Thu, 10 Nov 2011, Shaohua Li wrote:

> Looks there is a merge error in the slub tree. DEACTIVATE_TO_TAIL != 1.
> And this will cause performance regression.
> 
> Signed-off-by: Shaohua Li <shaohua.li@intel.com>
> 
> diff --git a/mm/slub.c b/mm/slub.c
> index 7d2a996..60e16c4 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -1904,7 +1904,8 @@ static void unfreeze_partials(struct kmem_cache *s)
>  				if (l == M_PARTIAL)
>  					remove_partial(n, page);
>  				else
> -					add_partial(n, page, 1);
> +					add_partial(n, page,
> +						DEACTIVATE_TO_TAIL);
>  
>  				l = m;
>  			}

Acked-by: David Rientjes <rientjes@google.com>

Not sure where the "merge error" is, though, this is how it was proposed 
on linux-mm each time the patch was posted.  Probably needs a better title 
and changelog.

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [patch] slub: fix a code merge error
  2011-11-10 20:18 ` David Rientjes
@ 2011-11-10 20:30   ` Pekka Enberg
  2011-11-11  0:33     ` Shaohua Li
  2011-11-14  1:56     ` alex shi
  0 siblings, 2 replies; 9+ messages in thread
From: Pekka Enberg @ 2011-11-10 20:30 UTC (permalink / raw)
  To: David Rientjes; +Cc: Shaohua Li, linux-mm, cl

On Thu, Nov 10, 2011 at 10:18 PM, David Rientjes <rientjes@google.com> wrote:
> On Thu, 10 Nov 2011, Shaohua Li wrote:
>
>> Looks there is a merge error in the slub tree. DEACTIVATE_TO_TAIL != 1.
>> And this will cause performance regression.
>>
>> Signed-off-by: Shaohua Li <shaohua.li@intel.com>
>>
>> diff --git a/mm/slub.c b/mm/slub.c
>> index 7d2a996..60e16c4 100644
>> --- a/mm/slub.c
>> +++ b/mm/slub.c
>> @@ -1904,7 +1904,8 @@ static void unfreeze_partials(struct kmem_cache *s)
>>                               if (l == M_PARTIAL)
>>                                       remove_partial(n, page);
>>                               else
>> -                                     add_partial(n, page, 1);
>> +                                     add_partial(n, page,
>> +                                             DEACTIVATE_TO_TAIL);
>>
>>                               l = m;
>>                       }
>
> Acked-by: David Rientjes <rientjes@google.com>
>
> Not sure where the "merge error" is, though, this is how it was proposed
> on linux-mm each time the patch was posted.  Probably needs a better title
> and changelog.

Indeed. Please resend with proper subject and changelog with
Christoph's and David's ACKs included.

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [patch] slub: fix a code merge error
  2011-11-10 20:30   ` Pekka Enberg
@ 2011-11-11  0:33     ` Shaohua Li
  2011-11-14  1:56     ` alex shi
  1 sibling, 0 replies; 9+ messages in thread
From: Shaohua Li @ 2011-11-11  0:33 UTC (permalink / raw)
  To: Pekka Enberg; +Cc: David Rientjes, linux-mm, cl@linux-foundation.org

On Fri, 2011-11-11 at 04:30 +0800, Pekka Enberg wrote:
> On Thu, Nov 10, 2011 at 10:18 PM, David Rientjes <rientjes@google.com> wrote:
> > On Thu, 10 Nov 2011, Shaohua Li wrote:
> >
> >> Looks there is a merge error in the slub tree. DEACTIVATE_TO_TAIL != 1.
> >> And this will cause performance regression.
> >>
> >> Signed-off-by: Shaohua Li <shaohua.li@intel.com>
> >>
> >> diff --git a/mm/slub.c b/mm/slub.c
> >> index 7d2a996..60e16c4 100644
> >> --- a/mm/slub.c
> >> +++ b/mm/slub.c
> >> @@ -1904,7 +1904,8 @@ static void unfreeze_partials(struct kmem_cache *s)
> >>                               if (l == M_PARTIAL)
> >>                                       remove_partial(n, page);
> >>                               else
> >> -                                     add_partial(n, page, 1);
> >> +                                     add_partial(n, page,
> >> +                                             DEACTIVATE_TO_TAIL);
> >>
> >>                               l = m;
> >>                       }
> >
> > Acked-by: David Rientjes <rientjes@google.com>
> >
> > Not sure where the "merge error" is, though, this is how it was proposed
> > on linux-mm each time the patch was posted.  Probably needs a better title
> > and changelog.
> 
> Indeed. Please resend with proper subject and changelog with
> Christoph's and David's ACKs included.

Subject: slub: use correct parameter to add a page to partial list tail

unfreeze_partials() needs add the page to partial list tail, since such page
hasn't too many free objects. We now explictly use DEACTIVATE_TO_TAIL for this,
while DEACTIVATE_TO_TAIL != 1. This will cause performance regression (eg, more
lock contention in node->list_lock) without below fix.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Acked-by: Christoph Lameter <cl@linux.com>
Acked-by: David Rientjes <rientjes@google.com>

diff --git a/mm/slub.c b/mm/slub.c
index 7d2a996..60e16c4 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1904,7 +1904,8 @@ static void unfreeze_partials(struct kmem_cache *s)
 				if (l == M_PARTIAL)
 					remove_partial(n, page);
 				else
-					add_partial(n, page, 1);
+					add_partial(n, page,
+						DEACTIVATE_TO_TAIL);
 
 				l = m;
 			}


--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [patch] slub: fix a code merge error
  2011-11-10 20:30   ` Pekka Enberg
  2011-11-11  0:33     ` Shaohua Li
@ 2011-11-14  1:56     ` alex shi
  2011-11-14  3:12       ` Shaohua Li
  2011-11-15  6:45       ` Pekka Enberg
  1 sibling, 2 replies; 9+ messages in thread
From: alex shi @ 2011-11-14  1:56 UTC (permalink / raw)
  To: Pekka Enberg; +Cc: David Rientjes, Shaohua Li, linux-mm, cl

>
> Indeed. Please resend with proper subject and changelog with
> Christoph's and David's ACKs included.

Pekka:

SLUB stat attribute was designed for stat accounting only. I checked
the total 24 attributes that used now. All of them used in stat() only
except the DEACTIVATE_TO_HEAD/TAIL.

And in fact, in the most of using scenarios the DEACTIVATE_TO_TAIL
make reader confuse, TO_TAIL is correct but not for DEACTIVATE.

Further more, CL also regretted this after he acked the original
patches for this attribute mis-usages. He said "don't think we want
this patch any more."
http://permalink.gmane.org/gmane.linux.kernel.mm/67653 and want to use
a comment instead of this confusing usage.
https://lkml.org/lkml/2011/8/29/187

So, as to this regression, from my viewpoint, reverting the
DEACTIVATE_TO_TAIL incorrect usage(commit 136333d104) is a better way.
 :)

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [patch] slub: fix a code merge error
  2011-11-14  1:56     ` alex shi
@ 2011-11-14  3:12       ` Shaohua Li
  2011-11-15  6:45       ` Pekka Enberg
  1 sibling, 0 replies; 9+ messages in thread
From: Shaohua Li @ 2011-11-14  3:12 UTC (permalink / raw)
  To: alex shi; +Cc: Pekka Enberg, David Rientjes, linux-mm, cl@linux-foundation.org

On Mon, 2011-11-14 at 09:56 +0800, alex shi wrote:
> >
> > Indeed. Please resend with proper subject and changelog with
> > Christoph's and David's ACKs included.
> 
> Pekka:
> 
> SLUB stat attribute was designed for stat accounting only. I checked
> the total 24 attributes that used now. All of them used in stat() only
> except the DEACTIVATE_TO_HEAD/TAIL.
it's an enum, it can be used in any case if proper used.

> And in fact, in the most of using scenarios the DEACTIVATE_TO_TAIL
> make reader confuse, TO_TAIL is correct but not for DEACTIVATE.
please look at the comments where DEACTIVATE_TO_TAIL is defined.

> Further more, CL also regretted this after he acked the original
> patches for this attribute mis-usages. He said "don't think we want
> this patch any more."
> http://permalink.gmane.org/gmane.linux.kernel.mm/67653 and want to use
> a comment instead of this confusing usage.
> https://lkml.org/lkml/2011/8/29/187
> 
> So, as to this regression, from my viewpoint, reverting the
> DEACTIVATE_TO_TAIL incorrect usage(commit 136333d104) is a better way.
>  :)
using 0/1 is insane and can easily cause problems. Using a name can help
avoid such insane. This is exactly what commit 136333d104 tries to do.
This is a general C programming skill everybody should already know.

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [patch] slub: fix a code merge error
  2011-11-14  1:56     ` alex shi
  2011-11-14  3:12       ` Shaohua Li
@ 2011-11-15  6:45       ` Pekka Enberg
  2011-11-16 23:06         ` David Rientjes
  1 sibling, 1 reply; 9+ messages in thread
From: Pekka Enberg @ 2011-11-15  6:45 UTC (permalink / raw)
  To: alex shi; +Cc: David Rientjes, Shaohua Li, linux-mm, cl

>> Indeed. Please resend with proper subject and changelog with
>> Christoph's and David's ACKs included.

On Mon, 14 Nov 2011, alex shi wrote:
> SLUB stat attribute was designed for stat accounting only. I checked
> the total 24 attributes that used now. All of them used in stat() only
> except the DEACTIVATE_TO_HEAD/TAIL.
>
> And in fact, in the most of using scenarios the DEACTIVATE_TO_TAIL
> make reader confuse, TO_TAIL is correct but not for DEACTIVATE.
>
> Further more, CL also regretted this after he acked the original
> patches for this attribute mis-usages. He said "don't think we want
> this patch any more."
> http://permalink.gmane.org/gmane.linux.kernel.mm/67653 and want to use
> a comment instead of this confusing usage.
> https://lkml.org/lkml/2011/8/29/187
>
> So, as to this regression, from my viewpoint, reverting the
> DEACTIVATE_TO_TAIL incorrect usage(commit 136333d104) is a better way.
> :)

The enum is fine. I don't see any reason to revert the whole commit if 
Shaohua's patch fixes the problem.

 			Pekka

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [patch] slub: fix a code merge error
  2011-11-15  6:45       ` Pekka Enberg
@ 2011-11-16 23:06         ` David Rientjes
  0 siblings, 0 replies; 9+ messages in thread
From: David Rientjes @ 2011-11-16 23:06 UTC (permalink / raw)
  To: Pekka Enberg; +Cc: alex shi, Shaohua Li, linux-mm, Christoph Lameter

On Tue, 15 Nov 2011, Pekka Enberg wrote:

> > SLUB stat attribute was designed for stat accounting only. I checked
> > the total 24 attributes that used now. All of them used in stat() only
> > except the DEACTIVATE_TO_HEAD/TAIL.
> > 
> > And in fact, in the most of using scenarios the DEACTIVATE_TO_TAIL
> > make reader confuse, TO_TAIL is correct but not for DEACTIVATE.
> > 
> > Further more, CL also regretted this after he acked the original
> > patches for this attribute mis-usages. He said "don't think we want
> > this patch any more."
> > http://permalink.gmane.org/gmane.linux.kernel.mm/67653 and want to use
> > a comment instead of this confusing usage.
> > https://lkml.org/lkml/2011/8/29/187
> > 
> > So, as to this regression, from my viewpoint, reverting the
> > DEACTIVATE_TO_TAIL incorrect usage(commit 136333d104) is a better way.
> > :)
> 
> The enum is fine. I don't see any reason to revert the whole commit if
> Shaohua's patch fixes the problem.
> 

It's a slight optimization since "tail" can be set in deactivate_slab() 
and be passed to add_partial() without doing something like !!tail or 
converting it to a boolean as well as using it when calling stat().

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

end of thread, other threads:[~2011-11-16 23:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-10  8:04 [patch] slub: fix a code merge error Shaohua Li
2011-11-10 14:44 ` Christoph Lameter
2011-11-10 20:18 ` David Rientjes
2011-11-10 20:30   ` Pekka Enberg
2011-11-11  0:33     ` Shaohua Li
2011-11-14  1:56     ` alex shi
2011-11-14  3:12       ` Shaohua Li
2011-11-15  6:45       ` Pekka Enberg
2011-11-16 23:06         ` David Rientjes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).