On Wed, 7 Nov 2012 01:05:50 -0200 Rafael Aquini <aquini@xxxxxxxxxx> wrote: > Memory fragmentation introduced by ballooning might reduce significantly > the number of 2MB contiguous memory blocks that can be used within a guest, > thus imposing performance penalties associated with the reduced number of > transparent huge pages that could be used by the guest workload. > > This patch introduces a common interface to help a balloon driver on > making its page set movable to compaction, and thus allowing the system > to better leverage the compation efforts on memory defragmentation. mm/migrate.c: In function 'unmap_and_move': mm/migrate.c:899: error: 'COMPACTBALLOONRELEASED' undeclared (first use in this function) mm/migrate.c:899: error: (Each undeclared identifier is reported only once mm/migrate.c:899: error: for each function it appears in.) You've been bad - you didn't test with your feature disabled. Please do that. And not just compilation testing. We can fix this one with a sucky macro. I think that's better than unconditionally defining the enums. --- a/include/linux/balloon_compaction.h~mm-introduce-a-common-interface-for-balloon-pages-mobility-fix +++ a/include/linux/balloon_compaction.h @@ -207,10 +207,8 @@ static inline gfp_t balloon_mapping_gfp_ return GFP_HIGHUSER; } -static inline void balloon_event_count(enum vm_event_item item) -{ - return; -} +/* A macro, to avoid generating references to the undefined COMPACTBALLOON* */ +#define balloon_event_count(item) do { } while (0) static inline bool balloon_compaction_check(void) { -- 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>