diff options
author | Joonsoo Kim <iamjoonsoo.kim@lge.com> | 2016-07-26 15:23:46 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-26 16:19:19 -0700 |
commit | a8efe1c982a22c95884dee1ddf2e721567d1f483 (patch) | |
tree | 29e0e60f4f87264436551ad480e74e6112d970f0 /mm | |
parent | 83358ece26b70f20c0ba2e0e00dc84b0ee24fe6d (diff) | |
download | linux-stable-a8efe1c982a22c95884dee1ddf2e721567d1f483.tar.gz linux-stable-a8efe1c982a22c95884dee1ddf2e721567d1f483.tar.bz2 linux-stable-a8efe1c982a22c95884dee1ddf2e721567d1f483.zip |
mm/page_owner: copy last_migrate_reason in copy_page_owner()
Currently, copy_page_owner() doesn't copy all the owner information. It
skips last_migrate_reason because copy_page_owner() is used for
migration and it will be properly set soon. But, following patch will
use copy_page_owner() and this skip will cause the problem that
allocated page has uninitialied last_migrate_reason. To prevent it,
this patch also copy last_migrate_reason in copy_page_owner().
Link: http://lkml.kernel.org/r/1464230275-25791-3-git-send-email-iamjoonsoo.kim@lge.com
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Alexander Potapenko <glider@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/page_owner.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/mm/page_owner.c b/mm/page_owner.c index fedeba88c9cb..437877f5b774 100644 --- a/mm/page_owner.c +++ b/mm/page_owner.c @@ -118,6 +118,7 @@ void __copy_page_owner(struct page *oldpage, struct page *newpage) new_ext->order = old_ext->order; new_ext->gfp_mask = old_ext->gfp_mask; + new_ext->last_migrate_reason = old_ext->last_migrate_reason; new_ext->nr_entries = old_ext->nr_entries; for (i = 0; i < ARRAY_SIZE(new_ext->trace_entries); i++) |