diff options
| -rw-r--r-- | mm/huge_memory.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 30100fac2341..cef2c256e7c4 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c | |||
| @@ -2402,6 +2402,12 @@ static void __split_huge_page_tail(struct page *head, int tail, | |||
| 2402 | (1L << PG_unevictable) | | 2402 | (1L << PG_unevictable) | |
| 2403 | (1L << PG_dirty))); | 2403 | (1L << PG_dirty))); |
| 2404 | 2404 | ||
| 2405 | /* ->mapping in first tail page is compound_mapcount */ | ||
| 2406 | VM_BUG_ON_PAGE(tail > 2 && page_tail->mapping != TAIL_MAPPING, | ||
| 2407 | page_tail); | ||
| 2408 | page_tail->mapping = head->mapping; | ||
| 2409 | page_tail->index = head->index + tail; | ||
| 2410 | |||
| 2405 | /* Page flags must be visible before we make the page non-compound. */ | 2411 | /* Page flags must be visible before we make the page non-compound. */ |
| 2406 | smp_wmb(); | 2412 | smp_wmb(); |
| 2407 | 2413 | ||
| @@ -2422,12 +2428,6 @@ static void __split_huge_page_tail(struct page *head, int tail, | |||
| 2422 | if (page_is_idle(head)) | 2428 | if (page_is_idle(head)) |
| 2423 | set_page_idle(page_tail); | 2429 | set_page_idle(page_tail); |
| 2424 | 2430 | ||
| 2425 | /* ->mapping in first tail page is compound_mapcount */ | ||
| 2426 | VM_BUG_ON_PAGE(tail > 2 && page_tail->mapping != TAIL_MAPPING, | ||
| 2427 | page_tail); | ||
| 2428 | page_tail->mapping = head->mapping; | ||
| 2429 | |||
| 2430 | page_tail->index = head->index + tail; | ||
| 2431 | page_cpupid_xchg_last(page_tail, page_cpupid_last(head)); | 2431 | page_cpupid_xchg_last(page_tail, page_cpupid_last(head)); |
| 2432 | 2432 | ||
| 2433 | /* | 2433 | /* |
