David Howells <dhowe...@redhat.com> wrote:

> However, if both LRU discard and relinquishment happen *before* the SM
> runs, one of the queue events will get discarded, along with the ref that
> would be associated with it.  The last ref is then discarded and the cookie
> is removed without completing the relinquishment process - leaving the
> cookie hashed.

This can be seen in a trace, e.g.:

  kworker/u16:97-5939    [000] .....   639.403740: fscache_cookie: c=000071a9 - 
  lrudo r=3
  kworker/u16:97-5939    [000] .....   639.403741: fscache_cookie: c=000071a9 
GQ  endac r=4
  kworker/u16:97-5939    [000] .....   639.403745: fscache_cookie: c=000071a9 
PUT lru   r=3
       dirstress-7027    [002] .....   639.427220: fscache_relinquish: 
c=000071a9 V=00000001 r=3 U=0 f=bd rt=0
       dirstress-7027    [002] .....   639.427222: fscache_cookie: c=000071a9 
GQ  endac r=4
       dirstress-7027    [002] .....   639.427223: fscache_cookie: c=000071a9 
PQ  overq r=3

where the "overq" line marks the discarded event and ref.

David

--
Linux-cachefs mailing list
Linux-cachefs@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-cachefs

Reply via email to