Re: [PATCH] mm, compaction: properly signal and act upon lock and need_sched() contention

From: Vlastimil Babka
Date: Tue May 13 2014 - 04:50:39 EST


On 05/12/2014 10:28 PM, David Rientjes wrote:
On Mon, 12 May 2014, Vlastimil Babka wrote:

diff --git a/mm/compaction.c b/mm/compaction.c
index 83ca6f9..b34ab7c 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -222,6 +222,27 @@ static bool compact_checklock_irqsave(spinlock_t *lock, unsigned long *flags,
return true;
}

+/*
+ * Similar to compact_checklock_irqsave() (see its comment) for places where
+ * a zone lock is not concerned.
+ *
+ * Returns false when compaction should abort.
+ */

I think we should have some sufficient commentary in the code that
describes why we do this.

Well I can of course mostly duplicate the comment of compact_checklock_irqsave() instead of referring to it, if you think that's better.

+static inline bool compact_check_resched(struct compact_control *cc)
+{

I'm not sure that compact_check_resched() is the appropriate name. Sure,
it specifies what the current implementation is, but what it's really
actually doing is determining when compaction should abort prematurely.

Something like compact_should_abort()?

I tried to be somewhat analogous to the name of compact_checklock_irqsave(). compact_should_abort() doesn't indicate that there might be a resched().
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/