2008-07-04 06:26:19

by Ryan Hope

[permalink] [raw]
Subject: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

I have tested this with 2.6.26-rc5-mm3 and with 2.6.26-rc8 w/ the
get_user_pages_fast patches from -rc5-mm3... Xorg 1.4.99.* will start
to load but hangs at a black screen. At this point, I can not switch
to another tty. When I try pressing ctrl+alt+del the kernel ooopses
and the caps lock led starts to blink. This happens using the nv,
radeon and radeonhd drivers (the nv was tested on another box
obviously). I have also tried to unselect HAVE_GET_USER_PAGES_FAST in
my kernel config but this does not help. I can not figure out where or
what the bug is. I can provide any other info you guys need to figure
this out. Let me know what I can do.

-Ryan


2008-07-04 16:29:58

by Zan Lynx

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

[ 0.000000] Linux version 2.6.26-rc8-mm1 (lynx@zephyr) (gcc version 4.3.1 (Gentoo 4.3.1 p1.0) ) #17 SMP Thu Jul 3 15:38:02 MDT 2008
[ 0.000000] Command line: root=/dev/sda2 rootfstype=reiser4 rootflags=defaults,noatime i8042.nomux elevator=cfq resume=/dev/sda3 panic=5 nmi_watchdog=2,panic debug idle=poll nohz=off
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
[ 0.000000] BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000d0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000003ff70000 (usable)
[ 0.000000] BIOS-e820: 000000003ff70000 - 000000003ff7f000 (ACPI data)
[ 0.000000] BIOS-e820: 000000003ff7f000 - 000000003ff80000 (ACPI NVS)
[ 0.000000] BIOS-e820: 000000003ff80000 - 0000000040000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] Centaur CentaurHauls
[ 0.000000] using polling idle threads.
[ 0.000000] last_pfn = 0x3ff70 max_arch_pfn = 0x3ffffffff
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] init_memory_mapping
[ 0.000000] kernel direct mapping tables up to 3ff70000 @ 8000-a000
[ 0.000000] DMI present.
[ 0.000000] ACPI: RSDP 000F7240, 0014 (r0 PTLTD )
[ 0.000000] ACPI: RSDT 3FF7A87E, 0034 (r1 PTLTD RSDT 6040000 LTP 0)
[ 0.000000] ACPI: FACP 3FF7EE13, 0074 (r1 NVIDIA CK8 6040000 PTL_ F4240)
[ 0.000000] ACPI: DSDT 3FF7A8B2, 4561 (r1 NVIDIA CK8 6040000 MSFT 100000E)
[ 0.000000] ACPI: FACS 3FF7FFC0, 0040
[ 0.000000] ACPI: APIC 3FF7EE87, 005A (r1 NVIDIA NV_APIC_ 6040000 LTP 0)
[ 0.000000] ACPI: BOOT 3FF7EEE1, 0028 (r1 PTLTD $SBFTBL$ 6040000 LTP 1)
[ 0.000000] ACPI: SSDT 3FF7EF09, 00F7 (r1 PTLTD POWERNOW 6040000 LTP 1)
[ 0.000000] ACPI: DMI detected: Hewlett-Packard
[ 0.000000] (5 early reservations) ==> bootmem
[ 0.000000] #0 [ 0000000000 - 0000001000 ] BIOS data page ===> [ 0000000000 - 0000001000 ]
[ 0.000000] #1 [ 0000006000 - 0000008000 ] TRAMPOLINE ===> [ 0000006000 - 0000008000 ]
[ 0.000000] #2 [ 0000200000 - 00009042d8 ] TEXT DATA BSS ===> [ 0000200000 - 00009042d8 ]
[ 0.000000] #3 [ 000009f800 - 0000100000 ] BIOS reserved ===> [ 000009f800 - 0000100000 ]
[ 0.000000] #4 [ 0000008000 - 000000a000 ] PGTABLE ===> [ 0000008000 - 000000a000 ]
[ 0.000000] Scan SMP from ffff810000000000 for 1024 bytes.
[ 0.000000] Scan SMP from ffff81000009fc00 for 1024 bytes.
[ 0.000000] Scan SMP from ffff8100000f0000 for 65536 bytes.
[ 0.000000] Scan SMP from ffff81000009f800 for 1024 bytes.
[ 0.000000] [ffffe20000000000-ffffe20000dfffff] PMD -> [ffff810001200000-ffff810001ffffff] on node 0
[ 0.000000] sizeof(struct page) = 56
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0x00000000 -> 0x00001000
[ 0.000000] DMA32 0x00001000 -> 0x00100000
[ 0.000000] Normal 0x00100000 -> 0x00100000
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] early_node_map[2] active PFN ranges
[ 0.000000] 0: 0x00000000 -> 0x0000009f
[ 0.000000] 0: 0x00000100 -> 0x0003ff70
[ 0.000000] On node 0 totalpages: 261903
[ 0.000000] DMA zone: 2046 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 254377 pages, LIFO batch:31
[ 0.000000] Nvidia board detected. Ignoring ACPI timer override.
[ 0.000000] If you got timer trouble try acpi_use_timer_override
[ 0.000000] ACPI: PM-Timer IO Port: 0x8008
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[ 0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[ 0.000000] IOAPIC[0]: apic_id 2, version 0, address 0xfec00000, GSI 0-23
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.000000] ACPI: BIOS IRQ0 pin2 override ignored.
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] Setting APIC routing to flat
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] PM: Registered nosave memory: 000000000009f000 - 00000000000a0000
[ 0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000d0000
[ 0.000000] PM: Registered nosave memory: 00000000000d0000 - 0000000000100000
[ 0.000000] Allocating PCI resources starting at 50000000 (gap: 40000000:bff80000)
[ 0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs
[ 0.000000] PERCPU: Allocating 42608 bytes of per cpu data
[ 0.000000] NR_CPUS: 8, nr_cpu_ids: 1, nr_node_ids 1
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 256423
[ 0.000000] Kernel command line: root=/dev/sda2 rootfstype=reiser4 rootflags=defaults,noatime i8042.nomux elevator=cfq resume=/dev/sda3 panic=5 nmi_watchdog=2,panic debug idle=poll nohz=off
[ 0.000000] Initializing CPU#0
[ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
[ 0.000000] TSC calibrated against PM_TIMER
[ 0.000000] time.c: Detected 797.936 MHz processor.
[ 0.004000] spurious 8259A interrupt: IRQ7.
[ 0.004000] Console: colour VGA+ 80x25
[ 0.004000] console [tty0] enabled
[ 0.004000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.004000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
[ 0.004000] Checking aperture...
[ 0.004000] AGP bridge at 00:00:00
[ 0.004000] Aperture from AGP @ e8000000 old size 32 MB
[ 0.004000] Aperture size 4096 MB (APSIZE 0) is not right, using settings from NB
[ 0.004000] Aperture from AGP @ e8000000 size 32 MB (APSIZE 0)
[ 0.004000] Node 0: aperture @ e8000000 size 128 MB
[ 0.004000] Memory: 1023812k/1048000k available (3524k kernel code, 23228k reserved, 1557k data, 1352k init)
[ 0.004000] CPA: page pool initialized 1 of 1 pages preallocated
[ 0.004290] Calibrating delay loop (skipped), value calculated using timer frequency.. <6>1595.87 BogoMIPS (lpj=3191744)
[ 0.004455] Security Framework initialized
[ 0.004517] Capability LSM initialized
[ 0.004588] Mount-cache hash table entries: 256
[ 0.004979] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
[ 0.005031] CPU: L2 Cache: 1024K (64 bytes/line)
[ 0.005125] SMP alternatives: switching to UP code
[ 0.014815] Freeing SMP alternatives: 29k freed
[ 0.014892] ACPI: Core revision 20080609
[ 0.025355] Parsing all Control Methods:
[ 0.025655] Table [DSDT](id 0001) - 650 Objects with 66 Devices 205 Methods 24 Regions
[ 0.025849] Parsing all Control Methods:
[ 0.026169] Table [SSDT](id 0002) - 3 Objects with 0 Devices 1 Methods 0 Regions
[ 0.026273] tbxface-0596 [00] tb_load_namespace : ACPI Tables successfully acquired
[ 0.032002] evxfevnt-0091 [00] enable : Transition to ACPI mode successful
[ 0.072004] CPU0: AMD Athlon(tm) 64 Processor 3400+ stepping 0a
[ 0.072004] Using local APIC timer interrupts.
[ 0.076004] APIC timer calibration result 12467753
[ 0.076004] Detected 12.467 MHz APIC timer.
[ 0.076004] Brought up 1 CPUs
[ 0.076004] Total of 1 processors activated (1595.87 BogoMIPS).
[ 0.076004] Testing NMI watchdog ... OK.
[ 0.156009] CPU0 attaching NULL sched-domain.
[ 0.156009] net_namespace: 584 bytes
[ 0.156009] NET: Registered protocol family 16
[ 0.156009] No dock devices found.
[ 0.156009] node 0 link 0: io port [1000, fffff]
[ 0.156009] TOM: 0000000040000000 aka 1024M
[ 0.156009] node 0 link 0: mmio [a0000, bffff]
[ 0.156009] node 0 link 0: mmio [40000000, fe0bffff]
[ 0.156009] bus: [00,ff] on node 0 link 0
[ 0.156009] bus: 00 index 0 io port: [0, ffff]
[ 0.156009] bus: 00 index 1 mmio: [a0000, bffff]
[ 0.156009] bus: 00 index 2 mmio: [40000000, fcffffffff]
[ 0.156009] ACPI: bus type pci registered
[ 0.156009] PCI: Using configuration type 1 for base access
[ 0.158669] evgpeblk-0957 [00] ev_create_gpe_block : GPE 00 to 1F [_GPE] 4 regs on int 0x9
[ 0.158815] evgpeblk-0957 [00] ev_create_gpe_block : GPE 20 to 5F [_GPE] 8 regs on int 0x9
[ 0.159322] ACPI: EC: Look up EC in DSDT
[ 0.160851] Completing Region/Field/Buffer/Package initialization:...........................................................................
[ 0.164952] Initialized 24/24 Regions 2/2 Fields 28/29 Buffers 21/21 Packages (662 nodes)
[ 0.165058] Initializing Device/Processor/Thermal objects by executing _INI methods:.
[ 0.165274] Executed 1 _INI methods requiring 0 _STA executions (examined 70 objects)
[ 0.165590] evgpeblk-1054 [00] ev_initialize_gpe_bloc: Found 5 Wake, Enabled 1 Runtime GPEs in this block
[ 0.165897] evgpeblk-1054 [00] ev_initialize_gpe_bloc: Found 0 Wake, Enabled 1 Runtime GPEs in this block
[ 0.166037] ACPI: Interpreter enabled
[ 0.166082] ACPI: (supports S0 S3 S4 S5)
[ 0.166241] ACPI: Using IOAPIC for interrupt routing
[ 0.170233] ACPI: EC: non-query interrupt received, switching to interrupt mode
[ 0.242672] ACPI: EC: GPE = 0x21, I/O: command/status = 0x66, data = 0x62
[ 0.242725] ACPI: EC: driver started in interrupt mode
[ 0.242867] ACPI: PCI Root Bridge [PCI0] (0000:00)
[ 0.243992] bus 00 -> node 0
[ 0.244057] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[ 0.244266] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P2P0._PRT]
[ 0.244396] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP0._PRT]
[ 0.273615] ACPI: PCI Interrupt Link [LNK1] (IRQs 16 18 19) *0
[ 0.274193] ACPI: PCI Interrupt Link [LNK2] (IRQs 16 18 19) *0
[ 0.274765] ACPI: PCI Interrupt Link [LNK3] (IRQs 17) *0
[ 0.275291] ACPI: PCI Interrupt Link [LNK4] (IRQs 16 18 19) *0, disabled.
[ 0.275886] ACPI: PCI Interrupt Link [LNK5] (IRQs 16 18 19) *0
[ 0.276467] ACPI: PCI Interrupt Link [LSMB] (IRQs 20 21 22) *0
[ 0.277030] ACPI: PCI Interrupt Link [LUS0] (IRQs 20 21 22) *0
[ 0.277600] ACPI: PCI Interrupt Link [LUS1] (IRQs 20 21 22) *0
[ 0.279277] ACPI: PCI Interrupt Link [LUS2] (IRQs 20 21 22) *0
[ 0.279840] ACPI: PCI Interrupt Link [LMAC] (IRQs 20 21 22) *0, disabled.
[ 0.280435] ACPI: PCI Interrupt Link [LACI] (IRQs 20 21 22) *0
[ 0.281006] ACPI: PCI Interrupt Link [LMCI] (IRQs 20 21 22) *0
[ 0.281577] ACPI: PCI Interrupt Link [LPID] (IRQs 20 21 22) *0, disabled.
[ 0.282181] ACPI: PCI Interrupt Link [LTID] (IRQs 20 21 22) *0, disabled.
[ 0.282672] Linux Plug and Play Support v0.97 (c) Adam Belay
[ 0.282779] pnp: PnP ACPI init
[ 0.282834] ACPI: bus type pnp registered
[ 0.315024] pnp: PnP ACPI: found 12 devices
[ 0.315072] ACPI: ACPI bus type pnp unregistered
[ 0.315578] SCSI subsystem initialized
[ 0.315674] libata version 3.00 loaded.
[ 0.316317] PCI: Using ACPI for IRQ routing
[ 0.316379] pci 0000:00:00.0: BAR 0: can't allocate resource
[ 0.328137] agpgart: Detected AGP bridge 0
[ 0.328190] agpgart: Setting up Nforce3 AGP.
[ 0.335260] agpgart: AGP aperture is 128M @ 0xe8000000
[ 0.335528] ACPI: RTC can wake from S4
[ 0.344063] system 00:01: ioport range 0x8000-0x807f has been reserved
[ 0.344117] system 00:01: ioport range 0x8080-0x80ff has been reserved
[ 0.344169] system 00:01: ioport range 0x8400-0x847f has been reserved
[ 0.344221] system 00:01: ioport range 0x8480-0x84ff has been reserved
[ 0.344273] system 00:01: ioport range 0x8800-0x887f has been reserved
[ 0.344325] system 00:01: ioport range 0x8880-0x88ff has been reserved
[ 0.344378] system 00:01: ioport range 0x2040-0x207f has been reserved
[ 0.344431] system 00:01: ioport range 0x2000-0x203f has been reserved
[ 0.344494] system 00:02: iomem range 0xfff80000-0xffffffff could not be reserved
[ 0.344563] system 00:02: iomem range 0xfec00000-0xfec00fff has been reserved
[ 0.344616] system 00:02: iomem range 0xfee00000-0xfeefffff has been reserved
[ 0.344670] system 00:02: iomem range 0xfed00000-0xfed00fff has been reserved
[ 0.344730] system 00:03: ioport range 0x200-0x20f has been reserved
[ 0.344783] system 00:03: ioport range 0x680-0x6ff has been reserved
[ 0.344835] system 00:03: ioport range 0x4d0-0x4d1 has been reserved
[ 0.344887] system 00:03: ioport range 0xfe00-0xfe01 has been reserved
[ 0.345827] pci 0000:02:04.0: BAR 9 too large: 0x00000000000000-0x00000003ffffff
[ 0.345898] pci 0000:02:04.1: BAR 9 too large: 0x00000000000000-0x00000003ffffff
[ 0.345983] pci 0000:02:04.0: BAR 10: can't allocate mem resource [0xe4000000-0xe17fffff]
[ 0.346053] pci 0000:02:04.1: BAR 10: can't allocate mem resource [0xe4000000-0xe17fffff]
[ 0.346125] pci 0000:02:04.0: CardBus bridge, secondary bus 0000:03
[ 0.346176] pci 0000:02:04.0: IO window: 0x003000-0x0030ff
[ 0.346228] pci 0000:02:04.0: IO window: 0x003400-0x0034ff
[ 0.346279] pci 0000:02:04.1: CardBus bridge, secondary bus 0000:07
[ 0.346330] pci 0000:02:04.1: IO window: 0x003800-0x0038ff
[ 0.346381] pci 0000:02:04.1: IO window: 0x003c00-0x003cff
[ 0.346434] pci 0000:00:0a.0: PCI bridge, secondary bus 0000:02
[ 0.346484] pci 0000:00:0a.0: IO window: 0x3000-0x7fff
[ 0.346535] pci 0000:00:0a.0: MEM window: 0xe0100000-0xe17fffff
[ 0.346586] pci 0000:00:0a.0: PREFETCH window: disabled
[ 0.346639] pci 0000:00:0b.0: PCI bridge, secondary bus 0000:01
[ 0.346688] pci 0000:00:0b.0: IO window: disabled
[ 0.346738] pci 0000:00:0b.0: MEM window: 0xe2000000-0xe2ffffff
[ 0.346791] pci 0000:00:0b.0: PREFETCH window: 0x000000f0000000-0x000000f80fffff
[ 0.346870] pci 0000:00:0a.0: setting latency timer to 64
[ 0.347587] ACPI: PCI Interrupt Link [LNK1] enabled at IRQ 19
[ 0.347648] pci 0000:02:04.0: PCI INT A -> Link[LNK1] -> GSI 19 (level, low) -> IRQ 19
[ 0.348287] ACPI: PCI Interrupt Link [LNK2] enabled at IRQ 18
[ 0.348346] pci 0000:02:04.1: PCI INT B -> Link[LNK2] -> GSI 18 (level, low) -> IRQ 18
[ 0.348456] NET: Registered protocol family 2
[ 0.388146] IP route cache hash table entries: 32768 (order: 6, 262144 bytes)
[ 0.388882] TCP established hash table entries: 131072 (order: 9, 2097152 bytes)
[ 0.390869] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[ 0.392045] TCP: Hash tables configured (established 131072 bind 65536)
[ 0.392098] TCP reno registered
[ 0.404164] NET: Registered protocol family 1
[ 0.501002] Simple Boot Flag at 0x37 set to 0x1
[ 0.502444] audit: initializing netlink socket (disabled)
[ 0.502513] type=2000 audit(1215140827.500:1): initialized
[ 0.515638] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 0.515998] Loading Reiser4. See http://www.namesys.com for a description of Reiser4.
[ 0.516286] msgmni has been set to 2000
[ 0.516563] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[ 0.516631] io scheduler noop registered
[ 0.516677] io scheduler anticipatory registered
[ 0.516724] io scheduler deadline registered
[ 0.516787] io scheduler cfq registered (default)
[ 0.516999] pci 0000:01:00.0: Boot video device
[ 0.517982] ACPI: PCI Interrupt Link [LNK5] enabled at IRQ 16
[ 0.518045] nvidiafb 0000:01:00.0: PCI INT A -> Link[LNK5] -> GSI 16 (level, low) -> IRQ 16
[ 0.518933] nvidiafb: Device ID: 10de0179
[ 0.532067] nvidiafb: CRTC0 analog not found
[ 0.548062] nvidiafb: CRTC1 analog not found
[ 0.647920] i2c-adapter i2c-0: unable to read EDID block.
[ 0.799908] i2c-adapter i2c-0: unable to read EDID block.
[ 0.848031] Switched to high resolution mode on CPU 0
[ 0.951890] i2c-adapter i2c-0: unable to read EDID block.
[ 1.118185] i2c-adapter i2c-1: unable to read EDID block.
[ 1.288438] i2c-adapter i2c-1: unable to read EDID block.
[ 1.460453] i2c-adapter i2c-1: unable to read EDID block.
[ 1.516012] nvidiafb: CRTC 1 is currently programmed for DFP
[ 1.516062] nvidiafb: Using DFP on CRTC 1
[ 1.516111] nvidiafb: Panel size is 1920 x 1200
[ 1.516159] nvidiafb: Panel is LVDS
[ 1.519654] nvidiafb: MTRR set to ON
[ 1.519720] fbcvt: 1920x1200@60: CVT Name - 2.304MA-R
[ 1.641564] nvidiafb: Flat panel dithering disabled
[ 1.645219] Console: switching to colour frame buffer device 240x75
[ 1.648857] nvidiafb: PCI nVidia NV17 framebuffer (64MB @ 0xF0000000)
[ 1.651945] ACPI: AC Adapter [ACAD] (on-line)
[ 1.876190] ACPI: Battery Slot [BAT1] (battery present)
[ 1.876442] input: Power Button (FF) as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
[ 1.876478] ACPI: Power Button (FF) [PWRF]
[ 1.876624] input: Power Button (CM) as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input1
[ 1.876662] ACPI: Power Button (CM) [PWRB]
[ 1.876809] input: Lid Switch as /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input2
[ 1.881503] ACPI: Lid Switch [LID]
[ 1.882489] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A03:00/device:18/device:19/input/input3
[ 1.882532] ACPI: Video Device [VGA] (multi-head: yes rom: no post: no)
[ 1.885856] processor ACPI0007:00: registered as cooling_device0
[ 1.930538] thermal LNXTHERM:01: registered as thermal_zone0
[ 1.936531] ACPI: Thermal Zone [THRM] (58 C)
[ 1.972299] Linux agpgart interface v0.103
[ 1.972328] Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds).
[ 1.972362] Hangcheck: Using get_cycles().
[ 1.973720] loop: module loaded
[ 1.975120] 8139too Fast Ethernet driver 0.9.28
[ 1.975175] 8139too 0000:02:01.0: PCI INT A -> Link[LNK2] -> GSI 18 (level, low) -> IRQ 18
[ 1.976109] eth0: RealTek RTL8139 at 0xffffc2000003e800, 00:0f:b0:07:dc:49, IRQ 18
[ 1.976142] eth0: Identified 8139 chip type 'RTL-8101'
[ 1.976276] console [netcon0] enabled
[ 1.976298] netconsole: network logging started
[ 1.976386] Driver 'sd' needs updating - please use bus_type methods
[ 1.976473] Driver 'sr' needs updating - please use bus_type methods
[ 1.976631] pata_amd 0000:00:08.0: version 0.3.10
[ 1.976723] pata_amd 0000:00:08.0: setting latency timer to 64
[ 1.976847] scsi0 : pata_amd
[ 1.977096] scsi1 : pata_amd
[ 1.978771] ata1: PATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0x2080 irq 14
[ 1.978806] ata2: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x2088 irq 15
[ 2.140521] ata1.00: ATA-6: HTS721010G9AT00, MCZOA51A, max UDMA/100
[ 2.140553] ata1.00: 195371568 sectors, multi 16: LBA48
[ 2.140600] ata1: nv_mode_filter: 0x3f39f&0x3f01f->0x3f01f, BIOS=0x3f000 (0xc6000000) ACPI=0x3f01f (20:600:0x13)
[ 2.156444] ata1.00: configured for UDMA/100
[ 2.320333] ata2.00: ATAPI: HL-DT-ST DVD+RW GCA-4040N, 1.19, max MWDMA2
[ 2.320381] ata2: nv_mode_filter: 0x39f&0x39f->0x39f, BIOS=0x0 (0xc6000000) ACPI=0x39f (120:600:0x12)
[ 2.336290] ata2.00: configured for MWDMA2
[ 2.336359] isa bounce pool size: 16 pages
[ 2.336514] scsi 0:0:0:0: Direct-Access ATA HTS721010G9AT00 MCZO PQ: 0 ANSI: 5
[ 2.336837] sd 0:0:0:0: [sda] 195371568 512-byte hardware sectors (100030 MB)
[ 2.336899] sd 0:0:0:0: [sda] Write Protect is off
[ 2.336926] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 2.336997] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2.337134] sd 0:0:0:0: [sda] 195371568 512-byte hardware sectors (100030 MB)
[ 2.337188] sd 0:0:0:0: [sda] Write Protect is off
[ 2.337213] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 2.337282] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2.338741] sda: sda1 sda2 sda3
[ 2.362458] sd 0:0:0:0: [sda] Attached SCSI disk
[ 2.364102] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 2.366301] scsi 1:0:0:0: CD-ROM HL-DT-ST DVD+RW GCA-4040N 1.19 PQ: 0 ANSI: 5
[ 2.371007] sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
[ 2.372552] Uniform CD-ROM driver Revision: 3.20
[ 2.374355] sr 1:0:0:0: Attached scsi CD-ROM sr0
[ 2.376608] sr 1:0:0:0: Attached scsi generic sg1 type 5
[ 2.378476] Yenta: CardBus bridge found at 0000:02:04.0 [103c:006d]
[ 2.380004] yenta_cardbus 0000:02:04.0: CardBus bridge, secondary bus 0000:03
[ 2.381647] yenta_cardbus 0000:02:04.0: IO window: 0x003000-0x0030ff
[ 2.383297] yenta_cardbus 0000:02:04.0: IO window: 0x003400-0x0034ff
[ 2.385259] yenta_cardbus 0000:02:04.0: PREFETCH window: 0xe0400000-0xe07fffff
[ 2.386931] yenta_cardbus 0000:02:04.0: MEM window: 0xe0800000-0xe0bfffff
[ 2.388569] Yenta: Enabling burst memory read transactions
[ 2.390281] Yenta: Using CSCINT to route CSC interrupts to PCI
[ 2.392006] Yenta: Routing CardBus interrupts to PCI
[ 2.393759] Yenta TI: socket 0000:02:04.0, mfunc 0x01111d22, devctl 0x64
[ 2.625822] Yenta: ISA IRQ mask 0x0cf8, PCI irq 19
[ 2.627647] Socket status: 30000086
[ 2.629474] Yenta: Raising subordinate bus# of parent bus (#02) from #02 to #06
[ 2.631322] pcmcia: parent PCI bridge I/O window: 0x3000 - 0x7fff
[ 2.633105] pcmcia: parent PCI bridge Memory window: 0xe0100000 - 0xe17fffff
[ 2.889018] Yenta: CardBus bridge found at 0000:02:04.1 [103c:006d]
[ 2.890897] Yenta: Using CSCINT to route CSC interrupts to PCI
[ 2.892002] Yenta: Routing CardBus interrupts to PCI
[ 2.893798] Yenta TI: socket 0000:02:04.1, mfunc 0x01111d22, devctl 0x64
[ 3.126223] Yenta: ISA IRQ mask 0x0cf8, PCI irq 18
[ 3.128002] Socket status: 30000006
[ 3.129847] Yenta: Raising subordinate bus# of parent bus (#02) from #06 to #0a
[ 3.131717] pcmcia: parent PCI bridge I/O window: 0x3000 - 0x7fff
[ 3.133523] pcmcia: parent PCI bridge Memory window: 0xe0100000 - 0xe17fffff
[ 3.389552] PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[ 3.398192] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 3.400018] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 3.402167] mice: PS/2 mouse device common for all mice
[ 3.404144] rtc_cmos 00:06: rtc core: registered rtc_cmos as rtc0
[ 3.405962] rtc0: alarms up to one year, y3k
[ 3.407891] cpuidle: using governor ladder
[ 3.409692] cpuidle: using governor menu
[ 3.413492] TCP cubic registered
[ 3.415307] Initializing XFRM netlink socket
[ 3.416004] NET: Registered protocol family 10
[ 3.419569] NET: Registered protocol family 17
[ 3.421616] NET: Registered protocol family 15
[ 3.423336] powernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3400+ processors (1 cpu cores) (version 2.20.00)
[ 3.425376] powernow-k8: 0 : fid 0xe (2200 MHz), vid 0x2
[ 3.427126] powernow-k8: 1 : fid 0xa (1800 MHz), vid 0xa
[ 3.428866] powernow-k8: 2 : fid 0x0 (800 MHz), vid 0x12
[ 3.431091] PM: Resume from partition /dev/sda3
[ 3.432924] PM: Checking hibernation image.
[ 3.449182] PM: Resume from disk failed.
[ 3.451019] registered taskstats version 1
[ 3.452983] rtc_cmos 00:06: setting system clock to 2008-07-04 03:07:11 UTC (1215140831)
[ 3.454745] Freeing unused kernel memory: 1352k freed
[ 3.464042] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
[ 5.483817] reiser4: sda2: found disk format 4.0.0.
[ 16.207715] usbcore: registered new interface driver usbfs
[ 16.207823] usbcore: registered new interface driver hub
[ 16.207885] usbcore: registered new device driver usb
[ 16.226188] ehci_hcd: block sizes: qh 160 qtd 96 itd 192 sitd 96
[ 16.226942] ACPI: PCI Interrupt Link [LUS2] enabled at IRQ 22
[ 16.226959] ehci_hcd 0000:00:02.2: PCI INT C -> Link[LUS2] -> GSI 22 (level, low) -> IRQ 22
[ 16.226982] ehci_hcd 0000:00:02.2: setting latency timer to 64
[ 16.226988] ehci_hcd 0000:00:02.2: EHCI Host Controller
[ 16.227067] drivers/usb/core/inode.c: creating file 'devices'
[ 16.227076] drivers/usb/core/inode.c: creating file '001'
[ 16.227083] ehci_hcd 0000:00:02.2: new USB bus registered, assigned bus number 1
[ 16.227096] ehci_hcd 0000:00:02.2: reset hcs_params 0x102486 dbg=1 cc=2 pcc=4 !ppc ports=6
[ 16.227107] ehci_hcd 0000:00:02.2: reset portroute 0 0 1 1 1 0
[ 16.227112] ehci_hcd 0000:00:02.2: reset hcc_params a086 caching frame 256/512/1024 park
[ 16.227150] ehci_hcd 0000:00:02.2: park 0
[ 16.227158] ehci_hcd 0000:00:02.2: reset command 080b02 park=3 ithresh=8 period=1024 Reset HALT
[ 16.227172] ehci_hcd 0000:00:02.2: cache line size of 64 is not supported
[ 16.227176] ehci_hcd 0000:00:02.2: supports USB remote wakeup
[ 16.227203] ehci_hcd 0000:00:02.2: irq 22, io mem 0xe0004000
[ 16.227210] ehci_hcd 0000:00:02.2: reset command 080b02 park=3 ithresh=8 period=1024 Reset HALT
[ 16.227219] ehci_hcd 0000:00:02.2: init command 010009 (park)=0 ithresh=1 period=256 RUN
[ 16.235168] ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
[ 16.235176] ohci_hcd: block sizes: ed 80 td 96
[ 16.247023] ehci_hcd 0000:00:02.2: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
[ 16.247081] usb usb1: default language 0x0409
[ 16.247187] usb usb1: uevent
[ 16.247212] usb usb1: usb_probe_device
[ 16.247218] usb usb1: configuration #1 chosen from 1 choice
[ 16.247230] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[ 16.247258] usb 1-0:1.0: uevent
[ 16.247282] hub 1-0:1.0: usb_probe_interface
[ 16.247286] hub 1-0:1.0: usb_probe_interface - got id
[ 16.247290] hub 1-0:1.0: USB hub found
[ 16.247305] hub 1-0:1.0: 6 ports detected
[ 16.247309] hub 1-0:1.0: standalone hub
[ 16.247312] hub 1-0:1.0: no power switching (usb 1.0)
[ 16.247316] hub 1-0:1.0: individual port over-current protection
[ 16.247321] hub 1-0:1.0: power on to power good time: 20ms
[ 16.247329] hub 1-0:1.0: local power source is good
[ 16.247334] hub 1-0:1.0: trying to enable port power on non-switchable hub
[ 16.348070] ehci_hcd 0000:00:02.2: GetStatus port 1 status 001803 POWER sig=j CSC CONNECT
[ 16.348084] hub 1-0:1.0: port 1: status 0501 change 0001
[ 16.348098] ehci_hcd 0000:00:02.2: GetStatus port 3 status 001803 POWER sig=j CSC CONNECT
[ 16.348105] hub 1-0:1.0: port 3: status 0501 change 0001
[ 16.348115] ehci_hcd 0000:00:02.2: GetStatus port 4 status 001803 POWER sig=j CSC CONNECT
[ 16.348121] hub 1-0:1.0: port 4: status 0501 change 0001
[ 16.371787] snd_ac97_codec: Unknown parameter `power_save'
[ 16.426835] snd_ac97_codec: Unknown parameter `power_save'
[ 16.448813] snd_intel8x0m: Unknown symbol snd_ac97_resume
[ 16.449872] snd_intel8x0m: Unknown symbol snd_ac97_mixer
[ 16.450082] snd_intel8x0m: Unknown symbol snd_ac97_bus
[ 16.450639] snd_intel8x0m: Unknown symbol snd_ac97_suspend
[ 16.452911] snd_intel8x0m: Unknown symbol snd_ac97_write
[ 16.453068] drivers/usb/core/inode.c: creating file '001'
[ 16.453153] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 16.453159] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 16.453164] usb usb1: Product: EHCI Host Controller
[ 16.453168] usb usb1: Manufacturer: Linux 2.6.26-rc8-mm1 ehci_hcd
[ 16.453172] usb usb1: SerialNumber: 0000:00:02.2
[ 16.453260] ohci_hcd 0000:00:02.0: enabling device (0004 -> 0006)
[ 77.431852] Clocksource tsc unstable (delta = 60931010630 ns)
[ 77.432592] hub 1-0:1.0: state 7 ports 6 chg 001a evt 0000
[ 77.432592] hub 1-0:1.0: port 1, status 0501, change 0000, 480 Mb/s
[ 77.432592] snd_intel8x0: Unknown symbol snd_ac97_pcm_close
[ 77.432592] snd_intel8x0: Unknown symbol snd_ac97_resume
[ 77.433696] snd_intel8x0: Unknown symbol snd_ac97_pcm_open
[ 77.434003] snd_intel8x0: Unknown symbol snd_ac97_set_rate
[ 77.434151] snd_intel8x0: Unknown symbol snd_ac97_update_bits
[ 77.434312] snd_intel8x0: Unknown symbol snd_ac97_mixer
[ 77.434521] snd_intel8x0: Unknown symbol snd_ac97_bus
[ 77.434964] snd_intel8x0: Unknown symbol snd_ac97_pcm_double_rate_rules
[ 77.435270] snd_intel8x0: Unknown symbol snd_ac97_suspend
[ 77.436694] snd_intel8x0: Unknown symbol snd_ac97_get_short_name
[ 77.437207] snd_intel8x0: Unknown symbol snd_ac97_pcm_assign
[ 77.438290] snd_intel8x0: Unknown symbol snd_ac97_tune_hardware
[ 77.484352] ehci_hcd 0000:00:02.2: port 1 high speed
[ 77.484365] ehci_hcd 0000:00:02.2: GetStatus port 1 status 001005 POWER sig=se0 PE CONNECT
[ 77.540121] usb 1-1: new high speed USB device using ehci_hcd and address 2
[ 77.562106] ACPI: PCI Interrupt Link [LUS0] enabled at IRQ 21
[ 77.562127] ohci_hcd 0000:00:02.0: PCI INT A -> Link[LUS0] -> GSI 21 (level, low) -> IRQ 21
[ 77.562155] ohci_hcd 0000:00:02.0: setting latency timer to 64
[ 77.562161] ohci_hcd 0000:00:02.0: OHCI Host Controller
[ 77.562236] drivers/usb/core/inode.c: creating file '002'
[ 77.562253] ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 2
[ 77.562265] ohci_hcd 0000:00:02.0: USB HC TakeOver from BIOS/SMM
[ 77.764767] ehci_hcd 0000:00:02.2: port 1 high speed
[ 77.764776] ehci_hcd 0000:00:02.2: GetStatus port 1 status 001005 POWER sig=se0 PE CONNECT
[ 77.811811] ohci_hcd 0000:00:02.0: created debug files
[ 77.811850] ohci_hcd 0000:00:02.0: irq 21, io mem 0xe0000000
[ 77.845329] usb 1-1: default language 0x0409
[ 77.846935] usb 1-1: uevent
[ 77.846964] usb 1-1: usb_probe_device
[ 77.846970] usb 1-1: configuration #1 chosen from 1 choice
[ 77.847329] usb 1-1: adding 1-1:1.0 (config #1, interface 0)
[ 77.847362] usb 1-1:1.0: uevent
[ 77.847495] drivers/usb/core/inode.c: creating file '002'
[ 77.847579] usb 1-1: New USB device found, idVendor=0bc2, idProduct=0502
[ 77.847584] usb 1-1: New USB device strings: Mfr=5, Product=2, SerialNumber=1
[ 77.847589] usb 1-1: Product: ST94811U2-RK
[ 77.847592] usb 1-1: Manufacturer: Seagate
[ 77.847595] usb 1-1: SerialNumber: 33504D304C573434
[ 77.847608] hub 1-0:1.0: port 3, status 0501, change 0000, 480 Mb/s
[ 77.866084] ohci_hcd 0000:00:02.0: OHCI controller state
[ 77.866096] ohci_hcd 0000:00:02.0: OHCI 1.0, NO legacy support registers
[ 77.866104] ohci_hcd 0000:00:02.0: control 0x683 RWE RWC HCFS=operational CBSR=3
[ 77.866110] ohci_hcd 0000:00:02.0: cmdstatus 0x00000 SOC=0
[ 77.866116] ohci_hcd 0000:00:02.0: intrstatus 0x00000004 SF
[ 77.866122] ohci_hcd 0000:00:02.0: intrenable 0x8000004a MIE RHSC RD WDH
[ 77.866129] ohci_hcd 0000:00:02.0: hcca frame #0003
[ 77.866135] ohci_hcd 0000:00:02.0: roothub.a 01000203 POTPGT=1 NPS NDP=3(3)
[ 77.866141] ohci_hcd 0000:00:02.0: roothub.b 00000000 PPCM=0000 DR=0000
[ 77.866146] ohci_hcd 0000:00:02.0: roothub.status 00008000 DRWE
[ 77.866153] ohci_hcd 0000:00:02.0: roothub.portstatus [0] 0x00000100 PPS
[ 77.866159] ohci_hcd 0000:00:02.0: roothub.portstatus [1] 0x00000100 PPS
[ 77.866164] ohci_hcd 0000:00:02.0: roothub.portstatus [2] 0x00000100 PPS
[ 77.866231] usb usb2: default language 0x0409
[ 77.866356] usb usb2: uevent
[ 77.866384] usb usb2: usb_probe_device
[ 77.866390] usb usb2: configuration #1 chosen from 1 choice
[ 77.866403] usb usb2: adding 2-0:1.0 (config #1, interface 0)
[ 77.866431] usb 2-0:1.0: uevent
[ 77.866452] hub 2-0:1.0: usb_probe_interface
[ 77.866456] hub 2-0:1.0: usb_probe_interface - got id
[ 77.866460] hub 2-0:1.0: USB hub found
[ 77.866482] hub 2-0:1.0: 3 ports detected
[ 77.866485] hub 2-0:1.0: standalone hub
[ 77.866488] hub 2-0:1.0: no power switching (usb 1.0)
[ 77.866492] hub 2-0:1.0: global over-current protection
[ 77.866496] hub 2-0:1.0: power on to power good time: 2ms
[ 77.866505] hub 2-0:1.0: local power source is good
[ 77.866508] hub 2-0:1.0: no over-current condition exists
[ 77.866513] hub 2-0:1.0: trying to enable port power on non-switchable hub
[ 77.900316] ehci_hcd 0000:00:02.2: port 3 high speed
[ 77.900329] ehci_hcd 0000:00:02.2: GetStatus port 3 status 001005 POWER sig=se0 PE CONNECT
[ 77.956084] usb 1-3: new high speed USB device using ehci_hcd and address 3
[ 77.968220] drivers/usb/core/inode.c: creating file '001'
[ 77.968317] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[ 77.968322] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 77.968327] usb usb2: Product: OHCI Host Controller
[ 77.968331] usb usb2: Manufacturer: Linux 2.6.26-rc8-mm1 ohci_hcd
[ 77.968335] usb usb2: SerialNumber: 0000:00:02.0
[ 77.968419] ohci_hcd 0000:00:02.1: enabling device (0004 -> 0006)
[ 77.969163] ACPI: PCI Interrupt Link [LUS1] enabled at IRQ 20
[ 77.969180] ohci_hcd 0000:00:02.1: PCI INT B -> Link[LUS1] -> GSI 20 (level, low) -> IRQ 20
[ 77.969207] ohci_hcd 0000:00:02.1: setting latency timer to 64
[ 77.969213] ohci_hcd 0000:00:02.1: OHCI Host Controller
[ 77.969266] drivers/usb/core/inode.c: creating file '003'
[ 77.969276] ohci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 3
[ 77.969286] ohci_hcd 0000:00:02.1: USB HC TakeOver from BIOS/SMM
[ 78.172018] ehci_hcd 0000:00:02.2: port 3 high speed
[ 78.172027] ehci_hcd 0000:00:02.2: GetStatus port 3 status 001005 POWER sig=se0 PE CONNECT
[ 78.242843] ohci_hcd 0000:00:02.1: created debug files
[ 78.242881] ohci_hcd 0000:00:02.1: irq 20, io mem 0xe0001000
[ 78.249462] usb 1-3: default language 0x0409
[ 78.250697] usb 1-3: uevent
[ 78.250727] usb 1-3: usb_probe_device
[ 78.250733] usb 1-3: configuration #1 chosen from 1 choice
[ 78.250960] usb 1-3: adding 1-3:1.0 (config #1, interface 0)
[ 78.250995] usb 1-3:1.0: uevent
[ 78.251135] drivers/usb/core/inode.c: creating file '003'
[ 78.251216] usb 1-3: New USB device found, idVendor=0324, idProduct=bc06
[ 78.251221] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 78.251226] usb 1-3: Product: RALLY2_TURBO
[ 78.251230] usb 1-3: Manufacturer: OCZ Technology
[ 78.251233] usb 1-3: SerialNumber: AA04012700085391
[ 78.251246] hub 1-0:1.0: port 4, status 0501, change 0000, 480 Mb/s
[ 78.298056] ohci_hcd 0000:00:02.1: OHCI controller state
[ 78.298065] ohci_hcd 0000:00:02.1: OHCI 1.0, NO legacy support registers
[ 78.298073] ohci_hcd 0000:00:02.1: control 0x683 RWE RWC HCFS=operational CBSR=3
[ 78.298080] ohci_hcd 0000:00:02.1: cmdstatus 0x00000 SOC=0
[ 78.298086] ohci_hcd 0000:00:02.1: intrstatus 0x00000004 SF
[ 78.298092] ohci_hcd 0000:00:02.1: intrenable 0x8000004a MIE RHSC RD WDH
[ 78.298098] ohci_hcd 0000:00:02.1: hcca frame #0003
[ 78.298105] ohci_hcd 0000:00:02.1: roothub.a 01000203 POTPGT=1 NPS NDP=3(3)
[ 78.298110] ohci_hcd 0000:00:02.1: roothub.b 00000000 PPCM=0000 DR=0000
[ 78.298116] ohci_hcd 0000:00:02.1: roothub.status 00008000 DRWE
[ 78.298123] ohci_hcd 0000:00:02.1: roothub.portstatus [0] 0x00000100 PPS
[ 78.298128] ohci_hcd 0000:00:02.1: roothub.portstatus [1] 0x00000100 PPS
[ 78.298134] ohci_hcd 0000:00:02.1: roothub.portstatus [2] 0x00000100 PPS
[ 78.298168] usb usb3: default language 0x0409
[ 78.298290] usb usb3: uevent
[ 78.298317] usb usb3: usb_probe_device
[ 78.298322] usb usb3: configuration #1 chosen from 1 choice
[ 78.298335] usb usb3: adding 3-0:1.0 (config #1, interface 0)
[ 78.298363] usb 3-0:1.0: uevent
[ 78.298385] hub 3-0:1.0: usb_probe_interface
[ 78.298403] hub 3-0:1.0: usb_probe_interface - got id
[ 78.298407] hub 3-0:1.0: USB hub found
[ 78.298427] hub 3-0:1.0: 3 ports detected
[ 78.298430] hub 3-0:1.0: standalone hub
[ 78.298433] hub 3-0:1.0: no power switching (usb 1.0)
[ 78.298437] hub 3-0:1.0: global over-current protection
[ 78.298442] hub 3-0:1.0: power on to power good time: 2ms
[ 78.298450] hub 3-0:1.0: local power source is good
[ 78.298454] hub 3-0:1.0: no over-current condition exists
[ 78.298459] hub 3-0:1.0: trying to enable port power on non-switchable hub
[ 78.304097] ehci_hcd 0000:00:02.2: port 4 full speed --> companion
[ 78.304109] ehci_hcd 0000:00:02.2: GetStatus port 4 status 003001 POWER OWNER sig=se0 CONNECT
[ 78.304140] hub 1-0:1.0: port 4 not reset yet, waiting 50ms
[ 78.360447] ehci_hcd 0000:00:02.2: GetStatus port 4 status 003802 POWER OWNER sig=j CSC
[ 78.360482] hub 2-0:1.0: state 7 ports 3 chg 0000 evt 0000
[ 78.360493] hub 1-0:1.0: state 7 ports 6 chg 0000 evt 0010
[ 78.400153] ohci_hcd 0000:00:02.1: GetStatus roothub.portstatus [1] = 0x00010101 CSC PPS CCS
[ 78.400163] hub 3-0:1.0: port 2: status 0101 change 0001
[ 78.504172] drivers/usb/core/inode.c: creating file '001'
[ 78.504255] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[ 78.504261] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 78.504266] usb usb3: Product: OHCI Host Controller
[ 78.504270] usb usb3: Manufacturer: Linux 2.6.26-rc8-mm1 ohci_hcd
[ 78.504274] usb usb3: SerialNumber: 0000:00:02.1
[ 78.505228] hub 3-0:1.0: state 7 ports 3 chg 0004 evt 0000
[ 78.505247] hub 3-0:1.0: port 2, status 0101, change 0000, 12 Mb/s
[ 78.616668] input: PS/2 Mouse as /devices/platform/i8042/serio1/input/input5
[ 78.624057] ohci_hcd 0000:00:02.1: GetStatus roothub.portstatus [1] = 0x00100103 PRSC PPS PES CCS
[ 78.662941] input: AlpsPS/2 ALPS GlidePoint as /devices/platform/i8042/serio1/input/input6
[ 78.680096] usb 3-2: new full speed USB device using ohci_hcd and address 2
[ 78.820050] ohci_hcd 0000:00:02.1: GetStatus roothub.portstatus [1] = 0x00100103 PRSC PPS PES CCS
[ 78.926093] usb 3-2: skipped 1 descriptor after interface
[ 78.929074] usb 3-2: default language 0x0409
[ 78.939182] usb 3-2: uevent
[ 78.939211] usb 3-2: usb_probe_device
[ 78.939217] usb 3-2: configuration #1 chosen from 1 choice
[ 78.943080] usb 3-2: adding 3-2:1.0 (config #1, interface 0)
[ 78.943116] usb 3-2:1.0: uevent
[ 78.943305] usb 3-2: adding 3-2:1.1 (config #1, interface 1)
[ 78.943333] usb 3-2:1.1: uevent
[ 78.943459] usb 3-2: adding 3-2:1.2 (config #1, interface 2)
[ 78.943487] usb 3-2:1.2: uevent
[ 78.943507] drivers/usb/core/inode.c: creating file '002'
[ 78.943595] usb 3-2: New USB device found, idVendor=049f, idProduct=0086
[ 78.943600] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 78.943605] usb 3-2: Product: Bluetooth by hp
[ 78.943609] usb 3-2: Manufacturer: ACTIONTEC
[ 78.943616] hub 3-0:1.0: state 7 ports 3 chg 0000 evt 0004
[ 79.016031] ohci_hcd 0000:00:02.0: auto-stop root hub
[ 79.016070] Marking TSC unstable due to cpufreq changes
[ 79.032333] libusual 1-1:1.0: usb_probe_interface
[ 79.032351] libusual 1-1:1.0: usb_probe_interface - got id
[ 79.040015] libusual 1-3:1.0: usb_probe_interface
[ 79.040015] libusual 1-3:1.0: usb_probe_interface - got id
[ 79.040015] usbcore: registered new interface driver libusual
[ 79.052014] Initializing USB Mass Storage driver...
[ 79.052014] usb-storage 1-1:1.0: usb_probe_interface
[ 79.052014] usb-storage 1-1:1.0: usb_probe_interface - got id
[ 79.056013] scsi2 : SCSI emulation for USB Mass Storage devices
[ 79.056013] usb-storage 1-3:1.0: usb_probe_interface
[ 79.056013] usb-storage 1-3:1.0: usb_probe_interface - got id
[ 79.056013] usb-storage: device found at 2
[ 79.056013] usb-storage: waiting for device to settle before scanning
[ 79.056479] scsi3 : SCSI emulation for USB Mass Storage devices
[ 79.058450] usbcore: registered new interface driver usb-storage
[ 79.058460] USB Mass Storage support registered.
[ 79.058933] usb-storage: device found at 3
[ 79.058937] usb-storage: waiting for device to settle before scanning
[ 79.088007] Bluetooth: Core ver 2.12
[ 79.088007] NET: Registered protocol family 31
[ 79.088007] Bluetooth: HCI device and connection manager initialized
[ 79.088007] Bluetooth: HCI socket layer initialized
[ 79.100013] Bluetooth: HCI USB driver ver 2.9
[ 79.100013] hci_usb 3-2:1.0: usb_probe_interface
[ 79.100013] hci_usb 3-2:1.0: usb_probe_interface - got id
[ 79.100013] hci_usb 3-2:1.2: usb_probe_interface
[ 79.100013] hci_usb 3-2:1.2: usb_probe_interface - got id
[ 79.100013] usbcore: registered new interface driver hci_usb
[ 80.816027] hub 2-0:1.0: hub_suspend
[ 80.816041] usb usb2: bus auto-suspend
[ 80.816048] ohci_hcd 0000:00:02.0: suspend root hub
[ 82.732273] ReiserFS: sda1: found reiserfs format "3.6" with standard journal
[ 82.732291] ReiserFS: sda1: using ordered data mode
[ 82.743892] ReiserFS: sda1: journal params: device sda1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
[ 82.745892] ReiserFS: sda1: checking transaction log (sda1)
[ 82.773123] ReiserFS: sda1: Using r5 hash to sort names
[ 84.052354] usb-storage: device scan complete
[ 84.056316] usb-storage: device scan complete
[ 84.057203] scsi 3:0:0:0: Direct-Access OCZ RALLY2_TURBO 1100 PQ: 0 ANSI: 0 CCS
[ 84.534082] scsi 2:0:0:0: Direct-Access ST350064 1A 3.AA PQ: 0 ANSI: 0
[ 84.545949] sd 2:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
[ 84.546934] sd 2:0:0:0: [sdb] Write Protect is off
[ 84.546941] sd 2:0:0:0: [sdb] Mode Sense: 10 00 00 00
[ 84.546945] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[ 84.547808] sd 2:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
[ 84.548806] sd 2:0:0:0: [sdb] Write Protect is off
[ 84.548812] sd 2:0:0:0: [sdb] Mode Sense: 10 00 00 00
[ 84.548816] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[ 84.548824] sdb: sdb1
[ 84.563025] sd 2:0:0:0: [sdb] Attached SCSI disk
[ 84.563147] sd 2:0:0:0: Attached scsi generic sg2 type 0
[ 84.564193] sd 3:0:0:0: [sdc] 8028160 512-byte hardware sectors (4110 MB)
[ 84.564940] sd 3:0:0:0: [sdc] Write Protect is off
[ 84.564947] sd 3:0:0:0: [sdc] Mode Sense: 43 00 00 00
[ 84.564951] sd 3:0:0:0: [sdc] Assuming drive cache: write through
[ 84.566974] sd 3:0:0:0: [sdc] 8028160 512-byte hardware sectors (4110 MB)
[ 84.567814] sd 3:0:0:0: [sdc] Write Protect is off
[ 84.567820] sd 3:0:0:0: [sdc] Mode Sense: 43 00 00 00
[ 84.567824] sd 3:0:0:0: [sdc] Assuming drive cache: write through
[ 84.567830] sdc: sdc1
[ 84.568646] sd 3:0:0:0: [sdc] Attached SCSI removable disk
[ 84.568756] sd 3:0:0:0: Attached scsi generic sg3 type 0
[ 85.106147] SysRq : HELP : loglevel0-8 reBoot Crashdump tErm Full kIll saK aLlcpus showMem Nice powerOff showPc show-all-timers(Q) unRaw Sync showTasks Unmount shoW-blocked-tasks
[ 86.241609] usb usb2: usb auto-resume
[ 86.241620] ohci_hcd 0000:00:02.0: resume root hub
[ 86.271450] Bluetooth: L2CAP ver 2.9
[ 86.271454] Bluetooth: L2CAP socket layer initialized
[ 86.320026] hub 2-0:1.0: hub_resume
[ 86.323614] hub 2-0:1.0: state 7 ports 3 chg 0000 evt 0000
[ 86.390009] Bluetooth: RFCOMM socket layer initialized
[ 86.390036] Bluetooth: RFCOMM TTY layer initialized
[ 86.390040] Bluetooth: RFCOMM ver 1.8
[ 86.735929] Bluetooth: BNEP (Ethernet Emulation) ver 1.2
[ 86.735936] Bluetooth: BNEP filters: protocol multicast
[ 87.448022] ohci_hcd 0000:00:02.0: auto-stop root hub
[ 88.816029] hub 2-0:1.0: hub_suspend
[ 88.816041] usb usb2: bus auto-suspend
[ 88.816047] ohci_hcd 0000:00:02.0: suspend root hub
[ 89.878692] eth0: link up, 100Mbps, full-duplex, lpa 0xC1E1
[ 91.044641] Adding 2843496k swap on /dev/sda3. Priority:100 extents:1 across:2843496k
[ 94.417554] snd_ac97_codec: Unknown parameter `power_save'
[ 94.419303] snd_intel8x0: Unknown symbol snd_ac97_pcm_close
[ 94.419594] snd_intel8x0: Unknown symbol snd_ac97_resume
[ 94.420728] snd_intel8x0: Unknown symbol snd_ac97_pcm_open
[ 94.421037] snd_intel8x0: Unknown symbol snd_ac97_set_rate
[ 94.421188] snd_intel8x0: Unknown symbol snd_ac97_update_bits
[ 94.421351] snd_intel8x0: Unknown symbol snd_ac97_mixer
[ 94.421563] snd_intel8x0: Unknown symbol snd_ac97_bus
[ 94.422012] snd_intel8x0: Unknown symbol snd_ac97_pcm_double_rate_rules
[ 94.422323] snd_intel8x0: Unknown symbol snd_ac97_suspend
[ 94.423747] snd_intel8x0: Unknown symbol snd_ac97_get_short_name
[ 94.424195] snd_intel8x0: Unknown symbol snd_ac97_pcm_assign
[ 94.425340] snd_intel8x0: Unknown symbol snd_ac97_tune_hardware
[ 94.453909] snd_ac97_codec: Unknown parameter `power_save'
[ 94.455615] snd_intel8x0m: Unknown symbol snd_ac97_resume
[ 94.456709] snd_intel8x0m: Unknown symbol snd_ac97_mixer
[ 94.456922] snd_intel8x0m: Unknown symbol snd_ac97_bus
[ 94.457487] snd_intel8x0m: Unknown symbol snd_ac97_suspend
[ 94.459744] snd_intel8x0m: Unknown symbol snd_ac97_write
[ 269.224276] BUG: unable to handle kernel paging request at ffffe20003480000
[ 269.224291] IP: [<ffffffff80297e30>] copy_page_range+0x520/0x760
[ 269.224306] PGD 1102067 PUD 1103067 PMD 0
[ 269.224315] Oops: 0000 [1] SMP
[ 269.224321] last sysfs file: /sys/devices/pci0000:00/0000:00:0a.0/0000:02:04.1/resource
[ 269.224327] CPU 0
[ 269.224331] Modules linked in: snd_pcm_oss snd_mixer_oss snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device bnep rfcomm l2cap hci_usb bluetooth usb_storage libusual joydev psmouse serio_raw ac97_bus snd_pcm snd_timer snd ohci_hcd ehci_hcd snd_page_alloc usbcore evdev
[ 269.224368] Pid: 3032, comm: X Not tainted 2.6.26-rc8-mm1 #17
[ 269.224373] RIP: 0010:[<ffffffff80297e30>] [<ffffffff80297e30>] copy_page_range+0x520/0x760
[ 269.224383] RSP: 0018:ffff81002d419d08 EFLAGS: 00010286
[ 269.224388] RAX: 0000000003480000 RBX: 80000000f0000017 RCX: ffffe20003480000
[ 269.224393] RDX: 0000000000780000 RSI: ffff810000000000 RDI: ffffe20000a324b0
[ 269.224399] RBP: 0000000000000000 R08: ffff81002eb5ed40 R09: 0000000000000000
[ 269.224404] R10: 0000000000000000 R11: ffffffff803918d0 R12: ffff81002e9cc4d8
[ 269.224409] R13: 00007f850429b000 R14: ffff81002d44f4d8 R15: 00007f8504400000
[ 269.224415] FS: 00007f850af6e6f0(0000) GS:ffffffff806fe600(0000) knlGS:0000000000000000
[ 269.224420] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 269.224425] CR2: ffffe20003480000 CR3: 000000002d434000 CR4: 00000000000006e0
[ 269.224430] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 269.224435] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 269.224441] Process X (pid: 3032, threadinfo ffff81002d418000, task ffff81002e9ae100)
[ 269.224445] Stack: ffff81002d419dcc ffffe20000a324b0 ffffe200009e7158 ffff81002e8f8728
[ 269.224457] ffff81003f11a780 ffff81003e78e4c0 ffff81002d4347f8 ffff81002e9d27f8
[ 269.224465] 00007f850829b000 00007f850829b000 ffff81002d42c108 ffff81002d44e108
[ 269.224473] Call Trace:
[ 269.224495] [<ffffffff80239a9b>] dup_mm+0x26b/0x3c0
[ 269.224507] [<ffffffff8023a84c>] copy_process+0xc2c/0x1210
[ 269.224518] [<ffffffff8023aea3>] do_fork+0x73/0x310
[ 269.224526] [<ffffffff8024719e>] sys_rt_sigaction+0x8e/0xd0
[ 269.224536] [<ffffffff8020c2db>] system_call_after_swapgs+0x7b/0x80
[ 269.224542] [<ffffffff8020c5d7>] ptregscall_common+0x67/0xb0
[ 269.224552]
[ 269.224555]
[ 269.224557] Code: 00 00 48 b9 00 00 00 00 00 e2 ff ff 48 21 d8 48 c1 e8 0c 48 8d 14 c5 00 00 00 00 48 c1 e0 06 48 29 d0 48 01 c1 0f 84 10 ff ff ff <48> 8b 01 48 89 ca f6 c4 40 74 04 48 8b 51 10 90 ff 42 08 90 ff
[ 269.224609] RIP [<ffffffff80297e30>] copy_page_range+0x520/0x760
[ 269.224617] RSP <ffff81002d419d08>
[ 269.224621] CR2: ffffe20003480000
[ 269.224632] ---[ end trace 9eb0c4eca26235e1 ]---


