I just tried to submit this on bugzilla, but couldn't: kept getting 
interal server errors. I'll try again later. For now, has anyone seen 
anything like this? This is with kernel-smp-2.4.21.0.13mdk-1-1mdk.

IO-APIC is enabled on my system, however all interrupts are routed to 
CPU0. This didn't used to be the case, and I see a *drastic* 
performance hit because of this (for instance, using mencoder to 
capture real-time TV I used to get 35fps, now I can't even get 20fps). 
 
However, if I reset all the /proc/irq/x/smp_affinity's, interrupts 
immediately begin being routed to both CPUs as they should. 
 
Before doing anything special on boot: 
 
$ cat /proc/interrupts 
 
           CPU0       CPU1 
  0:      39230          0    IO-APIC-edge  timer 
  1:       1209          0    IO-APIC-edge  keyboard 
  2:          0          0          XT-PIC  cascade 
  5:       9628          0   IO-APIC-level  EMU10K1 
  8:          1          0    IO-APIC-edge  rtc 
 10:          2          0   IO-APIC-level  usb-uhci, bttv 
 11:      21079          0   IO-APIC-level  eth0, [EMAIL PROTECTED]:1:0:0 
 12:      14394          0    IO-APIC-edge  PS/2 Mouse 
 14:      21915          0    IO-APIC-edge  ide0 
 15:        118          0    IO-APIC-edge  ide1 
NMI:          0          0 
LOC:      63419      63418 
ERR:          1 
MIS:          0 
 
$ cat /proc/irq/0/smp_affinity 
ffffffff 

This indicates that the irq's should be shared... but it's not happening 
unless I write something to smp_affinity.

$ echo 3 > /proc/irq/0/smp_affinity 
(repeated for each /proc/irq/[0 .. 15]/smp_affinity) 
(this actually works as expected if I write 1 (only goes to CPU0) or 2 
(only goes to CPU1) or f or ffffffff (shares properly); it seems to be 
the *writing* that wakes it up and makes it work =)

$ cat /proc/interrupts 
           CPU0       CPU1 
  0:      60473      45340    IO-APIC-edge  timer 
  1:       2816       2246    IO-APIC-edge  keyboard 
  2:          0          0          XT-PIC  cascade 
  5:      19564      19645   IO-APIC-level  EMU10K1 
  8:          1          0    IO-APIC-edge  rtc 
 10:          2          0   IO-APIC-level  usb-uhci, bttv 
 11:      38152      37213   IO-APIC-level  eth0, [EMAIL PROTECTED]:1:0:0 
 12:      20214      20033    IO-APIC-edge  PS/2 Mouse 
 14:      22348      14098    IO-APIC-edge  ide0 
 15:        118         50    IO-APIC-edge  ide1 
NMI:          0          0 
LOC:     105730     105729 
ERR:          5 
MIS:          0 
 
Oh wow! Look, now it's routing to both processors! 
 
Attached in my dmesg, in case this is helpful: 
 
found SMP MP-table at 000f5940 
hm, page 000f5000 reserved twice. 
hm, page 000f6000 reserved twice. 
hm, page 000f1000 reserved twice. 
hm, page 000f2000 reserved twice. 
On node 0 totalpages: 98304 
zone(0): 4096 pages. 
zone(1): 94208 pages. 
zone(2): 0 pages. 
ACPI: Unable to locate RSDP 
Intel MultiProcessor Specification v1.1 
    Virtual Wire compatibility mode. 
OEM ID: OEM00000 Product ID: PROD00000000 APIC at: 0xFEE00000 
Processor #0 Pentium(tm) Pro APIC version 17 
Processor #1 Pentium(tm) Pro APIC version 17 
I/O APIC #2 Version 17 at 0xFEC00000. 
Enabling APIC mode: Flat.       Using 1 I/O APICs 
Processors: 2 
Kernel command line: BOOT_IMAGE=2421-13smp ro root=306 devfs=mount 
hdd=ide-scsi 
ide_setup: hdd=ide-scsi 
Initializing CPU#0 
Detected 751.727 MHz processor. 
Console: colour VGA+ 80x25 
Calibrating delay loop... 1500.77 BogoMIPS 
Memory: 385140k/393216k available (1497k kernel code, 7688k reserved, 
1138k data, 
144k init, 0k highmem) 
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes) 
Inode cache hash table entries: 32768 (order: 6, 262144 bytes) 
Mount cache hash table entries: 512 (order: 0, 4096 bytes) 
Buffer-cache hash table entries: 32768 (order: 5, 131072 bytes) 
Page-cache hash table entries: 131072 (order: 7, 524288 bytes) 
CPU: L1 I cache: 16K, L1 D cache: 16K 
CPU: L2 cache: 256K 
CPU serial number disabled. 
Intel machine check architecture supported. 
Intel machine check reporting enabled on CPU#0. 
CPU:     After generic, caps: 0383fbff 00000000 00000000 00000000 
CPU:             Common caps: 0383fbff 00000000 00000000 00000000 
Enabling fast FPU save and restore... done. 
Enabling unmasked SIMD FPU exception support... done. 
Checking 'hlt' instruction... OK. 
POSIX conformance testing by UNIFIX 
mtrr: v1.40 (20010327) Richard Gooch ([EMAIL PROTECTED]) 
mtrr: detected mtrr type: Intel 
CPU: L1 I cache: 16K, L1 D cache: 16K 
CPU: L2 cache: 256K 
Intel machine check reporting enabled on CPU#0. 
CPU:     After generic, caps: 0383fbff 00000000 00000000 00000000 
CPU:             Common caps: 0383fbff 00000000 00000000 00000000 
CPU0: Intel Pentium III (Coppermine) stepping 01 
per-CPU timeslice cutoff: 732.02 usecs. 
enabled ExtINT on CPU#0 
ESR value before enabling vector: 00000000 
ESR value after enabling vector: 00000000 
Booting processor 1/1 eip 3000 
Initializing CPU#1 
masked ExtINT on CPU#1 
ESR value before enabling vector: 00000000 
ESR value after enabling vector: 00000000 
Calibrating delay loop... 1500.77 BogoMIPS 
CPU: L1 I cache: 16K, L1 D cache: 16K 
CPU: L2 cache: 256K 
CPU serial number disabled. 
Intel machine check reporting enabled on CPU#1. 
CPU:     After generic, caps: 0383fbff 00000000 00000000 00000000 
CPU:             Common caps: 0383fbff 00000000 00000000 00000000 
CPU1: Intel Pentium III (Coppermine) stepping 01 
Total of 2 processors activated (3001.54 BogoMIPS). 
ENABLING IO-APIC IRQs 
Setting 2 in the phys_id_present_map 
...changing IO-APIC physical APIC ID to 2 ... ok. 
init IO_APIC IRQs 
 IO-APIC (apicid-pin) 2-0, 2-5, 2-10, 2-11, 2-17, 2-20, 2-21, 2-22, 2-23 
