From owner-freebsd-arm@freebsd.org Mon Sep 16 07:44:45 2019 Return-Path: Delivered-To: freebsd-arm@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 530C1F6B35; Mon, 16 Sep 2019 07:44:45 +0000 (UTC) (envelope-from peter@rulingia.com) Received: from vtr.rulingia.com (vtr.rulingia.com [IPv6:2001:19f0:5801:ebe:5400:1ff:fe53:30fd]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vtr.rulingia.com", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46Wyv03C8gz4H4d; Mon, 16 Sep 2019 07:44:43 +0000 (UTC) (envelope-from peter@rulingia.com) Received: from server.rulingia.com (ppp239-208.static.internode.on.net [59.167.239.208]) by vtr.rulingia.com (8.15.2/8.15.2) with ESMTPS id x8G7iXlF094371 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Sep 2019 17:44:39 +1000 (AEST) (envelope-from peter@rulingia.com) X-Bogosity: Ham, spamicity=0.000000 Received: from server.rulingia.com (localhost.rulingia.com [127.0.0.1]) by server.rulingia.com (8.15.2/8.15.2) with ESMTPS id x8G7iS1w034837 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 16 Sep 2019 17:44:28 +1000 (AEST) (envelope-from peter@server.rulingia.com) Received: (from peter@localhost) by server.rulingia.com (8.15.2/8.15.2/Submit) id x8G7iSRj034836; Mon, 16 Sep 2019 17:44:28 +1000 (AEST) (envelope-from peter) Date: Mon, 16 Sep 2019 17:44:28 +1000 From: Peter Jeremy To: Konstantin Belousov 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> References: <20190916061205.GE97181@server.rulingia.com> <20190916063252.GS2559@kib.kiev.ua> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="yLVHuoLXiP9kZBkt" Content-Disposition: inline In-Reply-To: <20190916063252.GS2559@kib.kiev.ua> X-PGP-Key: http://www.rulingia.com/keys/peter.pgp User-Agent: Mutt/1.12.1 (2019-06-15) X-Rspamd-Queue-Id: 46Wyv03C8gz4H4d X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of peter@rulingia.com designates 2001:19f0:5801:ebe:5400:1ff:fe53:30fd as permitted sender) smtp.mailfrom=peter@rulingia.com X-Spamd-Result: default: False [-5.59 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; DMARC_NA(0.00)[rulingia.com]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; SIGNED_PGP(-2.00)[]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:20473, ipnet:2001:19f0:5800::/38, country:US]; RCVD_TLS_ALL(0.00)[]; IP_SCORE(-1.19)[ipnet: 2001:19f0:5800::/38(-4.94), asn: 20473(-0.95), country: US(-0.05)] X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Sep 2019 07:44:45 -0000 --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 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--