NetBSD Problem Report #20296
Received: (qmail 17160 invoked by uid 605); 11 Feb 2003 18:23:19 -0000
Message-Id: <20030211182318.4C85F1114C@narn.netbsd.org>
Date: Tue, 11 Feb 2003 10:23:18 -0800 (PST)
From: wojtek@tensor.3miasto.net
Sender: gnats-bugs-owner@netbsd.org
Reply-To: wojtek@tensor.3miasto.net
To: gnats-bugs@gnats.netbsd.org
Subject: vnd device locks up under high write load and large images
X-Send-Pr-Version: www-1.0
>Number: 20296
>Category: kern
>Synopsis: vnd device locks up under high write load and large images
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Feb 11 18:24:00 +0000 2003
>Closed-Date:
>Last-Modified: Sun Sep 03 19:51:10 +0000 2006
>Originator: Wojciech Puchar
>Release: release-1-5 (at most 1 week old)
>Organization:
TENSOR ap
>Environment:
NetBSD chylonia.3miasto.net 1.5.4_ALPHA NetBSD 1.5.4_ALPHA (local) #8: Thu Jan 16 19:44:35 CET 2003 wojtek@chylonia.3miasto.net:/home/wojtek/kernel/local i386
>Description:
copying lots of small files (pkgsrc) from normal ffs filesystem to vnd-mounted ffs filesystem (3GB image)
locks up whole system.
"lock up" means that it responds to everything except any disk access. all disk access just waits.
only reset helps
>How-To-Repeat:
dd if=/dev/zero of=image bs=1024k count=3000
disklabel -I -i vnd0
at least type W amd Q
newfs -m 5 -i 16384 -b 8192 -f 1024 -c 96 /dev/rvnd0a (that's what i used)
mount -o async,noatime /dev/vnd0a /mnt
and
cp -R /usr/src/pkgsrc /mnt
will quickly render system unusable
>Fix:
without async it works fine, while slow
softdep not tested
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed
State-Changed-By: christos@netbsd.org
State-Changed-When: Sun, 27 Aug 2006 14:46:56 -0400
State-Changed-Why:
fixed, thanks
From: Christos Zoulas <christos@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: PR/20296 CVS commit: src/sys/dev
Date: Sun, 27 Aug 2006 18:45:21 +0000 (UTC)
Module Name: src
Committed By: christos
Date: Sun Aug 27 18:45:20 UTC 2006
Modified Files:
src/sys/dev: vnd.c
Log Message:
PR/34293: Michael van Elst: vnd deadlocks on I/O buffers
Also fixes: PR/10731, PR/12189, PR/20296
Sleep while there a buffer shortage.
To generate a diff of this commit:
cvs rdiff -r1.148 -r1.149 src/sys/dev/vnd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: Manuel Bouyer <bouyer@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: PR/20296 CVS commit: src/sys/dev
Date: Sun, 3 Sep 2006 19:49:34 +0000 (UTC)
Module Name: src
Committed By: bouyer
Date: Sun Sep 3 19:49:34 UTC 2006
Modified Files:
src/sys/dev: vnd.c
Log Message:
Back out rev 1.149.
From various discussion about vndstrategy (see
http://mail-index.netbsd.org/tech-kern/2005/03/29/0034.html
http://mail-index.netbsd.org/tech-kern/2005/03/23/0015.html)
it's not correct to tsleep() in a strategy routine, which may be called from
interrupt context.
Unfortunably this reopens PR/10731, PR/12189, PR/20296, PR/34293
As for what the correct fix it, this needs to be analysed deeper. I suspect
throttling the caller in vnd only hides the problem; the same caller writing
to some other device could exaust all buffers as well. If this driver doesn't
need to allocate buffer this won't cause a deadlock, but it's bad for
performances on systems with e.g. multiple drives. Also, others stacked
block device drivers may also have this issue.
To generate a diff of this commit:
cvs rdiff -r1.149 -r1.150 src/sys/dev/vnd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: closed->open
State-Changed-By: bouyer@netbsd.org
State-Changed-When: Sun, 03 Sep 2006 19:51:10 +0000
State-Changed-Why:
vnd.c 1.149 has been backed out.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.