not connected. 
..TIMER: vector=0x31 pin1=2 pin2=0 
number of MP IRQ sources: 16. 
number of IO-APIC #2 registers: 24. 
testing the IO APIC....................... 
 
IO APIC #2...... 
.... register #00: 02000000 
.......    : physical APIC id: 02 
.... register #01: 00170011 
.......     : max redirection entries: 0017 
.......     : PRQ implemented: 0 
.......     : IO APIC version: 0011 
.... register #02: 00000000 
.......     : arbitration: 00 
.... IRQ redirection table: 
 NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 
 00 000 00  1    0    0   0   0    0    0    00 
 01 001 01  0    0    0   0   0    1    1    39 
 02 001 01  0    0    0   0   0    1    1    31 
 03 001 01  0    0    0   0   0    1    1    41 
 04 001 01  0    0    0   0   0    1    1    49 
 05 000 00  1    0    0   0   0    0    0    00 
 06 001 01  0    0    0   0   0    1    1    51 
 07 001 01  0    0    0   0   0    1    1    59 
 08 001 01  0    0    0   0   0    1    1    61 
 09 001 01  0    0    0   0   0    1    1    69 
 0a 000 00  1    0    0   0   0    0    0    00 
 0b 000 00  1    0    0   0   0    0    0    00 
 0c 001 01  0    0    0   0   0    1    1    71 
 0d 001 01  0    0    0   0   0    1    1    79 
 0e 001 01  0    0    0   0   0    1    1    81 
 0f 001 01  0    0    0   0   0    1    1    89 
 10 001 01  1    1    0   1   0    1    1    91 
 11 000 00  1    0    0   0   0    0    0    00 
 12 001 01  1    1    0   1   0    1    1    99 
 13 001 01  1    1    0   1   0    1    1    A1 
 14 000 00  1    0    0   0   0    0    0    00 
 15 000 00  1    0    0   0   0    0    0    00 
 16 000 00  1    0    0   0   0    0    0    00 
 17 000 00  1    0    0   0   0    0    0    00 