Attachments:
dmesg.log (46.35 kB)
.config (49.50 kB)
Download all attachments

2008-07-04 20:28:56

by Hugh Dickins

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

On Fri, 4 Jul 2008, Zan Lynx wrote:
> Ryan Hope wrote:
> > I have tested this with 2.6.26-rc5-mm3 and with 2.6.26-rc8 w/ the
> > get_user_pages_fast patches from -rc5-mm3... Xorg 1.4.99.* will start
> > to load but hangs at a black screen. At this point, I can not switch
> > to another tty. When I try pressing ctrl+alt+del the kernel ooopses
> > and the caps lock led starts to blink. This happens using the nv,
> > radeon and radeonhd drivers (the nv was tested on another box
> > obviously). I have also tried to unselect HAVE_GET_USER_PAGES_FAST in
> > my kernel config but this does not help. I can not figure out where or
> > what the bug is. I can provide any other info you guys need to figure
> > this out. Let me know what I can do.
>
> I think that I've seen this too on 2.6.26-rc8 on my laptop. It's 64-bit

Your attachment tells us it's actually 2.6.26-rc8-mm1, less of a worry.

> AMD-64 single core (although I run a SMP-alternatives kernel on it) and I was
> using the nv driver.
>
> The symptoms are the same. Everything was working great until I started X. I
> SSH'd in and got the dmesg after X locked up. The full dmesg and config are
> attached because Thunderbird is a very stupid program and won't let me paste
> without wrapping.
>
> Here is a bit of what I got though.
>
> [ 269.224276] BUG: unable to handle kernel paging request at ffffe20003480000
> [ 269.224291] IP: [<ffffffff80297e30>] copy_page_range+0x520/0x760
> [ 269.224306] PGD 1102067 PUD 1103067 PMD 0
> [ 269.224315] Oops: 0000 [1] SMP
>
> [ 269.224473] Call Trace:
> [ 269.224495] [<ffffffff80239a9b>] dup_mm+0x26b/0x3c0
> [ 269.224507] [<ffffffff8023a84c>] copy_process+0xc2c/0x1210
> [ 269.224518] [<ffffffff8023aea3>] do_fork+0x73/0x310
> [ 269.224526] [<ffffffff8024719e>] sys_rt_sigaction+0x8e/0xd0
> [ 269.224536] [<ffffffff8020c2db>] system_call_after_swapgs+0x7b/0x80
> [ 269.224542] [<ffffffff8020c5d7>] ptregscall_common+0x67/0xb0

