lkml.org 
[lkml]   [2012]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: WARNING: at mm/page-writeback.c:1990 __set_page_dirty_nobuffers+0x13a/0x170()
On Fri, Jun 01, 2012 at 01:44:44AM -0700, Hugh Dickins wrote:

> Please give this patch a try (preferably on current git), and let us know.
>
> Thanks,
> Hugh
>
> --- 3.4.0+/mm/migrate.c 2012-05-27 10:01:43.104049010 -0700
> +++ linux/mm/migrate.c 2012-06-01 00:10:58.080098749 -0700
> @@ -436,7 +436,10 @@ void migrate_page_copy(struct page *newp
> * is actually a signal that all of the page has become dirty.
> * Whereas only part of our page may be dirty.
> */
> - __set_page_dirty_nobuffers(newpage);
> + if (PageSwapBacked(page))
> + SetPageDirty(newpage);
> + else
> + __set_page_dirty_nobuffers(newpage);
> }
>
> mlock_migrate_page(newpage, page);
> --- 3.4.0+/mm/page-writeback.c 2012-05-29 08:09:58.304806782 -0700
> +++ linux/mm/page-writeback.c 2012-06-01 00:23:43.984116973 -0700
> @@ -1987,7 +1987,10 @@ int __set_page_dirty_nobuffers(struct pa
> mapping2 = page_mapping(page);
> if (mapping2) { /* Race with truncate? */
> BUG_ON(mapping2 != mapping);
> - WARN_ON_ONCE(!PagePrivate(page) && !PageUptodate(page));
> + if (WARN_ON(!PagePrivate(page) && !PageUptodate(page)))
> + print_symbol(KERN_WARNING
> + "mapping->a_ops->writepage: %s\n",
> + (unsigned long)mapping->a_ops->writepage);
> account_page_dirtied(page, mapping);
> radix_tree_tag_set(&mapping->page_tree,
> page_index(page), PAGECACHE_TAG_DIRTY);

So with this applied, I don't seem to be able to trigger it. It's been running two hours
so far. I'll leave it running, but right now I don't know what to make of this.

Dave


\
 
 \ /
  Last update: 2012-06-01 19:21    [W:0.185 / U:21.800 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site