Date: Tue, 12 Oct 2010 06:02:45 -0700 From: Jeremy Chadwick <freebsd@jdc.parodius.com> To: Andriy Gapon <avg@icyb.net.ua> Cc: freebsd-fs@freebsd.org Subject: Re: Locked up processes after upgrade to ZFS v15 Message-ID: <20101012130245.GA32584@icarus.home.lan> In-Reply-To: <4CB4429C.9040109@icyb.net.ua> References: <39F05641-4E46-4BE0-81CA-4DEB175A5FBE@free.de> <20101009111241.GA58948@icarus.home.lan> <CF901B53-657E-49FC-A43B-27BC7D49F7A7@free.de> <4CB17983.3020907@icyb.net.ua> <20101011151508.GA10917@icarus.home.lan> <4CB32C75.2060000@icyb.net.ua> <20101011183707.GA13925@icarus.home.lan> <4CB3870F.7070107@icyb.net.ua> <20101012100709.GA29861@icarus.home.lan> <4CB4429C.9040109@icyb.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 12, 2010 at 02:12:28PM +0300, Andriy Gapon wrote: > on 12/10/2010 13:07 Jeremy Chadwick said the following: > > I've been trying to reproduce this problem on my testbed box without > > much luck so far. The box differs severely -- the biggest differences > > being the testbed runs i386 (due to CPU), only has 1GB RAM, and is > > single-core. I don't have an amd64 testbed system on hand right now. > > > > I've been trying to reproduce it by enabling Sendfile and MMAP in Apache > > on the system, putting up some very large files on an Apache-accessible > > ZFS filesystem, and using something like "wget -r" to download > > everything. I've been watching "netstat -m" to monitor the number of > > sendfile requests. > > > > There have been a couple cases where I've seen processes go into "zfs" > > state, but I have yet to see any lock up. > > > > Is there something amd64-specific to the problem at hand, or maybe some > > VM feature which isn't getting triggered on i386? Or do you know of a > > reliable way to reproduce the issue at this point? > > I don't have an easy way to reproduce it. > The theory is that you should sendfile a file with size which is not multiple of > page size (4K) and then you should mmap and read the same file; the last step > should lock up. > Perhaps, tools/regression/sockets/sendfile/sendfile.c with the following patch > would reproduce it? > http://people.freebsd.org/~avg/sendfile.diff This patch only works on HEAD. I downloaded the HEAD version of sendfile.c from here: http://www.freebsd.org/cgi/cvsweb.cgi/src/tools/regression/sockets/sendfile/sendfile.c?rev=1.7;content-type=text%2Fplain And the HEAD Makefile as well (since libmd linking is needed): http://www.freebsd.org/cgi/cvsweb.cgi/src/tools/regression/sockets/sendfile/Makefile?rev=1.6;content-type=text%2Fplain And then applied your patch. However, the result doesn't induce a lock-up. Bummer. testbox# ./sendfile 1..11 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 mmap test testbox# Other stuff I tried: - Verified getpagesize() returns 4096 (PAE isn't enabled on this box; I'm assuming PAE results in 2MByte pages is why I mention it) - Enabling the #if 0'd code - Adjusting TEST_EXTRA a bit (200, 1000, and 3819; just numbers I pulled out of thin air) Alternately, I can try building an amd64 testbed box, but it'll be a virtual machine under VMware, which I try to avoid using as a testbed for low-level changes (VM, etc.). -- | Jeremy Chadwick jdc@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101012130245.GA32584>