Re: Race condition in module load causing undefined symbols

From: Stephen Lord (lord_at_xfs.org)
Date: 06/11/05

  • Next message: Kyle Moffett: "Re: [PATCH] Dynamic tick for x86 version 050602-2"
    Date:	Sat, 11 Jun 2005 12:56:55 -0500
    To: Pozsár Balázs <pozsy@uhulinux.hu>
    
    

    Pozsár Balázs wrote:
    > On Sat, Jun 11, 2005 at 08:23:20AM -0500, Steve Lord wrote:
    >
    >>I think this is not actually module loading itself, but a problem
    >>between the fork/exec/wait code in nash and the kernel.
    >
    >
    > I do not use nash, only bash, so this is not a nash-specific issue.
    >
    >

    I disabled hyperthreading and things started working, so are there any
    HT related scheduling bugs right now?

    Steve

    Here is my cpu information:

    processor : 0
    vendor_id : GenuineIntel
    cpu family : 15
    model : 2
    model name : Intel(R) Pentium(R) 4 CPU 2.60GHz
    stepping : 9
    cpu MHz : 2606.469
    cache size : 512 KB
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 2
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
    mca cmov pat pse36 clflush dts acpi mmx f

    And here is my system successfully coming up with 2.6.12-rc6 with HT
    disabled in the bios:

    Linux version 2.6.12-rc6 (slord@fubar.frontiernet.net) (gcc version
    3.4.3 200502 27 (Red Hat 3.4.3-22.fc3)) #3 SMP Fri Jun 10 22:14:34 CDT 2005
    BIOS-provided physical RAM map:
      BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
      BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
      BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
      BIOS-e820: 0000000000100000 - 000000007fff0000 (usable)
      BIOS-e820: 000000007fff0000 - 000000007fff3000 (ACPI NVS)
      BIOS-e820: 000000007fff3000 - 0000000080000000 (ACPI data)
      BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
    1151MB HIGHMEM available.
    896MB LOWMEM available.
    found SMP MP-table at 000f5d80
    On node 0 totalpages: 524272
       DMA zone: 4096 pages, LIFO batch:1
       Normal zone: 225280 pages, LIFO batch:31
       HighMem zone: 294896 pages, LIFO batch:31
    DMI 2.2 present.
    Using APIC driver default
    ACPI: RSDP (v000 IntelR ) @ 0x000f7810
    ACPI: RSDT (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x7fff3000
    ACPI: FADT (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x7fff3040
    ACPI: MADT (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x7fff7a40
    ACPI: DSDT (v001 INTELR AWRDACPI 0x00001000 MSFT 0x0100000e) @ 0x00000000
    ACPI: PM-Timer IO Port: 0x408
    ACPI: Local APIC address 0xfee00000
    ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
    Processor #0 15:2 APIC version 20
    ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
    ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
    ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
    ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
    IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
    ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
    ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
    ACPI: IRQ0 used by override.
    ACPI: IRQ2 used by override.
    ACPI: IRQ9 used by override.
    Enabling APIC mode: Flat. Using 1 I/O APICs
    Using ACPI (MADT) for SMP configuration information
    Allocating PCI resources starting at 80000000 (gap: 80000000:7ec00000)
    Built 1 zonelists
    Kernel command line: ro root=/dev/Volume00/Vol_Root vga=9
    mapped APIC to ffffd000 (fee00000)
    mapped IOAPIC to ffffc000 (fec00000)
    Initializing CPU#0
    CPU 0 irqstacks, hard=c0410000 soft=c03f0000
    PID hash table entries: 4096 (order: 12, 65536 bytes)
    Detected 2606.469 MHz processor.
    Using pmtmr for high-res timesource
    Console: colour VGA+ 132x44
    Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    Memory: 2072744k/2097088k available (1985k kernel code, 23152k reserved,
    769k da ta, 228k init, 1179584k highmem)
    Checking if this processor honours the WP bit even in supervisor mode... Ok.
    Calibrating delay loop... 5160.96 BogoMIPS (lpj=2580480)
    Security Framework v1.0.0 initialized
    SELinux: Initializing.
    SELinux: Starting in permissive mode
    selinux_register_security: Registering secondary module capability
    Capability LSM initialized as secondary
    Mount-cache hash table entries: 512
    CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000
    00004400 00000000 00000000
    CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000
    00004400 0 0000000 00000000
    CPU: Trace cache: 12K uops, L1 D cache: 8K
    CPU: L2 cache: 512K
    CPU: Hyper-Threading is disabled
    CPU: After all inits, caps: bfebfbff 00000000 00000000 00000080 00004400
    0000000 0 00000000
    Intel machine check architecture supported.
    Intel machine check reporting enabled on CPU#0.
    CPU0: Intel P4/Xeon Extended MCE MSRs (12) available
    CPU0: Thermal monitoring enabled
    Enabling fast FPU save and restore... done.
    Enabling unmasked SIMD FPU exception support... done.
    Checking 'hlt' instruction... OK.
    CPU0: Intel(R) Pentium(R) 4 CPU 2.60GHz stepping 09
    Total of 1 processors activated (5160.96 BogoMIPS).
    ENABLING IO-APIC IRQs
    ..TIMER: vector=0x31 pin1=2 pin2=-1
    Brought up 1 CPUs
    CPU0 attaching sched-domain:
      domain 0: span 00000001
       groups: 00000001
       domain 1: span 00000001
        groups: 00000001
    checking if image is initramfs... it is
    Freeing initrd memory: 1214k freed
    NET: Registered protocol family 16
    PCI: PCI BIOS revision 2.10 entry at 0xfba20, last bus=3
    PCI: Using configuration type 1
    mtrr: v2.0 (20020519)
    ACPI: Subsystem revision 20050309
    ACPI: Interpreter enabled
    ACPI: Using IOAPIC for interrupt routing
    ACPI: PCI Root Bridge [PCI0] (0000:00)
    PCI: Probing PCI hardware (bus 00)
    PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.2
    Boot video device is 0000:01:00.0
    PCI: Transparent bridge - 0000:00:1e.0
    ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
    ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB0._PRT]
    ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 *10 11 12 14 15)
    ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 *5 7 9 10 11 12 14 15)
    ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 9 10 *11 12 14 15)
    ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 *9 10 11 12 14 15)
    ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 9 10 11 12 14 15) *0,
    disabled.
    ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 9 10 11 12 14 15) *0,
    disabled.
    ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 7 9 10 11 12 14 15) *0,
    disabled.
    ACPI: PCI Interrupt Link [LNK1] (IRQs *3 4 5 7 9 10 11 12 14 15)
    ACPI: Power Resource [PFAN] (off)
    Linux Plug and Play Support v0.97 (c) Adam Belay
    pnp: PnP ACPI init
    pnp: PnP ACPI: found 13 devices
    usbcore: registered new driver usbfs
    usbcore: registered new driver hub
    PCI: Using ACPI for IRQ routing
    PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a
    report
    pnp: 00:0a: ioport range 0x400-0x4bf could not be reserved
    apm: BIOS not found.
    highmem bounce pool size: 64 pages
    Total HugeTLB memory allocated, 0
    VFS: Disk quotas dquot_6.5.1
    Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    SELinux: Registering netfilter hooks
    Initializing Cryptographic API
    pci_hotplug: PCI Hot Plug PCI Core version: 0.5
    ACPI: Fan [FAN] (off)
    ACPI: Thermal Zone [THRM] (45 C)
    isapnp: Scanning for PnP cards...
    isapnp: No Plug & Play device found
    Real Time Clock Driver v1.12
    Linux agpgart interface v0.101 (c) Dave Jones
    agpgart: Detected an Intel i875 Chipset.
    agpgart: AGP aperture is 128M @ 0xf0000000
    PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
    serio: i8042 AUX port at 0x60,0x64 irq 12
    serio: i8042 KBD port at 0x60,0x64 irq 1
    Serial: 8250/16550 driver $Revision: 1.90 $ 76 ports, IRQ sharing enabled
    ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    io scheduler noop registered
    io scheduler anticipatory registered
    io scheduler deadline registered
    io scheduler cfq registered
    RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
    Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
    ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
    Probing IDE interface ide0...
    hda: PLEXTOR DVDR PX-716A, ATAPI CD/DVD-ROM drive
    ide1: I/O resource 0x170-0x177 not free.
    ide1: ports already in use, skipping probe
    Probing IDE interface ide2...
    Probing IDE interface ide3...
    Probing IDE interface ide4...
    Probing IDE interface ide5...
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    hda: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache
    Uniform CD-ROM driver Revision: 3.20
    ide-floppy driver 0.99.newide
    usbmon: debugs is not available
    usbcore: registered new driver hiddev
    usbcore: registered new driver usbhid
    drivers/usb/input/hid-core.c: v2.01:USB HID core driver
    mice: PS/2 mouse device common for all mice
    md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
    NET: Registered protocol family 2
    IP: routing cache hash table of 8192 buckets, 128Kbytes
    TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
    TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
    TCP: Hash tables configured (established 262144 bind 65536)
    Initializing IPsec netlink socket
    NET: Registered protocol family 1
    NET: Registered protocol family 17
    ACPI wakeup devices:
    PCI0 CSAD HUB0 UAR1 USB0 USB1 USB2 USB3 USBE MODM
    ACPI: (supports S0 S1 S4 S5)
    Freeing unused kernel memory: 228k freed
    input: AT Translated Set 2 keyboard on isa0060/serio0
    SCSI subsystem initialized
    libata version 1.11 loaded.
    ata_piix version 1.03
    ata_piix: combined mode detected
    ACPI: PCI Interrupt 0000:00:1f.2[A] -> GSI 18 (level, low) -> IRQ 169
    ata: 0x1f0 IDE port busy
    PCI: Setting latency timer of device 0000:00:1f.2 to 64
    ata1: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xF008 irq 15
    ata1: dev 0 cfg 49:2f00 82:74eb 83:7fea 84:4023 85:74e9 86:3c02 87:4023
    88:203f
    ata1: dev 0 ATA, max UDMA/100, 241254720 sectors: lba48
    ata1: dev 1 cfg 49:2f00 82:74eb 83:7fea 84:4023 85:74e9 86:3c02 87:4023
    88:203f
    ata1: dev 1 ATA, max UDMA/100, 160836480 sectors: lba48
    ata1: dev 0 configured for UDMA/100
    ata1: dev 1 configured for UDMA/100
    scsi0 : ata_piix
       Vendor: ATA Model: HDS722512VLSA80 Rev: V33O
       Type: Direct-Access ANSI SCSI revision: 05
    SCSI device sda: 241254720 512-byte hdwr sectors (123522 MB)
    SCSI device sda: drive cache: write back
    SCSI device sda: 241254720 512-byte hdwr sectors (123522 MB)
    SCSI device sda: drive cache: write back
      sda: sda1 sda2 sda3 sda4 < sda5 >
    Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
       Vendor: ATA Model: HDS722580VLSA80 Rev: V32O
       Type: Direct-Access ANSI SCSI revision: 05
    SCSI device sdb: 160836480 512-byte hdwr sectors (82348 MB)
    SCSI device sdb: drive cache: write back
    SCSI device sdb: 160836480 512-byte hdwr sectors (82348 MB)
    SCSI device sdb: drive cache: write back
      sdb: sdb1
    Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0
    ieee1394: Initialized config rom entry `ip1394'
    ohci1394: $Rev: 1250 $ Ben Collins <bcollins@debian.org>
    ACPI: PCI Interrupt 0000:03:02.0[A] -> GSI 18 (level, low) -> IRQ 169
    ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[169]
    MMIO=[fa104000-fa1047ff] Ma x Packet=[2048]
    sbp2: $Rev: 1219 $ Ben Collins <bcollins@debian.org>
    device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com
    input: ImExPS/2 Generic Explorer Mouse on isa0060/serio1
    cdrom: open failed.
    kjournald starting. Commit interval 5 seconds
    EXT3-fs: mounted filesystem with ordered data mode.
    SELinux: Disabled at runtime.
    SELinux: Unregistering netfilter hooks
    ieee1394: Node added: ID:BUS[0-00:1023] GUID[0010b92000afe64b]
    ieee1394: Host added: ID:BUS[0-01:1023] GUID[00508d0000f4320b]
    scsi1 : SCSI emulation for IEEE-1394 SBP-2 Devices
    ieee1394: sbp2: Logged into SBP-2 device
    ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048]
       Vendor: Maxtor Model: OneTouch Rev: 0200
       Type: Direct-Access ANSI SCSI revision: 06
    SCSI device sdc: 320171008 512-byte hdwr sectors (163928 MB)
    sdc: cache data unavailable
    sdc: assuming drive cache: write through
    SCSI device sdc: 320171008 512-byte hdwr sectors (163928 MB)
    sdc: cache data unavailable
    sdc: assuming drive cache: write through
      sdc: sdc1
    Attached scsi disk sdc at scsi1, channel 0, id 1, lun 0
    Floppy drive(s): fd0 is 1.44M
    FDC 0 is a post-1991 82077
    Intel(R) PRO/1000 Network Driver - version 6.0.54-k2-NAPI
    Copyright (c) 1999-2004 Intel Corporation.
    ACPI: PCI Interrupt 0000:02:01.0[A] -> GSI 18 (level, low) -> IRQ 169
    PCI: Setting latency timer of device 0000:02:01.0 to 64
    e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
    ACPI: PCI Interrupt 0000:00:1f.5[B] -> GSI 17 (level, low) -> IRQ 177
    PCI: Setting latency timer of device 0000:00:1f.5 to 64
    intel8x0_measure_ac97_clock: measured 49800 usecs
    intel8x0: clocking to 48000
    ACPI: PCI Interrupt 0000:00:1d.7[D] -> GSI 23 (level, low) -> IRQ 185
    PCI: Setting latency timer of device 0000:00:1d.7 to 64
    ehci_hcd 0000:00:1d.7: EHCI Host Controller
    ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
    ehci_hcd 0000:00:1d.7: irq 185, io mem 0xfa200000
    PCI: cache line size of 128 is not supported by device 0000:00:1d.7
    ehci_hcd 0000:00:1d.7: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 8 ports detected
    USB Universal Host Controller Interface driver v2.2
    ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 193
    PCI: Setting latency timer of device 0000:00:1d.0 to 64
    uhci_hcd 0000:00:1d.0: UHCI Host Controller
    usb 1-2: new high speed USB device using ehci_hcd and address 2
    hub 1-2:1.0: USB hub found
    hub 1-2:1.0: 4 ports detected
    uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
    uhci_hcd 0000:00:1d.0: irq 193, io base 0x0000b000
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 2 ports detected
    ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 201
    PCI: Setting latency timer of device 0000:00:1d.1 to 64
    uhci_hcd 0000:00:1d.1: UHCI Host Controller
    usb 1-2.4: new high speed USB device using ehci_hcd and address 3
    uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
    uhci_hcd 0000:00:1d.1: irq 201, io base 0x0000b400
    hub 3-0:1.0: USB hub found
    hub 3-0:1.0: 2 ports detected
    ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 169
    PCI: Setting latency timer of device 0000:00:1d.2 to 64
    uhci_hcd 0000:00:1d.2: UHCI Host Controller
    uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
    uhci_hcd 0000:00:1d.2: irq 169, io base 0x0000b800
    hub 4-0:1.0: USB hub found
    hub 4-0:1.0: 2 ports detected
    ACPI: PCI Interrupt 0000:00:1d.3[A] -> GSI 16 (level, low) -> IRQ 193
    PCI: Setting latency timer of device 0000:00:1d.3 to 64
    uhci_hcd 0000:00:1d.3: UHCI Host Controller
    uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
    uhci_hcd 0000:00:1d.3: irq 193, io base 0x0000bc00
    hub 5-0:1.0: USB hub found
    hub 5-0:1.0: 2 ports detected
    md: Autodetecting RAID arrays.
    md: autorun ...
    md: ... autorun DONE.
    Initializing USB Mass Storage driver...
    scsi2 : SCSI emulation for USB Mass Storage devices
    usb-storage: device found at 3
    usb-storage: waiting for device to settle before scanning
    usbcore: registered new driver usb-storage
    USB Mass Storage support registered.
    ACPI: Power Button (FF) [PWRF]
    ibm_acpi: ec object not found
    EXT3 FS on dm-0, internal journal
    cdrom: open failed.
    kjournald starting. Commit interval 5 seconds
    EXT3 FS on sda2, internal journal
    EXT3-fs: mounted filesystem with ordered data mode.
    kjournald starting. Commit interval 5 seconds
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Kyle Moffett: "Re: [PATCH] Dynamic tick for x86 version 050602-2"