Swiched to ULE, but ... it's slow in some parts.

Ion-Mihai Tetcu itetcu at apropo.ro
Mon Jan 26 09:36:39 PST 2004


Hi,

I've switched to ULE with src cvsuped about a week. My first comments
would be that X apps seems to work much better (dcgui-qt doesn't freeze
anymore for a few seconds, for example) but compiling is about 2-3 times
slower (even with nice -30; didn't do any test real test but that is the
strong feeling).

The machine is a UP AMD XP 2400+, VIA KT600/VIA8237 :
Table 'FACP' at 0x1fff3040
Table 'APIC' at 0x1fff72c0
MADT: Found table at 0x1fff72c0
MP Configuration Table version 1.4 found at 0xc00f0d20
APIC: Using the MADT enumerator.
MADT: Found CPU APIC ID 0 ACPI ID 0: enabled
SMP: Added CPU 0 (AP)
ACPI APIC Table: <GBT    AWRDACPI>
Calibrating clock(s) ... i8254 clock: 1193269 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254" frequency 1193182 Hz quality 0
Calibrating TSC clock ... TSC clock: 2040351825 Hz
CPU: AMD Athlon(tm) XP 2400+ (2040.35-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x681  Stepping = 1
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
  AMD Features=0xc0400000<AMIE,DSP,3DNow!>
Data TLB: 32 entries, fully associative
Instruction TLB: 16 entries, fully associative
L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L2 internal cache: 256 kbytes, 64 bytes/line, 1 lines/tag, 8-way associative
real memory  = 536805376 (511 MB)
Physical memory chunk(s):
0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages)
0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages)
0x0000000000c29000 - 0x000000001f6bffff, 514420736 bytes (125591 pages)
avail memory = 515567616 (491 MB)
bios32: Found BIOS32 Service Directory header at 0xc00f9c50
bios32: Entry = 0xfa0e0 (c00fa0e0)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xf0000+0xa110
pnpbios: Found PnP BIOS data at 0xc00fab60
pnpbios: Entry = f0000:ab90  Rev = 1.0
Other BIOS signatures found:
APIC: CPU 0 has ACPI ID 0
MADT: Found IO APIC ID 2, Interrupt 0 at 0xfec00000



Both ULE and SHED_4BSD kernels are the same:

# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.394.2.2 2003/12/07 23:52:53 scottl Exp $

machine		i386
cpu		I686_CPU
ident		ULE1

options		CPU_ATHLON_SSE_HACK
options         NPX_DEBUG

#To statically compile in device wiring instead of /boot/device.hints
#hints		"GENERIC.hints"		#Default places to look for devices.

makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
options 	BREAK_TO_DEBUGGER

#options 	SCHED_4BSD		#4BSD scheduler
options		SCHED_ULE		#firts try, huh :)
options 	INET			#InterNETworking
options 	INET6			#IPv6 communications protocols
options 	FFS			#Berkeley Fast Filesystem
options 	SOFTUPDATES		#Enable FFS soft updates support
options 	UFS_ACL			#Support for access control lists
options 	UFS_DIRHASH		#Improve performance on big directories
options 	MD_ROOT			#MD is a potential root device
options 	NFSCLIENT		#Network Filesystem Client
options 	NFSSERVER		#Network Filesystem Server
options 	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
options 	MSDOSFS			#MSDOS Filesystem
options 	CD9660			#ISO 9660 Filesystem
options 	PROCFS			#Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		#Pseudo-filesystem framework
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	COMPAT_FREEBSD4		#Compatible with FreeBSD4
options 	SCSI_DELAY=15000	#Delay (in ms) before probing SCSI
options 	KTRACE			#ktrace(1) support
options 	SYSVSHM			#SYSV-style shared memory
options 	SYSVMSG			#SYSV-style message queues
options 	SYSVSEM			#SYSV-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	AHC_REG_PRETTY_PRINT	# Print register bitfields in debug
					# output.  Adds ~128k to driver.