Useful info, thank you; even more useful was the Code line in your attachment

> [ 269.224557] Code: 00 00 48 b9 00 00 00 00 00 e2 ff ff 48 21 d8 48 c1 e8 0c 48 8d 14 c5 00 00 00 00 48 c1 e0 06 48 29 d0 48 01 c1 0f 84 10 ff ff ff <48> 8b 01 48 89 ca f6 c4 40 74 04 48 8b 51 10 90 ff 42 08 90 ff

which is enough to identify the oops as in copy_one_pte's get_page(page).
Here's a patch I think we need, which I'm hoping will fix both your
crashes - please let us know - thanks a lot.

Stop mprotect's pte_modify from wiping out the x86 pte_special bit, which
caused oops thereafter when vm_normal_page thought X's abnormal was normal.

Signed-off-by: Hugh Dickins <[email protected]>
---
Fix to 2.6.26-rc8-mm1 x86-implement-pte_special.patch
Perhaps something similar needed for powerpc? Nick will know.

include/asm-x86/pgtable.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- 2.6.26-rc8-mm1/include/asm-x86/pgtable.h 2008-07-03 11:34:55.000000000 +0100
+++ linux/include/asm-x86/pgtable.h 2008-07-04 20:58:36.000000000 +0100
@@ -57,7 +57,7 @@