IRQ to pin mappings: 
IRQ0 -> 0:2 
IRQ1 -> 0:1 
IRQ3 -> 0:3 
IRQ4 -> 0:4 
IRQ5 -> 0:18 
IRQ6 -> 0:6 
IRQ7 -> 0:7 
IRQ8 -> 0:8 
IRQ9 -> 0:9 
IRQ10 -> 0:19 
IRQ11 -> 0:16 
IRQ12 -> 0:12 
IRQ13 -> 0:13 
IRQ14 -> 0:14 
IRQ15 -> 0:15 
.................................... done. 
Using local APIC timer interrupts. 
calibrating APIC timer ... 
..... CPU clock speed is 751.7716 MHz. 
..... host bus clock speed is 100.2361 MHz. 
cpu: 0, clocks: 1002361, slice: 334120 
CPU0<T0:1002352,T1:668224,D:8,S:334120,C:1002361> 
cpu: 1, clocks: 1002361, slice: 334120 
CPU1<T0:1002352,T1:334112,D:0,S:334120,C:1002361> 
checking TSC synchronization across CPUs: passed. 
Waiting on wait_init_idle (map = 0x2) 
All processors have done init_idle 
mtrr: your CPUs had inconsistent variable MTRR settings 
mtrr: probably your BIOS does not setup all CPUs 
ACPI: Subsystem revision 20030122 
PCI: PCI BIOS revision 2.10 entry at 0xfb2c0, last bus=1 
PCI: Using configuration type 1 
ACPI: System description tables not found 
    ACPI-0084: *** Error: acpi_load_tables: Could not get RSDP, 
AE_NOT_FOUND 
    ACPI-0134: *** Error: acpi_load_tables: Could not load tables: 
AE_NOT_FOUND 
ACPI: Unable to load the System Description Tables 
PCI: Probing PCI hardware 
PCI: ACPI tables contain no PCI IRQ routing entries 
PCI: Probing PCI hardware (bus 00) 
PCI: Using IRQ router VIA [1106/0596] at 00:07.0 
Activating ISA DMA hang workarounds. 
isapnp: Scanning for PnP cards... 
isapnp: No Plug & Play device found 
Linux NET4.0 for Linux 2.4 
Based upon Swansea University Computer Society NET3.039 
Initializing RT netlink socket 
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16) 
apm: disabled - APM is not SMP safe. 
Starting kswapd 
VFS: Disk quotas vdquot_6.5.1 
devfs: v1.12c (20020818) Richard Gooch ([EMAIL PROTECTED]) 
devfs: boot_options: 0x1 
pty: 1024 Unix98 ptys configured 
Serial driver version 5.05c (2001-07-08) with HUB-6 MANY_PORTS MULTIPORT 
SHARE_IRQ SERIAL_PCI ISAPNP enabled 
ttyS00 at 0x03f8 (irq = 4) is a 16550A 
ttyS01 at 0x02f8 (irq = 3) is a 16550A 
RAMDISK driver initialized: 16 RAM disks of 32000K size 1024 blocksize 
Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4 
ide: Assuming 33MHz system bus speed for PIO modes; override with 
idebus=xx 
VP_IDE: IDE controller at PCI slot 00:07.1 
VP_IDE: chipset revision 16 
VP_IDE: not 100% native mode: will probe irqs later 
VP_IDE: VIA vt82c596b (rev 23) IDE UDMA66 controller on pci00:07.1 
    ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:DMA 
    ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:DMA 