options 	AHD_REG_PRETTY_PRINT	# Print register bitfields in debug
					# output.  Adds ~215k to driver.

options		HZ=1000
options		IPFIREWALL_VERBOSE

# Debugging for use in -current
options 	DDB			#Enable the kernel debugger
options 	INVARIANTS		#Enable calls of extra sanity checking
options 	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
options 	WITNESS			#Enable checks to detect deadlocks and cycles
#options 	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed

# To make an SMP kernel, the next two are needed
options 	SMP			# Symmetric MultiProcessor Kernel
device		apic			# I/O APIC
......


bash-2.05b$ vmstat -i
interrupt                          total       rate
irq1: atkbd0                       14999          1
irq6: fdc0                             4          0
irq8: rtc                        1357512        127
irq12: psm0                       644216         60
irq13: npx0                            1          0
stray irq13                            1          0
>^^^^^^^^^^^^ how does this hurt ?
irq14: ata0                       202258         19
irq15: ata1                           53          0
irq18: rl0                       2238376        211
irq22: pcm0                       159506         15
irq0: clk                       10607929        999
Total                           15224855       1435


bash-2.05b$ uptime
 7:28PM  up  2:57, 2 users, load averages: 1.63, 1.48, 1.25

bash-2.05b$ top
last pid: 95381;  load averages:  1.75,  1.61,  1.37   0+03:02:48  19:33:52
80 processes:  2 running, 78 sleeping
CPU states: 50.4% user,  0.0% nice, 47.4% system,  2.2% interrupt,  0.0% idle
Mem: 301M Active, 85M Inact, 85M Wired, 18M Cache, 60M Buf, 5120K Free
Swap: 1024M Total, 88K Used, 1024M Free

  PID USERNAME PRI NICE   SIZE    RES STATE    TIME   WCPU    CPU COMMAND
  842 itetcu    81    0 68292K 60552K select  27:32 10.16% 10.16% dcgui-qt
95380 root     118  -20 10656K  9996K RUN      0:00  3.12%  3.12% cc1plus
.........

bash-2.05b$ vmstat
 procs      memory      page                    disks     faults      cpu
 r b w     avm    fre  flt  re  pi  po  fr  sr ad0 ad3   in   sy  cs us sy id
 1 1 0  437860  30480  688   1   0   0 684  29   0   0 2322 11847 2661 24 19 57

