linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] x86, perf, nmi: Disable perf if counters are not accessable
@ 2010-11-23 15:15 Sedat Dilek
  2010-11-23 15:19 ` Peter Zijlstra
  2010-11-23 16:56 ` Don Zickus
  0 siblings, 2 replies; 13+ messages in thread
From: Sedat Dilek @ 2010-11-23 15:15 UTC (permalink / raw)
  To: LKML; +Cc: Peter Zijlstra, dzickus

Hi,

I am seeing for a while this warning in my system-wide logs:

Nov 23 11:54:14 tbox kernel: [    0.040335] NMI watchdog failed to
create perf event on cpu0: ffffffa1

As I saw this patch from [1], I was hoping it's also fixing my problem
on an Intel Pentium-M (Banias) Single-Core CPU:

"So I changed it to:

static bool check_hw_exists(void)
{
        u64 val, val_new = 0;
        int ret = 0;
        val = 0xabcdUL;
        ret |= checking_wrmsrl(x86_pmu.perfctr, val);
        ret |= rdmsrl_safe(x86_pmu.perfctr, &val_new);
        if (ret || val != val_new)
                return false;
        return true;
}
And have applied the patch,

Thanks Don!"

Where did you apply it? Shouldn't that be in linux-2.6-tip perf/* GIT tree?

Regards,
- Sedat -

[1] http://lkml.org/lkml/2010/11/23/121
[2] http://git.kernel.org/?p=linux/kernel/git/tip/linux-2.6-tip.git;a=summary

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi: Disable perf if counters are not accessable
  2010-11-23 15:15 [PATCH] x86, perf, nmi: Disable perf if counters are not accessable Sedat Dilek
@ 2010-11-23 15:19 ` Peter Zijlstra
  2010-11-23 16:56 ` Don Zickus
  1 sibling, 0 replies; 13+ messages in thread
From: Peter Zijlstra @ 2010-11-23 15:19 UTC (permalink / raw)
  To: sedat.dilek; +Cc: LKML, dzickus

On Tue, 2010-11-23 at 16:15 +0100, Sedat Dilek wrote:
> 
> Where did you apply it? Shouldn't that be in linux-2.6-tip perf/* GIT
> tree?
> 
No, I don't have commit access to -tip, I've applied it to my local
quite queue and will feed that to Ingo once every few days.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi: Disable perf if counters are not accessable
  2010-11-23 15:15 [PATCH] x86, perf, nmi: Disable perf if counters are not accessable Sedat Dilek
  2010-11-23 15:19 ` Peter Zijlstra
@ 2010-11-23 16:56 ` Don Zickus
  2010-11-23 18:21   ` Sedat Dilek
  1 sibling, 1 reply; 13+ messages in thread
From: Don Zickus @ 2010-11-23 16:56 UTC (permalink / raw)
  To: sedat.dilek; +Cc: LKML, Peter Zijlstra

On Tue, Nov 23, 2010 at 04:15:05PM +0100, Sedat Dilek wrote:
> Hi,
> 
> I am seeing for a while this warning in my system-wide logs:
> 
> Nov 23 11:54:14 tbox kernel: [    0.040335] NMI watchdog failed to
> create perf event on cpu0: ffffffa1
> 
> As I saw this patch from [1], I was hoping it's also fixing my problem
> on an Intel Pentium-M (Banias) Single-Core CPU:

I doubt it.  This patch was intended for virtualization where the perf
counters are not emulated but the perf subsystem didn't know that.

Your error code is 'ffffffa1'.  That translates to EOPNOTSUPP.  The only
place I can see where that is returned is if your system does not have a
local apic on it (as set by the cpu feature bits).

Applying this patch may still get you the same result because the perf
counters might be there but there is no local apic to deliver the
interrupts.

I would have to see in your log file the output starting at the line with

Performance Events:

and pasting the next dozen lines or so to have a better understanding what
is going on.  Or you can just attach the whole log in your reply.

Cheers,
Don

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi: Disable perf if counters are not accessable
  2010-11-23 16:56 ` Don Zickus
@ 2010-11-23 18:21   ` Sedat Dilek
  2010-11-23 18:27     ` Peter Zijlstra
  0 siblings, 1 reply; 13+ messages in thread
From: Sedat Dilek @ 2010-11-23 18:21 UTC (permalink / raw)
  To: Don Zickus; +Cc: LKML, Peter Zijlstra