hda: IBM-DTLA-307045, ATA DISK drive 
hdb: MAXTOR 6L080J4, ATA DISK drive 
hda: DMA disabled 
blk: queue c0413060, I/O limit 4095Mb (mask 0xffffffff) 
hdb: DMA disabled 
blk: queue c04131ac, I/O limit 4095Mb (mask 0xffffffff) 
hdc: Pioneer DVD-ROM ATAPIModel DVD-115 0111, ATAPI CD/DVD-ROM drive 
hdd: PHILIPS CDD3610 CD-R/RW, ATAPI CD/DVD-ROM drive 
hdc: DMA disabled 
hdd: DMA disabled 
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 
ide1 at 0x170-0x177,0x376 on irq 15 
hda: host protected area => 1 
hda: 90069840 sectors (46116 MB) w/1916KiB Cache, CHS=5606/255/63, 
UDMA(66) 
hdb: host protected area => 1 
hdb: 156355584 sectors (80054 MB) w/1819KiB Cache, CHS=9732/255/63, 
UDMA(66) 
Partition check: 
 /dev/ide/host0/bus0/target0/lun0: p1 p2 < p5 p6 p7 p8 p9 > 
 /dev/ide/host0/bus0/target1/lun0: p1 
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 
md: Autodetecting RAID arrays. 
md: autorun ... 
md: ... autorun DONE. 
NET4: Linux TCP/IP 1.0 for NET4.0 
IP Protocols: ICMP, UDP, TCP, IGMP 
IP: routing cache hash table of 4096 buckets, 32Kbytes 
TCP: Hash tables configured (established 32768 bind 32768) 
Linux IP multicast router 0.06 plus PIM-SM 
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. 
RAMDISK: Compressed image found at block 0 
Freeing initrd memory: 119k freed 
VFS: Mounted root (ext2 filesystem). 
Mounted devfs on /dev 
reiserfs: checking transaction log (device 03:06) ... 
Using r5 hash to sort names 
ReiserFS version 3.6.25 
Mounted devfs on /dev 
Freeing unused kernel memory: 144k freed 
Real Time Clock Driver v1.10e 
usb.c: registered new driver usbdevfs 
usb.c: registered new driver hub 
usb-uhci.c: $Revision: 1.275 $ time 04:44:10 Mar  7 2003 
usb-uhci.c: High bandwidth mode enabled 
usb-uhci.c: USB UHCI at I/O 0xd400, IRQ 10 
usb-uhci.c: Detected 2 ports 
usb.c: new USB bus registered, assigned bus number 1 
hub.c: USB hub found 
hub.c: 2 ports detected 
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver 
usbdevfs: remount parameter error 
Adding Swap: 401552k swap-space (priority -1) 
hub.c: new USB device 00:07.2-1, assigned address 2 
usb_control/bulk_msg: timeout 
usb.c: USB device not accepting new address=2 (error=-110) 
hub.c: new USB device 00:07.2-1, assigned address 3 
usb_control/bulk_msg: timeout 
usb.c: USB device not accepting new address=3 (error=-110) 
SCSI subsystem driver Revision: 1.00 
scsi0 : SCSI host adapter emulation for IDE ATAPI devices 
  Vendor: PHILIPS   Model: CDD3610 CD-R/RW   Rev: 3.01 
  Type:   CD-ROM                             ANSI SCSI revision: 02 
