Process in 'biowr' state

Anselm Strauss amsibamsi at gmail.com
Sat Aug 23 12:04:47 UTC 2008


Hi,

I have a problem with my alix2c2 router. It's a all-in-one board with  
compact flash card as root device. I setup the card from another  
machine, then booted it, and then wanted to install the manpage  
distribution. But that took forever, I always had to quit it. I then  
noticed that it downloads the files okay, but then when extracting  
there is a cpio process in state biowr, which I assume means blocked I/ 
O writing. I know that CF cards can be slow compared to hard disks,  
but after all it's a 120X speed card. According to the specification  
this is about 18 Mbytes/s.

I made a simple test by just touching a lot of files, beyond 200 it  
gets really slow. The touch process then resides in biowr state, the  
CPU is 99% idle.

---
bishop test # i=1; time while [ $i -lt 100 ]; do touch $i; i=$[i+1];  
done; rm *; sync

real	0m1.530s
user	0m0.140s
sys	0m0.459s
bishop test # i=1; time while [ $i -lt 200 ]; do touch $i; i=$[i+1];  
done; rm *; sync

real	0m3.016s
user	0m0.286s
sys	0m0.922s
bishop test # i=1; time while [ $i -lt 300 ]; do touch $i; i=$[i+1];  
done; rm *; sync

real	0m19.218s
user	0m0.555s
sys	0m1.270s
bishop test # i=1; time while [ $i -lt 1000 ]; do touch $i; i=$[i+1];  
done; rm *; sync

real	4m26.730s
user	0m1.690s
sys	0m4.399s
bishop test #
---

Now, I'm not sure what to do about that. In top I see no resources  
that are exhausted. In syslog or dmesg there are no messages. Is it  
really possible that CF is that slow?

Kernel messages are:

---
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
         The Regents of the University of California. All rights  
reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-RELEASE-p2 #0: Wed Jun 18 07:33:20 UTC 2008
     root at i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Geode(TM) Integrated Processor by AMD PCS (498.05-MHz 586-class  
CPU)
   Origin = "AuthenticAMD"  Id = 0x5a2  Stepping = 2
   Features=0x88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CLFLUSH,MMX>
   AMD Features=0xc0400000<MMX+,3DNow!+,3DNow!>
real memory  = 268435456 (256 MB)
avail memory = 248811520 (237 MB)
pnpbios: Bad PnP BIOS data checksum
kbd0 at kbdmux0
K6-family MTRR support enabled (2 registers)
ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413,  
RF5413)
hptrr: HPT RocketRAID controller driver v1.1 (Jun 18 2008 07:32:57)
cpu0 on motherboard
pcib0: <Host to PCI bridge> pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
pci0: <encrypt/decrypt, entertainment crypto> at device 1.2 (no driver  
attached)
vr0: <VIA VT6105M Rhine III 10/100BaseTX> port 0x1000-0x10ff mem  
0xe0000000-0xe0
vr0: Quirks: 0x2
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr0: using obsoleted if_watchdog interface
vr0: Ethernet address: 00:0d:b9:14:d9:e0
vr0: [ITHREAD]
vr1: <VIA VT6105M Rhine III 10/100BaseTX> port 0x1400-0x14ff mem  
0xe0040000-0xe0
vr1: Quirks: 0x2
miibus1: <MII bus> on vr1
ukphy1: <Generic IEEE 802.3u media interface> PHY 1 on miibus1
ukphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr1: using obsoleted if_watchdog interface
vr1: Ethernet address: 00:0d:b9:14:d9:e1
vr1: [ITHREAD]
ath0: <Atheros 5212> mem 0xe0080000-0xe008ffff irq 9 at device 12.0 on  
pci0
ath0: [ITHREAD]
ath0: using obsoleted if_watchdog interface
ath0: Ethernet address: 00:80:48:57:c1:69
ath0: mac 10.5 phy 6.1 radio 6.3
isab0: <PCI-ISA bridge> port 0x6000-0x6007,0x6100-0x61ff,0x6200-0x623f, 
0x9d00-00
isa0: <ISA bus> on isab0
atapci0: <AMD CS5536 UDMA100 controller> port  
0x1f0-0x1f7,0x3f6,0x170-0x177,0x30
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
ohci0: <OHCI (generic) USB controller> mem 0xefffe000-0xefffefff irq  
15 at devi0
ohci0: [GIANT-LOCKED]
ohci0: [ITHREAD]
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: <AMD OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 4 ports with 4 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xefffd000-0xefffdfff  
irq 15 at 0
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb1: EHCI version 1.0
usb1: companion controller, 4 ports each: usb0
usb1: <EHCI (generic) USB 2.0 controller> on ehci0
usb1: USB revision 2.0
uhub1: <AMD EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb1
uhub1: 4 ports with 4 removable, self powered
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xe0000-0xea7ff pnpid ORM0000 on isa0
ppc0: parallel port not found.
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A, console
sio0: [FILTER]
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
Timecounter "TSC" frequency 498054207 Hz quality 800
Timecounters tick every 1.000 msec
hptrr: no controller detected.
ad0: DMA limited to UDMA33, device found non-ATA66 cable
ad0: FAILURE - SET_MULTI status=51<READY,DSC,ERROR> error=4<ABORTED>
ad0: 7647MB <FLASH CARD 20080128> at ata0-master UDMA33
Trying to mount root from ufs:/dev/ad0s3a
Loading configuration files.
No suitable dump device was found.
Entropy harvesting: interrupts ethernet point_to_point kickstart.
Starting file system checks:
/dev/ad0s3a: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s3a: clean, 3278935 free (5855 frags, 818270 blocks, 0.2%  
fragmentation)
Setting hostuuid: 543a82a0-bfdf-11d3-8691-000db914d9e0.
Setting hostid: 0x77f02bce.
Mounting local file systems:.
Setting hostname: bishop.marvels.xx.
net.inet6.ip6.auto_linklocal: 1 -> 0
hw.syscons.bell: 1 -> 0
vr0: changing name to 'public'
public: link state changed to UP
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
         inet6 ::1 prefixlen 128
         inet 127.0.0.1 netmask 0xff000000
public: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0  
mtu 1500
         options=b<RXCSUM,TXCSUM,VLAN_MTU>
         ether 00:0d:b9:14:d9:e0
         inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
         media: Ethernet autoselect (100baseTX <full-duplex>)
         status: active
add net default: gateway 192.168.1.254
Additional routing options:.
Starting devd.
vr1: link state changed to DOWN
Generating host.conf.
Additional IP options:.
Mounting NFS file systems:.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout
Creating and/or trimming log files:.
Starting syslogd.
/etc/rc: WARNING: Dump device does not exist.  Savecore not run.
Initial i386 initialization:.
Additional ABI support:.
Setting date via ntp.
23 Aug 13:19:27 ntpdate[649]: step time server 212.87.0.71 offset  
-0.014994 sec
Clearing /tmp (X related).
Starting local daemons:.
Updating motd.
Mounting late file systems:.
Starting ntpd.
Starting sshd.
Starting cron.
Local package initialization:.
Starting background file system checks in 60 seconds.
---

Any help is appreciated.

Anselm



More information about the freebsd-questions mailing list