Hello!

On Fri, 28 Apr 2006, Kris Kennaway wrote:
makeoptions     CONF_CFLAGS=-fno-builtin
I don't know, it needs to be tested in your particular case.

 I've built another kernel, adding back

makeoptions  CONF_CFLAGS=-fno-builtin
options      QUOTA

Results are almost the same as w/o these 2 options. So the following overhead difference:

                %Sys   %Intr   %Idl
RELENG_6 + rl0      45      40     15
RELENG_6 + fxp0     45      35     20

                  %Sys   %Intr   %Idl  "time md5 -t" wall clock time
RELENG_6 + rl0      34      24     42   1:43
RELENG_6 + fxp0     30      20     50   1:40

is caused by just these:

options         INVARIANTS
options         INVARIANT_SUPPORT

(I'll try to find out which one of these takes which % of overhead when I
get free time), but still much worse then under RELENG_4, where this
particular (I'd say "quote common") usage pattern takes 24-28% of CPU time,
while under RELENG_5 / 6 it takes >= 50% ;(

Thanks.  Silly question: the data transfer rate is the same on both
4.x and 6.x, right?  i.e. the data transfer itself takes the same
time?

 Yes. I'm transferring a large file (ISO image) from another (much faster,
lightly loaded) machine over 10Mbit/s Ethernet link, so the transfer itself
is limited only by the wire speed (actual transfer rate is very close to 1000
KBytes/sec according to ftp client and 'systat -vm 1' disk transfer rate in every measurement).

The next step is for you to run some profiling tests to see
where the kernel is spending time, e.g. with hwpmc.

I have to get myself familiar with this new (for me) feature first... Also, hwpmc doesn't exist in RELENG_4, so it'll be impossible to compare results
with RELENG_4. It's a pity, because my tests clearly show that main loss
of performance (growth of overhead) occured during RELENG_4 -> 5 transition.
And last, but not least: my test system (Transcend TS-ABX31A
motherboard based on Intel BX chipset) does not provide APIC, will hwpmc
be useful in this situation?

Also, when you are trying to quantify performance differences, you
need to run many copies of the test (at least 10) under identical
conditions to account for possible variations.  The ministat tool
(/usr/src/tools/tools/ministat) is good for performing statistically
meaningful comparisons of data sets when you have them.

 As my transfer takes much time (say 10 minutes) I've observed % of time
used many times during the transfer - they don't vary more than +/- several
(2-3) % during the main transfer phase (when transfer speed is stable).
My "time md5 -t" runs was used only as a confirmation that systat's numbers
are trustworthy - they simply confirm that there are _much_ less CPU cycles
available for application under RELENG_5/6 than under RELENG_4 (under identical load pattern). I ran "time md5 -t" several (3-5 times) just to
confirm my assumptions, and results didn't vary more than 3%. So I suppose
that ministat isn't necessary in my tests.

Kris

Sincerely, Dmitry
--
Atlantis ISP, System Administrator
e-mail:  [EMAIL PROTECTED]
nic-hdl: LYNX-RIPE
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to