Re: [PATCH v3] mm: compaction: handle incorrect Unmovable type pageblocks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/26/2012 10:36 AM, Mel Gorman wrote:

Hmm, at what point does COMPACT_ASYNC_FULL get used? I see it gets
used for the proc interface but it's not used via the page allocator at
all.

He is using COMPACT_SYNC for the proc interface, and
COMPACT_ASYNC_FULL from kswapd.

Minimally I was expecting to see if being used from the page allocator.

Makes sense, especially if we get the CPU overhead
saving stuff that we talked about at LSF to work :)

A better option might be to track the number of MIGRATE_UNMOVABLE blocks that
were skipped over during COMPACT_ASYNC_PARTIAL and if it was a high
percentage and it looked like compaction failed then to retry with
COMPACT_ASYNC_FULL. If you took this option, try_to_compact_pages()
would still only take sync as a parameter and keep the decision within
compaction.c

This I don't get.

If we have a small number of MIGRATE_UNMOVABLE blocks,
is it worth skipping over them?

If we have really large number of MIGRATE_UNMOVABLE blocks,
did we let things get out of hand?    By giving the page
allocator this many unmovable blocks to choose from, we
could have ended up with actually non-compactable memory.

If we have a medium number of MIGRATE_UNMOVABLE blocks,
is it worth doing a restart and scanning all the movable
blocks again?

In other words, could it be better to always try to
rescue the unmovable blocks?

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]