On 09/07/2015 07:53 AM, Joonsoo Kim wrote: > On Thu, Aug 27, 2015 at 05:24:04PM +0200, Vlastimil Babka wrote: >> Compaction returns prematurely with COMPACT_PARTIAL when contended or has fatal >> signal pending. This is ok for the callers, but might be misleading in the >> traces, as the usual reason to return COMPACT_PARTIAL is that we think the >> allocation should succeed. This patch distinguishes the premature ending >> condition. Further distinguishing the exact reason seems unnecessary for now. > > isolate_migratepages() could return ISOLATE_ABORT and skip to call > compact_finished(). trace_mm_compaction_end() will print > COMPACT_PARTIAL in this case and we cannot distinguish premature > ending condition. Is it okay? Thanks, that could be indeed misleading. It will affect trace_mm_compaction_end() which also prints COMPACT_PARTIAL for COMPACT_CONTENDED case as it's already changed in compact_finished(). And there's no compaction_finished trace event to clarify. Some cases for abort can be inferred from trace_mm_compaction_isolate_migratepages, but not all. Maybe I could move the post-filtering for COMPACT_CONTENDED, now done in compact_finished() to the end of compact_zone()? That would both enhance also trace_mm_compaction_end() and allow setting proper "ret" value for the ISOLATE_ABORT case. The abort only happens for sched contention or too_many_isolated(), which is basically another form of contention... > Thanks. > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>