From owner-freebsd-stable@FreeBSD.ORG Wed Dec 14 19:00:13 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E93A1065676 for ; Wed, 14 Dec 2011 19:00:13 +0000 (UTC) (envelope-from andrey@zonov.org) Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id DF6288FC15 for ; Wed, 14 Dec 2011 19:00:12 +0000 (UTC) Received: by wgbdr11 with SMTP id dr11so2244966wgb.31 for ; Wed, 14 Dec 2011 11:00:11 -0800 (PST) Received: by 10.216.209.228 with SMTP id s78mr1829355weo.26.1323889211469; Wed, 14 Dec 2011 11:00:11 -0800 (PST) Received: from [10.254.254.77] (ppp94-29-56-7.pppoe.spdop.ru. [94.29.56.7]) by mx.google.com with ESMTPS id hn15sm4829051wib.22.2011.12.14.11.00.10 (version=SSLv3 cipher=OTHER); Wed, 14 Dec 2011 11:00:11 -0800 (PST) Message-ID: <4EE8F239.4070000@zonov.org> Date: Wed, 14 Dec 2011 23:00:09 +0400 From: Andrey Zonov User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.24) Gecko/20100228 Thunderbird/2.0.0.24 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: alc@freebsd.org References: <4EE7BF77.5000504@zonov.org> <20111213221501.GA85563@icarus.home.lan> <4EE8E6E3.7050202@zonov.org> <20111214182252.GA5176@icarus.home.lan> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Alan Cox , freebsd-stable@freebsd.org, Jeremy Chadwick Subject: Re: directory listing hangs in "ufs" state X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Dec 2011 19:00:13 -0000 On 14.12.2011 22:53, Alan Cox wrote: > On Wed, Dec 14, 2011 at 12:22 PM, Jeremy Chadwick > > wrote: > > On Wed, Dec 14, 2011 at 10:11:47PM +0400, Andrey Zonov wrote: > > Hi Jeremy, > > > > This is not hardware problem, I've already checked that. I also ran > > fsck today and got no errors. > > > > After some more exploration of how mongodb works, I found that then > > listing hangs, one of mongodb thread is in "biowr" state for a long > > time. It periodically calls msync(MS_SYNC) accordingly to ktrace > > out. > > > > If I'll remove msync() calls from mongodb, how often data will be > > sync by OS? > > > > -- > > Andrey Zonov > > > > On 14.12.2011 2:15, Jeremy Chadwick wrote: > > >On Wed, Dec 14, 2011 at 01:11:19AM +0400, Andrey Zonov wrote: > > >> > > >>Have you any ideas what is going on? or how to catch the problem? > > > > > >Assuming this isn't a file on the root filesystem, try booting the > > >machine in single-user mode and using "fsck -f" on the filesystem in > > >question. > > > > > >Can you verify there's no problems with the disk this file lives > on as > > >well (smartctl -a /dev/disk)? I'm doubting this is the problem, but > > >thought I'd mention it. > > I have no real answer, I'm sorry. msync(2) indicates it's effectively > deprecated (see BUGS). It looks like this is effectively a mmap-version > of fsync(2). > > > Yikes, I just looked at this man page. I'm afraid that the text in the > BUGS section is highly misleading. The MS_INVALIDATE option should be > obsolete for the reason given there. Under a strict reading of the > applicable standard, FreeBSD could implement this option as a NOP. > However, we treat it something like madvise(MADV_DONTNEED|FREE). In > contrast, MS_SYNC is definitely not obsolete. > > Alan > > P.S. If someone wants to take a crack at fixing this man page, contact > me off list. > Please don't remove support for MS_INVALIDATE, this is only one way to purge disk cache. MADV_DONTNEED does nothing here in my experience. -- Andrey Zonov