linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] make "order" unsigned int
@ 2019-07-25 18:42 Pengfei Li
  2019-07-25 18:42 ` [PATCH 01/10] mm/page_alloc: use unsigned int for "order" in should_compact_retry() Pengfei Li
                   ` (11 more replies)
  0 siblings, 12 replies; 23+ messages in thread
From: Pengfei Li @ 2019-07-25 18:42 UTC (permalink / raw)
  To: akpm
  Cc: mgorman, mhocko, vbabka, cai, aryabinin, osalvador, rostedt,
	mingo, pavel.tatashin, rppt, linux-kernel, linux-mm, Pengfei Li

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


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

end of thread, other threads:[~2019-07-30  5:53 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-25 18:42 [PATCH 00/10] make "order" unsigned int Pengfei Li
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

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