| From | "Kirill A. Shutemov" <> | Subject | [PATCHv4 16/39] thp, mm: locking tail page is a bug | Date | Sun, 12 May 2013 04:23:13 +0300 |
| |
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Locking head page means locking entire compound page. If we try to lock tail page, something went wrong.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> --- mm/filemap.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/mm/filemap.c b/mm/filemap.c index 3a03426..9ea46a4 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -681,6 +681,7 @@ void __lock_page(struct page *page) { DEFINE_WAIT_BIT(wait, &page->flags, PG_locked); + VM_BUG_ON(PageTail(page)); __wait_on_bit_lock(page_waitqueue(page), &wait, sleep_on_page, TASK_UNINTERRUPTIBLE); } @@ -690,6 +691,7 @@ int __lock_page_killable(struct page *page) { DEFINE_WAIT_BIT(wait, &page->flags, PG_locked); + VM_BUG_ON(PageTail(page)); return __wait_on_bit_lock(page_waitqueue(page), &wait, sleep_on_page_killable, TASK_KILLABLE); } -- 1.7.10.4
|