Re: Reproducable deadlock in NFS client

2019-10-03 Thread Peter Jeremy
On 2019-Oct-03 23:28:07 +, Rick Macklem  wrote:
>1 - kib@ just put a patch up on phabricator that reorganizes the handling
>  of vnode_pager_setsize().
>  D21883
>  (If you could test this patch, that might be the best approach.)

That fixes my problem.  I've added a note to D21883

>ps: Btw, capturing "procstat -kk" and "ps axHl" would give you/us more info.
> (The "H" on "ps" shows the iod threads.)
>  If you can drop into the debugger when it is hung as above, you could
>  capture the stuff listed here:
>https://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug-deadlocks.html

Thanks for the pointer and sorry for leaving that out.

-- 
Peter Jeremy


signature.asc
Description: PGP signature


re: Reproducable deadlock in NFS client

2019-10-03 Thread Rick Macklem
Hi Peter,

You could try a couple of things:
1 - kib@ just put a patch up on phabricator that reorganizes the handling
  of vnode_pager_setsize().
  D21883
  (If you could test this patch, that might be the best approach.)
or
2 - The only differences between the post r352392 code and the older stuff
 is that it calls vnode_pager_setsize() when the size hasn't changed.
 I can't think of why that might cause a problem, but??
 I have a patch in phabricator D21814 that doesn't do the
 vnode_pager_setsize() call when the size doesn't change.
--> If this patch were to avoid the hang, it could help diagnose the
   problem.
 The other difference is that it called vnode_pager_setsize() when there
 was a small change, but not enough to affect a page boundary. I can't think
 of how this would affect things either, but..
or
If you can't test either of the above patches, you could try reverting both
r352393 and r352457, which would put things back the way they've been
for years, to see if that works ok.

Good luck with it, rick
ps: Btw, capturing "procstat -kk" and "ps axHl" would give you/us more info.
 (The "H" on "ps" shows the iod threads.)
  If you can drop into the debugger when it is hung as above, you could
  capture the stuff listed here:
https://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug-deadlocks.html

___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"