/* Set of bits not changed in pte_modify */
#define _PAGE_CHG_MASK (PTE_MASK | _PAGE_PCD | _PAGE_PWT | \
- _PAGE_ACCESSED | _PAGE_DIRTY)
+ _PAGE_SPECIAL | _PAGE_ACCESSED | _PAGE_DIRTY)

#define _PAGE_CACHE_MASK (_PAGE_PCD | _PAGE_PWT)
#define _PAGE_CACHE_WB (0)

2008-07-05 05:26:19

by Ryan Hope

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

yep this fixes my issue, thanks

On Fri, Jul 4, 2008 at 4:29 PM, Hugh Dickins <[email protected]> wrote:
> On Fri, 4 Jul 2008, Zan Lynx wrote:
>> Ryan Hope wrote:
>> > I have tested this with 2.6.26-rc5-mm3 and with 2.6.26-rc8 w/ the
>> > get_user_pages_fast patches from -rc5-mm3... Xorg 1.4.99.* will start
>> > to load but hangs at a black screen. At this point, I can not switch
>> > to another tty. When I try pressing ctrl+alt+del the kernel ooopses
>> > and the caps lock led starts to blink. This happens using the nv,
>> > radeon and radeonhd drivers (the nv was tested on another box
>> > obviously). I have also tried to unselect HAVE_GET_USER_PAGES_FAST in
>> > my kernel config but this does not help. I can not figure out where or
>> > what the bug is. I can provide any other info you guys need to figure
>> > this out. Let me know what I can do.
>>
>> I think that I've seen this too on 2.6.26-rc8 on my laptop. It's 64-bit
>
> Your attachment tells us it's actually 2.6.26-rc8-mm1, less of a worry.
>
>> AMD-64 single core (although I run a SMP-alternatives kernel on it) and I was
>> using the nv driver.
>>
>> The symptoms are the same. Everything was working great until I started X. I
>> SSH'd in and got the dmesg after X locked up. The full dmesg and config are
>> attached because Thunderbird is a very stupid program and won't let me paste
>> without wrapping.
>>
>> Here is a bit of what I got though.
>>
>> [ 269.224276] BUG: unable to handle kernel paging request at ffffe20003480000
>> [ 269.224291] IP: [<ffffffff80297e30>] copy_page_range+0x520/0x760
>> [ 269.224306] PGD 1102067 PUD 1103067 PMD 0
>> [ 269.224315] Oops: 0000 [1] SMP
>>
>> [ 269.224473] Call Trace:
>> [ 269.224495] [<ffffffff80239a9b>] dup_mm+0x26b/0x3c0
>> [ 269.224507] [<ffffffff8023a84c>] copy_process+0xc2c/0x1210
>> [ 269.224518] [<ffffffff8023aea3>] do_fork+0x73/0x310
>> [ 269.224526] [<ffffffff8024719e>] sys_rt_sigaction+0x8e/0xd0
>> [ 269.224536] [<ffffffff8020c2db>] system_call_after_swapgs+0x7b/0x80
>> [ 269.224542] [<ffffffff8020c5d7>] ptregscall_common+0x67/0xb0
>
> Useful info, thank you; even more useful was the Code line in your attachment
>
>> [ 269.224557] Code: 00 00 48 b9 00 00 00 00 00 e2 ff ff 48 21 d8 48 c1 e8 0c 48 8d 14 c5 00 00 00 00 48 c1 e0 06 48 29 d0 48 01 c1 0f 84 10 ff ff ff <48> 8b 01 48 89 ca f6 c4 40 74 04 48 8b 51 10 90 ff 42 08 90 ff
>
> which is enough to identify the oops as in copy_one_pte's get_page(page).
> Here's a patch I think we need, which I'm hoping will fix both your
> crashes - please let us know - thanks a lot.
>
> Stop mprotect's pte_modify from wiping out the x86 pte_special bit, which
> caused oops thereafter when vm_normal_page thought X's abnormal was normal.
>
> Signed-off-by: Hugh Dickins <[email protected]>
> ---
> Fix to 2.6.26-rc8-mm1 x86-implement-pte_special.patch
> Perhaps something similar needed for powerpc? Nick will know.
>
> include/asm-x86/pgtable.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- 2.6.26-rc8-mm1/include/asm-x86/pgtable.h 2008-07-03 11:34:55.000000000 +0100
> +++ linux/include/asm-x86/pgtable.h 2008-07-04 20:58:36.000000000 +0100
> @@ -57,7 +57,7 @@
>
> /* Set of bits not changed in pte_modify */
> #define _PAGE_CHG_MASK (PTE_MASK | _PAGE_PCD | _PAGE_PWT | \
> - _PAGE_ACCESSED | _PAGE_DIRTY)
> + _PAGE_SPECIAL | _PAGE_ACCESSED | _PAGE_DIRTY)
>
> #define _PAGE_CACHE_MASK (_PAGE_PCD | _PAGE_PWT)
> #define _PAGE_CACHE_WB (0)
>

