* [PATCH] mm/slub: Refactor note_cmpxchg_failure for better readability
@ 2025-09-08 7:19 Ye Liu
2025-09-08 8:39 ` Harry Yoo
0 siblings, 1 reply; 5+ messages in thread
From: Ye Liu @ 2025-09-08 7:19 UTC (permalink / raw)
To: Vlastimil Babka, Andrew Morton
Cc: Ye Liu, Christoph Lameter, David Rientjes, Roman Gushchin,
Harry Yoo, linux-mm, linux-kernel
From: Ye Liu <liuye@kylinos.cn>
Use IS_ENABLED() and standard if-else to make the code clearer.
Signed-off-by: Ye Liu <liuye@kylinos.cn>
---
mm/slub.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/mm/slub.c b/mm/slub.c
index 30003763d224..34853c0441a6 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -3064,18 +3064,16 @@ static inline void note_cmpxchg_failure(const char *n,
pr_info("%s %s: cmpxchg redo ", n, s->name);
-#ifdef CONFIG_PREEMPTION
- if (tid_to_cpu(tid) != tid_to_cpu(actual_tid))
+ if (IS_ENABLED(CONFIG_PREEMPTION) && tid_to_cpu(tid) != tid_to_cpu(actual_tid)) {
pr_warn("due to cpu change %d -> %d\n",
tid_to_cpu(tid), tid_to_cpu(actual_tid));
- else
-#endif
- if (tid_to_event(tid) != tid_to_event(actual_tid))
+ } else if (tid_to_event(tid) != tid_to_event(actual_tid)) {
pr_warn("due to cpu running other code. Event %ld->%ld\n",
tid_to_event(tid), tid_to_event(actual_tid));
- else
+ } else {
pr_warn("for unknown reason: actual=%lx was=%lx target=%lx\n",
actual_tid, tid, next_tid(tid));
+ }
#endif
stat(s, CMPXCHG_DOUBLE_CPU_FAIL);
}
--
2.43.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm/slub: Refactor note_cmpxchg_failure for better readability
2025-09-08 7:19 [PATCH] mm/slub: Refactor note_cmpxchg_failure for better readability Ye Liu
@ 2025-09-08 8:39 ` Harry Yoo
2025-09-08 8:56 ` Ye Liu
0 siblings, 1 reply; 5+ messages in thread
From: Harry Yoo @ 2025-09-08 8:39 UTC (permalink / raw)
To: Ye Liu
Cc: Vlastimil Babka, Andrew Morton, Ye Liu, Christoph Lameter,
David Rientjes, Roman Gushchin, linux-mm, linux-kernel
On Mon, Sep 08, 2025 at 03:19:21PM +0800, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
>
> Use IS_ENABLED() and standard if-else to make the code clearer.
>
> Signed-off-by: Ye Liu <liuye@kylinos.cn>
> ---
Looks good to me,
Reviewed-by: Harry Yoo <harry.yoo@oracle.com>
with a nit,
> mm/slub.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/mm/slub.c b/mm/slub.c
> index 30003763d224..34853c0441a6 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -3064,18 +3064,16 @@ static inline void note_cmpxchg_failure(const char *n,
>
> pr_info("%s %s: cmpxchg redo ", n, s->name);
>
> -#ifdef CONFIG_PREEMPTION
> - if (tid_to_cpu(tid) != tid_to_cpu(actual_tid))
> + if (IS_ENABLED(CONFIG_PREEMPTION) && tid_to_cpu(tid) != tid_to_cpu(actual_tid)) {
nit: insert newline after && as it's more than 80 columns?
> pr_warn("due to cpu change %d -> %d\n",
> tid_to_cpu(tid), tid_to_cpu(actual_tid));
> - else
> -#endif
> - if (tid_to_event(tid) != tid_to_event(actual_tid))
> + } else if (tid_to_event(tid) != tid_to_event(actual_tid)) {
> pr_warn("due to cpu running other code. Event %ld->%ld\n",
> tid_to_event(tid), tid_to_event(actual_tid));
> - else
> + } else {
> pr_warn("for unknown reason: actual=%lx was=%lx target=%lx\n",
> actual_tid, tid, next_tid(tid));
> + }
> #endif
> stat(s, CMPXCHG_DOUBLE_CPU_FAIL);
> }
> --
> 2.43.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm/slub: Refactor note_cmpxchg_failure for better readability
2025-09-08 8:39 ` Harry Yoo
@ 2025-09-08 8:56 ` Ye Liu
2025-09-08 9:21 ` Harry Yoo
0 siblings, 1 reply; 5+ messages in thread
From: Ye Liu @ 2025-09-08 8:56 UTC (permalink / raw)
To: Harry Yoo
Cc: Vlastimil Babka, Andrew Morton, Ye Liu, Christoph Lameter,
David Rientjes, Roman Gushchin, linux-mm, linux-kernel
在 2025/9/8 16:39, Harry Yoo 写道:
> On Mon, Sep 08, 2025 at 03:19:21PM +0800, Ye Liu wrote:
>> From: Ye Liu <liuye@kylinos.cn>
>>
>> Use IS_ENABLED() and standard if-else to make the code clearer.
>>
>> Signed-off-by: Ye Liu <liuye@kylinos.cn>
>> ---
>
> Looks good to me,
> Reviewed-by: Harry Yoo <harry.yoo@oracle.com>
>
> with a nit,
>
>> mm/slub.c | 10 ++++------
>> 1 file changed, 4 insertions(+), 6 deletions(-)
>>
>> diff --git a/mm/slub.c b/mm/slub.c
>> index 30003763d224..34853c0441a6 100644
>> --- a/mm/slub.c
>> +++ b/mm/slub.c
>> @@ -3064,18 +3064,16 @@ static inline void note_cmpxchg_failure(const char *n,
>>
>> pr_info("%s %s: cmpxchg redo ", n, s->name);
>>
>> -#ifdef CONFIG_PREEMPTION
>> - if (tid_to_cpu(tid) != tid_to_cpu(actual_tid))
>> + if (IS_ENABLED(CONFIG_PREEMPTION) && tid_to_cpu(tid) != tid_to_cpu(actual_tid)) {
>
> nit: insert newline after && as it's more than 80 columns?
I noticed this too, but using the script ./scripts/checkpatch.pl , there were no warnings.
$ ./scripts/checkpatch.pl 0001-mm-slub-Refactor-note_cmpxchg_failure-for-better-rea.patch
total: 0 errors, 0 warnings, 22 lines checked
0001-mm-slub-Refactor-note_cmpxchg_failure-for-better-rea.patch has no obvious style problems and is ready for submission.
>
>> pr_warn("due to cpu change %d -> %d\n",
>> tid_to_cpu(tid), tid_to_cpu(actual_tid));
>> - else
>> -#endif
>> - if (tid_to_event(tid) != tid_to_event(actual_tid))
>> + } else if (tid_to_event(tid) != tid_to_event(actual_tid)) {
>> pr_warn("due to cpu running other code. Event %ld->%ld\n",
>> tid_to_event(tid), tid_to_event(actual_tid));
>> - else
>> + } else {
>> pr_warn("for unknown reason: actual=%lx was=%lx target=%lx\n",
>> actual_tid, tid, next_tid(tid));
>> + }
>> #endif
>> stat(s, CMPXCHG_DOUBLE_CPU_FAIL);
>> }
>> --
>> 2.43.0
--
Thanks,
Ye Liu
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm/slub: Refactor note_cmpxchg_failure for better readability
2025-09-08 8:56 ` Ye Liu
@ 2025-09-08 9:21 ` Harry Yoo
2025-09-08 9:33 ` Ye Liu
0 siblings, 1 reply; 5+ messages in thread
From: Harry Yoo @ 2025-09-08 9:21 UTC (permalink / raw)
To: Ye Liu
Cc: Vlastimil Babka, Andrew Morton, Ye Liu, Christoph Lameter,
David Rientjes, Roman Gushchin, linux-mm, linux-kernel
On Mon, Sep 08, 2025 at 04:56:40PM +0800, Ye Liu wrote:
>
>
> 在 2025/9/8 16:39, Harry Yoo 写道:
> > On Mon, Sep 08, 2025 at 03:19:21PM +0800, Ye Liu wrote:
> >> From: Ye Liu <liuye@kylinos.cn>
> >>
> >> Use IS_ENABLED() and standard if-else to make the code clearer.
> >>
> >> Signed-off-by: Ye Liu <liuye@kylinos.cn>
> >> ---
> >
> > Looks good to me,
> > Reviewed-by: Harry Yoo <harry.yoo@oracle.com>
> >
> > with a nit,
> >
> >> mm/slub.c | 10 ++++------
> >> 1 file changed, 4 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/mm/slub.c b/mm/slub.c
> >> index 30003763d224..34853c0441a6 100644
> >> --- a/mm/slub.c
> >> +++ b/mm/slub.c
> >> @@ -3064,18 +3064,16 @@ static inline void note_cmpxchg_failure(const char *n,
> >>
> >> pr_info("%s %s: cmpxchg redo ", n, s->name);
> >>
> >> -#ifdef CONFIG_PREEMPTION
> >> - if (tid_to_cpu(tid) != tid_to_cpu(actual_tid))
> >> + if (IS_ENABLED(CONFIG_PREEMPTION) && tid_to_cpu(tid) != tid_to_cpu(actual_tid)) {
> >
> > nit: insert newline after && as it's more than 80 columns?
>
> I noticed this too, but using the script ./scripts/checkpatch.pl , there were no warnings.
>
> $ ./scripts/checkpatch.pl 0001-mm-slub-Refactor-note_cmpxchg_failure-for-better-rea.patch
> total: 0 errors, 0 warnings, 22 lines checked
>
> 0001-mm-slub-Refactor-note_cmpxchg_failure-for-better-rea.patch has no obvious style problems and is ready for submission.
IIUC the default limit is increased to 100 characters in checkpatch
but 80 characters is still preferred.
Quoting Documentation/process/coding-style.rst:
2) Breaking long lines and strings
----------------------------------
Coding style is all about readability and maintainability using commonlu
available tools.
The preferred limit on the length of a single line is 80 columns.
Statements longer than 80 columns should be broken into sensible chunks,
unless exceeding 80 columns significantly increases readability and does
not hide information.
Descendants are always substantially shorter than the parent and
are placed substantially to the right. A very commonly used style
is to align descendants to a function open parenthesis.
These same rules are applied to function headers with a long argument list.
However, never break user-visible strings such as printk messages because
that breaks the ability to grep for them.
And also quoting a commit message:
commit bdc48fa11e46f867ea4d75fa59ee87a7f48be144
Author: Joe Perches <joe@perches.com>
Date: Fri May 29 16:12:21 2020 -0700
checkpatch/coding-style: deprecate 80-column warning
Yes, staying withing 80 columns is certainly still _preferred_. But
it's not the hard limit that the checkpatch warnings imply, and other
concerns can most certainly dominate.
Increase the default limit to 100 characters. Not because 100
characters is some hard limit either, but that's certainly a "what are
you doing" kind of value and less likely to be about the occasional
slightly longer lines.
Miscellanea:
- to avoid unnecessary whitespace changes in files, checkpatch will no
longer emit a warning about line length when scanning files unless
--strict is also used
- Add a bit to coding-style about alignment to open parenthesis
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> >> pr_warn("due to cpu change %d -> %d\n",
> >> tid_to_cpu(tid), tid_to_cpu(actual_tid));
> >> - else
> >> -#endif
> >> - if (tid_to_event(tid) != tid_to_event(actual_tid))
> >> + } else if (tid_to_event(tid) != tid_to_event(actual_tid)) {
> >> pr_warn("due to cpu running other code. Event %ld->%ld\n",
> >> tid_to_event(tid), tid_to_event(actual_tid));
> >> - else
> >> + } else {
> >> pr_warn("for unknown reason: actual=%lx was=%lx target=%lx\n",
> >> actual_tid, tid, next_tid(tid));
> >> + }
> >> #endif
> >> stat(s, CMPXCHG_DOUBLE_CPU_FAIL);
> >> }
> >> --
> >> 2.43.0
>
> --
> Thanks,
> Ye Liu
>
>
--
Cheers,
Harry / Hyeonggon
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm/slub: Refactor note_cmpxchg_failure for better readability
2025-09-08 9:21 ` Harry Yoo
@ 2025-09-08 9:33 ` Ye Liu
0 siblings, 0 replies; 5+ messages in thread
From: Ye Liu @ 2025-09-08 9:33 UTC (permalink / raw)
To: Harry Yoo
Cc: Vlastimil Babka, Andrew Morton, Ye Liu, Christoph Lameter,
David Rientjes, Roman Gushchin, linux-mm, linux-kernel
在 2025/9/8 17:21, Harry Yoo 写道:
> On Mon, Sep 08, 2025 at 04:56:40PM +0800, Ye Liu wrote:
>>
>>
>> 在 2025/9/8 16:39, Harry Yoo 写道:
>>> On Mon, Sep 08, 2025 at 03:19:21PM +0800, Ye Liu wrote:
>>>> From: Ye Liu <liuye@kylinos.cn>
>>>>
>>>> Use IS_ENABLED() and standard if-else to make the code clearer.
>>>>
>>>> Signed-off-by: Ye Liu <liuye@kylinos.cn>
>>>> ---
>>>
>>> Looks good to me,
>>> Reviewed-by: Harry Yoo <harry.yoo@oracle.com>
>>>
>>> with a nit,
>>>
>>>> mm/slub.c | 10 ++++------
>>>> 1 file changed, 4 insertions(+), 6 deletions(-)
>>>>
>>>> diff --git a/mm/slub.c b/mm/slub.c
>>>> index 30003763d224..34853c0441a6 100644
>>>> --- a/mm/slub.c
>>>> +++ b/mm/slub.c
>>>> @@ -3064,18 +3064,16 @@ static inline void note_cmpxchg_failure(const char *n,
>>>>
>>>> pr_info("%s %s: cmpxchg redo ", n, s->name);
>>>>
>>>> -#ifdef CONFIG_PREEMPTION
>>>> - if (tid_to_cpu(tid) != tid_to_cpu(actual_tid))
>>>> + if (IS_ENABLED(CONFIG_PREEMPTION) && tid_to_cpu(tid) != tid_to_cpu(actual_tid)) {
>>>
>>> nit: insert newline after && as it's more than 80 columns?
>>
>> I noticed this too, but using the script ./scripts/checkpatch.pl , there were no warnings.
>>
>> $ ./scripts/checkpatch.pl 0001-mm-slub-Refactor-note_cmpxchg_failure-for-better-rea.patch
>> total: 0 errors, 0 warnings, 22 lines checked
>>
>> 0001-mm-slub-Refactor-note_cmpxchg_failure-for-better-rea.patch has no obvious style problems and is ready for submission.
>
> IIUC the default limit is increased to 100 characters in checkpatch
> but 80 characters is still preferred.
Thank you for your patience.
I will update the V2 version and include your Reviewed-by: Harry Yoo <harry.yoo@oracle.com>
>
> Quoting Documentation/process/coding-style.rst:
>
> 2) Breaking long lines and strings
> ----------------------------------
>
> Coding style is all about readability and maintainability using commonlu
> available tools.
>
> The preferred limit on the length of a single line is 80 columns.
>
> Statements longer than 80 columns should be broken into sensible chunks,
> unless exceeding 80 columns significantly increases readability and does
> not hide information.
>
> Descendants are always substantially shorter than the parent and
> are placed substantially to the right. A very commonly used style
> is to align descendants to a function open parenthesis.
>
> These same rules are applied to function headers with a long argument list.
>
> However, never break user-visible strings such as printk messages because
> that breaks the ability to grep for them.
>
> And also quoting a commit message:
>
> commit bdc48fa11e46f867ea4d75fa59ee87a7f48be144
> Author: Joe Perches <joe@perches.com>
> Date: Fri May 29 16:12:21 2020 -0700
>
> checkpatch/coding-style: deprecate 80-column warning
>
> Yes, staying withing 80 columns is certainly still _preferred_. But
> it's not the hard limit that the checkpatch warnings imply, and other
> concerns can most certainly dominate.
>
> Increase the default limit to 100 characters. Not because 100
> characters is some hard limit either, but that's certainly a "what are
> you doing" kind of value and less likely to be about the occasional
> slightly longer lines.
>
> Miscellanea:
>
> - to avoid unnecessary whitespace changes in files, checkpatch will no
> longer emit a warning about line length when scanning files unless
> --strict is also used
>
> - Add a bit to coding-style about alignment to open parenthesis
>
> Signed-off-by: Joe Perches <joe@perches.com>
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
>
>>>> pr_warn("due to cpu change %d -> %d\n",
>>>> tid_to_cpu(tid), tid_to_cpu(actual_tid));
>>>> - else
>>>> -#endif
>>>> - if (tid_to_event(tid) != tid_to_event(actual_tid))
>>>> + } else if (tid_to_event(tid) != tid_to_event(actual_tid)) {
>>>> pr_warn("due to cpu running other code. Event %ld->%ld\n",
>>>> tid_to_event(tid), tid_to_event(actual_tid));
>>>> - else
>>>> + } else {
>>>> pr_warn("for unknown reason: actual=%lx was=%lx target=%lx\n",
>>>> actual_tid, tid, next_tid(tid));
>>>> + }
>>>> #endif
>>>> stat(s, CMPXCHG_DOUBLE_CPU_FAIL);
>>>> }
>>>> --
>>>> 2.43.0
>>
>> --
>> Thanks,
>> Ye Liu
>>
>>
>
--
Thanks,
Ye Liu
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-09-08 9:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-08 7:19 [PATCH] mm/slub: Refactor note_cmpxchg_failure for better readability Ye Liu
2025-09-08 8:39 ` Harry Yoo
2025-09-08 8:56 ` Ye Liu
2025-09-08 9:21 ` Harry Yoo
2025-09-08 9:33 ` Ye Liu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox