Date: Wed, 14 Dec 2011 23:00:09 +0400 From: Andrey Zonov <andrey@zonov.org> To: alc@freebsd.org Cc: Alan Cox <alan.l.cox@gmail.com>, freebsd-stable@freebsd.org, Jeremy Chadwick <freebsd@jdc.parodius.com> Subject: Re: directory listing hangs in "ufs" state Message-ID: <4EE8F239.4070000@zonov.org> In-Reply-To: <CAJUyCcMm5bnFGFMsvp1ZyJ59K8VGEjFA=KYmLOUE7fbJurX=RQ@mail.gmail.com> References: <4EE7BF77.5000504@zonov.org> <20111213221501.GA85563@icarus.home.lan> <4EE8E6E3.7050202@zonov.org> <20111214182252.GA5176@icarus.home.lan> <CAJUyCcMm5bnFGFMsvp1ZyJ59K8VGEjFA=KYmLOUE7fbJurX=RQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 14.12.2011 22:53, Alan Cox wrote: > On Wed, Dec 14, 2011 at 12:22 PM, Jeremy Chadwick > <freebsd@jdc.parodius.com <mailto:freebsd@jdc.parodius.com>> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EE8F239.4070000>