Date: Thu, 17 Dec 1998 15:41:11 -0500 (EST) From: Alfred Perlstein <bright@hotjobs.com> To: "David G. Andersen" <danderse@cs.utah.edu> Cc: hackers@FreeBSD.ORG Subject: Re: kern/8732: nfs mounts with 'intr' can cause system hang Message-ID: <Pine.BSF.4.05.9812171537230.384-100000@bright.fx.genx.net> In-Reply-To: <Pine.BSF.4.05.9812171442380.378-100000@bright.fx.genx.net>
index | next in thread | previous in thread | raw e-mail
> On Thu, 17 Dec 1998, David G. Andersen wrote:
>
> >
> > I've submitted a patch to vfs_subr.c which causes the kernel to return
> > EINTR on an interrupted close(). It's behaving properly on our
> > systems, but I'd love it if other interested parties (Karl, Alfred,
> > Andrew?) would give it a run before I say "look, it works."
> >
> > -dave
> > Index: vfs_subr.c
> > ===================================================================
> > RCS file: /n/marker/usr/lsrc/FreeBSD/CVS/src/sys/kern/vfs_subr.c,v
> > retrieving revision 1.174
> > diff -r1.174 vfs_subr.c
> > 582,584c582,589
> > < tsleep((caddr_t)&vp->v_numoutput,
> > < slpflag | (PRIBIO + 1),
> > < "vinvlbuf", slptimeo);
> > ---
> > > if (error = tsleep((caddr_t)&vp->v_numoutput,
> > > slpflag | (PRIBIO + 1),
> > > "vinvlbuf", slptimeo)) {
> > > if (error == EINTR) {
> > > splx(s);
> > > return (EINTR);
> > > }
> > > }
whoa! nope, didn't work for me:
crashed on the first mail delete:
db> ps
pid proc addr uid ppid pgrp flag stat wmesg wchan cmd
342 f6920d80 f6925000 1288 341 342 004006 2 pine
341 f6920ec0 f6922000 1288 340 341 004086 3 pause f69220f0 zsh
340 f6839040 f6917000 1288 339 340 000184 3 select f0299d2c screen-3.7.4
339 f6839540 f6908000 1288 335 339 004186 3 pause f69080f0 screen-3.7.4
335 f6920240 f6982000 1288 333 335 004086 3 pause f69820f0 zsh
334 f6920380 f697e000 1288 332 334 004086 3 ttyin f02725bc zsh
333 f69204c0 f6979000 1288 297 285 004086 3 select f0299d2c kvt
332 f6920600 f6974000 1288 297 285 004086 3 select f0299d2c kvt
331 f6920740 f6970000 1288 297 285 004086 3 select f0299d2c kioslave
330 f6920880 f696c000 1288 297 285 004086 3 select f0299d2c kioslave
314 f6920b00 f692b000 1288 1 285 004186 3 nanslp f0272518 kblob.kss
309 f6838f00 f691a000 1288 295 285 004086 3 nanslp f0272518 maudio
301 f6839180 f6913000 1288 293 285 004086 3 select f0299d2c kpanel
300 f68392c0 f690f000 1288 292 285 004086 3 select f0299d2c krootwm
299 f6839400 f690c000 1288 291 285 004086 3 select f0299d2c kbgndwm
297 f6839680 f6902000 1288 289 285 004086 3 select f0299d2c kfm
296 f68397c0 f68ff000 1288 288 285 004086 3 select f0299d2c kwmsound
295 f6839900 f68fc000 1288 287 285 004086 3 nanslp f0272518 kaudioserver
293 f6839b80 f68f5000 1288 286 285 000086 3 wait f6839b80 sh
292 f6839cc0 f68f2000 1288 286 285 000086 3 wait f6839cc0 sh
291 f6839e00 f68ef000 1288 286 285 000086 3 wait f6839e00 sh
289 f683a080 f68e8000 1288 286 285 000086 3 wait f683a080 sh
288 f683a1c0 f68e5000 1288 286 285 000086 3 wait f683a1c0 sh
287 f683a300 f68e2000 1288 286 285 000086 3 wait f683a300 sh
286 f683a440 f68df000 1288 285 285 004086 3 select f0299d2c kwm
285 f683a580 f68da000 1288 283 285 004086 3 wait f683a580 sh
284 f683a6c0 f68cb000 1288 283 284 004184 3 select f0299d2c Xaccel
283 f683a800 f68c9000 1288 278 278 004086 3 wait f683a800 xinit
278 f683a940 f68c4000 1288 264 278 004086 3 wait f683a940 sh
277 f683aa80 f68c2000 0 273 277 004086 3 ttyin f0294610 cat
273 f683abc0 f68bf000 0 271 273 004086 3 pause f68bf0f0 zsh
271 f683ad00 f68bb000 0 263 271 004086 3 pause f68bb0f0 csh
270 f683ae40 f68b4000 0 1 270 004086 3 ttyin f029797c getty
269 f683af80 f68ae000 0 1 269 004086 3 ttyin f0297888 getty
268 f683b0c0 f68ab000 0 1 268 004086 3 ttyin f0297794 getty
267 f683b200 f68a8000 0 1 267 004086 3 ttyin f02976a0 getty
266 f683b5c0 f6897000 0 1 266 004086 3 ttyin f02975ac getty
265 f683b700 f6894000 0 1 265 004086 3 ttyin f02974b8 getty
264 f683c880 f6850000 1288 1 264 004086 3 pause f68500f0 zsh
263 f683c9c0 f684c000 1288 1 263 004086 3 pause f684c0f0 zsh
235 f683b340 f689f000 0 1 235 000084 3 select f0299d2c sshd1
193 f683b840 f6890000 0 1 193 000084 2 moused
157 f683b980 f688d000 0 1 157 000184 3 select f0299d2c sendmail
154 f683bac0 f6888000 0 1 154 000084 3 select f0299d2c lpd
150 f683bc00 f6884000 0 1 150 000084 3 nanslp f0272518 cron
147 f683c240 f6875000 0 1 147 000084 3 select f0299d2c inetd
125 f683bd40 f6881000 0 1 120 000084 3 nfsrcvlk f686ccc0 nfsiod
124 f683be80 f687e000 0 1 120 000084 3 nfsrcvlk f686ccc0 nfsiod
123 f683bfc0 f687b000 0 1 120 000084 3 nfsrcvlk f686ccc0 nfsiod
122 f683c100 f6878000 0 1 120 000004 3 sbwait f6660e04 nfsiod
109 f683c380 f6872000 1 1 109 000184 3 select f0299d2c portmap
100 f683c4c0 f6861000 0 1 100 000084 3 select f0299d2c syslogd
33 f683c740 f685b000 0 1 33 000084 3 pause f685b0f0 adjkerntz
26 f683c600 f685e000 0 1 26 000084 3 mfsidl f6835700 mount_mfs
4 f683cb00 f6847000 0 0 0 000204 3 syncer f0299cdc syncer
3 f683cc40 f6845000 0 0 0 000204 3 psleep f02925e4 vmdaemon
2 f683cd80 f6843000 0 0 0 000204 3 psleep f0265370 pagedaemon
1 f683cec0 f6841000 0 0 1 004084 3 wait f683cec0 init
0 f0299038 f02e8000 0 0 0 000204 3 sched f0299038 swapper
290 f6839f40 f68ec000 1288 286 285 002006 5 sh
my window manager settings got hosed as well. *grrr*
thanks for the attempt though.
Alfred Perlstein - Programmer, HotJobs Inc. - www.hotjobs.com
-- There are operating systems, and then there's FreeBSD.
-- http://www.freebsd.org/ 3.0-current
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9812171537230.384-100000>
