[PATCH 08/10] mm/compaction: use unsigned int for "compact_order_failed" in struct zone

From: Pengfei Li
Date: Thu Jul 25 2019 - 14:44:40 EST


Because "compact_order_failed" will never be negative, so just
make it unsigned int. And modify three related trace functions
accordingly.

Signed-off-by: Pengfei Li <lpf.vector@xxxxxxxxx>
---
include/linux/compaction.h | 12 ++++++------
include/linux/mmzone.h | 2 +-
include/trace/events/compaction.h | 14 +++++++-------
mm/compaction.c | 8 ++++----
4 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/include/linux/compaction.h b/include/linux/compaction.h
index 0201dfa57d44..a8049d582265 100644
--- a/include/linux/compaction.h
+++ b/include/linux/compaction.h
@@ -99,11 +99,11 @@ extern void reset_isolation_suitable(pg_data_t *pgdat);
extern enum compact_result compaction_suitable(struct zone *zone,
unsigned int order, unsigned int alloc_flags, int classzone_idx);

-extern void defer_compaction(struct zone *zone, int order);
-extern bool compaction_deferred(struct zone *zone, int order);
-extern void compaction_defer_reset(struct zone *zone, int order,
+extern void defer_compaction(struct zone *zone, unsigned int order);
+extern bool compaction_deferred(struct zone *zone, unsigned int order);
+extern void compaction_defer_reset(struct zone *zone, unsigned int order,
bool alloc_success);
-extern bool compaction_restarting(struct zone *zone, int order);
+extern bool compaction_restarting(struct zone *zone, unsigned int order);

/* Compaction has made some progress and retrying makes sense */
static inline bool compaction_made_progress(enum compact_result result)
@@ -188,11 +188,11 @@ static inline enum compact_result compaction_suitable(struct zone *zone,
return COMPACT_SKIPPED;
}

-static inline void defer_compaction(struct zone *zone, int order)
+static inline void defer_compaction(struct zone *zone, unsigned int order)
{
}

-static inline bool compaction_deferred(struct zone *zone, int order)
+static inline bool compaction_deferred(struct zone *zone, unsigned int order)
{
return true;
}
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index d77d717c620c..0947e7cb4214 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -545,7 +545,7 @@ struct zone {
*/
unsigned int compact_considered;
unsigned int compact_defer_shift;
- int compact_order_failed;
+ unsigned int compact_order_failed;
#endif

#if defined CONFIG_COMPACTION || defined CONFIG_CMA
diff --git a/include/trace/events/compaction.h b/include/trace/events/compaction.h
index 1e1e74f6d128..f83ba40f9614 100644
--- a/include/trace/events/compaction.h
+++ b/include/trace/events/compaction.h
@@ -243,17 +243,17 @@ DEFINE_EVENT(mm_compaction_suitable_template, mm_compaction_suitable,

DECLARE_EVENT_CLASS(mm_compaction_defer_template,

- TP_PROTO(struct zone *zone, int order),
+ TP_PROTO(struct zone *zone, unsigned int order),

TP_ARGS(zone, order),

TP_STRUCT__entry(
__field(int, nid)
__field(enum zone_type, idx)
- __field(int, order)
+ __field(unsigned int, order)
__field(unsigned int, considered)
__field(unsigned int, defer_shift)
- __field(int, order_failed)
+ __field(unsigned int, order_failed)
),

TP_fast_assign(
@@ -265,7 +265,7 @@ DECLARE_EVENT_CLASS(mm_compaction_defer_template,
__entry->order_failed = zone->compact_order_failed;
),

- TP_printk("node=%d zone=%-8s order=%d order_failed=%d consider=%u limit=%lu",
+ TP_printk("node=%d zone=%-8s order=%u order_failed=%u consider=%u limit=%lu",
__entry->nid,
__print_symbolic(__entry->idx, ZONE_TYPE),
__entry->order,
@@ -276,21 +276,21 @@ DECLARE_EVENT_CLASS(mm_compaction_defer_template,

DEFINE_EVENT(mm_compaction_defer_template, mm_compaction_deferred,

- TP_PROTO(struct zone *zone, int order),
+ TP_PROTO(struct zone *zone, unsigned int order),

TP_ARGS(zone, order)
);

DEFINE_EVENT(mm_compaction_defer_template, mm_compaction_defer_compaction,

- TP_PROTO(struct zone *zone, int order),
+ TP_PROTO(struct zone *zone, unsigned int order),

TP_ARGS(zone, order)
);

DEFINE_EVENT(mm_compaction_defer_template, mm_compaction_defer_reset,

- TP_PROTO(struct zone *zone, int order),
+ TP_PROTO(struct zone *zone, unsigned int order),

TP_ARGS(zone, order)
);
diff --git a/mm/compaction.c b/mm/compaction.c
index ac5df82d46e0..aad638ad2cc6 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -139,7 +139,7 @@ EXPORT_SYMBOL(__ClearPageMovable);
* allocation success. 1 << compact_defer_limit compactions are skipped up
* to a limit of 1 << COMPACT_MAX_DEFER_SHIFT
*/
-void defer_compaction(struct zone *zone, int order)
+void defer_compaction(struct zone *zone, unsigned int order)
{
zone->compact_considered = 0;
zone->compact_defer_shift++;
@@ -154,7 +154,7 @@ void defer_compaction(struct zone *zone, int order)
}

/* Returns true if compaction should be skipped this time */
-bool compaction_deferred(struct zone *zone, int order)
+bool compaction_deferred(struct zone *zone, unsigned int order)
{
unsigned long defer_limit = 1UL << zone->compact_defer_shift;

@@ -178,7 +178,7 @@ bool compaction_deferred(struct zone *zone, int order)
* which means an allocation either succeeded (alloc_success == true) or is
* expected to succeed.
*/
-void compaction_defer_reset(struct zone *zone, int order,
+void compaction_defer_reset(struct zone *zone, unsigned int order,
bool alloc_success)
{
if (alloc_success) {
@@ -192,7 +192,7 @@ void compaction_defer_reset(struct zone *zone, int order,
}

/* Returns true if restarting compaction after many failures */
-bool compaction_restarting(struct zone *zone, int order)
+bool compaction_restarting(struct zone *zone, unsigned int order)
{
if (order < zone->compact_order_failed)
return false;
--
2.21.0