[Linux-cachefs] hung task on page invalidate

Milosz Tanski milosz at adfin.com
Fri Oct 11 19:09:09 UTC 2013


David,

The patch that you sent me in private last week solved this issue and
I haven't experienced it. I haven't seen the patch go into your
linus-fs.git tree, so I don't know if you submitted the fix upstream
to the linux kernel. So I'm following up to see if you plan are
sending to mainline since it'll benefit all the fscache enabled
filesystems.

Thanks,
- Milosz

On Thu, Oct 3, 2013 at 12:43 PM, David Howells <dhowells at redhat.com> wrote:
> Milosz Tanski <milosz at adfin.com> wrote:
>
>> Stores : ops=10257 run=67477 pgs=57220 rxd=62216 olm=14
>
> I think this line probably shows the problem.  The olm=14 indicates that 14
> pages were found over the store limit set on the object.  Look in
> fscache_write_op() for:
>
>         if (page->index > op->store_limit) {
>                 fscache_stat(&fscache_n_store_pages_over_limit);
>                 goto superseded;
>         }
>
> If we find a page that's over the store limit, we immediately abandon the
> storage attempt - which is wrong.  We need to do something similar to
> fscache_end_page_write() but clearing COOKIE_PENDING_TAG - and then we need to
> continue and clear all pages over the limit.
>
> David




More information about the Linux-cachefs mailing list