2008-07-06 21:04:16

by Zan Lynx

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

Hugh Dickins wrote:
> On Fri, 4 Jul 2008, Zan Lynx wrote:
[cut]
> Useful info, thank you; even more useful was the Code line in your attachment
>
>> [ 269.224557] Code: 00 00 48 b9 00 00 00 00 00 e2 ff ff 48 21 d8 48 c1 e8 0c 48 8d 14 c5 00 00 00 00 48 c1 e0 06 48 29 d0 48 01 c1 0f 84 10 ff ff ff <48> 8b 01 48 89 ca f6 c4 40 74 04 48 8b 51 10 90 ff 42 08 90 ff
>
> which is enough to identify the oops as in copy_one_pte's get_page(page).
> Here's a patch I think we need, which I'm hoping will fix both your
> crashes - please let us know - thanks a lot.
>
> Stop mprotect's pte_modify from wiping out the x86 pte_special bit, which
> caused oops thereafter when vm_normal_page thought X's abnormal was normal.
[cut patch]

I can report that this fixes things for me as well. Thank you.

2008-07-07 07:02:27

by Nick Piggin

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

On Saturday 05 July 2008 06:29, Hugh Dickins wrote:
> On Fri, 4 Jul 2008, Zan Lynx wrote:
> > Ryan Hope wrote:
> > > I have tested this with 2.6.26-rc5-mm3 and with 2.6.26-rc8 w/ the
> > > get_user_pages_fast patches from -rc5-mm3... Xorg 1.4.99.* will start
> > > to load but hangs at a black screen. At this point, I can not switch
> > > to another tty. When I try pressing ctrl+alt+del the kernel ooopses
> > > and the caps lock led starts to blink. This happens using the nv,
> > > radeon and radeonhd drivers (the nv was tested on another box
> > > obviously). I have also tried to unselect HAVE_GET_USER_PAGES_FAST in
> > > my kernel config but this does not help. I can not figure out where or
> > > what the bug is. I can provide any other info you guys need to figure
> > > this out. Let me know what I can do.
> >
> > I think that I've seen this too on 2.6.26-rc8 on my laptop. It's 64-bit
>
> Your attachment tells us it's actually 2.6.26-rc8-mm1, less of a worry.
>
> > AMD-64 single core (although I run a SMP-alternatives kernel on it) and I
> > was using the nv driver.
> >
> > The symptoms are the same. Everything was working great until I started
> > X. I SSH'd in and got the dmesg after X locked up. The full dmesg and
> > config are attached because Thunderbird is a very stupid program and
> > won't let me paste without wrapping.
> >
> > Here is a bit of what I got though.
> >
> > [ 269.224276] BUG: unable to handle kernel paging request at
> > ffffe20003480000 [ 269.224291] IP: [<ffffffff80297e30>]
> > copy_page_range+0x520/0x760 [ 269.224306] PGD 1102067 PUD 1103067 PMD 0
> > [ 269.224315] Oops: 0000 [1] SMP
> >
> > [ 269.224473] Call Trace:
> > [ 269.224495] [<ffffffff80239a9b>] dup_mm+0x26b/0x3c0
> > [ 269.224507] [<ffffffff8023a84c>] copy_process+0xc2c/0x1210
> > [ 269.224518] [<ffffffff8023aea3>] do_fork+0x73/0x310
> > [ 269.224526] [<ffffffff8024719e>] sys_rt_sigaction+0x8e/0xd0
> > [ 269.224536] [<ffffffff8020c2db>] system_call_after_swapgs+0x7b/0x80
> > [ 269.224542] [<ffffffff8020c5d7>] ptregscall_common+0x67/0xb0
>
> Useful info, thank you; even more useful was the Code line in your
> attachment
>
> > [ 269.224557] Code: 00 00 48 b9 00 00 00 00 00 e2 ff ff 48 21 d8 48 c1
> > e8 0c 48 8d 14 c5 00 00 00 00 48 c1 e0 06 48 29 d0 48 01 c1 0f 84 10 ff
> > ff ff <48> 8b 01 48 89 ca f6 c4 40 74 04 48 8b 51 10 90 ff 42 08 90 ff
>
> which is enough to identify the oops as in copy_one_pte's get_page(page).
> Here's a patch I think we need, which I'm hoping will fix both your
> crashes - please let us know - thanks a lot.
>
> Stop mprotect's pte_modify from wiping out the x86 pte_special bit, which
> caused oops thereafter when vm_normal_page thought X's abnormal was normal.
>
> Signed-off-by: Hugh Dickins <[email protected]>

