Hi Yunlei,

> -----Original Message-----
> From: He YunLei [mailto:heyun...@huawei.com]
> Sent: Thursday, February 25, 2016 3:36 PM
> To: Chao Yu; jaeg...@kernel.org; linux-f2fs-devel@lists.sourceforge.net
> Cc: bintian.w...@huawei.com; 'Biao He'
> Subject: Re: [f2fs-dev] [PATCH] f2fs: avoid hungtask problem caused by losing 
> wake_up
> 
> On 2016/2/24 11:46, Chao Yu wrote:
> >>> > >
> >>> > >But I doubt more that the reason we are stuck is there are remained 
> >>> > >pages
> >>> > >cached in bio buffer without being submitted. To make sure, maybe in
> >>> > >wait_on_all_pages_writeback we could add print info to see whether
> >>> > >sbi->write_io[].bio is valid or not.
> >>> > >
> >> >We use tool dump f2fs_sb_info information and find that:
> >> >
> >> >  write_io[DATA].bio = 0;
> >> >  write_io[NODE].bio = 0;
> >> >  write_io[META].bio = 0;
> >> >
> >> >  nr_pages[F2FS_WRITEBACK] = 0;
> >> >  nr_pages[F2FS_DIRTY_DENTS] = 0;
> >> >  nr_pages[F2FS_DIRTY_NODES] = 13;
> > Weird, dirty nodes count should be 0.
> >
> > Thanks
> >
> Hi Chao,
> 
> In our code,
> 
> 1524 static int f2fs_write_end(struct file *file,
> 1525                         struct address_space *mapping,
> 1526                         loff_t pos, unsigned len, unsigned copied,
> 1527                         struct page *page, void *fsdata)
> 1528 {
> 1529         struct inode *inode = page->mapping->host;
> 1530
> 1531         trace_f2fs_write_end(inode, pos, len, copied);
> 1532
> 1533         set_page_dirty(page);
> 1534
> 1535         if (pos + copied > i_size_read(inode)) {
> 1536                 i_size_write(inode, pos + copied);
> 1537                 mark_inode_dirty(inode);
> 1538                 update_inode_page(inode);
> 1539         }
> 1540
> 1541         f2fs_put_page(page, 1);
> 1542         return copied;
> 1543 }
> 
> Here update_inode_page(inode) has been removed by Kim, maybe here could
> result dirty node page is not zero.

As your hint, I found an issue in f2fs_write_inode which may be related to
our problem. I wrote a patch for fixing.

Thanks,

> 
> Thanks,
> 
> >> >  nr_pages[F2FS_DIRTY_META] = 0;
> >> >  nr_pages[F2FS_INMEM_PAGES] = 0;
> >> >
> >> >So we believe that the block device is ok!
> >> >
> >> >Thanks,



------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to