On Tue 02-02-16 19:21:01, Kirill A. Shutemov wrote:
> Calling isolate_lru_page() is wrong and shouldn't happen, but it not
> nessesary fatal: the page just will not be isolated if it's not on LRU.
> 
> Let's downgrade the VM_BUG_ON_PAGE() to WARN_RATELIMIT().

This will trigger for !CONFIG_DEBUG_VM as well which I am not sure is
necessary. I guess isolate_lru_page is not such a hot path so this would
be acceptable.

> Signed-off-by: Kirill A. Shutemov <[email protected]>

Anyway
Acked-by: Michal Hocko <[email protected]>

> ---
>  mm/vmscan.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index eb3dd37ccd7c..71b1c29948db 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -1443,7 +1443,7 @@ int isolate_lru_page(struct page *page)
>       int ret = -EBUSY;
>  
>       VM_BUG_ON_PAGE(!page_count(page), page);
> -     VM_BUG_ON_PAGE(PageTail(page), page);
> +     WARN_RATELIMIT(PageTail(page), "trying to isolate tail page");
>  
>       if (PageLRU(page)) {
>               struct zone *zone = page_zone(page);
> -- 
> 2.7.0
> 

-- 
Michal Hocko
SUSE Labs

Reply via email to