[-- Attachment #1: Type: text/plain, Size: 1884 bytes --]

On Tue, Nov 23, 2010 at 5:56 PM, Don Zickus <dzickus@redhat.com> wrote:
> On Tue, Nov 23, 2010 at 04:15:05PM +0100, Sedat Dilek wrote:
>> Hi,
>>
>> I am seeing for a while this warning in my system-wide logs:
>>
>> Nov 23 11:54:14 tbox kernel: [    0.040335] NMI watchdog failed to
>> create perf event on cpu0: ffffffa1
>>
>> As I saw this patch from [1], I was hoping it's also fixing my problem
>> on an Intel Pentium-M (Banias) Single-Core CPU:
>
> I doubt it.  This patch was intended for virtualization where the perf
> counters are not emulated but the perf subsystem didn't know that.
>
> Your error code is 'ffffffa1'.  That translates to EOPNOTSUPP.  The only
> place I can see where that is returned is if your system does not have a
> local apic on it (as set by the cpu feature bits).
>

The problem still remains with your original patch [1] and Peter's
followup patch (is attached)

Due to BIOS l(ocal)apic is not possible:

# dmesg | grep -i apic
[    0.000000] Using APIC driver default
[    0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic"
[    0.000000] APIC: disable apic facility
[    0.000000] APIC: switched to apic NOOP
[    0.008891] no APIC, boot with the "lapic" boot parameter to force-enable it.
[    0.036141] Local APIC not detected. Using dummy APIC emulation.

> Applying this patch may still get you the same result because the perf
> counters might be there but there is no local apic to deliver the
> interrupts.
>
> I would have to see in your log file the output starting at the line with
>
> Performance Events:
>
> and pasting the next dozen lines or so to have a better understanding what
> is going on.  Or you can just attach the whole log in your reply.
>
> Cheers,
> Don
>

Full dmesg is attached.

- Sedat -

[1] https://patchwork.kernel.org/patch/348341/

[-- Attachment #2: dmesg.txt --]
[-- Type: text/plain, Size: 54994 bytes --]

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.37-rc3-686 (Debian 2.6.37~rc3-2~next20101123.dileks.1) (sedat.dilek@gmail.com) (gcc version 4.4.5 (Debian 4.4.5-8) ) #1 SMP Tue Nov 23 18:53:29 CET 2010
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
[    0.000000]  BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000d2000 - 00000000000d4000 (reserved)
[    0.000000]  BIOS-e820: 00000000000dc000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000003ff60000 (usable)
[    0.000000]  BIOS-e820: 000000003ff60000 - 000000003ff77000 (ACPI data)
[    0.000000]  BIOS-e820: 000000003ff77000 - 000000003ff79000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000003ff80000 - 0000000040000000 (reserved)
[    0.000000]  BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)
[    0.000000] Notice: NX (Execute Disable) protection missing in CPU or disabled in BIOS!
[    0.000000] DMI present.
[    0.000000] DMI: 2374SG6/2374SG6, BIOS 1RETDRWW (3.23 ) 06/18/2007
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[    0.000000] last_pfn = 0x3ff60 max_arch_pfn = 0x100000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-CFFFF write-protect
[    0.000000]   D0000-DBFFF uncachable
[    0.000000]   DC000-DFFFF write-back
[    0.000000]   E0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask FC0000000 write-back
[    0.000000]   1 base 03FF80000 mask FFFF80000 uncachable
[    0.000000]   2 disabled
[    0.000000]   3 disabled
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000] PAT not supported by CPU.
[    0.000000] initial memory mapped : 0 - 01800000
[    0.000000] init_memory_mapping: 0000000000000000-00000000377fe000
[    0.000000]  0000000000 - 0000400000 page 4k
[    0.000000]  0000400000 - 0037400000 page 2M
[    0.000000]  0037400000 - 00377fe000 page 4k
[    0.000000] kernel direct mapping tables up to 377fe000 @ 17fb000-1800000
[    0.000000] RAMDISK: 2f5c6000 - 2ffc8000
[    0.000000] ACPI: RSDP 000f6d70 00024 (v02 IBM   )
[    0.000000] ACPI: XSDT 3ff6a672 0004C (v01 IBM    TP-1R    00003230  LTP 00000000)
[    0.000000] ACPI: FACP 3ff6a700 000F4 (v03 IBM    TP-1R    00003230 IBM  00000001)
[    0.000000] ACPI Warning: 32/64X length mismatch in Gpe1Block: 0/32 (20101013/tbfadt-526)
[    0.000000] ACPI Warning: Optional field Gpe1Block has zero address or length: 0x000000000000102C/0x0 (20101013/tbfadt-557)
[    0.000000] ACPI: DSDT 3ff6a8e7 0C530 (v01 IBM    TP-1R    00003230 MSFT 0100000E)
[    0.000000] ACPI: FACS 3ff78000 00040
[    0.000000] ACPI: SSDT 3ff6a8b4 00033 (v01 IBM    TP-1R    00003230 MSFT 0100000E)
[    0.000000] ACPI: ECDT 3ff76e17 00052 (v01 IBM    TP-1R    00003230 IBM  00000001)
[    0.000000] ACPI: TCPA 3ff76e69 00032 (v01 IBM    TP-1R    00003230 PTL  00000001)
[    0.000000] ACPI: BOOT 3ff76fd8 00028 (v01 IBM    TP-1R    00003230  LTP 00000001)
[    0.000000] 135MB HIGHMEM available.
[    0.000000] 887MB LOWMEM available.
[    0.000000]   mapped low ram: 0 - 377fe000
[    0.000000]   low ram: 0 - 377fe000
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   Normal   0x00001000 -> 0x000377fe
[    0.000000]   HighMem  0x000377fe -> 0x0003ff60
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x0000009f
[    0.000000]     0: 0x00000100 -> 0x0003ff60
[    0.000000] On node 0 totalpages: 261871
[    0.000000] free_area_init_node: node 0, pgdat c13d56c0, node_mem_map f6ffd200
[    0.000000]   DMA zone: 32 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 3951 pages, LIFO batch:0
[    0.000000]   Normal zone: 1744 pages used for memmap
[    0.000000]   Normal zone: 221486 pages, LIFO batch:31
[    0.000000]   HighMem zone: 271 pages used for memmap
[    0.000000]   HighMem zone: 34387 pages, LIFO batch:7
[    0.000000] Using APIC driver default
[    0.000000] ACPI: PM-Timer IO Port: 0x1008
[    0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs
[    0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic"
[    0.000000] APIC: disable apic facility
[    0.000000] APIC: switched to apic NOOP
[    0.000000] nr_irqs_gsi: 16
[    0.000000] PM: Registered nosave memory: 000000000009f000 - 00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000d2000
[    0.000000] PM: Registered nosave memory: 00000000000d2000 - 00000000000d4000
[    0.000000] PM: Registered nosave memory: 00000000000d4000 - 00000000000dc000
[    0.000000] PM: Registered nosave memory: 00000000000dc000 - 0000000000100000
[    0.000000] Allocating PCI resources starting at 40000000 (gap: 40000000:bf800000)
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.000000] setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:1 nr_node_ids:1
[    0.000000] PERCPU: Embedded 12 pages/cpu @f6800000 s27136 r0 d22016 u4194304
[    0.000000] pcpu-alloc: s27136 r0 d22016 u4194304 alloc=1*4194304
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 259824
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-2.6.37-rc3-686 root=UUID=1ceb69a7-ecf4-47e9-a231-b74e0f0a9b62 ro radeon.modeset=1 3
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] Initializing HighMem for node 0 (000377fe:0003ff60)
[    0.000000] Memory: 1023060k/1047936k available (2595k kernel code, 24424k reserved, 1368k data, 384k init, 138632k highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xffd36000 - 0xfffff000   (2852 kB)
[    0.000000]     pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
[    0.000000]     vmalloc : 0xf7ffe000 - 0xff7fe000   ( 120 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf77fe000   ( 887 MB)
[    0.000000]       .init : 0xc13df000 - 0xc143f000   ( 384 kB)
[    0.000000]       .data : 0xc1288e7c - 0xc13def60   (1368 kB)
[    0.000000]       .text : 0xc1000000 - 0xc1288e7c   (2595 kB)
[    0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] 	RCU-based detection of stalled CPUs is disabled.
[    0.000000] NR_IRQS:1280
[    0.000000] CPU 0 irqstacks, hard=f6408000 soft=f640a000
[    0.000000] Extended CMOS year: 2000
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] Fast TSC calibration using PIT
[    0.000000] Detected 1694.266 MHz processor.
[    0.008008] Calibrating delay loop (skipped), value calculated using timer frequency.. 3388.53 BogoMIPS (lpj=6777064)
[    0.008081] pid_max: default: 32768 minimum: 301
[    0.008146] Security Framework initialized
[    0.008189] SELinux:  Disabled at boot.
[    0.008244] Mount-cache hash table entries: 512
[    0.008484] Initializing cgroup subsys ns
[    0.008524] ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup.
[    0.008572] Initializing cgroup subsys cpuacct
[    0.008610] Initializing cgroup subsys devices
[    0.008645] Initializing cgroup subsys freezer
[    0.008681] Initializing cgroup subsys net_cls
[    0.008716] Initializing cgroup subsys blkio
[    0.008806] mce: CPU supports 5 MCE banks
[    0.008865] Performance Events: 
[    0.008891] no APIC, boot with the "lapic" boot parameter to force-enable it.
[    0.008956] no hardware sampling interrupt available.
[    0.008992] p6 PMU driver.
[    0.009028] ... version:                0
[    0.009062] ... bit width:              32
[    0.009096] ... generic registers:      2
[    0.009130] ... value mask:             00000000ffffffff
[    0.009165] ... max period:             000000007fffffff
[    0.009200] ... fixed-purpose events:   0
[    0.009234] ... event mask:             0000000000000003
[    0.009792] SMP alternatives: switching to UP code
[    0.014620] Freeing SMP alternatives: 16k freed
[    0.014661] ACPI: Core revision 20101013
[    0.030881] ACPI: setting ELCR to 0200 (from 0800)
[    0.036070] weird, boot CPU (#0) not listed by the BIOS.
[    0.036106] SMP motherboard not detected.
[    0.036141] Local APIC not detected. Using dummy APIC emulation.
[    0.036177] SMP disabled
[    0.036320] NMI watchdog failed to create perf event on cpu0: ffffffa1
[    0.036604] Brought up 1 CPUs
[    0.036638] Total of 1 processors activated (3388.53 BogoMIPS).
[    0.037907] devtmpfs: initialized
[    0.038419] regulator: dummy: 
[    0.038499] NET: Registered protocol family 16
[    0.038648] ACPI: bus type pci registered
[    0.039006] PCI: PCI BIOS revision 2.10 entry at 0xfd8d6, last bus=8
[    0.039043] PCI: Using configuration type 1 for base access
[    0.039563] bio: create slab <bio-0> at 0
[    0.041302] ACPI: EC: EC description table is found, configuring boot EC
[    0.056025] ACPI: Interpreter enabled
[    0.056062] ACPI: (supports S0 S3 S4 S5)
[    0.056200] ACPI: Using PIC for interrupt routing
[    0.061524] ACPI: EC: GPE = 0x1c, I/O: command/status = 0x66, data = 0x62
[    0.061524] ACPI: Power Resource [PUBS] (on)
[    0.064761] ACPI: ACPI Dock Station Driver: 3 docks/bays found
[    0.064801] PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug
[    0.064874] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.064992] pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7] (ignored)
[    0.064996] pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff] (ignored)
[    0.065000] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] (ignored)
[    0.065005] pci_root PNP0A03:00: host bridge window [mem 0x000d4000-0x000d7fff] (ignored)
[    0.065009] pci_root PNP0A03:00: host bridge window [mem 0x000d8000-0x000dbfff] (ignored)
[    0.065013] pci_root PNP0A03:00: host bridge window [mem 0x40000000-0xfebfffff] (ignored)
[    0.065028] pci 0000:00:00.0: [8086:3340] type 0 class 0x000600
[    0.065037] pci 0000:00:00.0: reg 10: [mem 0xd0000000-0xdfffffff pref]
[    0.065078] pci 0000:00:01.0: [8086:3341] type 1 class 0x000604
[    0.065135] pci 0000:00:1d.0: [8086:24c2] type 0 class 0x000c03
[    0.065179] pci 0000:00:1d.0: reg 20: [io  0x1800-0x181f]
[    0.065214] pci 0000:00:1d.1: [8086:24c4] type 0 class 0x000c03
[    0.065258] pci 0000:00:1d.1: reg 20: [io  0x1820-0x183f]
[    0.065292] pci 0000:00:1d.2: [8086:24c7] type 0 class 0x000c03
[    0.065337] pci 0000:00:1d.2: reg 20: [io  0x1840-0x185f]
[    0.065382] pci 0000:00:1d.7: [8086:24cd] type 0 class 0x000c03
[    0.065404] pci 0000:00:1d.7: reg 10: [mem 0xc0000000-0xc00003ff]
[    0.065483] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    0.065490] pci 0000:00:1d.7: PME# disabled
[    0.065510] pci 0000:00:1e.0: [8086:2448] type 1 class 0x000604
[    0.065553] pci 0000:00:1f.0: [8086:24cc] type 0 class 0x000601
[    0.065619] pci 0000:00:1f.0: quirk: [io  0x1000-0x107f] claimed by ICH4 ACPI/GPIO/TCO
[    0.065667] pci 0000:00:1f.0: quirk: [io  0x1180-0x11bf] claimed by ICH4 GPIO
[    0.065718] pci 0000:00:1f.1: [8086:24ca] type 0 class 0x000101
[    0.065733] pci 0000:00:1f.1: reg 10: [io  0x0000-0x0007]
[    0.065743] pci 0000:00:1f.1: reg 14: [io  0x0000-0x0003]
[    0.065754] pci 0000:00:1f.1: reg 18: [io  0x0000-0x0007]
[    0.065765] pci 0000:00:1f.1: reg 1c: [io  0x0000-0x0003]
[    0.065775] pci 0000:00:1f.1: reg 20: [io  0x1860-0x186f]
[    0.065786] pci 0000:00:1f.1: reg 24: [mem 0x00000000-0x000003ff]
[    0.065816] pci 0000:00:1f.3: [8086:24c3] type 0 class 0x000c05
[    0.065860] pci 0000:00:1f.3: reg 20: [io  0x1880-0x189f]
[    0.065897] pci 0000:00:1f.5: [8086:24c5] type 0 class 0x000401
[    0.065914] pci 0000:00:1f.5: reg 10: [io  0x1c00-0x1cff]
[    0.065923] pci 0000:00:1f.5: reg 14: [io  0x18c0-0x18ff]
[    0.065933] pci 0000:00:1f.5: reg 18: [mem 0xc0000c00-0xc0000dff]
[    0.065943] pci 0000:00:1f.5: reg 1c: [mem 0xc0000800-0xc00008ff]
[    0.065982] pci 0000:00:1f.5: PME# supported from D0 D3hot D3cold
[    0.065987] pci 0000:00:1f.5: PME# disabled
[    0.066004] pci 0000:00:1f.6: [8086:24c6] type 0 class 0x000703
[    0.066020] pci 0000:00:1f.6: reg 10: [io  0x2400-0x24ff]
[    0.066030] pci 0000:00:1f.6: reg 14: [io  0x2000-0x207f]
[    0.066081] pci 0000:00:1f.6: PME# supported from D0 D3hot D3cold
[    0.066086] pci 0000:00:1f.6: PME# disabled
[    0.066112] pci 0000:01:00.0: [1002:4c66] type 0 class 0x000300
[    0.066127] pci 0000:01:00.0: reg 10: [mem 0xe0000000-0xe7ffffff pref]
[    0.066136] pci 0000:01:00.0: reg 14: [io  0x3000-0x30ff]
[    0.066144] pci 0000:01:00.0: reg 18: [mem 0xc0100000-0xc010ffff]
[    0.066168] pci 0000:01:00.0: reg 30: [mem 0x00000000-0x0001ffff pref]
[    0.066188] pci 0000:01:00.0: supports D1 D2
[    0.066222] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[    0.066259] pci 0000:00:01.0:   bridge window [io  0x3000-0x3fff]
[    0.066263] pci 0000:00:01.0:   bridge window [mem 0xc0100000-0xc01fffff]
[    0.066268] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xe7ffffff pref]
[    0.066293] pci 0000:02:00.0: [104c:ac55] type 2 class 0x000607
[    0.066311] pci 0000:02:00.0: reg 10: [mem 0xb0000000-0xb0000fff]
[    0.066331] pci 0000:02:00.0: supports D1 D2
[    0.066334] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.066339] pci 0000:02:00.0: PME# disabled
[    0.066359] pci 0000:02:00.1: [104c:ac55] type 2 class 0x000607
[    0.066377] pci 0000:02:00.1: reg 10: [mem 0xb1000000-0xb1000fff]
[    0.066397] pci 0000:02:00.1: supports D1 D2
[    0.066400] pci 0000:02:00.1: PME# supported from D0 D1 D2 D3hot D3cold
[    0.066405] pci 0000:02:00.1: PME# disabled
[    0.066432] pci 0000:02:01.0: [8086:101e] type 0 class 0x000200
[    0.066451] pci 0000:02:01.0: reg 10: [mem 0xc0220000-0xc023ffff]
[    0.066462] pci 0000:02:01.0: reg 14: [mem 0xc0200000-0xc020ffff]
[    0.066473] pci 0000:02:01.0: reg 18: [io  0x8000-0x803f]
[    0.066504] pci 0000:02:01.0: reg 30: [mem 0x00000000-0x0000ffff pref]
[    0.066529] pci 0000:02:01.0: PME# supported from D0 D3hot D3cold
[    0.066534] pci 0000:02:01.0: PME# disabled
[    0.066554] pci 0000:02:02.0: [168c:1014] type 0 class 0x000200
[    0.066572] pci 0000:02:02.0: reg 10: [mem 0xc0210000-0xc021ffff]
[    0.066670] pci 0000:00:1e.0: PCI bridge to [bus 02-08] (subtractive decode)
[    0.066710] pci 0000:00:1e.0:   bridge window [io  0x4000-0x8fff]
[    0.066715] pci 0000:00:1e.0:   bridge window [mem 0xc0200000-0xcfffffff]
[    0.066721] pci 0000:00:1e.0:   bridge window [mem 0xe8000000-0xefffffff pref]
[    0.066725] pci 0000:00:1e.0:   bridge window [io  0x0000-0xffff] (subtractive decode)
[    0.066729] pci 0000:00:1e.0:   bridge window [mem 0x00000000-0xffffffff] (subtractive decode)
[    0.066804] pci_bus 0000:00: on NUMA node 0
[    0.066808] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.066857] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP_._PRT]
[    0.066882] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI1._PRT]
[    0.070793] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11)
[    0.071161] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 *11)
[    0.071526] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 *11)
[    0.071890] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 *11)
[    0.072237] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.
[    0.072630] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.
[    0.073024] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.
[    0.073445] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 10 *11)
[    0.073734] HEST: Table is not found!
[    0.073850] vgaarb: device added: PCI:0000:01:00.0,decodes=io+mem,owns=io+mem,locks=none
[    0.073898] vgaarb: loaded
[    0.073974] PCI: Using ACPI for IRQ routing
[    0.074140] PCI: pci_cache_line_size set to 64 bytes
[    0.074203] reserve RAM buffer: 000000000009f000 - 000000000009ffff 
[    0.074207] reserve RAM buffer: 000000003ff60000 - 000000003fffffff 
[    0.074362] Switching to clocksource tsc
[    0.075898] pnp: PnP ACPI init
[    0.075957] ACPI: bus type pnp registered
[    0.075957] pnp 00:00: [mem 0x00000000-0x0009ffff]
[    0.075957] pnp 00:00: [mem 0x000c0000-0x000c3fff]
[    0.075957] pnp 00:00: [mem 0x000c4000-0x000c7fff]
[    0.075957] pnp 00:00: [mem 0x000c8000-0x000cbfff]
[    0.075957] pnp 00:00: [mem 0x000cc000-0x000cffff]
[    0.075957] pnp 00:00: [mem 0x000d0000-0x000d3fff]
[    0.075957] pnp 00:00: [mem 0x000d4000-0x000d3fff disabled]
[    0.075957] pnp 00:00: [mem 0x000d8000-0x000d7fff disabled]
[    0.075957] pnp 00:00: [mem 0x000dc000-0x000dffff]
[    0.075957] pnp 00:00: [mem 0x000e0000-0x000e3fff]
[    0.075957] pnp 00:00: [mem 0x000e4000-0x000e7fff]
[    0.075957] pnp 00:00: [mem 0x000e8000-0x000ebfff]
[    0.075957] pnp 00:00: [mem 0x000ec000-0x000effff]
[    0.075957] pnp 00:00: [mem 0x000f0000-0x000fffff]
[    0.075957] pnp 00:00: [mem 0x00100000-0x3fffffff]
[    0.075957] pnp 00:00: [mem 0xfec00000-0xffffffff]
[    0.075957] system 00:00: [mem 0x00000000-0x0009ffff] could not be reserved
[    0.075957] system 00:00: [mem 0x000c0000-0x000c3fff] could not be reserved
[    0.075957] system 00:00: [mem 0x000c4000-0x000c7fff] could not be reserved
[    0.075957] system 00:00: [mem 0x000c8000-0x000cbfff] could not be reserved
[    0.075957] system 00:00: [mem 0x000cc000-0x000cffff] could not be reserved
[    0.075957] system 00:00: [mem 0x000d0000-0x000d3fff] could not be reserved
[    0.075957] system 00:00: [mem 0x000dc000-0x000dffff] could not be reserved
[    0.075957] system 00:00: [mem 0x000e0000-0x000e3fff] could not be reserved
[    0.075957] system 00:00: [mem 0x000e4000-0x000e7fff] could not be reserved
[    0.075957] system 00:00: [mem 0x000e8000-0x000ebfff] could not be reserved
[    0.075957] system 00:00: [mem 0x000ec000-0x000effff] could not be reserved
[    0.075957] system 00:00: [mem 0x000f0000-0x000fffff] could not be reserved
[    0.075957] system 00:00: [mem 0x00100000-0x3fffffff] could not be reserved
[    0.075957] system 00:00: [mem 0xfec00000-0xffffffff] could not be reserved
[    0.075957] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.075957] pnp 00:01: [bus 00-ff]
[    0.075957] pnp 00:01: [io  0x0cf8-0x0cff]
[    0.075957] pnp 00:01: [io  0x0000-0x0cf7 window]
[    0.075957] pnp 00:01: [io  0x0d00-0xffff window]
[    0.075957] pnp 00:01: [mem 0x000a0000-0x000bffff window]
[    0.075957] pnp 00:01: [mem 0x000c0000-0x000c3fff window]
[    0.075957] pnp 00:01: [mem 0x000c4000-0x000c7fff window]
[    0.075957] pnp 00:01: [mem 0x000c8000-0x000cbfff window]
[    0.075957] pnp 00:01: [mem 0x000cc000-0x000cffff window]
[    0.075957] pnp 00:01: [mem 0x000d0000-0x000d3fff window]
[    0.075957] pnp 00:01: [mem 0x000d4000-0x000d7fff window]
[    0.075957] pnp 00:01: [mem 0x000d8000-0x000dbfff window]
[    0.075957] pnp 00:01: [mem 0x000dc000-0x000dffff window]
[    0.075957] pnp 00:01: [mem 0x000e0000-0x000e3fff window]
[    0.075957] pnp 00:01: [mem 0x000e4000-0x000e7fff window]
[    0.075957] pnp 00:01: [mem 0x000e8000-0x000ebfff window]
[    0.075957] pnp 00:01: [mem 0x000ec000-0x000effff window]
[    0.075957] pnp 00:01: [mem 0x40000000-0xfebfffff window]
[    0.075957] pnp 00:01: Plug and Play ACPI device, IDs PNP0a03 (active)
[    0.075957] pnp 00:02: [io  0x0010-0x001f]
[    0.075957] pnp 00:02: [io  0x0090-0x009f]
[    0.075957] pnp 00:02: [io  0x0024-0x0025]
[    0.075957] pnp 00:02: [io  0x0028-0x0029]
[    0.075957] pnp 00:02: [io  0x002c-0x002d]
[    0.075957] pnp 00:02: [io  0x0030-0x0031]
[    0.075957] pnp 00:02: [io  0x0034-0x0035]
[    0.075957] pnp 00:02: [io  0x0038-0x0039]
[    0.075957] pnp 00:02: [io  0x003c-0x003d]
[    0.075957] pnp 00:02: [io  0x00a4-0x00a5]
[    0.075957] pnp 00:02: [io  0x00a8-0x00a9]
[    0.075957] pnp 00:02: [io  0x00ac-0x00ad]
[    0.075957] pnp 00:02: [io  0x00b0-0x00b5]
[    0.075957] pnp 00:02: [io  0x00b8-0x00b9]
[    0.075957] pnp 00:02: [io  0x00bc-0x00bd]
[    0.075957] pnp 00:02: [io  0x0050-0x0053]
[    0.075957] pnp 00:02: [io  0x0072-0x0077]
[    0.075957] pnp 00:02: [io  0x002e-0x002f]
[    0.075957] pnp 00:02: [io  0x1000-0x107f]
[    0.075957] pnp 00:02: [io  0x1180-0x11bf]
[    0.075957] pnp 00:02: [io  0x15e0-0x15ef]
[    0.075957] pnp 00:02: [io  0x1600-0x162f]
[    0.075957] pnp 00:02: [io  0x1632-0x167f]
[    0.075957] pnp 00:02: [io  0x004e-0x004f]
[    0.075957] pnp 00:02: [io  0x1630-0x1631]
[    0.075957] system 00:02: [io  0x1000-0x107f] has been reserved
[    0.075957] system 00:02: [io  0x1180-0x11bf] has been reserved
[    0.075957] system 00:02: [io  0x15e0-0x15ef] has been reserved
[    0.075957] system 00:02: [io  0x1600-0x162f] has been reserved
[    0.078398] system 00:02: [io  0x1632-0x167f] has been reserved
[    0.078436] system 00:02: [io  0x1630-0x1631] has been reserved
[    0.078474] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.078492] pnp 00:03: [io  0x0000-0x000f]
[    0.078495] pnp 00:03: [io  0x0080-0x008f]
[    0.078498] pnp 00:03: [io  0x00c0-0x00df]
[    0.078501] pnp 00:03: [dma 4]
[    0.078540] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)
[    0.078551] pnp 00:04: [io  0x0061]
[    0.078595] pnp 00:04: Plug and Play ACPI device, IDs PNP0800 (active)
[    0.078606] pnp 00:05: [io  0x00f0]
[    0.078611] pnp 00:05: [irq 13]
[    0.078650] pnp 00:05: Plug and Play ACPI device, IDs PNP0c04 (active)
[    0.078661] pnp 00:06: [io  0x0070-0x0071]
[    0.078664] pnp 00:06: [irq 8]
[    0.078703] pnp 00:06: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.078715] pnp 00:07: [io  0x0060]
[    0.078717] pnp 00:07: [io  0x0064]
[    0.078720] pnp 00:07: [irq 1]
[    0.078764] pnp 00:07: Plug and Play ACPI device, IDs PNP0303 (active)
[    0.078775] pnp 00:08: [irq 12]
[    0.078816] pnp 00:08: Plug and Play ACPI device, IDs IBM0057 PNP0f13 (active)
[    0.078856] pnp 00:09: [io  0x03f0-0x03f5]
[    0.078859] pnp 00:09: [io  0x03f7]
[    0.078862] pnp 00:09: [irq 6]
[    0.078864] pnp 00:09: [dma 2]
[    0.078921] pnp 00:09: Plug and Play ACPI device, IDs PNP0700 (active)
[    0.079042] pnp 00:0a: [io  0x03f8-0x03ff]
[    0.079045] pnp 00:0a: [irq 4]
[    0.079151] pnp 00:0a: Plug and Play ACPI device, IDs PNP0501 (active)
[    0.079300] pnp 00:0b: [io  0x03bc-0x03be]
[    0.079304] pnp 00:0b: [irq 7]
[    0.079401] pnp 00:0b: Plug and Play ACPI device, IDs PNP0400 (active)
[    0.079568] pnp 00:0c: Plug and Play ACPI device, IDs IBM0071 PNP0511 (disabled)
[    0.080222] pnp: PnP ACPI: found 13 devices
[    0.080257] ACPI: ACPI bus type pnp unregistered
[    0.080294] PnPBIOS: Disabled by ACPI PNP
[    0.117745] pci 0000:00:1f.1: BAR 5: assigned [mem 0xff7ffc00-0xff7fffff]
[    0.117791] pci 0000:00:1f.1: BAR 5: set to [mem 0xff7ffc00-0xff7fffff] (PCI address [0xff7ffc00-0xff7fffff])
[    0.117842] pci 0000:01:00.0: BAR 6: assigned [mem 0xc01e0000-0xc01fffff pref]
[    0.117889] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[    0.117926] pci 0000:00:01.0:   bridge window [io  0x3000-0x3fff]
[    0.117964] pci 0000:00:01.0:   bridge window [mem 0xc0100000-0xc01fffff]
[    0.118003] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xe7ffffff pref]
[    0.118054] pci 0000:02:00.0: BAR 15: assigned [mem 0xec000000-0xefffffff pref]
[    0.118102] pci 0000:02:00.0: BAR 16: assigned [mem 0xcc000000-0xcfffffff]
[    0.118140] pci 0000:02:00.1: BAR 15: assigned [mem 0xe8000000-0xebffffff pref]
[    0.118187] pci 0000:02:00.1: BAR 16: assigned [mem 0xc8000000-0xcbffffff]
[    0.118227] pci 0000:02:01.0: BAR 6: assigned [mem 0xc7ff0000-0xc7ffffff pref]
[    0.118273] pci 0000:02:00.0: BAR 13: assigned [io  0x8c00-0x8cff]
[    0.118311] pci 0000:02:00.0: BAR 14: assigned [io  0x8800-0x88ff]
[    0.118348] pci 0000:02:00.1: BAR 13: assigned [io  0x8400-0x84ff]
[    0.118386] pci 0000:02:00.1: BAR 14: assigned [io  0x7c00-0x7cff]
[    0.118423] pci 0000:02:00.0: CardBus bridge to [bus 03-06]
[    0.118459] pci 0000:02:00.0:   bridge window [io  0x8c00-0x8cff]
[    0.118498] pci 0000:02:00.0:   bridge window [io  0x8800-0x88ff]
[    0.118537] pci 0000:02:00.0:   bridge window [mem 0xec000000-0xefffffff pref]
[    0.118585] pci 0000:02:00.0:   bridge window [mem 0xcc000000-0xcfffffff]
[    0.118624] pci 0000:02:00.1: CardBus bridge to [bus 07-07]
[    0.118661] pci 0000:02:00.1:   bridge window [io  0x8400-0x84ff]
[    0.118700] pci 0000:02:00.1:   bridge window [io  0x7c00-0x7cff]
[    0.118739] pci 0000:02:00.1:   bridge window [mem 0xe8000000-0xebffffff pref]
[    0.118786] pci 0000:02:00.1:   bridge window [mem 0xc8000000-0xcbffffff]
[    0.118826] pci 0000:00:1e.0: PCI bridge to [bus 02-08]
[    0.118863] pci 0000:00:1e.0:   bridge window [io  0x4000-0x8fff]
[    0.118903] pci 0000:00:1e.0:   bridge window [mem 0xc0200000-0xcfffffff]
[    0.118943] pci 0000:00:1e.0:   bridge window [mem 0xe8000000-0xefffffff pref]
[    0.119006] pci 0000:00:1e.0: setting latency timer to 64
[    0.119269] ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
[    0.119306] PCI: setting IRQ 11 as level-triggered
[    0.119313] pci 0000:02:00.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11
[    0.119578] ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
[    0.119616] pci 0000:02:00.1: PCI INT B -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
[    0.119666] pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
[    0.119670] pci_bus 0000:00: resource 1 [mem 0x00000000-0xffffffff]
[    0.119674] pci_bus 0000:01: resource 0 [io  0x3000-0x3fff]
[    0.119677] pci_bus 0000:01: resource 1 [mem 0xc0100000-0xc01fffff]
[    0.119681] pci_bus 0000:01: resource 2 [mem 0xe0000000-0xe7ffffff pref]
[    0.119685] pci_bus 0000:02: resource 0 [io  0x4000-0x8fff]
[    0.119688] pci_bus 0000:02: resource 1 [mem 0xc0200000-0xcfffffff]
[    0.119692] pci_bus 0000:02: resource 2 [mem 0xe8000000-0xefffffff pref]
[    0.119695] pci_bus 0000:02: resource 4 [io  0x0000-0xffff]
[    0.119699] pci_bus 0000:02: resource 5 [mem 0x00000000-0xffffffff]
[    0.119702] pci_bus 0000:03: resource 0 [io  0x8c00-0x8cff]
[    0.119706] pci_bus 0000:03: resource 1 [io  0x8800-0x88ff]
[    0.119709] pci_bus 0000:03: resource 2 [mem 0xec000000-0xefffffff pref]
[    0.119713] pci_bus 0000:03: resource 3 [mem 0xcc000000-0xcfffffff]
[    0.119716] pci_bus 0000:07: resource 0 [io  0x8400-0x84ff]
[    0.119720] pci_bus 0000:07: resource 1 [io  0x7c00-0x7cff]
[    0.119723] pci_bus 0000:07: resource 2 [mem 0xe8000000-0xebffffff pref]
[    0.119727] pci_bus 0000:07: resource 3 [mem 0xc8000000-0xcbffffff]
[    0.119781] NET: Registered protocol family 2
[    0.119896] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.120300] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.122265] TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
[    0.123462] TCP: Hash tables configured (established 131072 bind 65536)
[    0.123502] TCP reno registered
[    0.123541] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.123614] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.123876] NET: Registered protocol family 1
[    0.124045] pci 0000:01:00.0: Boot video device
[    0.124065] PCI: CLS 32 bytes, default 64
[    0.124159] Unpacking initramfs...
[    0.553565] Freeing initrd memory: 10248k freed
[    0.570153] Simple Boot Flag at 0x35 set to 0x1
[    0.570602] audit: initializing netlink socket (disabled)
[    0.570660] type=2000 audit(1290539460.568:1): initialized
[    0.583809] highmem bounce pool size: 64 pages
[    0.583850] HugeTLB registered 4 MB page size, pre-allocated 0 pages
[    0.586517] VFS: Disk quotas dquot_6.5.2
[    0.586634] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.586803] msgmni has been set to 1747
[    0.587079] alg: No test for stdrng (krng)
[    0.587189] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    0.587237] io scheduler noop registered
[    0.587271] io scheduler deadline registered
[    0.587326] io scheduler cfq registered (default)
[    0.587654] ERST: Table is not found!
[    0.587710] isapnp: Scanning for PnP cards...
[    0.941000] isapnp: No Plug & Play device found
[    0.941289] Linux agpgart interface v0.103
[    0.941458] agpgart-intel 0000:00:00.0: Intel 855PM Chipset
[    0.955004] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000
[    0.955137] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.955278] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a NS16550A
[    0.955776] 00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a NS16550A
[    0.955924] serial 0000:00:1f.6: PCI INT B -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
[    0.955975] serial 0000:00:1f.6: PCI INT B disabled
[    0.956143] PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
[    0.962756] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.962801] serio: i8042 AUX port at 0x60,0x64 irq 12
[    0.962979] mice: PS/2 mouse device common for all mice
[    0.963052] rtc_cmos 00:06: RTC can wake from S4
[    0.963146] rtc_cmos 00:06: rtc core: registered rtc_cmos as rtc0
[    0.963199] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    0.963246] cpuidle: using governor ladder
[    0.963280] cpuidle: using governor menu
[    0.963665] TCP cubic registered
[    0.963902] NET: Registered protocol family 10
[    0.964425] lo: Disabled Privacy Extensions
[    0.964735] Mobile IPv6
[    0.964769] NET: Registered protocol family 17
[    0.964806] Registering the dns_resolver key type
[    0.964859] Using IPI No-Shortcut mode
[    0.965003] PM: Hibernation image not present or could not be loaded.
[    0.965018] registered taskstats version 1
[    0.965280] rtc_cmos 00:06: setting system clock to 2010-11-23 19:11:01 UTC (1290539461)
[    0.965359] Initalizing network drop monitor service
[    0.969185] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[    0.981934] Freeing unused kernel memory: 384k freed
[    0.982246] Write protecting the kernel text: 2596k
[    0.982305] Write protecting the kernel read-only data: 976k
[    1.056172] udev[47]: starting version 164
[    1.276569] Floppy drive(s): fd0 is 1.44M
[    1.288049] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[    1.288090] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    1.288176] e1000 0000:02:01.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11
[    1.295233] FDC 0 is a National Semiconductor PC87306
[    1.302909] thermal LNXTHERM:00: registered as thermal_zone0
[    1.302953] ACPI: Thermal Zone [THM0] (54 C)
[    1.629487] usbcore: registered new interface driver usbfs
[    1.629690] usbcore: registered new interface driver hub
[    1.630479] SCSI subsystem initialized
[    1.632163] usbcore: registered new device driver usb
[    1.649372] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.652063] ehci_hcd 0000:00:1d.7: power state changed by ACPI to D0
[    1.652325] ehci_hcd 0000:00:1d.7: power state changed by ACPI to D0
[    1.652619] ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 11
[    1.652659] ehci_hcd 0000:00:1d.7: PCI INT D -> Link[LNKH] -> GSI 11 (level, low) -> IRQ 11
[    1.652729] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[    1.652734] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[    1.652809] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
[    1.652895] ehci_hcd 0000:00:1d.7: debug port 1
[    1.656811] ehci_hcd 0000:00:1d.7: cache line size of 32 is not supported
[    1.672033] ehci_hcd 0000:00:1d.7: irq 11, io mem 0xc0000000
[    1.685972] uhci_hcd: USB Universal Host Controller Interface driver
[    1.686084] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    1.686181] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.686219] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.686265] usb usb1: Product: EHCI Host Controller
[    1.686300] usb usb1: Manufacturer: Linux 2.6.37-rc3-686 ehci_hcd
[    1.686337] usb usb1: SerialNumber: 0000:00:1d.7
[    1.686651] hub 1-0:1.0: USB hub found
[    1.686690] hub 1-0:1.0: 6 ports detected
[    1.687153] uhci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[    1.687314] uhci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[    1.687361] uhci_hcd 0000:00:1d.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11
[    1.687417] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[    1.687422] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    1.687468] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[    1.687539] uhci_hcd 0000:00:1d.0: irq 11, io base 0x00001800
[    1.687617] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[    1.687655] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.687700] usb usb2: Product: UHCI Host Controller
[    1.687736] usb usb2: Manufacturer: Linux 2.6.37-rc3-686 uhci_hcd
[    1.687772] usb usb2: SerialNumber: 0000:00:1d.0
[    1.688061] hub 2-0:1.0: USB hub found
[    1.688099] hub 2-0:1.0: 2 ports detected
[    1.688810] uhci_hcd 0000:00:1d.1: power state changed by ACPI to D0
[    1.688986] uhci_hcd 0000:00:1d.1: power state changed by ACPI to D0
[    1.689264] ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
[    1.689302] uhci_hcd 0000:00:1d.1: PCI INT B -> Link[LNKD] -> GSI 11 (level, low) -> IRQ 11
[    1.689356] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[    1.689361] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    1.689407] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[    1.689478] uhci_hcd 0000:00:1d.1: irq 11, io base 0x00001820
[    1.689559] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    1.689597] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.689643] usb usb3: Product: UHCI Host Controller
[    1.689679] usb usb3: Manufacturer: Linux 2.6.37-rc3-686 uhci_hcd
[    1.689716] usb usb3: SerialNumber: 0000:00:1d.1
[    1.724549] hub 3-0:1.0: USB hub found
[    1.724592] hub 3-0:1.0: 2 ports detected
[    1.725011] ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
[    1.725050] uhci_hcd 0000:00:1d.2: PCI INT C -> Link[LNKC] -> GSI 11 (level, low) -> IRQ 11
[    1.725107] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[    1.725112] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    1.725156] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[    1.725229] uhci_hcd 0000:00:1d.2: irq 11, io base 0x00001840
[    1.725309] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    1.725347] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.725393] usb usb4: Product: UHCI Host Controller
[    1.725428] usb usb4: Manufacturer: Linux 2.6.37-rc3-686 uhci_hcd
[    1.725465] usb usb4: SerialNumber: 0000:00:1d.2
[    1.726623] hub 4-0:1.0: USB hub found
[    1.726665] hub 4-0:1.0: 2 ports detected
[    1.733212] libata version 3.00 loaded.
[    1.739952] ata_piix 0000:00:1f.1: version 2.13
[    1.739968] ata_piix 0000:00:1f.1: enabling device (0005 -> 0007)
[    1.740038] ata_piix 0000:00:1f.1: PCI INT A -> Link[LNKC] -> GSI 11 (level, low) -> IRQ 11
[    1.740139] ata_piix 0000:00:1f.1: setting latency timer to 64
[    1.740895] scsi0 : ata_piix
[    1.741150] scsi1 : ata_piix
[    1.742061] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0x1860 irq 14
[    1.742100] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0x1868 irq 15
[    1.752176] e1000 0000:02:01.0: eth0: (PCI:33MHz:32-bit) 00:0d:60:b0:62:87
[    1.752220] e1000 0000:02:01.0: eth0: Intel(R) PRO/1000 Network Connection
[    1.896428] ata2.01: NODEV after polling detection
[    1.904953] ata1.00: HPA detected: current 110257519, native 117210240
[    1.904997] ata1.00: ATA-6: HTS726060M9AT00, MH4OA6BA, max UDMA/100
[    1.905034] ata1.00: 110257519 sectors, multi 16: LBA 
[    1.905162] ata2.00: ATAPI: UJDA755yDVD/CDRW, 1.70, max UDMA/33
[    1.920690] ata2.00: configured for UDMA/33
[    1.920777] ata1.00: configured for UDMA/100
[    1.920973] scsi 0:0:0:0: Direct-Access     ATA      HTS726060M9AT00  MH4O PQ: 0 ANSI: 5
[    1.924196] scsi 1:0:0:0: CD-ROM            MATSHITA UJDA755yDVD/CDRW 1.70 PQ: 0 ANSI: 5
[    1.955878] sd 0:0:0:0: [sda] 110257519 512-byte logical blocks: (56.4 GB/52.5 GiB)
[    1.955984] sd 0:0:0:0: [sda] Write Protect is off
[    1.956042] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    1.956068] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    1.961455] sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
[    1.961494] cdrom: Uniform CD-ROM driver Revision: 3.20
[    1.961892] sr 1:0:0:0: Attached scsi CD-ROM sr0
[    2.015577]  sda: sda1 sda2 sda3 sda4 < sda5 sda6 >
[    2.016342] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.031437] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.032084] sr 1:0:0:0: Attached scsi generic sg1 type 5
[    2.052038] usb 1-4: new high speed USB device using ehci_hcd and address 3
[    2.184985] usb 1-4: New USB device found, idVendor=152d, idProduct=2329
[    2.185032] usb 1-4: New USB device strings: Mfr=10, Product=11, SerialNumber=3
[    2.185080] usb 1-4: Product: Storagebird 35EV821
[    2.185115] usb 1-4: Manufacturer: 0123456
[    2.185150] usb 1-4: SerialNumber: 000000000340
[    2.201453] Initializing USB Mass Storage driver...
[    2.201605] scsi2 : usb-storage 1-4:1.0
[    2.201820] usbcore: registered new interface driver usb-storage
[    2.201857] USB Mass Storage support registered.
[    2.424041] usb 3-1: new low speed USB device using uhci_hcd and address 2
[    2.600570] usb 3-1: New USB device found, idVendor=046d, idProduct=c00e
[    2.600611] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.600649] usb 3-1: Product: USB-PS/2 Optical Mouse
[    2.600685] usb 3-1: Manufacturer: Logitech
[    2.642063] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input1
[    2.643319] generic-usb 0003:046D:C00E.0001: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1d.1-1/input0
[    2.643568] usbcore: registered new interface driver usbhid
[    2.643605] usbhid: USB HID core driver
[    2.685838] device-mapper: uevent: version 1.0.3
[    2.686518] device-mapper: ioctl: 4.18.0-ioctl (2010-06-29) initialised: dm-devel@redhat.com
[    2.998081] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null)
[    3.242355] scsi 2:0:0:0: Direct-Access     WDC WD10 EAVS-00D7B0           PQ: 0 ANSI: 2 CCS
[    3.242976] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    3.243452] sd 2:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
[    3.244202] sd 2:0:0:0: [sdb] Write Protect is off
[    3.244240] sd 2:0:0:0: [sdb] Mode Sense: 34 00 00 00
[    3.244243] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[    3.245700] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[    3.334953]  sdb: sdb1 sdb2 sdb3 sdb4 < sdb5 sdb6 sdb7 sdb8 >
[    3.336822] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[    3.336862] sd 2:0:0:0: [sdb] Attached SCSI disk
[    3.928622] systemd[1]: systemd 13 running in system mode. (+PAM -LIBWRAP -AUDIT +SELINUX +SYSVINIT -LIBCRYPTSETUP; debian)
[    4.042269] systemd[1]: Set hostname to <tbox>.
[    6.300220] systemd-logger[278]: Got error on stream: No such process
[    6.769943] udev[297]: starting version 164
[    7.427610] input: PC Speaker as /devices/platform/pcspkr/input/input2
[    7.494714] input: Lid Switch as /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input3
[    7.502482] ACPI: Lid Switch [LID]
[    7.510849] input: Sleep Button as /devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input4
[    7.512712] ACPI: Sleep Button [SLPB]
[    7.514154] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input5
[    7.514343] ACPI: Power Button [PWRF]
[    7.520702] Non-volatile memory driver v1.3
[    7.551981] ACPI: acpi_idle registered with cpuidle
[    7.552528] Marking TSC unstable due to TSC halts in idle
[    7.554346] Switching to clocksource acpi_pm
[    7.602742] ACPI: AC Adapter [AC] (on-line)
[    7.644358] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    7.777230] NET: Registered protocol family 23
[    7.780991] ACPI: Battery Slot [BAT0] (battery present)
[    7.887274] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    7.937515] i801_smbus 0000:00:1f.3: PCI INT B -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
[    7.971283] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A03:00/device:03/LNXVIDEO:00/input/input6
[    7.971466] ACPI: Video Device [VID] (multi-head: yes  rom: no  post: no)
[    8.360223] intel_rng: FWH not detected
[    8.364379] [drm] Initialized drm 1.1.0 20060810
[    8.367840] Synaptics Touchpad, model: 1, fw: 5.9, id: 0x2c6ab1, caps: 0x884793/0x0/0x0
[    8.367894] serio: Synaptics pass-through port at isa0060/serio1/input0
[    8.397944] parport_pc 00:0b: reported by Plug and Play ACPI
[    8.398025] parport0: PC-style at 0x3bc, irq 7 [PCSPP,TRISTATE]
[    8.411021] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input7
[    8.531314] nsc-ircc 00:0c: [io  0x02f8-0x02ff]
[    8.531374] nsc-ircc 00:0c: [irq 3]
[    8.531380] nsc-ircc 00:0c: [dma 1]
[    8.531957] nsc-ircc 00:0c: activated
[    8.532192] nsc-ircc, chip->init
[    8.532232] nsc-ircc, Found chip at base=0x02e
[    8.532288] nsc-ircc, driver loaded (Dag Brattli)
[    8.533730] IrDA: Registered device irda0
[    8.533767] nsc-ircc, Using dongle: IBM31T1100 or Temic TFDS6000/TFDS6500
[    8.692889] yenta_cardbus 0000:02:00.0: CardBus bridge found [1014:0512]
[    8.692946] yenta_cardbus 0000:02:00.0: Using INTVAL to route CSC interrupts to PCI
[    8.692993] yenta_cardbus 0000:02:00.0: Routing CardBus interrupts to PCI
[    8.693032] yenta_cardbus 0000:02:00.0: TI: mfunc 0x01d21022, devctl 0x64
[    8.809227] cfg80211: Calling CRDA to update world regulatory domain
[    8.933027] yenta_cardbus 0000:02:00.0: ISA IRQ mask 0x0438, PCI irq 11
[    8.933072] yenta_cardbus 0000:02:00.0: Socket status: 30000006
[    8.933422] yenta_cardbus 0000:02:00.0: pcmcia: parent PCI bridge window: [io  0x4000-0x8fff]
[    8.933476] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x4000-0x8fff:
[    8.976577] [drm] radeon kernel modesetting enabled.
[    8.976765] radeon 0000:01:00.0: power state changed by ACPI to D0
[    8.976812] radeon 0000:01:00.0: power state changed by ACPI to D0
[    8.976860] radeon 0000:01:00.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11
[    9.004110]  excluding 0x7c00-0x7cff 0x8000-0x803f 0x8400-0x84ff 0x8800-0x88ff
[    9.012914] [drm] initializing kernel modesetting (RV250 0x1002:0x4C66).
[    9.013739]  0x8c00-0x8cff
[    9.014408] yenta_cardbus 0000:02:00.0: pcmcia: parent PCI bridge window: [mem 0xc0200000-0xcfffffff]
[    9.014461] pcmcia_socket pcmcia_socket0: cs: memory probe 0xc0200000-0xcfffffff: excluding 0xc0200000-0xc09fffff 0xc7a00000-0xd01fffff
[    9.014626] yenta_cardbus 0000:02:00.0: pcmcia: parent PCI bridge window: [mem 0xe8000000-0xefffffff pref]
[    9.014678] pcmcia_socket pcmcia_socket0: cs: memory probe 0xe8000000-0xefffffff: excluding 0xe8000000-0xefffffff
[    9.015611] [drm] register mmio base: 0xC0100000
[    9.018511] [drm] register mmio size: 65536
[    9.026146] yenta_cardbus 0000:02:00.1: CardBus bridge found [1014:0512]
[    9.026209] yenta_cardbus 0000:02:00.1: Using INTVAL to route CSC interrupts to PCI
[    9.026279] yenta_cardbus 0000:02:00.1: Routing CardBus interrupts to PCI
[    9.026321] yenta_cardbus 0000:02:00.1: TI: mfunc 0x01d21022, devctl 0x64
[    9.028767] agpgart-intel 0000:00:00.0: AGP 2.0 bridge
[    9.028825] agpgart-intel 0000:00:00.0: putting AGP V2 device into 4x mode
[    9.028901] radeon 0000:01:00.0: putting AGP V2 device into 4x mode
[    9.028968] radeon 0000:01:00.0: GTT: 256M 0xD0000000 - 0xDFFFFFFF
[    9.029011] radeon 0000:01:00.0: VRAM: 128M 0xE0000000 - 0xE7FFFFFF (64M used)
[    9.029064] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    9.029102] [drm] Driver supports precise vblank timestamp query.
[    9.029158] [drm] radeon: irq initialized.
[    9.029567] [drm] Detected VRAM RAM=128M, BAR=128M
[    9.029610] [drm] RAM width 128bits DDR
[    9.032550] [TTM] Zone  kernel: Available graphics memory: 447538 kiB.
[    9.032591] [TTM] Zone highmem: Available graphics memory: 516854 kiB.
[    9.032628] [TTM] Initializing pool allocator.
[    9.032690] [drm] radeon: 64M of VRAM memory ready
[    9.032727] [drm] radeon: 256M of GTT memory ready.
[    9.034322] radeon 0000:01:00.0: WB enabled
[    9.034999] [drm] Loading R200 Microcode
[    9.256882] yenta_cardbus 0000:02:00.1: ISA IRQ mask 0x0438, PCI irq 11
[    9.256929] yenta_cardbus 0000:02:00.1: Socket status: 30000006
[    9.256979] yenta_cardbus 0000:02:00.1: pcmcia: parent PCI bridge window: [io  0x4000-0x8fff]
[    9.257029] pcmcia_socket pcmcia_socket1: cs: IO port probe 0x4000-0x8fff: excluding 0x7c00-0x7cff 0x8000-0x803f 0x8400-0x84ff 0x8800-0x88ff 0x8c00-0x8cff
[    9.276163] yenta_cardbus 0000:02:00.1: pcmcia: parent PCI bridge window: [mem 0xc0200000-0xcfffffff]
[    9.276215] pcmcia_socket pcmcia_socket1: cs: memory probe 0xc0200000-0xcfffffff: excluding 0xc0200000-0xc09fffff 0xc7a00000-0xd01fffff
[    9.276376] yenta_cardbus 0000:02:00.1: pcmcia: parent PCI bridge window: [mem 0xe8000000-0xefffffff pref]
[    9.276427] pcmcia_socket pcmcia_socket1: cs: memory probe 0xe8000000-0xefffffff: excluding 0xe8000000-0xefffffff
[    9.334430] ath5k 0000:02:02.0: PCI INT A -> Link[LNKC] -> GSI 11 (level, low) -> IRQ 11
[    9.334544] ath5k 0000:02:02.0: registered as 'phy0'
[    9.622122] ath: EEPROM regdomain: 0x61
[    9.622126] ath: EEPROM indicates we should expect a direct regpair map
[    9.622131] ath: Country alpha2 being used: 00
[    9.622134] ath: Regpair used: 0x61
[    9.788153] [drm] radeon: ring at 0x00000000D0001000
[    9.788215] [drm] ring test succeeded in 1 usecs
[    9.788507] [drm] radeon: ib pool ready.
[    9.788640] [drm] ib test succeeded in 0 usecs
[    9.791069] [drm] Panel ID String: SXGA+ Single (85MHz)    
[    9.791108] [drm] Panel Size 1400x1050
[    9.802236] [drm] radeon legacy LVDS backlight initialized
[    9.803282] [drm] No TV DAC info found in BIOS
[    9.803510] [drm] Radeon Display Connectors
[    9.803546] [drm] Connector 0:
[    9.803579] [drm]   VGA
[    9.803630] [drm]   DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
[    9.803667] [drm]   Encoders:
[    9.803700] [drm]     CRT1: INTERNAL_DAC1
[    9.803735] [drm] Connector 1:
[    9.803768] [drm]   DVI-D
[    9.803800] [drm]   HPD1
[    9.803834] [drm]   DDC: 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64
[    9.803871] [drm]   Encoders:
[    9.803904] [drm]     DFP1: INTERNAL_TMDS1
[    9.803939] [drm] Connector 2:
[    9.803971] [drm]   LVDS
[    9.804048] [drm]   Encoders:
[    9.804082] [drm]     LCD1: INTERNAL_LVDS
[    9.804115] [drm] Connector 3:
[    9.804148] [drm]   S-video
[    9.804180] [drm]   Encoders:
[    9.804213] [drm]     TV1: INTERNAL_DAC2
[    9.808353] [drm] radeon: power management initialized
[    9.904518] pcmcia_socket pcmcia_socket1: cs: IO port probe 0x100-0x3af: excluding 0x170-0x177 0x1f0-0x1f7 0x2f8-0x2ff 0x370-0x377
[    9.905779] pcmcia_socket pcmcia_socket1: cs: IO port probe 0x3e0-0x4ff: excluding 0x3f0-0x3ff 0x4d0-0x4d7
[    9.906381] pcmcia_socket pcmcia_socket1: cs: IO port probe 0x820-0x8ff: clean.
[    9.906849] pcmcia_socket pcmcia_socket1: cs: IO port probe 0xc00-0xcf7: clean.
[    9.907349] pcmcia_socket pcmcia_socket1: cs: memory probe 0x0c0000-0x0fffff:
[    9.907982] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: excluding 0x170-0x177 0x1f0-0x1f7 0x2f8-0x2ff 0x370-0x377
[    9.909300] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: excluding 0x3f0-0x3ff 0x4d0-0x4d7
[    9.909901] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: clean.
[    9.910370] pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcf7: clean.
[    9.911042] pcmcia_socket pcmcia_socket0: cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xd3fff 0xdc000-0xfffff
[    9.911233] pcmcia_socket pcmcia_socket0: cs: memory probe 0xa0000000-0xa0ffffff: clean.
[    9.911360] pcmcia_socket pcmcia_socket0: cs: memory probe 0x60000000-0x60ffffff: clean.
[    9.911493] pcmcia_socket pcmcia_socket0: cs: IO port probe 0xa00-0xaff: clean.
[    9.912919]  excluding 0xc0000-0xd3fff 0xdc000-0xfffff
[    9.913276] pcmcia_socket pcmcia_socket1: cs: memory probe 0xa0000000-0xa0ffffff: clean.
[    9.913404] pcmcia_socket pcmcia_socket1: cs: memory probe 0x60000000-0x60ffffff: clean.
[    9.913540] pcmcia_socket pcmcia_socket1: cs: IO port probe 0xa00-0xaff: clean.
[    9.914490] [drm] fb mappable at 0xE0040000
[    9.914527] [drm] vram apper at 0xE0000000
[    9.914561] [drm] size 5914624
[    9.914595] [drm] fb depth is 24
[    9.914628] [drm]    pitch is 5632
[    9.990050] Console: switching to colour frame buffer device 175x65
[   10.025044] fb0: radeondrmfb frame buffer device
[   10.025047] drm: registered panic notifier
[   10.025738] [drm] Initialized radeon 2.8.0 20080528 for 0000:01:00.0 on minor 0
[   10.044002] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   10.044980] Registered led device: ath5k-phy0::rx
[   10.045012] Registered led device: ath5k-phy0::tx
[   10.045024] ath5k phy0: Atheros AR5212 chip found (MAC: 0x56, PHY: 0x41)
[   10.045276] ath5k phy0: RF5111 5GHz radio found (0x17)
[   10.045460] ath5k phy0: RF2111 2GHz radio found (0x23)
[   10.058986] Adding 1052244k swap on /dev/sda2.  Priority:0 extents:1 across:1052244k 
[   10.273759] thinkpad_acpi: ThinkPad ACPI Extras v0.24
[   10.273954] thinkpad_acpi: http://ibm-acpi.sf.net/
[   10.274259] thinkpad_acpi: ThinkPad BIOS 1RETDRWW (3.23 ), EC 1RHT71WW-3.04
[   10.274506] thinkpad_acpi: IBM ThinkPad T40p, model 2374SG6
[   10.276539] thinkpad_acpi: detected a 8-level brightness capable ThinkPad
[   10.284478] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is blocked
[   10.285524] Registered led device: tpacpi::thinklight
[   10.285925] Registered led device: tpacpi::power
[   10.286175] Registered led device: tpacpi::standby
[   10.299387] thinkpad_acpi: Console audio control enabled, mode: monitor (read only)
[   10.306123] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input8
[   10.387010] EXT4-fs (sda3): warning: maximal mount count reached, running e2fsck is recommended
[   10.387695] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
[   10.512414] fuse init (API version 7.15)
[   10.532534] Intel ICH Modem 0000:00:1f.6: PCI INT B -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
[   10.532887] Intel ICH Modem 0000:00:1f.6: setting latency timer to 64
[   10.537682] Intel ICH 0000:00:1f.5: PCI INT B -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
[   10.538064] Intel ICH 0000:00:1f.5: setting latency timer to 64
[   11.090705] ntfs-3g[634]: Version 2010.3.6 integrated FUSE 27
[   11.091432] ntfs-3g[634]: Mounted /dev/sda1 (Read-Only, label "IBM_PRELOAD", NTFS 3.1)
[   11.091780] ntfs-3g[634]: Cmdline options: ro,noexec,nosuid,nodev,users,dmask=0022,fmask=0133,nls=utf8
[   11.092400] ntfs-3g[634]: Mount options: ro,noexec,nosuid,nodev,users,nls=utf8,silent,allow_other,nonempty,relatime,fsname=/dev/sda1,blkdev,blksize=4096,default_permissions
[   11.093007] ntfs-3g[634]: Global ownership and permissions enforced, configuration type 1
[   14.682999] IBM TrackPoint firmware: 0x0e, buttons: 3/3
[   14.907402] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/serio2/input/input9
[   15.040032] intel8x0_measure_ac97_clock: measured 52152 usecs (2513 samples)
[   15.040296] intel8x0: clocking to 48000
[   15.385509] EXT4-fs (sda5): re-mounted. Opts: (null)
[   17.519296] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   20.263871] lp0: using parport0 (interrupt-driven).
[   20.562507] ppdev: user-space parallel port driver
[   20.644641] P-state transition latency capped at 20 uS
[   22.392903] sshd (1123): /proc/1123/oom_adj is deprecated, please use /proc/1123/oom_score_adj instead.
[   22.957711] wpa_supplicant[869]: Trying to associate with 00:04:0e:e4:00:3d (SSID='myCastle-WLAN WPA (Wireless LAN)' freq=2442 MHz)
[   22.970076] wlan0: authenticate with 00:04:0e:e4:00:3d (try 1)
[   22.981363] 
[   22.993496] wlan0: authenticated
[   22.993518] wlan0: associate with 00:04:0e:e4:00:3d (try 1)
[   22.997039] wlan0: RX AssocResp from 00:04:0e:e4:00:3d (capab=0x411 status=0 aid=1)
[   22.997044] wlan0: associated
[   22.997949] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   23.009705] wpa_supplicant[869]: Associated with 00:04:0e:e4:00:3d
[   23.861190] padlock: VIA PadLock not detected.
[   23.880352] wpa_supplicant[869]: WPA: Key negotiation completed with 00:04:0e:e4:00:3d [PTK=CCMP GTK=CCMP]
[   23.894305] wpa_supplicant[869]: CTRL-EVENT-CONNECTED - Connection to 00:04:0e:e4:00:3d completed (auth) [id=0 id_str=]
[   23.968181] Bluetooth: Core ver 2.15
[   23.968217] NET: Registered protocol family 31
[   23.968219] Bluetooth: HCI device and connection manager initialized
[   23.968223] Bluetooth: HCI socket layer initialized
[   24.076055] Bluetooth: L2CAP ver 2.15
[   24.087933] Bluetooth: L2CAP socket layer initialized
[   24.114900] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   24.126796] Bluetooth: BNEP filters: protocol multicast
[   24.152689] Bluetooth: RFCOMM TTY layer initialized
[   24.164590] Bluetooth: RFCOMM socket layer initialized
[   24.176354] Bluetooth: RFCOMM ver 1.11
[   24.249280] Bluetooth: SCO (Voice Link) ver 0.6
[   24.261277] Bluetooth: SCO socket layer initialized
[   33.808038] wlan0: no IPv6 routers present
[  104.998745] ntfs-3g[634]: Unmounting /dev/sda1 (IBM_PRELOAD)

