Date: Sat, 17 Sep 2005 20:20:37 -0600 From: Scott Long <scottl@samsco.org> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: current@freebsd.org Subject: Re: low(er) disk performance with sched_4bsd then with sched_ule Message-ID: <432CCEF5.2050608@samsco.org> In-Reply-To: <17196.35762.395155.325627@grasshopper.cs.duke.edu> References: <20050914194612.15692485.lehmann@ans-netz.de> <20050914222013.178dc4dc.lehmann@ans-netz.de> <84dead72050914135239514c49@mail.gmail.com> <20050915000053.448f251b.lehmann@ans-netz.de> <84dead7205091500152a7c25d1@mail.gmail.com> <20050915172005.072f4bdf.lehmann@ans-netz.de> <20050915181238.54b16b4b.lehmann@ans-netz.de> <84dead720509160921732e7f96@mail.gmail.com> <20050916184911.38e2739a.lehmann@ans-netz.de> <20050916225219.73b53cd0.lehmann@ans-netz.de> <84dead7205091619435c12b528@mail.gmail.com> <20050917102846.7bf26a56.lehmann@ans-netz.de> <17196.35762.395155.325627@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Gallatin wrote: > Oliver Lehmann writes: > > Joseph Koshy wrote: > > > > > ol> Wow, that update to BETA4 did the trick! While running > > > ol> SCHED_4BSD: > > > > > > Fantastic! What is the profile like with the new 4BSD kernel? > > > > http://pofo.de/tmp/gprof.4bsd.3 > > I don't know the disk codepath very well, but the samples look a > little suspect. We're copying a lot of data into and out of the > kernel, so I would expect the majority of non disk wait time would be > spent simply copying out the zero-filled pages, and copying them back > in (AFAIK, dd uses read/write). Where is the time spent in read, > write, uiomove, bcopy? > > What about ionode allocations, etc? And why do things like > g_bsd_modify and g_bsd_ioctl rank so high? Aren't those only used > when dealing with disklabels? > > BTW, I *love* that we've got access to the hw counters, and an easy > way to do low-overhead profiling of the kernel. > > Drew > I don't know if it's the case here or not, but GCC now does very aggressive function inlining, so much so that it's nearly impossible to look at a backtrace and figure out what the actual call path was. Compiling with -O instead of the -O2 default turns off this 'feature' (and I use that term quite liberally), so it might be useful to recompile there kernel with 'CFLAGS= -O' in /etc/make.conf and see if it changes the profiling numbers at all. Also, I think that there was some talk last year about things like preemption and fast interrupts screwing up certain kinds of profiling. I don't recall if there was a solution to this, though. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?432CCEF5.2050608>