mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-30 02:54:35 +00:00
mm, compaction: cleanup unused functions
Since kswapd compaction moved to kcompactd, compact_pgdat() is not called anymore, so we remove it. The only caller of __compact_pgdat() is compact_node(), so we merge them and remove code that was only reachable from kswapd. Link: http://lkml.kernel.org/r/20160810091226.6709-3-vbabka@suse.cz Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Tested-by: Lorenzo Stoakes <lstoakes@gmail.com> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Mel Gorman <mgorman@techsingularity.net> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: David Rientjes <rientjes@google.com> Cc: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
06ed29989f
commit
791cae9620
2 changed files with 21 additions and 52 deletions
|
@ -70,7 +70,6 @@ extern int fragmentation_index(struct zone *zone, unsigned int order);
|
||||||
extern enum compact_result try_to_compact_pages(gfp_t gfp_mask,
|
extern enum compact_result try_to_compact_pages(gfp_t gfp_mask,
|
||||||
unsigned int order, unsigned int alloc_flags,
|
unsigned int order, unsigned int alloc_flags,
|
||||||
const struct alloc_context *ac, enum compact_priority prio);
|
const struct alloc_context *ac, enum compact_priority prio);
|
||||||
extern void compact_pgdat(pg_data_t *pgdat, int order);
|
|
||||||
extern void reset_isolation_suitable(pg_data_t *pgdat);
|
extern void reset_isolation_suitable(pg_data_t *pgdat);
|
||||||
extern enum compact_result compaction_suitable(struct zone *zone, int order,
|
extern enum compact_result compaction_suitable(struct zone *zone, int order,
|
||||||
unsigned int alloc_flags, int classzone_idx);
|
unsigned int alloc_flags, int classzone_idx);
|
||||||
|
@ -154,10 +153,6 @@ extern void kcompactd_stop(int nid);
|
||||||
extern void wakeup_kcompactd(pg_data_t *pgdat, int order, int classzone_idx);
|
extern void wakeup_kcompactd(pg_data_t *pgdat, int order, int classzone_idx);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
static inline void compact_pgdat(pg_data_t *pgdat, int order)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void reset_isolation_suitable(pg_data_t *pgdat)
|
static inline void reset_isolation_suitable(pg_data_t *pgdat)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1736,54 +1736,11 @@ enum compact_result try_to_compact_pages(gfp_t gfp_mask, unsigned int order,
|
||||||
|
|
||||||
|
|
||||||
/* Compact all zones within a node */
|
/* Compact all zones within a node */
|
||||||
static void __compact_pgdat(pg_data_t *pgdat, struct compact_control *cc)
|
|
||||||
{
|
|
||||||
int zoneid;
|
|
||||||
struct zone *zone;
|
|
||||||
|
|
||||||
for (zoneid = 0; zoneid < MAX_NR_ZONES; zoneid++) {
|
|
||||||
|
|
||||||
zone = &pgdat->node_zones[zoneid];
|
|
||||||
if (!populated_zone(zone))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
cc->nr_freepages = 0;
|
|
||||||
cc->nr_migratepages = 0;
|
|
||||||
cc->zone = zone;
|
|
||||||
INIT_LIST_HEAD(&cc->freepages);
|
|
||||||
INIT_LIST_HEAD(&cc->migratepages);
|
|
||||||
|
|
||||||
if (is_via_compact_memory(cc->order) ||
|
|
||||||
!compaction_deferred(zone, cc->order))
|
|
||||||
compact_zone(zone, cc);
|
|
||||||
|
|
||||||
VM_BUG_ON(!list_empty(&cc->freepages));
|
|
||||||
VM_BUG_ON(!list_empty(&cc->migratepages));
|
|
||||||
|
|
||||||
if (is_via_compact_memory(cc->order))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (zone_watermark_ok(zone, cc->order,
|
|
||||||
low_wmark_pages(zone), 0, 0))
|
|
||||||
compaction_defer_reset(zone, cc->order, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void compact_pgdat(pg_data_t *pgdat, int order)
|
|
||||||
{
|
|
||||||
struct compact_control cc = {
|
|
||||||
.order = order,
|
|
||||||
.mode = MIGRATE_ASYNC,
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!order)
|
|
||||||
return;
|
|
||||||
|
|
||||||
__compact_pgdat(pgdat, &cc);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void compact_node(int nid)
|
static void compact_node(int nid)
|
||||||
{
|
{
|
||||||
|
pg_data_t *pgdat = NODE_DATA(nid);
|
||||||
|
int zoneid;
|
||||||
|
struct zone *zone;
|
||||||
struct compact_control cc = {
|
struct compact_control cc = {
|
||||||
.order = -1,
|
.order = -1,
|
||||||
.mode = MIGRATE_SYNC,
|
.mode = MIGRATE_SYNC,
|
||||||
|
@ -1791,7 +1748,24 @@ static void compact_node(int nid)
|
||||||
.whole_zone = true,
|
.whole_zone = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
__compact_pgdat(NODE_DATA(nid), &cc);
|
|
||||||
|
for (zoneid = 0; zoneid < MAX_NR_ZONES; zoneid++) {
|
||||||
|
|
||||||
|
zone = &pgdat->node_zones[zoneid];
|
||||||
|
if (!populated_zone(zone))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
cc.nr_freepages = 0;
|
||||||
|
cc.nr_migratepages = 0;
|
||||||
|
cc.zone = zone;
|
||||||
|
INIT_LIST_HEAD(&cc.freepages);
|
||||||
|
INIT_LIST_HEAD(&cc.migratepages);
|
||||||
|
|
||||||
|
compact_zone(zone, &cc);
|
||||||
|
|
||||||
|
VM_BUG_ON(!list_empty(&cc.freepages));
|
||||||
|
VM_BUG_ON(!list_empty(&cc.migratepages));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Compact all nodes in the system */
|
/* Compact all nodes in the system */
|
||||||
|
|
Loading…
Add table
Reference in a new issue