(back from vaccation)

Great, thanks Hugh. Always nice to read the fix before the bug report :)
powerpc should need it too, as well as an equivalent for s390.

Thanks,
Nick

> ---
> Fix to 2.6.26-rc8-mm1 x86-implement-pte_special.patch
> Perhaps something similar needed for powerpc? Nick will know.
>
> include/asm-x86/pgtable.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- 2.6.26-rc8-mm1/include/asm-x86/pgtable.h 2008-07-03 11:34:55.000000000
> +0100 +++ linux/include/asm-x86/pgtable.h 2008-07-04 20:58:36.000000000
> +0100 @@ -57,7 +57,7 @@
>
> /* Set of bits not changed in pte_modify */
> #define _PAGE_CHG_MASK (PTE_MASK | _PAGE_PCD | _PAGE_PWT | \
> - _PAGE_ACCESSED | _PAGE_DIRTY)
> + _PAGE_SPECIAL | _PAGE_ACCESSED | _PAGE_DIRTY)
>
> #define _PAGE_CACHE_MASK (_PAGE_PCD | _PAGE_PWT)
> #define _PAGE_CACHE_WB (0)

2008-07-07 07:56:17

by Nick Piggin

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

On Saturday 05 July 2008 06:29, Hugh Dickins wrote:

