From owner-freebsd-current@FreeBSD.ORG Fri Jun 24 14:50:47 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (unknown [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0951106566B; Fri, 24 Jun 2011 14:50:47 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id 3A2068FC15; Fri, 24 Jun 2011 14:50:46 +0000 (UTC) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id p5OEohc7041072 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 24 Jun 2011 17:50:43 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4) with ESMTP id p5OEohTv019450; Fri, 24 Jun 2011 17:50:43 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4/Submit) id p5OEohWw019449; Fri, 24 Jun 2011 17:50:43 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 24 Jun 2011 17:50:43 +0300 From: Kostik Belousov To: Peter Holm Message-ID: <20110624145043.GY48734@deviant.kiev.zoral.com.ua> References: <20110623163109.GA508@dragon.NUXI.org> <20110623202153.GS48734@deviant.kiev.zoral.com.ua> <20110624103016.GA71991@x2.osted.lan> <20110624110627.GW48734@deviant.kiev.zoral.com.ua> <20110624132105.GA75382@x2.osted.lan> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Lqnp4vydszvywDyS" Content-Disposition: inline In-Reply-To: <20110624132105.GA75382@x2.osted.lan> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: freebsd-current@freebsd.org Subject: Re: Thoughts on TMPFS no longer being considered "highly experimental" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jun 2011 14:50:47 -0000 --Lqnp4vydszvywDyS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jun 24, 2011 at 03:21:05PM +0200, Peter Holm wrote: > On Fri, Jun 24, 2011 at 02:06:27PM +0300, Kostik Belousov wrote: > > On Fri, Jun 24, 2011 at 12:30:16PM +0200, Peter Holm wrote: > > > On Thu, Jun 23, 2011 at 11:21:53PM +0300, Kostik Belousov wrote: > > > > On Thu, Jun 23, 2011 at 09:31:09AM -0700, David O'Brien wrote: > > > > > Does anyone object to this patch? > > > > >=20 > > > > > David Wolfskill and I have run TMPFS on a number of machines for = two > > > > > years with no problems. > > > > >=20 > > > > > I may have missed something, but I'm not aware of any serious PRs= on > > > > > TMPFS either. > > > > >=20 > > > > >=20 > > > > > Index: tmpfs_vfsops.c > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > > --- tmpfs_vfsops.c (revision 221113) > > > > > +++ tmpfs_vfsops.c (working copy) > > > > > @@ -155,9 +155,6 @@ tmpfs_mount(struct mount *mp) > > > > > return EOPNOTSUPP; > > > > > } > > > > > =20 > > > > > - printf("WARNING: TMPFS is considered to be a highly experimenta= l " > > > > > - "feature in FreeBSD.\n"); > > > > > - > > > > > vn_lock(mp->mnt_vnodecovered, LK_SHARED | LK_RETRY); > > > > > error =3D VOP_GETATTR(mp->mnt_vnodecovered, &va, mp->mnt_cred); > > > > > VOP_UNLOCK(mp->mnt_vnodecovered, 0); > > > >=20 > > > > The things I am aware of: > > > > - there is a races on the lookup. They were papered over in r212305, > > > > but the bug was not really fixed, AFAIR. > > > >=20 > > > > - the tmpfs does double-buffering for the mapped vnodes. This is qu= ite > > > > insulting for the memory-backed fs, isn't it ? I have a patch, but = it is > > > > still under review. > > > >=20 > > > > - I believe Peter Holm has more test cases that fails with tmpfs. He > > > > would have more details. I somewhat remember some panic on execve(2= ) the > > > > binary located on tmpfs. > > > >=20 > > >=20 > > > I ran the TMPFS tests I have and so far I only spotted the mmap(2) > > > problem: > > >=20 > > > http://people.freebsd.org/~pho/stress/log/tmpfs/ > > It would be indeed good if the issue was the only remaining problem. >=20 > Well, more testing is needed for sure. >=20 > > The deadlock in tmpfs6.txt is caused by doing copyin() while having > > a page busied. This should be fixed indirectly by the patch to > > avoid double-buffering, I uploaded the latest version at > > http://people.freebsd.org/~kib/misc/tmpfs.5.patch > >=20 > > >=20 > > > > Removing the warning will not make the issues coming away. > > >=20 >=20 > This doesn't compile: >=20 > =3D=3D=3D> tmpfs (all) > cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdin= c -DHAVE_KERNEL_OPTION_HEADERS -include /usr/src/sys/i386/compile/PHO/opt= _global.h -I. -I@ -I@/contrib/altq > -finline-limit=3D8000 --param inline-unit-growth=3D100 --param large-func= tion-growth=3D1000 -fno-common -g -I/usr/src/sys/i386/compile/PHO -mno-ali= gn-long-strings -mpreferred-stack-boundary=3D2 -mno-sse > -mno-mmx -msoft-float -ffreestanding -fstack-protector -std=3Diso9899:199= 9 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-proto= types -Wmissing-prototypes -Wpointer-arith -Winline > -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-inc= lude-dirs -fdiagnostics-show-option -c /usr/src/sys/modules/tmpfs/../../fs/= tmpfs/tmpfs_subr.c > cc1: warnings being treated as errors > /usr/src/sys/modules/tmpfs/../../fs/tmpfs/tmpfs_subr.c: In function 'tmpf= s_reg_resize': > /usr/src/sys/modules/tmpfs/../../fs/tmpfs/tmpfs_subr.c:911: warning: 'uob= j' is used uninitialized in this function > *** Error code 1 Yes, the patch has rotten. Please try http://people.freebsd.org/~kib/misc/tmpfs.6.patch --Lqnp4vydszvywDyS Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iEYEARECAAYFAk4EpEIACgkQC3+MBN1Mb4iDUACg14clzidOnQeDs7DNKhmCRPuN cvsAn3Pb8Sx5VB4Q4uqgmT5rdqqy4Bn9 =gSuU -----END PGP SIGNATURE----- --Lqnp4vydszvywDyS--