i2c-core.o: i2c core module version 2.7.0 (20021208) 
Linux video capture interface: v1.00 
i2c-algo-bit.o: i2c bit algorithm module version 2.7.0 (20021208) 
bttv: driver version 0.7.100 loaded 
bttv: using 4 buffers with 2080k (8320k total) for capture 
bttv: Host bridge is VIA Technologies, Inc. VT82C693A/694x [Apollo 
PRO133x] 
bttv: Host bridge is VIA Technologies, Inc. VT82C596 Power Management 
bttv: Bt8xx card found (0). 
bttv0: Bt878 (rev 17) at 00:13.0, irq: 10, latency: 32, mmio: 0xda101000 
bttv0: detected: Pinnacle PCTV [card=39], PCI subsystem ID is 11bd:0012 
bttv0: using: BT878(Pinnacle PCTV Studio/Ra) [card=39,autodetected] 
bttv0: i2c: checking for MSP34xx @ 0x80... not found 
bttv0: pinnacle/mt: id=5 info="NTSC / mono" radio=no 
tda9887: probing bt848 #0 i2c adapter [id=0x10005] 
tda9887: chip found @ 0x86 
bttv0: i2c attach [client=tda9887,ok] 
bttv0: using tuner=33 
bttv0: i2c: checking for MSP34xx @ 0x80... not found 
bttv0: i2c: checking for TDA9875 @ 0xb0... not found 
bttv0: i2c: checking for TDA7432 @ 0x8a... not found 
tvaudio: TV audio decoder + audio/video mux driver 
tvaudio: known chips: 
tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6420,tda8425,pic16c54 
(PV951) 
tuner: probing bt848 #0 i2c adapter [id=0x10005] 
tuner: chip found @ 0xc0 
tuner: type set to 33 (MT2032 universal) 
MT2032: Companycode=4d54 Part=04 Revision=04 
bttv0: i2c attach [client=MT2032 universal,ok] 
MT2032: Companycode=4d54 Part=04 Revision=04 
bttv0: PLL: 28636363 => 35468950 ... ok 
bttv0: registered device video0 
bttv0: registered device vbi0 
hdc: ATAPI DVD-ROM drive, 512kB Cache, UDMA(33) 
Uniform CD-ROM driver Revision: 3.12 
Journalled Block Device driver loaded 
kjournald starting.  Commit interval 5 seconds 
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,65), internal journal 
EXT3-fs: mounted filesystem with ordered data mode. 
reiserfs: checking transaction log (device 03:08) ... 
Using r5 hash to sort names 
ReiserFS version 3.6.25 
reiserfs: checking transaction log (device 03:09) ... 
Using r5 hash to sort names 
ReiserFS version 3.6.25 
blk: queue c0413060, I/O limit 4095Mb (mask 0xffffffff) 
blk: queue c04131ac, I/O limit 4095Mb (mask 0xffffffff) 
eepro100.c:v1.09j-t 9/29/99 Donald Becker 
http://www.scyld.com/network/eepro100.html 
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin 
<[EMAIL PROTECTED]> and others 
eth0: Intel Corp. 82557/8/9 [Ethernet Pro 100], 00:D0:B7:AF:35:0D, IRQ 
11. 
  Board assembly 741462-004, Physical connectors present: RJ45 
  Primary interface chip i82555 PHY #1. 
  General self-test: passed. 
  Serial sub-system self-test: passed. 
  Internal registers self-test: passed. 
  ROM checksum self-test: passed (0x04f4518b). 
