Re: [RFC PATCH] iomap: add support to track dirty state of sub pages

2020-07-31 Thread Christoph Hellwig
On Thu, Jul 30, 2020 at 04:19:34AM +0100, Matthew Wilcox wrote: > On Thu, Jul 30, 2020 at 09:19:01AM +0800, Yu Kuai wrote: > > +++ b/fs/iomap/buffered-io.c > > @@ -29,7 +29,9 @@ struct iomap_page { > > atomic_tread_count; > > atomic_twrite_count; > >

Re: [RFC PATCH] iomap: add support to track dirty state of sub pages

2020-07-29 Thread yukuai (C)
On 2020/7/30 11:19, Matthew Wilcox wrote: Maybe let the discussion on removing the ->uptodate array finish before posting another patch for review? Hi, Matthew! Of course, I missed the discussion thread before sending this path. And thanks for your suggestions. Best regards, Yu Kuai

Re: [RFC PATCH] iomap: add support to track dirty state of sub pages

2020-07-29 Thread Matthew Wilcox
On Thu, Jul 30, 2020 at 09:19:01AM +0800, Yu Kuai wrote: > +++ b/fs/iomap/buffered-io.c > @@ -29,7 +29,9 @@ struct iomap_page { > atomic_tread_count; > atomic_twrite_count; > spinlock_t uptodate_lock; > + spinlock_t

Re: [RFC PATCH] iomap: add support to track dirty state of sub pages

2020-07-29 Thread yukuai (C)
On 2020/7/30 10:27, Gao Xiang wrote: Hi Kuai, On Thu, Jul 30, 2020 at 09:19:01AM +0800, Yu Kuai wrote: commit 9dc55f1389f9 ("iomap: add support for sub-pagesize buffered I/O without buffer heads") replace the per-block structure buffer_head with the per-page structure iomap_page. However,

Re: [RFC PATCH] iomap: add support to track dirty state of sub pages

2020-07-29 Thread Gao Xiang
Hi Kuai, On Thu, Jul 30, 2020 at 09:19:01AM +0800, Yu Kuai wrote: > commit 9dc55f1389f9 ("iomap: add support for sub-pagesize buffered I/O > without buffer heads") replace the per-block structure buffer_head with > the per-page structure iomap_page. However, iomap_page can't track the > dirty

[RFC PATCH] iomap: add support to track dirty state of sub pages

2020-07-29 Thread Yu Kuai
commit 9dc55f1389f9 ("iomap: add support for sub-pagesize buffered I/O without buffer heads") replace the per-block structure buffer_head with the per-page structure iomap_page. However, iomap_page can't track the dirty state of sub pages, which will cause performance issue since sub pages will be