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>
next in thread | previous in thread | raw e-mail | index | archive | help
> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9812171537230.384-100000>