Date: Sat, 03 Nov 2007 00:45:05 +0000 From: Bruce Cran <bruce@cran.org.uk> To: acpi@freebsd.org Subject: High interrupt load when VIA C3 CPU is running at half speed Message-ID: <472BC491.5060903@cran.org.uk>
next in thread | raw e-mail | index | archive | help
I've come across a strange issue on my EPIA 5000 router that's running 7.0-BETA1. It has a VIA C3 CPU that can either run at 530MHz or 265MHz. Whenever I set the CPU to half it's full speed the interrupt CPU% jumps from around 2% at most to a continuous 15-20%. At the same time, the "swi4: clock sio" task starts using around 10% CPU all the time. I've checked with vmstat -i and it doesn't show any change in the interrupt rate so I don't know what might be going on to cause such as increase in CPU usage. It has the following ACPI settings: dev.cpu.0.%desc: ACPI CPU dev.cpu.0.%driver: cpu dev.cpu.0.%location: handle=\_PR_.CPU0 dev.cpu.0.%pnpinfo: _HID=none _UID=0 dev.cpu.0.%parent: acpi0 dev.cpu.0.freq: 530 dev.cpu.0.freq_levels: 530/-1 265/-1 dev.cpu.0.cx_supported: C1/0 C2/90 C3/900 dev.cpu.0.cx_lowest: C1 dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% kern.timecounter.choice: TSC(800) ACPI-safe(850) i8254(0) dummy(-1000000) kern.timecounter.hardware: ACPI-safe kern.clockrate: { hz = 1000, tick = 1000, profhz = 1024, stathz = 128 } When running at 530MHz, top -S displays: last pid: 17761; load averages: 0.00, 0.00, 0.00 up 3+03:10:35 00:31:45 52 processes: 2 running, 35 sleeping, 15 waiting CPU states: % user, % nice, % system, % interrupt, % idle Mem: 9884K Active, 68M Inact, 29M Wired, 1584K Cache, 21M Buf, 6268K Free Swap: 2048M Total, 2048M Free PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND 11 root 1 171 ki31 0K 8K RUN 74.3H 100.00% idle 12 root 1 -32 - 0K 8K WAIT 35:17 0.20% swi4: clock sio But when dev.cpu.0.freq is set to 265, it changes to: last pid: 17783; load averages: 0.59, 0.13, 0.05 up 3+03:12:01 00:33:11 52 processes: 2 running, 35 sleeping, 15 waiting CPU states: % user, % nice, % system, % interrupt, % idle Mem: 9888K Active, 68M Inact, 29M Wired, 1584K Cache, 21M Buf, 6264K Free Swap: 2048M Total, 2048M Free PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND 11 root 1 171 ki31 0K 8K RUN 74.3H 66.46% idle 12 root 1 -32 - 0K 8K WAIT 35:20 9.77% swi4: clock sio When this happens I occasionally see the swi4 task in the Giant* state. I've copied my kernel configuration and dmesg below. While it's not causing a real problem since I can just run the CPU at full speed, it would be nice to throttle it back since it's idle for the vast majority of the time. Is there anything more I can do to try and find out what's going on? -- Bruce dmesg: Copyright (c) 1992-2007 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-BETA1 #0: Tue Oct 30 01:41:12 GMT 2007 brucec@router.draftnet:/usr/obj/usr/src/sys/ROUTER Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: VIA C3 Nehemiah+RNG+AES (533.36-MHz 686-class CPU) Origin = "CentaurHauls" Id = 0x698 Stepping = 8 Features=0x381b93f<FPU,VME,DE,PSE,TSC,MSR,CX8,SEP,MTRR,PGE,CMOV,PAT,MMX,FXSR,SSE> real memory = 132055040 (125 MB) avail memory = 119709696 (114 MB) cryptosoft0: <software crypto> on motherboard acpi0: <VIA601 AWRDACPI> on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, 7cf0000 (3) failed Timecounter "ACPI-safe" frequency 3579545 Hz quality 850 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0 cpu0: <ACPI CPU> on acpi0 acpi_throttle0: <ACPI CPU Throttling> on cpu0 acpi_button0: <Power Button> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff,0x4000-0x407f,0x4080-0x40ff,0x5000-0x500f,0x6000-0x607f on acpi0 pci0: <ACPI PCI bus> on pcib0 pcib1: <PCI-PCI bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 vgapci0: <VGA-compatible display> mem 0xd1800000-0xd1ffffff,0xd2000000-0xd201ffff,0xd1000000-0xd17fffff irq 11 at device 0.0 on pci1 isab0: <PCI-ISA bridge> at device 17.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 8231 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xe800-0xe80f at device 17.1 on pci0 ata0: <ATA channel 0> on atapci0 ata0: [ITHREAD] ata1: <ATA channel 1> on atapci0 ata1: [ITHREAD] pci0: <serial bus, USB> at device 17.2 (no driver attached) pci0: <serial bus, USB> at device 17.3 (no driver attached) pci0: <bridge> at device 17.4 (no driver attached) pci0: <multimedia, audio> at device 17.5 (no driver attached) vr0: <VIA VT6102 Rhine II 10/100BaseTX> port 0xe400-0xe4ff mem 0xd5400000-0xd54000ff irq 11 at device 18.0 on pci0 vr0: Quirks: 0x0 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:40:63:e3:d1:b7 vr0: [ITHREAD] pcib2: <PCI-PCI bridge> at device 20.0 on pci0 pci2: <PCI bus> on pcib2 dc0: <Intel 21143 10/100BaseTX> port 0xc000-0xc07f mem 0xd4000000-0xd40003ff irq 5 at device 4.0 on pci2 miibus1: <MII bus> on dc0 ukphy1: <Generic IEEE 802.3u media interface> PHY 1 on miibus1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc0: Ethernet address: 00:80:c8:c9:96:6d dc0: [ITHREAD] dc1: <Intel 21143 10/100BaseTX> port 0xc400-0xc47f mem 0xd4001000-0xd40013ff irq 12 at device 5.0 on pci2 miibus2: <MII bus> on dc1 ukphy2: <Generic IEEE 802.3u media interface> PHY 1 on miibus2 ukphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc1: Ethernet address: 00:80:c8:c9:96:6e dc1: [ITHREAD] dc2: <Intel 21143 10/100BaseTX> port 0xc800-0xc87f mem 0xd4002000-0xd40023ff irq 10 at device 6.0 on pci2 miibus3: <MII bus> on dc2 ukphy3: <Generic IEEE 802.3u media interface> PHY 1 on miibus3 ukphy3: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc2: Ethernet address: 00:80:c8:c9:96:6f dc2: [ITHREAD] dc3: <Intel 21143 10/100BaseTX> port 0xcc00-0xcc7f mem 0xd4003000-0xd40033ff irq 11 at device 7.0 on pci2 miibus4: <MII bus> on dc3 ukphy4: <Generic IEEE 802.3u media interface> PHY 1 on miibus4 ukphy4: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc3: Ethernet address: 00:80:c8:c9:96:70 dc3: [ITHREAD] acpi_tz0: <Thermal Zone> on acpi0 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A, console sio0: [FILTER] padlock0: <AES-CBC> on motherboard pmtimer0 on isa0 orm0: <ISA Option ROMs> at iomem 0xc0000-0xcbfff,0xcc000-0xcffff,0xd0000-0xd9fff pnpid ORM0000 on isa0 sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled Timecounter "TSC" frequency 533355919 Hz quality 800 Timecounters tick every 1.000 msec ad0: 305245MB <MAXTOR STM3320820A 3.AAE> at ata0-master UDMA100 ad2: 491MB <CF300 Ver1.27> at ata1-master UDMA33 Trying to mount root from ufs:/dev/ad2s1a bridge0: Ethernet address: de:ba:29:e2:13:a4 dc3: link state changed to DOWN dc3: link state changed to UP dc3: link state changed to DOWN dc3: link state changed to UP Kernel configuration: cpu I686_CPU ident ROUTER # 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 SCHED_ULE # 4BSD scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options SCTP # Stream Transmission Control Protocol 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 UFS_GJOURNAL # Enable gjournal-based UFS journaling options PROCFS # Process filesystem (requires PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework options GEOM_PART_GPT # GUID Partition Tables. options GEOM_LABEL # Provides labelization options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!] options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD6 options SCSI_DELAY=5000 # 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 ADAPTIVE_GIANT # Giant mutex is adaptive. options STOP_NMI # Stop CPUS using NMI instead of IPI options AUDIT # Security event auditing options KDB # Enable kernel debugger support. options DDB # Support DDB. # options GDB # Support remote GDB. # 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 lines are needed device apic # I/O APIC # Bus support. device eisa device pci # ATA and ATAPI devices device ata device atadisk # ATA disk drives options ATA_STATIC_ID # Static device numbering # Add suspend/resume support for the i8254. device pmtimer # Serial (COM) ports device sio # 8250, 16[45]50 based serial ports device miibus # MII bus support device dc # DEC/Intel 21143 and various workalikes device vr # VIA Rhine, Rhine II # Pseudo devices. device loop # Network loopback device random # Entropy device device ether # Ethernet support device pty # Pseudo-ttys (telnet etc) device gif # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter device pf device pfsync device pflog device crypto device padlock device if_bridge # options HZ=100 options ALTQ options ALTQ_CDNR options ALTQ_HFSC options ALTQ_PRIQ options ZERO_COPY_SOCKETS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?472BC491.5060903>