Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Jun 2009 20:16:52 +0400
From:      pluknet <pluknet@gmail.com>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        Attilio Rao <attilio@freebsd.org>, freebsd-stable <freebsd-stable@freebsd.org>
Subject:   Re: [nfs] process locks in "bo_wwait" on 6.4
Message-ID:  <a31046fc0906290916j3a92a5d2t54f697936627f1cc@mail.gmail.com>
In-Reply-To: <20090629132116.GZ2884@deviant.kiev.zoral.com.ua>
References:  <a31046fc0906260944h68eed26bs256dcad1f29871ff@mail.gmail.com> <a31046fc0906260951i66c239e1yfac9048d69784209@mail.gmail.com> <a31046fc0906290329p3e9cff1dwa89c8bb88736fed7@mail.gmail.com> <3bbf2fe10906290458v3d57441ar44c4ed8f36c957f@mail.gmail.com> <a31046fc0906290555ib9abf4fy90502eb01e2ef8d3@mail.gmail.com> <3bbf2fe10906290611j683a0ddawbd524e406e832d54@mail.gmail.com> <a31046fc0906290618r31e5bfb0h9e267fadef53408a@mail.gmail.com> <20090629132116.GZ2884@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
2009/6/29 Kostik Belousov <kostikbel@gmail.com>:
> On Mon, Jun 29, 2009 at 05:18:03PM +0400, pluknet wrote:
>> 2009/6/29 Attilio Rao <attilio@freebsd.org>:
>> > 2009/6/29 pluknet <pluknet@gmail.com>:
>> >> 2009/6/29 Attilio Rao <attilio@freebsd.org>:
>> >>> 2009/6/29 pluknet <pluknet@gmail.com>:
>> >>>> 2009/6/26 pluknet <pluknet@gmail.com>:
>> >>>>> 2009/6/26 pluknet <pluknet@gmail.com>:
>> >>>>>> Hello.
>> >>>>>>
>> >>>>>> While building a module on nfs mounted /usr/src
>> >>>>>> I got an unkillable process waiting forever in bo_wwait.
>> >>>>>
>> >>>>> Small note: iface on NFS server has mtu changed from 1500 to 1450.
>> >>>>> Can this be a source of the problem?
>> >>>>
>> >>>> This is 100% reproducible. Lock in the same place. Any hints?
>> >>>
>> >>> Can you also show the value of ps?
>> >>> A precise map of what processes are doing would give an help.
>> >>> Also would be useful to printout traces for other threads and not only
>> >>> the stucked one.
>> >>>
>> >>
>> >> >From another run:
>> >
>> > I'm unable to see who would be locking the buffer object in question.
>> > Do you have INVARIANT_SUPPORT/INVARIANTS on?
>>
>> Yes, I do both.
>>
>> > What revision of /usr/src/sys/kern/vfs_bio.c are you running with?
>> >
>>
>> As of 6.4-R: CVS rev 1.491.2.12.4.1 / SVN rev 183531.
>
> It seems that your changes of MTU cause nfs requests to never reach
> network. bo_wwait is the state where thread waits for all outstanding
> i/o on bufobj to drain.
>

It appears that you are right. I found in tcpdump that nfs client tries to send
UDP packets sized in 1500 bytes.

19:40:13.937085 IP (tos 0x0, ttl  64, id 4658, offset 0, flags [+],
proto: UDP (17), length: 1500) client.1662412076 > server.nfs: 1472
write fh 1145,216955/1372174 1779 (1779) bytes @ 0 <unstable>

While here I reverted mtu on NFS server back to 1500, then after some
seconds "locked up" NFS client box continued to build a module as there
were no any locking problems at all.
So I understand this as defined behavior.

-- 
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a31046fc0906290916j3a92a5d2t54f697936627f1cc>