Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Mar 2006 13:26:13 -0500
From:      "Rong-En Fan" <grafan@gmail.com>
To:        "Kostik Belousov" <kostikbel@gmail.com>,  "Mohan Srinivasan" <mohan_srinivasan@yahoo.com>
Cc:        current@freebsd.org
Subject:   Re: unkillable process stuck in "nfsaio"
Message-ID:  <6eb82e0603171026h4bc49a08kb0bda30e171feaec@mail.gmail.com>
In-Reply-To: <20060317094103.GD1203@deviant.kiev.zoral.com.ua>
References:  <200603161516.27081.mi%2Bmx@aldan.algebra.com> <20060317094103.GD1203@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On 3/17/06, Kostik Belousov <kostikbel@gmail.com> wrote:
> Just out of curiosity:
>
> could you, please, test this little patch:
>
> Index: sys/nfsclient/nfs_bio.c

I have been played around with intr/nointr with this patch + some in
nfs_bio.c, nfs_vnops.c.
Here are the results (note that, the revision # below means the
changes made in that
revision), tested on RELENG_6 as of yesterday, i386, SMP. kernel is built w=
ith
INVARIANT on.

* nfs_vnops.c 1.262, nfs_bio.c 1.154

- intr

$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
50+0 records in
50+0 records out
52428800 bytes transferred in 4.410424 secs (11887474 bytes/sec)
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
^C^C^C^C^C^C^C^C^C^C7+0 records in
6+0 records out
6291456 bytes transferred in 291.017236 secs (21619 bytes/sec)
(stuck in nfsaio)

- nointr

$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
50+0 records in
50+0 records out
52428800 bytes transferred in 4.264193 secs (12295128 bytes/sec)
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
^C12+0 records in
11+0 records out
11534336 bytes transferred in 0.990210 secs (11648373 bytes/sec)

* nfs_vnops.c 1.262

- intr

$dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
50+0 records in
50+0 records out
52428800 bytes transferred in 4.238704 secs (12369064 bytes/sec)
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^Ccc^C^C^C^C15+0 records in
14+0 records out
14680064 bytes transferred in 677.578696 secs (21665 bytes/sec)
(stuck in nfsaio)

- nointr

$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
50+0 records in
50+0 records out
52428800 bytes transferred in 4.255155 secs (12321244 bytes/sec)
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
^C11+0 records in
10+0 records out
10485760 bytes transferred in 0.899381 secs (11658864 bytes/sec)

* nfs_vnops.c 1.262, nfs_bio.c (remove slpflag =3D 0)

- intr

$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
50+0 records in
50+0 records out
52428800 bytes transferred in 4.245185 secs (12350181 bytes/sec)
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C
(top's state is changing between CPU0, CPU1, RUN, *Giant)
(11 minutes passed, I reboot this box)

- nointr
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
50+0 records in
50+0 records out
52428800 bytes transferred in 4.454680 secs (11769375 bytes/sec)
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
^C17+0 records in
16+0 records out
16777216 bytes transferred in 1.458180 secs (11505587 bytes/sec)

* nfs_vnops.c 1.262, nfs_bio.c 1.154 (remove slpflags =3D 0)

- intr
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
50+0 records in
50+0 records out
52428800 bytes transferred in 4.386083 secs (11953445 bytes/sec)
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C
(top's state is changing between CPU0, CPU1, RUN, *Giant)
(44 minutes passwd, I rebooted)

- noitntr
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
50+0 records in
50+0 records out
52428800 bytes transferred in 4.370959 secs (11994805 bytes/sec)
$ dd if=3D/dev/zero of=3Db bs=3D1m count=3D50
^C25+0 records in
24+0 records out
25165824 bytes transferred in 2.122789 secs (11855076 bytes/sec)

Looks like that the changes to nfs_vnops.c last Nov by ps@, ^C can really s=
top
the process, but it take too much time :(

Hope this helps,
Rong-En Fan



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