Skip site navigation (1)Skip section navigation (2)
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>