From: Pengfei Li <lpf.vector@gmail.com>
To: akpm@linux-foundation.org
Cc: mgorman@techsingularity.net, mhocko@suse.com, vbabka@suse.cz,
cai@lca.pw, aryabinin@virtuozzo.com, osalvador@suse.de,
rostedt@goodmis.org, mingo@redhat.com,
pavel.tatashin@microsoft.com, rppt@linux.ibm.com,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Pengfei Li <lpf.vector@gmail.com>
Subject: [PATCH 00/10] make "order" unsigned int
Date: Fri, 26 Jul 2019 02:42:43 +0800 [thread overview]
Message-ID: <20190725184253.21160-1-lpf.vector@gmail.com> (raw)
Objective
----
The motivation for this series of patches is use unsigned int for
"order" in compaction.c, just like in other memory subsystems.
In addition, did some cleanup about "order" in page_alloc
and vmscan.
Description
----
Directly modifying the type of "order" to unsigned int is ok in most
places, because "order" is always non-negative.
But there are two places that are special, one is next_search_order()
and the other is compact_node().
For next_search_order(), order may be negative. It can be avoided by
some modifications.
For compact_node(), order = -1 means performing manual compaction.
It can be avoided by specifying order = MAX_ORDER.
Key changes in [PATCH 05/10] mm/compaction: make "order" and
"search_order" unsigned.
More information can be obtained from commit messages.
Test
----
I have done some stress testing locally and have not found any problems.
In addition, local tests indicate no performance impact.
Pengfei Li (10):
mm/page_alloc: use unsigned int for "order" in should_compact_retry()
mm/page_alloc: use unsigned int for "order" in __rmqueue_fallback()
mm/page_alloc: use unsigned int for "order" in should_compact_retry()
mm/page_alloc: remove never used "order" in alloc_contig_range()
mm/compaction: make "order" and "search_order" unsigned int in struct
compact_control
mm/compaction: make "order" unsigned int in compaction.c
trace/events/compaction: make "order" unsigned int
mm/compaction: use unsigned int for "compact_order_failed" in struct
zone
mm/compaction: use unsigned int for "kcompactd_max_order" in struct
pglist_data
mm/vmscan: use unsigned int for "kswapd_order" in struct pglist_data
include/linux/compaction.h | 30 +++----
include/linux/mmzone.h | 8 +-
include/trace/events/compaction.h | 40 +++++-----
include/trace/events/kmem.h | 6 +-
include/trace/events/oom.h | 6 +-
include/trace/events/vmscan.h | 4 +-
mm/compaction.c | 127 +++++++++++++++---------------
mm/internal.h | 6 +-
mm/page_alloc.c | 16 ++--
mm/vmscan.c | 6 +-
10 files changed, 126 insertions(+), 123 deletions(-)
--
2.21.0
next reply other threads:[~2019-07-25 18:43 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-25 18:42 Pengfei Li [this message]
2019-07-25 18:42 ` [PATCH 01/10] mm/page_alloc: use unsigned int for "order" in should_compact_retry() Pengfei Li
2019-07-25 18:58 ` Matthew Wilcox
2019-07-25 23:21 ` Pengfei Li
2019-07-25 18:42 ` [PATCH 02/10] mm/page_alloc: use unsigned int for "order" in __rmqueue_fallback() Pengfei Li
2019-07-26 9:36 ` Rasmus Villemoes
2019-07-27 2:34 ` Pengfei Li
2019-07-25 18:42 ` [PATCH 03/10] mm/page_alloc: use unsigned int for "order" in should_compact_retry() Pengfei Li
2019-07-25 18:42 ` [PATCH 04/10] mm/page_alloc: remove never used "order" in alloc_contig_range() Pengfei Li
2019-07-25 18:42 ` [PATCH 05/10] mm/compaction: make "order" and "search_order" unsigned int in struct compact_control Pengfei Li
2019-07-25 18:42 ` [PATCH 06/10] mm/compaction: make "order" unsigned int in compaction.c Pengfei Li
2019-07-25 18:42 ` [PATCH 07/10] trace/events/compaction: make "order" unsigned int Pengfei Li
2019-07-25 18:42 ` [PATCH 08/10] mm/compaction: use unsigned int for "compact_order_failed" in struct zone Pengfei Li
2019-07-25 18:42 ` [PATCH 09/10] mm/compaction: use unsigned int for "kcompactd_max_order" in struct pglist_data Pengfei Li
2019-07-25 18:42 ` [PATCH 10/10] mm/vmscan: use unsigned int for "kswapd_order" " Pengfei Li
2019-07-25 18:52 ` [PATCH 00/10] make "order" unsigned int Qian Cai
2019-07-25 23:48 ` Pengfei Li
2019-07-26 7:12 ` Michal Hocko
2019-07-27 17:25 ` Pengfei Li
2019-07-26 7:26 ` Mel Gorman
2019-07-27 16:44 ` Pengfei Li
2019-07-29 8:34 ` Mel Gorman
2019-07-30 5:53 ` Pengfei Li
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=20190725184253.21160-1-lpf.vector@gmail.com \
--to=lpf.vector@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=aryabinin@virtuozzo.com \
--cc=cai@lca.pw \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
--cc=mhocko@suse.com \
--cc=mingo@redhat.com \
--cc=osalvador@suse.de \
--cc=pavel.tatashin@microsoft.com \
--cc=rostedt@goodmis.org \
--cc=rppt@linux.ibm.com \
--cc=vbabka@suse.cz \
/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.