inserting floppy driver for 2.4.21-0.13mdksmp 
Floppy drive(s): fd0 is 1.44M 
FDC 0 is a post-1991 82077 
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0 
sr0: scsi3-mmc drive: 6x/6x writer cd/rw xa/form2 cdda tray 
Installing knfsd (copyright (C) 1996 [EMAIL PROTECTED]). 
Creative EMU10K1 PCI Audio Driver, version 0.20, 04:41:37 Mar  7 2003 
emu10k1: EMU10K1 rev 8 model 0x8040 found, IO at 0xd800-0xd81f, IRQ 5 
ac97_codec: AC97 Audio codec, id: 0x8384:0x7609 (SigmaTel STAC9721/23) 
parport0: PC-style at 0x378 [PCSPP,TRISTATE,EPP] 
lp0: using parport0 (polling). 
Linux agpgart interface v0.99 (c) Jeff Hartmann 
agpgart: Maximum main memory to use for agp memory: 322M 
agpgart: Detected Via Apollo Pro chipset 
agpgart: AGP aperture is 64M @ 0xd0000000 
[drm] AGP 0.99 aperture @ 0xd0000000 64MB 
[drm] Initialized mga 3.1.0 20021029 on minor 0 
APIC error on CPU1: 00(08) 
udf: registering filesystem 
UDF-fs DEBUG lowlevel.c:57:udf_get_last_session: XA disk: no, 
vol_desc_start=0 
UDF-fs DEBUG super.c:1426:udf_read_super: Multi-session=0 
UDF-fs DEBUG super.c:415:udf_vrs: Starting at sector 16 (2048 byte 
sectors) 
UDF-fs DEBUG super.c:442:udf_vrs: ISO9660 Primary Volume Descriptor 
found 
UDF-fs DEBUG super.c:445:udf_vrs: ISO9660 Supplementary Volume 
Descriptor found 
UDF-fs DEBUG super.c:451:udf_vrs: ISO9660 Volume Descriptor Set 
Terminator found 
UDF-fs: No VRS found 
ISO 9660 Extensions: Microsoft Joliet Level 1 
ISOFS: changing to secondary root 
UDF-fs DEBUG lowlevel.c:57:udf_get_last_session: XA disk: no, 
vol_desc_start=0 
UDF-fs DEBUG super.c:1426:udf_read_super: Multi-session=0 
UDF-fs DEBUG super.c:415:udf_vrs: Starting at sector 16 (2048 byte 
sectors) 
attempt to access beyond end of device 
0b:00: rw=0, want=34, (=0x22), limit=2 
UDF-fs DEBUG super.c:1162:udf_check_valid: Failed to read byte 32768. 
Assuming open 
disc. Skipping validity check 
sr0: CDROM (ioctl) reports ILLEGAL REQUEST. 
attempt to access beyond end of device 
0b:00: rw=0, want=626, (=0x272), limit=2 
attempt to access beyond end of device 
0b:00: rw=0, want=514, (=0x202), limit=2 
UDF-fs DEBUG misc.c:274:udf_read_tagged: block=256, location=256: read 
failed 
UDF-fs DEBUG super.c:1216:udf_load_partition: No Anchor block found 
UDF-fs: No partition found (1) 
attempt to access beyond end of device 
0b:00: rw=0, want=34, (=0x22), limit=2 
isofs_read_super: bread failed, dev=0b:00, iso_blknum=16, block=16 
 I/O error: dev 0b:00, sector 0 
FAT: unable to read boot sector 
 I/O error: dev 0b:00, sector 0 
FAT: unable to read boot sector 
 I/O error: dev 0b:00, sector 0 
EXT2-fs: unable to read superblock 
end_request: I/O error, dev 02:00 (floppy), sector 0 
NET4: Linux IPX 0.47 for NET4.0 
IPX Portions Copyright (c) 1995 Caldera, Inc. 
IPX Portions Copyright (c) 2000, 2001 Conectiva, Inc. 
NET4: AppleTalk 0.18a for Linux NET4.0 
 
 
 
-- 
Wesley J. Landaker - [EMAIL PROTECTED]
OpenPGP FP: C99E DF40 54F6 B625 FD48  B509 A3DE 8D79 541F F830



Reply via email to