Date: Thu, 3 Oct 2019 23:28:07 +0000 From: Rick Macklem <rmacklem@uoguelph.ca> To: Peter Jeremy <peter@rulingia.com>, "freebsd-current@FreeBSD.org" <freebsd-current@FreeBSD.org> Subject: re: Reproducable deadlock in NFS client Message-ID: <YTOPR0101MB1163001233FBD6E7DFEE0790DD9F0@YTOPR0101MB1163.CANPRD01.PROD.OUTLOOK.COM>
next in thread | raw e-mail | index | archive | help
Hi Peter,=0A= =0A= You could try a couple of things:=0A= 1 - kib@ just put a patch up on phabricator that reorganizes the handling= =0A= of vnode_pager_setsize().=0A= D21883=0A= (If you could test this patch, that might be the best approach.)=0A= or=0A= 2 - The only differences between the post r352392 code and the older stuff= =0A= is that it calls vnode_pager_setsize() when the size hasn't changed.= =0A= I can't think of why that might cause a problem, but??=0A= I have a patch in phabricator D21814 that doesn't do the=0A= vnode_pager_setsize() call when the size doesn't change.=0A= --> If this patch were to avoid the hang, it could help diagnose the=0A= problem.=0A= The other difference is that it called vnode_pager_setsize() when ther= e=0A= was a small change, but not enough to affect a page boundary. I can't = think=0A= of how this would affect things either, but..=0A= or=0A= If you can't test either of the above patches, you could try reverting both= =0A= r352393 and r352457, which would put things back the way they've been=0A= for years, to see if that works ok.=0A= =0A= Good luck with it, rick=0A= ps: Btw, capturing "procstat -kk" and "ps axHl" would give you/us more info= .=0A= (The "H" on "ps" shows the iod threads.)=0A= If you can drop into the debugger when it is hung as above, you could= =0A= capture the stuff listed here:=0A= https://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerne= ldebug-deadlocks.html=0A= =0A=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YTOPR0101MB1163001233FBD6E7DFEE0790DD9F0>