> Fix to 2.6.26-rc8-mm1 x86-implement-pte_special.patch
> Perhaps something similar needed for powerpc? Nick will know.

Here is the required fix for powerpc-implement-pte_special.patch


Attachments:
(No filename) (241.00 B)
powerpc-implement-pte_special-fix.patch (838.00 B)
Download all attachments

2008-07-07 08:06:54

by Nick Piggin

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

On Saturday 05 July 2008 06:29, Hugh Dickins wrote:
> On Fri, 4 Jul 2008, Zan Lynx wrote:
> > Ryan Hope wrote:
> > > I have tested this with 2.6.26-rc5-mm3 and with 2.6.26-rc8 w/ the
> > > get_user_pages_fast patches from -rc5-mm3... Xorg 1.4.99.* will start
> > > to load but hangs at a black screen. At this point, I can not switch
> > > to another tty. When I try pressing ctrl+alt+del the kernel ooopses
> > > and the caps lock led starts to blink. This happens using the nv,
> > > radeon and radeonhd drivers (the nv was tested on another box
> > > obviously). I have also tried to unselect HAVE_GET_USER_PAGES_FAST in
> > > my kernel config but this does not help. I can not figure out where or
> > > what the bug is. I can provide any other info you guys need to figure
> > > this out. Let me know what I can do.
> >
> > I think that I've seen this too on 2.6.26-rc8 on my laptop. It's 64-bit
>
> Your attachment tells us it's actually 2.6.26-rc8-mm1, less of a worry.
>
> > AMD-64 single core (although I run a SMP-alternatives kernel on it) and I
> > was using the nv driver.
> >
> > The symptoms are the same. Everything was working great until I started
> > X. I SSH'd in and got the dmesg after X locked up. The full dmesg and
> > config are attached because Thunderbird is a very stupid program and
> > won't let me paste without wrapping.
> >
> > Here is a bit of what I got though.
> >
> > [ 269.224276] BUG: unable to handle kernel paging request at
> > ffffe20003480000 [ 269.224291] IP: [<ffffffff80297e30>]
> > copy_page_range+0x520/0x760 [ 269.224306] PGD 1102067 PUD 1103067 PMD 0
> > [ 269.224315] Oops: 0000 [1] SMP
> >
> > [ 269.224473] Call Trace:
> > [ 269.224495] [<ffffffff80239a9b>] dup_mm+0x26b/0x3c0
> > [ 269.224507] [<ffffffff8023a84c>] copy_process+0xc2c/0x1210
> > [ 269.224518] [<ffffffff8023aea3>] do_fork+0x73/0x310
> > [ 269.224526] [<ffffffff8024719e>] sys_rt_sigaction+0x8e/0xd0
> > [ 269.224536] [<ffffffff8020c2db>] system_call_after_swapgs+0x7b/0x80
> > [ 269.224542] [<ffffffff8020c5d7>] ptregscall_common+0x67/0xb0
>
> Useful info, thank you; even more useful was the Code line in your
> attachment
>
> > [ 269.224557] Code: 00 00 48 b9 00 00 00 00 00 e2 ff ff 48 21 d8 48 c1
> > e8 0c 48 8d 14 c5 00 00 00 00 48 c1 e0 06 48 29 d0 48 01 c1 0f 84 10 ff
> > ff ff <48> 8b 01 48 89 ca f6 c4 40 74 04 48 8b 51 10 90 ff 42 08 90 ff
>
> which is enough to identify the oops as in copy_one_pte's get_page(page).
> Here's a patch I think we need, which I'm hoping will fix both your
> crashes - please let us know - thanks a lot.
>
> Stop mprotect's pte_modify from wiping out the x86 pte_special bit, which
> caused oops thereafter when vm_normal_page thought X's abnormal was normal.
>
> Signed-off-by: Hugh Dickins <[email protected]>
> ---
> Fix to 2.6.26-rc8-mm1 x86-implement-pte_special.patch
> Perhaps something similar needed for powerpc? Nick will know.
>
> include/asm-x86/pgtable.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- 2.6.26-rc8-mm1/include/asm-x86/pgtable.h 2008-07-03 11:34:55.000000000
> +0100 +++ linux/include/asm-x86/pgtable.h 2008-07-04 20:58:36.000000000
> +0100 @@ -57,7 +57,7 @@
>
> /* Set of bits not changed in pte_modify */
> #define _PAGE_CHG_MASK (PTE_MASK | _PAGE_PCD | _PAGE_PWT | \
> - _PAGE_ACCESSED | _PAGE_DIRTY)
> + _PAGE_SPECIAL | _PAGE_ACCESSED | _PAGE_DIRTY)
>
> #define _PAGE_CACHE_MASK (_PAGE_PCD | _PAGE_PWT)
> #define _PAGE_CACHE_WB (0)

