diff options
Diffstat (limited to 'mm/compaction.c')
-rw-r--r-- | mm/compaction.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/compaction.c b/mm/compaction.c index 5079ddbec8f9..c40d3a13cbbd 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -1668,10 +1668,12 @@ check_drain: block_start_pfn(cc->migrate_pfn, cc->order); if (cc->last_migrated_pfn < current_block_start) { - cpu = get_cpu(); + cpu = get_cpu_light(); + local_lock_irq(swapvec_lock); lru_add_drain_cpu(cpu); + local_unlock_irq(swapvec_lock); drain_local_pages(zone); - put_cpu(); + put_cpu_light(); /* No more flushing until we migrate again */ cc->last_migrated_pfn = 0; } |