bash-2.05b$ ps axwl
  UID   PID  PPID CPU PRI NI   VSZ  RSS MWCHAN STAT  TT       TIME COMMAND
    0     0     0   0 -16  0     0    4 sched  DLs   ??    0:00.05  (swapper)
    0     1     0   0   8  0   752  264 wait   SLs   ??    0:00.37 /sbin/init -s
    0     2     0   0  -8  0     0   12 -      DL    ??    0:01.15  (g_event)
    0     3     0   0  -8  0     0   12 -      DL    ??    0:05.96  (g_up)
    0     4     0   0  -8  0     0   12 -      DL    ??    0:07.99  (g_down)
    0     5     0   0   8  0     0   12 tqthr  DL    ??    0:00.00  (taskqueue)
    0     6     0   0 -84  0     0   12 actask SL    ??    0:00.00  (acpi_task0)
    0     7     0   0 -84  0     0   12 actask SL    ??    0:00.00  (acpi_task1)
    0     8     0   0 -84  0     0   12 actask SL    ??    0:00.00  (acpi_task2)
    0     9     0   0 -16  0     0   12 psleep DL    ??    0:00.30  (pagedaemon)
    0    10     0   0 -16  0     0   12 ktrace DL    ??    0:00.00  (ktrace)
    0    11     0   0 -16  0     0   12 -      RL    ??  104:42.80  (idle: cpu0)
    0    12     0   0 -60  0     0   12 -      WL    ??    0:00.76  (irq1: atkbd0)
    0    16     0   0 -64  0     0   12 -      WL    ??    0:00.00  (irq6: fdc0)
    0    22     0   0 -60  0     0   12 -      WL    ??    0:15.45  (irq12: psm0)
    0    24     0   0 -64  0     0   12 -      WL    ??    0:02.20  (irq14: ata0)
    0    25     0   0 -64  0     0   12 -      WL    ??    0:00.00  (irq15: ata1)
    0    28     0   0 -68  0     0   12 -      WL    ??    0:38.50  (irq18: rl0)
    0    32     0   0 -60  0     0   12 -      WL    ??    0:02.88  (irq22: pcm0)
    0    35     0   0 -44  0     0   12 -      WL    ??    0:29.54  (swi1: net)
    0    36     0   0 -48  0     0   12 -      RL    ??    2:08.72  (swi8: tty:sio clock)
    0    38     0   0  76  0     0   12 -      DL    ??    0:03.94  (random)
    0    42     0   0 -20  0     0   12 -      WL    ??    0:04.66  (swi7: task queue)
    0    44     0   0 -20  0     0   12 -      WL    ??    0:00.00  (swi7: acpitaskq)
    0    46     0   0  20  0     0   12 psleep DL    ??    0:00.00  (vmdaemon)
    0    47     0   0 171  0     0   12 -      RL    ??    0:08.76  (pagezero)
    0    48     0   0 -16  0     0   12 psleep DL    ??    0:02.01  (bufdaemon)
    0    49     0   0  -4  0     0   12 vlruwt DL    ??    0:00.13  (vnlru)
    0    50     0   0  20  0     0   12 syncer DL    ??    0:05.55  (syncer)
    0    51     0   0   8  0     0   12 -      SL    ??    0:00.00  (nfsiod 0)
    0    52     0   0   8  0     0   12 -      SL    ??    0:00.00  (nfsiod 1)
    0    53     0   0   8  0     0   12 -      SL    ??    0:00.00  (nfsiod 2)
    0    54     0   0   8  0     0   12 -      SL    ??    0:00.00  (nfsiod 3)
    0   182     1   0  20  0  1172  504 pause  Ss    ??    0:00.00 adjkerntz -i
    0   277     1   0  76  0  1300  728 select Ss    ??    0:00.12 /usr/sbin/syslogd -s
    0   432     1   0   4  0  3536 1688 select Ss    ??    0:00.03 /usr/sbin/sshd
    0   455     1   0   8  0  1328  896 nanslp Ss    ??    0:00.09 /usr/sbin/cron -s
    0   482     1   0  76  0  2508 1804 select Ss    ??    0:00.93 /usr/local/sbin/httpd
   80   500   482   0   4  0  2524 1824 accept S     ??    0:00.00 /usr/local/sbin/httpd
   80   501   482   0   4  0  2524 1824 accept S     ??    0:00.00 /usr/local/sbin/httpd
   80   502   482   0   4  0  2524 1828 accept S     ??    0:00.00 /usr/local/sbin/httpd
   80   503   482   0   4  0  2524 1824 accept S     ??    0:00.00 /usr/local/sbin/httpd
   80   504   482   0   4  0  2524 1828 accept S     ??    0:00.00 /usr/local/sbin/httpd
    0   575     1   0  76  0  1220  624 select Ss    ??    0:57.56 /usr/sbin/moused -p /dev/psm0 -t auto
    0   597     1   0   4  0  1408  860 select Ss    ??    0:00.00 /usr/sbin/inetd -wW -C 60
 1001   667     1   0  76  0 20704 11572 select Ss    ??    0:00.65 kdeinit: Running... (kdeinit)
 1001   670     1   0  76  0 20360 11264 select S     ??    0:01.05 kdeinit: dcopserver --nosid (kdeinit)
 1001   674     1   0  76  0 21488 12500 select S     ??    0:00.48 kdeinit: klauncher (kdeinit)
 1001   676     1   0  76  0 22436 14200 select S     ??    4:22.74 kdeinit: kded (kdeinit)
 1001   686   667   0  60  0  7948 5844 select S     ??    0:13.85 /usr/local/bin/artsd -F 10 -S 4096 -s 60 -m artsmessage -l 3 -f
 1001   688     1   0  76  0 21692 13196 select S     ??    0:03.07 kdeinit: kaccess (kdeinit)
 1001   690     1   0  76  0 25472 16124 select S     ??    0:00.77 kdeinit: knotify (kdeinit)
 1001   693     1   0  76  0 21616 13528 select S     ??    0:00.50 kdeinit: ksmserver (kdeinit)
 1001   694   667   0  76  0 22792 14768 select S     ??    0:20.68 kdeinit: kwin -session 11c0a8000a000107361431500000013140000_107
 1001   696     1   0  76  0 23596 16272 select S     ??    0:25.39 kdeinit: kdesktop (kdeinit)
 1001   698     1   0  76  0 24840 17248 select S     ??    0:46.15 kdeinit: kicker (kdeinit)
 1001   702     1   0  76  0 22436 14384 select S     ??    0:15.88 kdeinit: klipper (kdeinit)
 1001   703   667   0  76  0 25140 16720 select S     ??    0:04.67 kdeinit: konsole -session 11c0a8000a000107361555200000013140053_
 1001   704   667   0  76  0 26760 18604 select S     ??    0:31.17 kdeinit: konsole -session 11c0a8000a000107407845600000007320076_
 1001   705   667   0  76  0 26592 20016 select S     ??    0:32.52 kdeinit: konqueror -session 11c0a8000a00010750632030000000661002
 1001   731   667   0  76  0 79180 74080 select S     ??    3:50.54 /usr/X11R6/share/opera/bin/opera --binarydir /usr/X11R6/share/op
 1001   787   667   0  76  0 46420 41652 select S     ??    0:44.33 sylpheed-claws
 1001   805     1   0  76  0 22416 14844 select S     ??    0:00.56 kdeinit: kio_uiserver (kdeinit)
 1001   842   667   0  79  0 68292 60524 select S     ??   28:02.23 /usr/X11R6/bin/dcgui-qt
 1001  1189   667   0  76  0 20916 12084 select S     ??    0:00.52 kdeinit: kio_file file /tmp/ksocket-itetcu/klauncher5WshbN.slave
 1001   711   703   0   8  0  1332  876 wait   Ss    p0    0:00.03 /usr/local/bin/bash
 1001   726   711   0  76  0 21124 8736 select S+    p0    0:02.12 ayttm
    0   720   704   0   8  0  1632 1084 wait   Ss    p1    0:00.04 su
    0   771   720   0  20  0  2244 1620 pause  S     p1    0:00.04 _su (csh)
    0   773   771   0   4  0  1204  620 kqread S+    p1    0:00.01 tail -f /var/log/messages
    0   721   704   0   8  0  1632 1084 wait   Ss    p2    0:00.04 su
    0   774   721   0  20  0  2248 1680 pause  S     p2    0:00.07 _su (csh)
    0  4867 92138   0   8 -20  2436 1080 wait   S<+   p2    0:00.02 gmake all
    0  5076  4867   0   8 -20  1636 1012 wait   S<+   p2    0:00.01  (sh)
    0  5078  5076   0   8 -20  1664 1040 wait   S<+   p2    0:00.01  (sh)
    0  5080  5078   0   8 -20  1988 1408 wait   S<+   p2    0:00.13  (sh)
    0  5273  5080   0   8 -20  1288  740 wait   S<+   p2    0:00.01  (c++)
    0  5274  5273   0 119 -20 11640 10916 -      R<+   p2    0:01.02  (cc1plus)
    0  5275  5273   0  -8 -20  1024  840 piperd S<+   p2    0:00.00 /usr/bin/as -o vdeletecmd.o -
    0 37986   774   0   8 -20   880  760 wait   S<+   p2    0:00.12 make install clean
    0 46978 37986   0   8 -20  1632 1008 wait   S<+   p2    0:00.01  (sh)
    0 46979 46978   0   8 -20  2436 1060 wait   S<+   p2    0:00.02 gmake -f Makefile all
    0 46982 46979   0   8 -20  2440 1036 wait   S<+   p2    0:00.01 gmake all-recursive
    0 46985 46982   0   8 -20  1636 1020 wait   S<+   p2    0:00.01  (sh)
    0 92137 46985   0   8 -20  2452 1048 wait   S<+   p2    0:00.01 gmake all
    0 92138 92137   0   8 -20  1640 1024 wait   S<+   p2    0:00.01  (sh)
    0   783   704   0   8  0  1632 1084 wait   Ss    p3    0:00.04 su
    0   784   783   0  20  0  2376 1808 pause  S     p3    0:00.18 _su (csh)
    0  1276   784   0   8  0  1652 1012 wait   S+    p3    0:00.04 /bin/sh /root/bin/ports_upd.sh -c -f -o
    0 64632  1276   0   8  0   848  724 wait   S+    p3    0:00.06 make -DBATCH fetch
    0 64714 64632   0   8  0  1648 1024 wait   S+    p3    0:00.01  (sh)
    0 64718 64714   0   8  0  1652 1036 wait   S+    p3    0:00.09  (sh)
    0 98107 64718   0   4  0  2576 1304 sbwait S+    p3    0:00.09 /usr/bin/fetch -ARr -vvp -T 60 ftp://ftp.funet.fi/pub/TeX/CTAN/m
 1001   723   704   0   8  0  1336  880 wait   Ss    p4    0:00.12 /usr/local/bin/bash
 1001  5276   723   0  76  0  1416  808 -      R+    p4    0:00.01 ps axwl
 1001   724   704   0   8  0  1336  880 wait   Ss    p5    0:00.04 /usr/local/bin/bash
 1001  2377   724   0   5  0  2108 1560 ttyin  S+    p5    0:02.23 systat
 1001   725   704   0   5  0  1336  880 ttyin  Ss+   p6    0:00.08 /usr/local/bin/bash
    0   743     1   0   5  0  1268  804 ttyin  Ss+   v0    0:00.01 /usr/libexec/getty Pc ttyv0
    0   611     1   0   8  0  1640 1096 wait   Ss    v1    0:00.08 login [pam] (login)
 1001   622   611   0   8  0  1332  876 wait   S     v1    0:00.02 -bash (bash)
 1001   634   622   0   8  0  1636  932 wait   S+    v1    0:00.02 /bin/sh /usr/X11R6/bin/startx
 1001   644   634   0   8  0  2548 1252 wait   S+    v1    0:00.01 xinit /home/itetcu/.xinitrc -- -nolisten tcp
    0   645   644   0  76  0 114128 112288 select S     v1    8:22.00 /usr/X11R6/bin/XFree86 :0 -nolisten tcp
 1001   650   644   0   8  0  1640  952 wait   S     v1    0:00.03 /bin/sh /usr/local/bin/startkde
 1001   691   650   0   8  0  1308  728 nanslp S     v1    0:00.36 kwrapper ksmserver
    0   612     1   0   8  0  1628 1084 wait   Ss    v2    0:00.08 login [pam] (login)
    0   618   612   0   5  0  2304 1684 ttyin  S+    v2    0:00.04 -csh (csh)
    0   613     1   0   5  0  1268  728 ttyin  Ss+   v3    0:00.01 /usr/libexec/getty Pc ttyv3
    0   614     1   0   5  0  1268  728 ttyin  Ss+   v4    0:00.01 /usr/libexec/getty Pc ttyv4
    0   615     1   0   5  0  1268  728 ttyin  Ss+   v5    0:00.01 /usr/libexec/getty Pc ttyv5
    0   616     1   0   5  0  1268  728 ttyin  Ss+   v6    0:00.01 /usr/libexec/getty Pc ttyv6
    0   617     1   0   5  0  1268  728 ttyin  Ss+   v7    0:00.01 /usr/libexec/getty Pc ttyv7
65534   487     1   0   4  0 37988 8136 accept S    con-   0:00.13 /usr/local/sbin/dictd




-- 
IOnut
Unregistered ;) FreeBSD user


More information about the freebsd-current mailing list