Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1323175

Re: [PATCH 1/2] mm: fix bogus VM_BUG_ON_PAGE() in isolate_lru_page()

From "Kirill A. Shutemov" <kirill@shutemov.name>
Newsgroups linux.kernel
Subject Re: [PATCH 1/2] mm: fix bogus VM_BUG_ON_PAGE() in isolate_lru_page()
Date 2016-02-01 15:40 +0100
Message-ID <qXnO2-4aB-35@gated-at.bofh.it> (permalink)
References <qXmIi-3oo-13@gated-at.bofh.it> <qXmIj-3oo-21@gated-at.bofh.it> <qXnEm-45e-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, Feb 01, 2016 at 03:24:46PM +0100, Michal Hocko wrote:
> On Mon 01-02-16 16:26:08, Kirill A. Shutemov wrote:
> > We don't care if there's a tail pages which is not on LRU. We are not
> > going to isolate them anyway.
> 
> yes we are not going to isolate them but calling this function on a
> tail page is wrong in principle, no? PageLRU check is racy outside of
> lru_lock so what if we are racing here. I know, highly unlikely but not
> impossible. So I am not really sure this is an improvement. When would
> we hit this VM_BUG_ON and it wouldn't be a bug or at least suspicious
> usage?

Yes, there is no point in calling isolate_lru_page() for tail pages, but
we do this anyway -- see the second patch.

And we need to validate all drivers, that they don't forget to set VM_IO
or make vma_migratable() return false in other way.

Alternative approach would be to downgrate the VM_BUG_ON_PAGE() to
WARN_ONCE_ON(). This way we would have chance to catch bad callers.

-- 
 Kirill A. Shutemov

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/2] Fix another VM_BUG_ON_PAGE(PageTail(page)) on mbind(2) "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2016-02-01 14:30 +0100
  [PATCH 1/2] mm: fix bogus VM_BUG_ON_PAGE() in isolate_lru_page() "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2016-02-01 14:30 +0100
    Re: [PATCH 1/2] mm: fix bogus VM_BUG_ON_PAGE() in isolate_lru_page() Michal Hocko <mhocko@kernel.org> - 2016-02-01 15:30 +0100
      Re: [PATCH 1/2] mm: fix bogus VM_BUG_ON_PAGE() in isolate_lru_page() "Kirill A. Shutemov" <kirill@shutemov.name> - 2016-02-01 15:40 +0100
        Re: [PATCH 1/2] mm: fix bogus VM_BUG_ON_PAGE() in isolate_lru_page() Michal Hocko <mhocko@kernel.org> - 2016-02-02 14:30 +0100
  [PATCH 2/2] mempolicy: do not try to queue pages from !vma_migratable() "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2016-02-01 14:30 +0100
    Re: [PATCH 2/2] mempolicy: do not try to queue pages from  !vma_migratable() Andrew Morton <akpm@linux-foundation.org> - 2016-02-01 23:30 +0100

csiph-web