Date: Mon, 16 Sep 2019 17:44:28 +1000 From: Peter Jeremy <peter@rulingia.com> To: Konstantin Belousov <kostikbel@gmail.com> Cc: freebsd-current@FreeBSD.org, freebsd-arm@FreeBSD.org, rmacklem@freebsd.org Subject: Re: "Sleeping with non-sleepable lock" in NFS on recent -current Message-ID: <20190916074428.GF97181@server.rulingia.com> In-Reply-To: <20190916063252.GS2559@kib.kiev.ua> References: <20190916061205.GE97181@server.rulingia.com> <20190916063252.GS2559@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
--yLVHuoLXiP9kZBkt Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2019-Sep-16 09:32:52 +0300, Konstantin Belousov <kostikbel@gmail.com> wr= ote: >On Mon, Sep 16, 2019 at 04:12:05PM +1000, Peter Jeremy wrote: >> I'm consistently seeing panics in the NFS code on recent -current on aar= m64. >> The panics are one of the following two: >> Sleeping on "vmopar" with the following non-sleepable locks held: >> exclusive sleep mutex NEWNFSnode lock (NEWNFSnode lock) r =3D 0 (0xfffff= d0078b346f0) locked @ /usr/src/sys/fs/nfsclient/nfs_clport.c:432 >>=20 >> Sleeping thread (tid 100077, pid 35) owns a non-sleepable lock >>=20 >> Both panics have nearly identical backtraces (see below). I'm running >> diskless on a Rock64 with both filesystem and swap over NFS. The panics >> can be fairly reliably triggered by any of: >> * "make -j4 buildworld" >> * linking the kernel (as part of buildkernel) >> * "make installworld" >>=20 >> Has anyone else seen this? =2E.. >Weird since this should have been fixed long time ago. Anyway, please >try the following, it should fix the rest of cases. > >diff --git a/sys/fs/nfsclient/nfs_clport.c b/sys/fs/nfsclient/nfs_clport.c =2E.. >@@ -540,7 +541,7 @@ nfscl_loadattrcache(struct vnode **vpp, struct nfsvatt= r *nap, void *nvaper, > } else { > np->n_size =3D vap->va_size; > np->n_flag |=3D NSIZECHANGED; >- vnode_pager_setsize(vp, np->n_size); >+ setnsize =3D 1; Should this else block include a "nsize =3D np->n_size;"? Without it, nsize will remain set to 0, which looks wrong. --=20 Peter Jeremy --yLVHuoLXiP9kZBkt Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE7rKYbDBnHnTmXCJ+FqWXoOSiCzQFAl1/PVZfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEVF QjI5ODZDMzA2NzFFNzRFNjVDMjI3RTE2QTU5N0EwRTRBMjBCMzQACgkQFqWXoOSi CzQn5A/+KCn/0VbEW0fEq2sWUBEYU7yKurDXKhvlcVYn2QCsBwgzi/PW1TJPUg6X AGuq/dg4wLRxPVVvtRN42x4x8nxCe2A+hxFtH1bq1JY61sBQZFhCqf+aewA4U2in oP1cJEbxSuMyZxBHz7RsW/788PNk/Y0gJIvX2GGR3zAc4fnxRCLlRePcQ7MZV1qW IPyEz1P2jOW5VA6azFQerKe2Qg8K2ZYv+ph589CmdNk66+sSb63DXe2lhA1JPDzV B3Pgf1oPMjJP4CabpEl+7Q8gQdr5h8kTE1IfRhgXcsdJdukLFCpN/jAzBeBRDf3j wgsmYoiZ7qLMWnElaC1B9K+wFWwoqmD4E3ljBUi7l0/P8DEbQfht3UY0UBqEZ7XF HYiSQm5OdPfLzg8SaVVthBNSgh6+fhVE3x7nAXSUlGXQUE5lMjCoYOI7TOPrzSkK WHbTRStCJSVK7E+uK+kZW5aVNkidnsl/bcre7joJ5FVZqSUHlSuFTA0sEgtUhQ5O V0xNviITAhlovqFIQD27EiFXjqTqsCHMjZPpEHclSgUrd2fV/ZaNvcSN972sS1j+ e9rxbxCJ+51xKcUyS0C1sHp5qy1xgPuCLb8pSTOeR1+w3D8ZxXpcE0u/msOmycGS GsuZkpjvGQ9RqEQ5NwPtMffI876TVL4Mos5eKvq0ewTWn5tsbQg= =cyFK -----END PGP SIGNATURE----- --yLVHuoLXiP9kZBkt--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190916074428.GF97181>