I think we need a similar fix for s390 too. If so, then it really should
get into 2.6.26, but this late in the release, I hope an s390 maintainer
might be able to test and verify the fix?

Thanks,
Nick


Attachments:
(No filename) (3.60 kB)
s390-implement-pte_special-fix.patch (0.99 kB)
Download all attachments

2008-07-07 10:40:51

by Hugh Dickins

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

On Mon, 7 Jul 2008, Nick Piggin wrote:
>
> I think we need a similar fix for s390 too. If so, then it really should
> get into 2.6.26, but this late in the release, I hope an s390 maintainer
> might be able to test and verify the fix?

Wow, yes, I hadn't realized s390 is ahead of the game there: glad you're
back to spot that. But yes, we'd prefer maintainer to confirm and push.


[PATCH]] s390: protect _PAGE_SPECIAL bit against mprotect

Stop mprotect's pte_modify from wiping out the s390 pte_special bit, which
caused oops thereafter when vm_normal_page thought X's abnormal was normal.

Signed-off-by: Nick Piggin <[email protected]>
Acked-by: Hugh Dickins <[email protected]>
---
Index: linux-2.6/include/asm-s390/pgtable.h
===================================================================
--- linux-2.6.orig/include/asm-s390/pgtable.h
+++ linux-2.6/include/asm-s390/pgtable.h
@@ -223,6 +223,9 @@ extern char empty_zero_page[PAGE_SIZE];
#define _PAGE_SPECIAL 0x004 /* SW associated with special page */
#define __HAVE_ARCH_PTE_SPECIAL

+/* Set of bits not changed in pte_modify */
+#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_SPECIAL)
+
/* Six different types of pages. */
#define _PAGE_TYPE_EMPTY 0x400
#define _PAGE_TYPE_NONE 0x401
@@ -681,7 +684,7 @@ static inline void pte_clear(struct mm_s
*/
static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
{
- pte_val(pte) &= PAGE_MASK;
+ pte_val(pte) &= _PAGE_CHG_MASK;
pte_val(pte) |= pgprot_val(newprot);
return pte;
}

2008-07-07 11:09:18

by Martin Schwidefsky

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

On Mon, Jul 7, 2008 at 12:39 PM, Hugh Dickins <[email protected]> wrote:
> On Mon, 7 Jul 2008, Nick Piggin wrote:
>>
>> I think we need a similar fix for s390 too. If so, then it really should
>> get into 2.6.26, but this late in the release, I hope an s390 maintainer
>> might be able to test and verify the fix?
>
> Wow, yes, I hadn't realized s390 is ahead of the game there: glad you're
> back to spot that. But yes, we'd prefer maintainer to confirm and push.
>
>
> [PATCH]] s390: protect _PAGE_SPECIAL bit against mprotect
>
> Stop mprotect's pte_modify from wiping out the s390 pte_special bit, which
> caused oops thereafter when vm_normal_page thought X's abnormal was normal.
>
> Signed-off-by: Nick Piggin <[email protected]>
> Acked-by: Hugh Dickins <[email protected]>

s390 will definitely need this. Loosing the pte special bit is not
good. I'll prepate
a please pull right away. Thanks of pointing this out.

--
blue skies,
Martin

2008-07-07 11:40:27

by Nick Piggin

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

On Monday 07 July 2008 20:39, Hugh Dickins wrote:
> On Mon, 7 Jul 2008, Nick Piggin wrote:
> > I think we need a similar fix for s390 too. If so, then it really should
> > get into 2.6.26, but this late in the release, I hope an s390 maintainer
> > might be able to test and verify the fix?
>
> Wow, yes, I hadn't realized s390 is ahead of the game there: glad you're
> back to spot that. But yes, we'd prefer maintainer to confirm and push.
>
>
> [PATCH]] s390: protect _PAGE_SPECIAL bit against mprotect
>
> Stop mprotect's pte_modify from wiping out the s390 pte_special bit, which
> caused oops thereafter when vm_normal_page thought X's abnormal was normal.
>
> Signed-off-by: Nick Piggin <[email protected]>
> Acked-by: Hugh Dickins <[email protected]>

Thanks, I feel silly to take the authorship of this before your x86
version gets in (and will likely not be credited if it is folded
before merging)

Martin, could you please credit Hugh for the debugging? :)

Thanks,

> ---
> Index: linux-2.6/include/asm-s390/pgtable.h
> ===================================================================
> --- linux-2.6.orig/include/asm-s390/pgtable.h
> +++ linux-2.6/include/asm-s390/pgtable.h
> @@ -223,6 +223,9 @@ extern char empty_zero_page[PAGE_SIZE];
> #define _PAGE_SPECIAL 0x004 /* SW associated with special page */
> #define __HAVE_ARCH_PTE_SPECIAL
>
> +/* Set of bits not changed in pte_modify */
> +#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_SPECIAL)
> +
> /* Six different types of pages. */
> #define _PAGE_TYPE_EMPTY 0x400
> #define _PAGE_TYPE_NONE 0x401
> @@ -681,7 +684,7 @@ static inline void pte_clear(struct mm_s
> */
> static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
> {
> - pte_val(pte) &= PAGE_MASK;
> + pte_val(pte) &= _PAGE_CHG_MASK;
> pte_val(pte) |= pgprot_val(newprot);
> return pte;
> }

2008-07-07 12:03:16

by Hugh Dickins

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

On Mon, 7 Jul 2008, Nick Piggin wrote:
> On Monday 07 July 2008 20:39, Hugh Dickins wrote:
> > On Mon, 7 Jul 2008, Nick Piggin wrote:
> > > I think we need a similar fix for s390 too. If so, then it really should
> > > get into 2.6.26, but this late in the release, I hope an s390 maintainer
> > > might be able to test and verify the fix?
> >
> > Wow, yes, I hadn't realized s390 is ahead of the game there: glad you're
> > back to spot that. But yes, we'd prefer maintainer to confirm and push.
> >
> >
> > [PATCH]] s390: protect _PAGE_SPECIAL bit against mprotect
> >
> > Stop mprotect's pte_modify from wiping out the s390 pte_special bit, which
> > caused oops thereafter when vm_normal_page thought X's abnormal was normal.
> >
> > Signed-off-by: Nick Piggin <[email protected]>
> > Acked-by: Hugh Dickins <[email protected]>
>
> Thanks, I feel silly to take the authorship of this before your x86
> version gets in (and will likely not be credited if it is folded
> before merging)
>
> Martin, could you please credit Hugh for the debugging? :)

Oh, I'm more anxious for your fix to get to Linus than for credit
to be fairly apportioned - we don't need an Oscar ceremony here!

But if Martin does choose to add credits, then it's Ryan's and
Zan's x86 reports that should be credited - they did the hard work.
I didn't mention them in the x86 patch because at that stage I was
just making a wild guess that this might be the cause of their problems.

Hugh

2008-07-07 15:44:20

by Carsten Otte

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

Nick Piggin wrote:
> I think we need a similar fix for s390 too. If so, then it really should
> get into 2.6.26, but this late in the release, I hope an s390 maintainer
> might be able to test and verify the fix?
I've done my best to combine mprotect, mmap and munmap a MAP_PRIVATE
mapping on a xip file system. The system runs stable with and without
this patch. Could someone please enlighten me on how to reproduce the
problem so that I can verify the fix?

2008-07-07 16:16:46

by Ryan Hope

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

Have you tried running Xorg 1.4.99.905?

On Mon, Jul 7, 2008 at 11:43 AM, Carsten Otte <[email protected]> wrote:
> Nick Piggin wrote:
>>
>> I think we need a similar fix for s390 too. If so, then it really should
>> get into 2.6.26, but this late in the release, I hope an s390 maintainer
>> might be able to test and verify the fix?
>
> I've done my best to combine mprotect, mmap and munmap a MAP_PRIVATE mapping
> on a xip file system. The system runs stable with and without this patch.
> Could someone please enlighten me on how to reproduce the problem so that I
> can verify the fix?
>

2008-07-07 16:38:48

by Carsten Otte

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

Ryan Hope wrote:
> Have you tried running Xorg 1.4.99.905?
I guess you mean the xserver? See, we don't have PCI and thus don't
have any graphics hardware - it's a server platform ;-).

2008-07-07 17:01:34

by Ryan Hope

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

Well it was only the new xorg-server that caused the bug for me. I
can't reproduce it else where....

On Mon, Jul 7, 2008 at 12:38 PM, Carsten Otte <[email protected]> wrote:
> Ryan Hope wrote:
>>
>> Have you tried running Xorg 1.4.99.905?
>
> I guess you mean the xserver? See, we don't have PCI and thus don't have any
> graphics hardware - it's a server platform ;-).
>

2008-07-07 17:49:49

by Hugh Dickins

[permalink] [raw]
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

On Mon, 7 Jul 2008, Carsten Otte wrote:
> Nick Piggin wrote:
> > I think we need a similar fix for s390 too. If so, then it really should
> > get into 2.6.26, but this late in the release, I hope an s390 maintainer
> > might be able to test and verify the fix?
>
> I've done my best to combine mprotect, mmap and munmap a MAP_PRIVATE mapping
> on a xip file system. The system runs stable with and without this patch.
> Could someone please enlighten me on how to reproduce the problem so that I
> can verify the fix?

Though it would be more obvious to use a MAP_SHARED mapping, we had that
earlier thread in which it emerged that you're not using shared writable
xip mappings, IIRC. So, sticking to MAP_PRIVATE, I'd expect the following
sequence

ptr = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_PRIVATE, xip_fd, 0);
var = *ptr;
mprotect(ptr, PAGE_SIZE, PROT_NONE);
munmap(ptr, PAGE_SIZE);

to do a put_page on a non-existent struct page derived from the pfn:
perhaps corrupting other memory without being noticed? Or if
you have CONFIG_DEBUG_VM=y (that would be a good move), to hit
vm_normal_page's VM_BUG_ON(!pfn_valid(pte_pfn(pte))) before that.

(I think you can just as well use PROT_READ|PROT_WRITE rather than
PROT_NONE there, but in principle mprotect could optimize away that
pte modification - though I think it goes ahead and does it anyway.)

Hugh