From owner-freebsd-hackers Thu Nov 20 18:24:54 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id SAA02575 for hackers-outgoing; Thu, 20 Nov 1997 18:24:54 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from opus.cts.cwu.edu (skynyrd@opus.cts.cwu.edu [198.104.92.71]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id SAA02567 for ; Thu, 20 Nov 1997 18:24:49 -0800 (PST) (envelope-from skynyrd@opus.cts.cwu.edu) Received: from localhost (skynyrd@localhost) by opus.cts.cwu.edu (8.8.7/8.8.7) with SMTP id SAA20035; Thu, 20 Nov 1997 18:24:40 -0800 (PST) (envelope-from skynyrd@opus.cts.cwu.edu) Date: Thu, 20 Nov 1997 18:24:40 -0800 (PST) From: Chris Timmons To: "John S. Dyson" cc: Jaye Mathisen , hackers@FreeBSD.ORG Subject: Re: Serious performance issue with 2.2.5-RELEASE In-Reply-To: <199711202155.QAA03288@dyson.iquest.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On around November 3, there was a thread here in -hackers of subject "FreeBSD shines" that mentioned a semaphore benchmarking program: "If anyone wants the code (and results for other OSes) see ftp://samba.anu.edu.au/pub/tridge/semspeed.c" Subsequent discussion pointed out that 2.2 was quite a bit faster than 2.2.5. Maybe a look at semspeed.c will provide some suggestions about where to look. I noticed similar symptoms on my ppro 200/128MB 2.2 based file server sometime in August - short hangs of 10-20 seconds under heavy file system load, nfs+cvsupd. For my system, switching from if_de hardware to if_fxp appeared to help a lot although I upgraded to more memory around the same time... so, no real clues just vague rambling. 2.2-STABLE FreeBSD 2.2-STABLE #0: Sun Sep 7 14:31:07 PDT 1997 with 256MB and maxvnodes=32768 works really, really well. -Chris On Thu, 20 Nov 1997, John S. Dyson wrote: > Jaye Mathisen said: > > > > > > I upgraded my web server to 2.2.5 from 2.2.2-stable, dated sometime in > > July. > > > > Big mistake. > > > > The only update to take place was the make buildworld, make installworld, > > no other configuration files were modified, nor any changes to startup > > scripts, etc. > > > > I now get these weird pauses where everything on the machine just freezes > > for 30-40 seconds, sometimes longer. NFS is compiled in, but not in use. > > > > The system was a web server, and was happily serving up several hundred > > domains. Now with the upgrade, I'll be lucky to keep them. Not good. > > > > It's a Super Micro P6, 384MB RAM, 2 SCSI disks off a bus-logic controller. > > > > Any ideas appreciated. I have built a new kernel from sources supped > > 11/7, but it doesn't seem to be any better. > > > Try this patch. The change in vfs_bio from 2.2.2 to 2.2.5 appears to be > incorrect, and subverts part of the functionality of what getnewbuf is > supposed to do. (Sorry, the patch might be reversed.) > > > Index: sys/kern/vfs_bio.c > =================================================================== > RCS file: /local/home/ncvs/src/sys/kern/vfs_bio.c,v > retrieving revision 1.104.2.7 > retrieving revision 1.104.2.3 > diff -C2 -r1.104.2.7 -r1.104.2.3 > *** vfs_bio.c 1997/09/01 23:23:08 1.104.2.7 > --- vfs_bio.c 1997/02/13 08:17:18 1.104.2.3 > *************** > *** 889,896 **** > /* wait for a free buffer of any kind */ > needsbuffer = 1; > ! do > ! tsleep(&needsbuffer, (PRIBIO + 1) | slpflag, "newbuf", > ! slptimeo); > ! while (needsbuffer); > return (0); > } > --- 872,877 ---- > /* wait for a free buffer of any kind */ > needsbuffer = 1; > ! tsleep(&needsbuffer, > ! (PRIBIO + 1) | slpflag, "newbuf", slptimeo); > return (0); > } > > > -- > John > dyson@freebsd.org > jdyson@nc.com >