[-- Attachment #3: x86-perf-nmi-Disable-perf-if-counters-are-not-accessable-followup-patch-by-peter-zijlstra.patch --]
[-- Type: text/x-diff, Size: 635 bytes --]

Index: linux-2.6/arch/x86/kernel/cpu/perf_event.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/cpu/perf_event.c
+++ linux-2.6/arch/x86/kernel/cpu/perf_event.c
@@ -383,14 +383,13 @@
 
 static bool check_hw_exists(void)
 {
-	u64 val, val_new;
-
+	u64 val, val_new = 0;
+	int ret = 0;
 	val = 0xabcdUL;
-	(void) checking_wrmsrl(x86_pmu.perfctr, val);
-	rdmsrl_safe(x86_pmu.perfctr, &val_new);
-	if (val != val_new)
+	ret |= checking_wrmsrl(x86_pmu.perfctr, val);
+	ret |= rdmsrl_safe(x86_pmu.perfctr, &val_new);
+	if (ret || val != val_new)
 		return false;
-
 	return true;
 }
 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi: Disable perf if counters are not accessable
  2010-11-23 18:21   ` Sedat Dilek
@ 2010-11-23 18:27     ` Peter Zijlstra
  2010-11-23 18:29       ` Sedat Dilek
  2010-11-23 19:04       ` Cyrill Gorcunov
  0 siblings, 2 replies; 13+ messages in thread
From: Peter Zijlstra @ 2010-11-23 18:27 UTC (permalink / raw)
  To: sedat.dilek; +Cc: Don Zickus, LKML

On Tue, 2010-11-23 at 19:21 +0100, Sedat Dilek wrote:
> Due to BIOS l(ocal)apic is not possible:
> 
> # dmesg | grep -i apic
> [    0.000000] Using APIC driver default
> [    0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic"
> [    0.000000] APIC: disable apic facility
> [    0.000000] APIC: switched to apic NOOP
> [    0.008891] no APIC, boot with the "lapic" boot parameter to force-enable it.
> [    0.036141] Local APIC not detected. Using dummy APIC emulation. 

Have you tried booting with "lapic" as the second last msg suggests you
do?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi: Disable perf if counters are not accessable
  2010-11-23 18:27     ` Peter Zijlstra
@ 2010-11-23 18:29       ` Sedat Dilek
  2010-11-23 18:37         ` Sedat Dilek
  2010-11-23 19:04       ` Cyrill Gorcunov
  1 sibling, 1 reply; 13+ messages in thread
From: Sedat Dilek @ 2010-11-23 18:29 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Don Zickus, LKML

On Tue, Nov 23, 2010 at 7:27 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Tue, 2010-11-23 at 19:21 +0100, Sedat Dilek wrote:
>> Due to BIOS l(ocal)apic is not possible:
>>
>> # dmesg | grep -i apic
>> [    0.000000] Using APIC driver default
>> [    0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic"
>> [    0.000000] APIC: disable apic facility
>> [    0.000000] APIC: switched to apic NOOP
>> [    0.008891] no APIC, boot with the "lapic" boot parameter to force-enable it.
>> [    0.036141] Local APIC not detected. Using dummy APIC emulation.
>
> Have you tried booting with "lapic" as the second last msg suggests you
> do?
>

Yes, I did try before there was [1], booting with "lapic" had no effect.

- Sedat -

[1] bugfix/x86/Skip-looking-for-ioapic-overrides-when-ioapics-are-not-present.patch

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi: Disable perf if counters are not accessable
  2010-11-23 18:29       ` Sedat Dilek
@ 2010-11-23 18:37         ` Sedat Dilek
  0 siblings, 0 replies; 13+ messages in thread
From: Sedat Dilek @ 2010-11-23 18:37 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Don Zickus, LKML

On Tue, Nov 23, 2010 at 7:29 PM, Sedat Dilek <sedat.dilek@googlemail.com> wrote:
> On Tue, Nov 23, 2010 at 7:27 PM, Peter Zijlstra <peterz@infradead.org> wrote:
>> On Tue, 2010-11-23 at 19:21 +0100, Sedat Dilek wrote:
>>> Due to BIOS l(ocal)apic is not possible:
>>>
>>> # dmesg | grep -i apic
>>> [    0.000000] Using APIC driver default
>>> [    0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic"
>>> [    0.000000] APIC: disable apic facility
>>> [    0.000000] APIC: switched to apic NOOP
>>> [    0.008891] no APIC, boot with the "lapic" boot parameter to force-enable it.
>>> [    0.036141] Local APIC not detected. Using dummy APIC emulation.
>>
>> Have you tried booting with "lapic" as the second last msg suggests you
>> do?
>>
>
> Yes, I did try before there was [1], booting with "lapic" had no effect.
>
> - Sedat -
>
> [1] bugfix/x86/Skip-looking-for-ioapic-overrides-when-ioapics-are-not-present.patch
>

OK, some months went by when I last tested this option.

Now, with linux-next (next-20101123) things look better.

# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-2.6.37-rc3-686
root=UUID=1ceb69a7-ecf4-47e9-a231-b74e0f0a9b62 ro radeon.modeset=1
lapic 3

# dmesg | egrep -i 'NMI|APIC'
[    0.000000] Using APIC driver default
[    0.000000] Local APIC disabled by BIOS -- reenabling.
[    0.000000] Found and enabled local APIC!
[    0.000000] Kernel command line:
BOOT_IMAGE=/boot/vmlinuz-2.6.37-rc3-686
root=UUID=1ceb69a7-ecf4-47e9-a231-b74e0f0a9b62 ro radeon.modeset=1
lapic 3
[    0.032158] Enabling APIC mode:  Flat.  Using 0 I/O APICs
[    0.036000] NMI watchdog enabled, takes one hw-pmu counter.

- Sedat -

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi: Disable perf if counters are not accessable
  2010-11-23 18:27     ` Peter Zijlstra
  2010-11-23 18:29       ` Sedat Dilek
@ 2010-11-23 19:04       ` Cyrill Gorcunov
  2010-11-23 19:07         ` Peter Zijlstra
  1 sibling, 1 reply; 13+ messages in thread
From: Cyrill Gorcunov @ 2010-11-23 19:04 UTC (permalink / raw)
  To: Peter Zijlstra, Don Zickus; +Cc: sedat.dilek, LKML, Ingo Molnar

On Tue, Nov 23, 2010 at 07:27:07PM +0100, Peter Zijlstra wrote:
> On Tue, 2010-11-23 at 19:21 +0100, Sedat Dilek wrote:
> > Due to BIOS l(ocal)apic is not possible:
> > 
> > # dmesg | grep -i apic
> > [    0.000000] Using APIC driver default
> > [    0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic"
> > [    0.000000] APIC: disable apic facility
> > [    0.000000] APIC: switched to apic NOOP
> > [    0.008891] no APIC, boot with the "lapic" boot parameter to force-enable it.
> > [    0.036141] Local APIC not detected. Using dummy APIC emulation. 
> 
> Have you tried booting with "lapic" as the second last msg suggests you
> do?

 Peter, Don, might not we need something like the patch below -- ie to check for
apic earlier and do not acquire cpu for PERF cpu bit, and its cpu model, etc
if there is no active apic? And perhaps for nmi-watchdog, we should not try
to creat perf event for same reason and simply report that nmi-watchdog is
disabled (though of course hpet based one should try to continue).

 No?

  Cyrill
---
 arch/x86/kernel/cpu/perf_event.c |   24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

Index: linux-2.6.git/arch/x86/kernel/cpu/perf_event.c
=====================================================================
--- linux-2.6.git.orig/arch/x86/kernel/cpu/perf_event.c
+++ linux-2.6.git/arch/x86/kernel/cpu/perf_event.c
@@ -1329,14 +1329,16 @@ x86_pmu_notifier(struct notifier_block *
 	return ret;
 }
 
-static void __init pmu_check_apic(void)
+static int __init pmu_check_apic(void)
 {
 	if (cpu_has_apic)
-		return;
+		return 0;
 
 	x86_pmu.apic = 0;
 	pr_info("no APIC, boot with the \"lapic\" boot parameter to force-enable it.\n");
 	pr_info("no hardware sampling interrupt available.\n");
+
+	return -1;
 }
 
 void __init init_hw_perf_events(void)
@@ -1346,6 +1348,10 @@ void __init init_hw_perf_events(void)
 
 	pr_info("Performance Events: ");
 
+	/* apic is required */
+	if (pmu_check_apic())
+		goto no_pmu;
+
 	switch (boot_cpu_data.x86_vendor) {
 	case X86_VENDOR_INTEL:
 		err = intel_pmu_init();
@@ -1356,12 +1362,8 @@ void __init init_hw_perf_events(void)
 	default:
 		return;
 	}
-	if (err != 0) {
-		pr_cont("no PMU driver, software events only.\n");
-		return;
-	}
-
-	pmu_check_apic();
+	if (err != 0)
+		goto no_pmu;
 
 	pr_cont("%s PMU driver.\n", x86_pmu.name);
 
@@ -1411,6 +1413,12 @@ void __init init_hw_perf_events(void)
 
 	perf_pmu_register(&pmu);
 	perf_cpu_notifier(x86_pmu_notifier);
+
+	return;
+
+no_pmu:
+	pr_cont("no PMU driver, software events only.\n");
+	return;
 }
 
 static inline void x86_pmu_read(struct perf_event *event)

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi: Disable perf if counters are not accessable
  2010-11-23 19:04       ` Cyrill Gorcunov
@ 2010-11-23 19:07         ` Peter Zijlstra
  0 siblings, 0 replies; 13+ messages in thread
From: Peter Zijlstra @ 2010-11-23 19:07 UTC (permalink / raw)
  To: Cyrill Gorcunov; +Cc: Don Zickus, sedat.dilek, LKML, Ingo Molnar

On Tue, 2010-11-23 at 22:04 +0300, Cyrill Gorcunov wrote:
> On Tue, Nov 23, 2010 at 07:27:07PM +0100, Peter Zijlstra wrote:
> > On Tue, 2010-11-23 at 19:21 +0100, Sedat Dilek wrote:
> > > Due to BIOS l(ocal)apic is not possible:
> > > 
> > > # dmesg | grep -i apic
> > > [    0.000000] Using APIC driver default
> > > [    0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic"
> > > [    0.000000] APIC: disable apic facility
> > > [    0.000000] APIC: switched to apic NOOP
> > > [    0.008891] no APIC, boot with the "lapic" boot parameter to force-enable it.
> > > [    0.036141] Local APIC not detected. Using dummy APIC emulation. 
> > 
> > Have you tried booting with "lapic" as the second last msg suggests you
> > do?
> 
>  Peter, Don, might not we need something like the patch below -- ie to check for
> apic earlier and do not acquire cpu for PERF cpu bit, and its cpu model, etc
> if there is no active apic? And perhaps for nmi-watchdog, we should not try
> to creat perf event for same reason and simply report that nmi-watchdog is
> disabled (though of course hpet based one should try to continue).
> 
>  No?
> 

Ah, no.. now I get what you mean.

We can use the pmu without interrupt with we miss the lapic, that is
perf-stat will still work.

>  void __init init_hw_perf_events(void)
> @@ -1346,6 +1348,10 @@ void __init init_hw_perf_events(void)
>  
>  	pr_info("Performance Events: ");
>  
> +	/* apic is required */
> +	if (pmu_check_apic())
> +		goto no_pmu;
> +

> +no_pmu:
> +	pr_cont("no PMU driver, software events only.\n");
> +	return;
>  }
>  
>  static inline void x86_pmu_read(struct perf_event *event)



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi: Disable perf if counters are not accessable
@ 2010-11-23 19:18 Cyrill Gorcunov
  0 siblings, 0 replies; 13+ messages in thread
From: Cyrill Gorcunov @ 2010-11-23 19:18 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Don Zickus, sedat.dilek, LKML, Ingo Molnar

On Tue, Nov 23, 2010 at 08:07:47PM +0100, Peter Zijlstra wrote:
> On Tue, 2010-11-23 at 22:04 +0300, Cyrill Gorcunov wrote:
> > On Tue, Nov 23, 2010 at 07:27:07PM +0100, Peter Zijlstra wrote:
> > > On Tue, 2010-11-23 at 19:21 +0100, Sedat Dilek wrote:
> > > > Due to BIOS l(ocal)apic is not possible:
> > > > 
> > > > # dmesg | grep -i apic
> > > > [    0.000000] Using APIC driver default
> > > > [    0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic"
> > > > [    0.000000] APIC: disable apic facility
> > > > [    0.000000] APIC: switched to apic NOOP
> > > > [    0.008891] no APIC, boot with the "lapic" boot parameter to force-enable it.
> > > > [    0.036141] Local APIC not detected. Using dummy APIC emulation. 
> > > 
> > > Have you tried booting with "lapic" as the second last msg suggests you
> > > do?
> > 
> >  Peter, Don, might not we need something like the patch below -- ie to check for
> > apic earlier and do not acquire cpu for PERF cpu bit, and its cpu model, etc
> > if there is no active apic? And perhaps for nmi-watchdog, we should not try
> > to creat perf event for same reason and simply report that nmi-watchdog is
> > disabled (though of course hpet based one should try to continue).
> > 
> >  No?
> > 
> 
> Ah, no.. now I get what you mean.
> 
> We can use the pmu without interrupt with we miss the lapic, that is
> perf-stat will still work.
> 

Yeah, I forgot about perf-stat

 Cyrill

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi:  Disable perf if counters are not accessable
  2010-11-23 10:46 ` Peter Zijlstra
@ 2010-11-23 14:13   ` Don Zickus
  0 siblings, 0 replies; 13+ messages in thread
From: Don Zickus @ 2010-11-23 14:13 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Ingo Molnar, jason.wessel, gorcunov, LKML

On Tue, Nov 23, 2010 at 11:46:06AM +0100, Peter Zijlstra wrote:
> On Mon, 2010-11-22 at 16:55 -0500, Don Zickus wrote:
> > +static bool check_hw_exists(void)
> > +{
> > +       u64 val, val_new;
> > +
> > +       val = 0xabcdUL;
> > +       (void) checking_wrmsrl(x86_pmu.perfctr, val);
> > +       rdmsrl_safe(x86_pmu.perfctr, &val_new);
> > +       if (val != val_new)
> > +               return false;
> > +
> > +       return true;
> > +} 
> 
> If I can make any sense of the implementation of native_read_msr_safe()
> then I think it doesn't actually sets val_new in case it faults, it just
> returns -EIO.
> 
> So I changed it to:
> 
> static bool check_hw_exists(void)
> {
>         u64 val, val_new = 0;
>         int ret = 0;
> 
>         val = 0xabcdUL;
>         ret |= checking_wrmsrl(x86_pmu.perfctr, val);
>         ret |= rdmsrl_safe(x86_pmu.perfctr, &val_new);
>         if (ret || val != val_new)
>                 return false;
> 
>         return true;
> }
> 
> And have applied the patch,

Looks good to me.  Thanks!

Cheers,
Don

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] x86, perf, nmi:  Disable perf if counters are not accessable
  2010-11-22 21:55 Don Zickus
@ 2010-11-23 10:46 ` Peter Zijlstra
  2010-11-23 14:13   ` Don Zickus
  0 siblings, 1 reply; 13+ messages in thread
From: Peter Zijlstra @ 2010-11-23 10:46 UTC (permalink / raw)
  To: Don Zickus; +Cc: Ingo Molnar, jason.wessel, gorcunov, LKML

On Mon, 2010-11-22 at 16:55 -0500, Don Zickus wrote:
> +static bool check_hw_exists(void)
> +{
> +       u64 val, val_new;
> +
> +       val = 0xabcdUL;
> +       (void) checking_wrmsrl(x86_pmu.perfctr, val);
> +       rdmsrl_safe(x86_pmu.perfctr, &val_new);
> +       if (val != val_new)
> +               return false;
> +
> +       return true;
> +} 

If I can make any sense of the implementation of native_read_msr_safe()
then I think it doesn't actually sets val_new in case it faults, it just
returns -EIO.

So I changed it to:

static bool check_hw_exists(void)
{
        u64 val, val_new = 0;
        int ret = 0;

        val = 0xabcdUL;
        ret |= checking_wrmsrl(x86_pmu.perfctr, val);
        ret |= rdmsrl_safe(x86_pmu.perfctr, &val_new);
        if (ret || val != val_new)
                return false;

        return true;
}

And have applied the patch,

Thanks Don!

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] x86, perf, nmi:  Disable perf if counters are not accessable
@ 2010-11-22 21:55 Don Zickus
  2010-11-23 10:46 ` Peter Zijlstra
  0 siblings, 1 reply; 13+ messages in thread
From: Don Zickus @ 2010-11-22 21:55 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Peter Zijlstra, jason.wessel, gorcunov, LKML, Don Zickus

In a kvm virt guests, the perf counters are not emulated.  Instead they
return zero on a rdmsrl.  The perf nmi handler uses the fact that crossing
a zero means the counter overflowed (for those counters that do not have
specific interrupt bits).  Therefore on kvm guests, perf will swallow all
NMIs thinking the counters overflowed.

This causes problems for subsystems like kgdb which needs NMIs to do its
magic.  This problem was discovered by running kgdb tests.

The solution is to write garbage into a perf counter during the
initialization and hopefully reading back the same number.  On kvm
guests, the value will be read back as zero and we disable perf as
a result.

Reported-by: Jason Wessel <jason.wessel@windriver.com>
Patch-inspired-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Don Zickus <dzickus@redhat.com>
---
 arch/x86/kernel/cpu/perf_event.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index bbe3c4a..e4c4899 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -381,6 +381,19 @@ static void release_pmc_hardware(void) {}
 
 #endif
 
+static bool check_hw_exists(void)
+{
+	u64 val, val_new;
+
+	val = 0xabcdUL;
+	(void) checking_wrmsrl(x86_pmu.perfctr, val);
+	rdmsrl_safe(x86_pmu.perfctr, &val_new);
+	if (val != val_new)
+		return false;
+
+	return true;
+}
+
 static void reserve_ds_buffers(void);
 static void release_ds_buffers(void);
 
@@ -1371,6 +1384,12 @@ void __init init_hw_perf_events(void)
 
 	pmu_check_apic();
 
+	/* sanity check that the hardware exists or is emulated */
+	if (!check_hw_exists()) {
+		pr_cont("Broken PMU hardware detected, software events only.\n");
+		return;
+	}
+
 	pr_cont("%s PMU driver.\n", x86_pmu.name);
 
 	if (x86_pmu.quirks)
-- 
1.7.3.2


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2010-11-23 19:18 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-23 15:15 [PATCH] x86, perf, nmi: Disable perf if counters are not accessable Sedat Dilek
2010-11-23 15:19 ` Peter Zijlstra
2010-11-23 16:56 ` Don Zickus
2010-11-23 18:21   ` Sedat Dilek
2010-11-23 18:27     ` Peter Zijlstra
2010-11-23 18:29       ` Sedat Dilek
2010-11-23 18:37         ` Sedat Dilek
2010-11-23 19:04       ` Cyrill Gorcunov
2010-11-23 19:07         ` Peter Zijlstra
  -- strict thread matches above, loose matches on Subject: below --
2010-11-23 19:18 Cyrill Gorcunov
2010-11-22 21:55 Don Zickus
2010-11-23 10:46 ` Peter Zijlstra
2010-11-23 14:13   ` Don Zickus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).