2007-08-31 20:59:37

by Thomas Gleixner

[permalink] [raw]
Subject: v2.6.23-rc4-rt1 / new project URL

We're pleased to announce the release of the v2.6.23-rc4-rt1 kernel,
which can be downloaded from a new place:

http://www.kernel.org/pub/linux/kernel/projects/rt/

The move to kernel.org is experimental for now, we'll keep it if it
works out fine.

Changes since 2.6.23-rc2-rt2:

- update to -rc4
- update to 2.6.23-rc4-hrt1

- UP compile fixes back merged (Kevin Hilman / Steven Rostedt)
- various latency tracer fixes (Steven Rostedt)
- softirq migration fixes (Steven Rostedt)
- ARM futex cmpxchg in atomic support (Khem Raj)
- ARM raw lock fix (Kevin Hilman)
- loadavgrt fix (Luis Claudio R. Goncalves)
- mellanox driver fix (Michael S. Tsirkin)

A bunch of patches are postponed for -rt2 (they are neither ignored
nor forgotten):

- simple_irq change (Kevin Hilman): needs more thought
- RCU updates (Paul McKenney): needs proper integration
- latency tracer changes (Daniel Walker): needs review
- PICK_OP changes (Daniel Walker): needs review


More info about the -rt patch set can be found in the RT wiki:

http://rt.wiki.kernel.org

To build a 2.6.23-rc4-rt1 tree, the following patches should be applied:

http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.22.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.23-rc4.bz2
http://kernel.org/pub/linux/kernel/projects/rt/patch-2.6.23-rc4-rt1.bz2

Thomas, Ingo



2007-09-01 00:11:36

by Daniel Walker

[permalink] [raw]
Subject: Re: v2.6.23-rc4-rt1 / new project URL

On Fri, 2007-08-31 at 22:59 +0200, Thomas Gleixner wrote:
> We're pleased to announce the release of the v2.6.23-rc4-rt1 kernel,
> which can be downloaded from a new place:
>
> http://www.kernel.org/pub/linux/kernel/projects/rt/
>
> The move to kernel.org is experimental for now, we'll keep it if it
> works out fine.
>
> Changes since 2.6.23-rc2-rt2:
>
> - update to -rc4
> - update to 2.6.23-rc4-hrt1
>
> - UP compile fixes back merged (Kevin Hilman / Steven Rostedt)
> - various latency tracer fixes (Steven Rostedt)

I'm not sure which latency tracing fixes these are, but Steven's
get_monotonic_cycles() changes are racy .. It might be a little
premature to include them .. It at least fouls latency tracing on my
test machine.

> - simple_irq change (Kevin Hilman): needs more thought
> - RCU updates (Paul McKenney): needs proper integration
> - latency tracer changes (Daniel Walker): needs review
> - PICK_OP changes (Daniel Walker): needs review

The PICK_OP changes got reviewed by Ingo , as of,

http://marc.info/?l=linux-rt-users&m=118638506125380&w=2

They do need one small fix tho .. Below ..

Signed-off-by: Daniel Walker <[email protected]>

Index: linux-2.6.22/include/linux/spinlock.h
===================================================================
--- linux-2.6.22.orig/include/linux/spinlock.h 2007-09-01 00:08:04.000000000 +0000
+++ linux-2.6.22/include/linux/spinlock.h 2007-09-01 00:07:48.000000000 +0000
@@ -501,7 +501,7 @@ do { \

#define spin_trylock_irq(lock) \
__cond_lock(lock, PICK_SPIN_OP_RET(__spin_trylock_irq, \
- __spin_trylock_irq, lock))
+ _spin_trylock_irq, lock))

#define spin_trylock_irqsave(lock, flags) \
__cond_lock(lock, PICK_SPIN_OP_RET(__spin_trylock_irqsave, \


2007-09-01 07:27:32

by Thomas Gleixner

[permalink] [raw]
Subject: Re: v2.6.23-rc4-rt1 / new project URL

On Fri, 2007-08-31 at 17:01 -0700, Daniel Walker wrote:
> > - UP compile fixes back merged (Kevin Hilman / Steven Rostedt)
> > - various latency tracer fixes (Steven Rostedt)
>
> I'm not sure which latency tracing fixes these are, but Steven's
> get_monotonic_cycles() changes are racy .. It might be a little
> premature to include them .. It at least fouls latency tracing on my
> test machine.

Worked fine here, but I take it out again when it causes problems on
your box. Steven ???

> > - simple_irq change (Kevin Hilman): needs more thought
> > - RCU updates (Paul McKenney): needs proper integration
> > - latency tracer changes (Daniel Walker): needs review
> > - PICK_OP changes (Daniel Walker): needs review
>
> The PICK_OP changes got reviewed by Ingo , as of,
>
> http://marc.info/?l=linux-rt-users&m=118638506125380&w=2

Yeah, I know. Still I wanted to go through it myself.

> They do need one small fix tho .. Below ..

Sigh.

tglx


2007-09-01 14:35:29

by Daniel Walker

[permalink] [raw]
Subject: Re: v2.6.23-rc4-rt1 / new project URL

On Sat, 2007-09-01 at 09:27 +0200, Thomas Gleixner wrote:

>
> Yeah, I know. Still I wanted to go through it myself.
>

Ok,

Here are some other trivial fixes,

http://lkml.org/lkml/2007/8/28/331
http://lkml.org/lkml/2007/8/28/334

Daniel

2007-09-01 16:02:37

by Daniel Walker

[permalink] [raw]
Subject: Re: v2.6.23-rc4-rt1 / new project URL

On Fri, 2007-08-31 at 22:59 +0200, Thomas Gleixner wrote:

> - loadavgrt fix (Luis Claudio R. Goncalves)

Sven caught that this patch was broken, I think there is an updated
one.. It's also breaking !PREEMPT_RT compiles..

dwalker2/140 failed
kernel/timer.c: In function 'calc_load':
kernel/timer.c:962: error: implicit declaration of function 'count_active_rt_tasks'
make[1]: *** [kernel/timer.o] Error 1


Daniel

2007-09-03 01:17:00

by Steven Rostedt

[permalink] [raw]
Subject: Re: v2.6.23-rc4-rt1 / new project URL


On Sat, 1 Sep 2007, Thomas Gleixner wrote:

> On Fri, 2007-08-31 at 17:01 -0700, Daniel Walker wrote:
> >
> > I'm not sure which latency tracing fixes these are, but Steven's
> > get_monotonic_cycles() changes are racy .. It might be a little
> > premature to include them .. It at least fouls latency tracing on my
> > test machine.
>
> Worked fine here, but I take it out again when it causes problems on
> your box. Steven ???

Yeah, I talked with Daniel too about it. I need to look more into it.
I haven't had time since I'm spending the weekend (Monday too, since it's
a holiday in the US), moving to my new house.

There is a race, but honestly, it will be a merical to happen, and if it
does, it only gives the results that we had "before" the patches ;-)

But take them out, until I get to the bottom of them. But that won't be
until "earliest" Tuesday.

Thanks,

-- Steve

2007-09-03 07:13:58

by Sven-Thorsten Dietrich

[permalink] [raw]
Subject: [LOCKDEP] v2.6.23-rc4-rt1

On Fri, 2007-08-31 at 22:59 +0200, Thomas Gleixner wrote:
> We're pleased to announce the release of the v2.6.23-rc4-rt1 kernel,
> which can be downloaded from a new place:
>
> http://www.kernel.org/pub/linux/kernel/projects/rt/
>
> The move to kernel.org is experimental for now, we'll keep it if it
> works out fine.

Hi Thomas,

here is a stack dump from my AMD 8 way...

this isn't set up as NUMA box,

but it looks like there is something amiss in the NUMA mm code.

config attached.

I'm on the road, will look into it if I get a chance.

Thanks,

Sven



Booting '2.6.23-rc4-rt1-rt_debug'

root (hd0,1)
Filesystem type is ext2fs, partition type 0x83
kernel /boot/vmlinuz-2.6.23-rc4-rt1-rt_debug root=/dev/disk/by-id/scsi-SATA_ST3
160815AS_9RA052JV-part2 vga=0x317 resume=/dev/sda1 splash=silent showopts conso
le=ttyS0,115200
[Linux-bzImage, setup=0x2c00, size=0x1e1658]
initrd /boot/initrd-2.6.23-rc4-rt1-rt_debug
[Linux-initrd @ 0x3798a000, 0x665ed0 bytes]

Linux version 2.6.23-rc4-rt1-rt_debug (sven@quadrophenia) (gcc version 4.1.2 20070115 (prerelease) (SUSE Linux)) #2 SMP PREEMPT RT Fri Aug 31 23:47:36 PDT 2007
Command line: root=/dev/disk/by-id/scsi-SATA_ST3160815AS_9RA052JV-part2 vga=0x317 resume=/dev/sda1 splash=silent showopts console=ttyS0,115200
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009b000 (usable)
BIOS-e820: 000000000009b000 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000d2000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000007ff90000 (usable)
BIOS-e820: 000000007ff90000 - 000000007ff97000 (ACPI data)
BIOS-e820: 000000007ff97000 - 0000000080000000 (ACPI NVS)
BIOS-e820: 0000000080000000 - 00000000d3f00000 (usable)
BIOS-e820: 00000000d3f00000 - 00000000d4000000 (reserved)
BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 000000042c000000 (usable)
end_pfn_map = 4374528
DMI present.
ACPI: RSDP 000F6FE0, 0014 (r0 PTLTD )
ACPI: RSDT 7FF922BF, 003C (r1 PTLTD RSDT 6040000 LTP 0)
ACPI: FACP 7FF96310, 0074 (r1 NVIDIA CK8S 6040000 PTL_ F4240)
ACPI: DSDT 7FF922FB, 4015 (r1 NVIDIA CK8 6040000 MSFT 100000E)
ACPI: FACS 7FF97FC0, 0040
ACPI: SSDT 7FF96384, 09BC (r1 PTLTD POWERNOW 6040000 LTP 1)
ACPI: SRAT 7FF96D40, 01A0 (r1 AMD HAMMER 6040000 AMD 1)
ACPI: SPCR 7FF96EE0, 0050 (r1 PTLTD $UCRTBL$ 6040000 PTL 1)
ACPI: APIC 7FF96F30, 00A8 (r1 PTLTD APIC 6040000 LTP 0)
ACPI: BOOT 7FF96FD8, 0028 (r1 PTLTD $SBFTBL$ 6040000 LTP 1)
SRAT: PXM 0 -> APIC 0 -> Node 0
SRAT: PXM 0 -> APIC 1 -> Node 0
SRAT: PXM 1 -> APIC 2 -> Node 1
SRAT: PXM 1 -> APIC 3 -> Node 1
SRAT: PXM 2 -> APIC 4 -> Node 2
SRAT: PXM 2 -> APIC 5 -> Node 2
SRAT: PXM 3 -> APIC 6 -> Node 3
SRAT: PXM 3 -> APIC 7 -> Node 3
SRAT: Node 0 PXM 0 0-a0000
SRAT: Node 0 PXM 0 0-d4000000
SRAT: Node 0 PXM 0 0-12c000000
SRAT: Node 1 PXM 1 12c000000-22c000000
SRAT: Node 2 PXM 2 22c000000-32c000000
SRAT: Node 3 PXM 3 32c000000-42c000000
Bootmem setup node 0 0000000000000000-000000012c000000
Bootmem setup node 1 000000012c000000-000000022c000000
Bootmem setup node 2 000000022c000000-000000032c000000
Bootmem setup node 3 000000032c000000-000000042c000000
Zone PFN ranges:
DMA 0 -> 4096
DMA32 4096 -> 1048576
Normal 1048576 -> 4374528
Movable zone start PFN for each node
early_node_map[7] active PFN ranges
0: 0 -> 155
0: 256 -> 524176
0: 524288 -> 868096
0: 1048576 -> 1228800
1: 1228800 -> 2277376
2: 2277376 -> 3325952
3: 3325952 -> 4374528
Nvidia board detected. Ignoring ACPI timer override.
If you got timer trouble try acpi_use_timer_override
ACPI: PM-Timer IO Port: 0x8008
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 (Bootup-CPU)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
Processor #1
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
Processor #2
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
Processor #3
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] enabled)
Processor #4
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] enabled)
Processor #5
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] enabled)
Processor #6
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] enabled)
Processor #7
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x05] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x06] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x07] high edge lint[0x1])
ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 8, address 0xfec00000, GSI 0-23
Setting APIC routing to flat
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at f1000000 (gap: f0000000:ec00000)
SMP: Allowing 8 CPUs, 0 hotplug CPUs
PERCPU: Allocating 55616 bytes of per cpu data
Real-Time Preemption Support (C) 2004-2007 Ingo Molnar
Built 4 zonelists in Node order. Total pages: 3968449
Policy zone: Normal
Kernel command line: root=/dev/disk/by-id/scsi-SATA_ST3160815AS_9RA052JV-part2 vga=0x317 resume=/dev/sda1 splash=silent showopts console=ttyS0,115200
Initializing CPU#0
WARNING: experimental RCU implementation.
PID hash table entries: 4096 (order: 12, 32768 bytes)
TSC calibrated against PM_TIMER
Marking TSC unstable due to TSCs unsynchronized
time.c: Detected 2612.028 MHz processor.
Console: colour dummy device 80x25
console [ttyS0] enabled
num_possible_cpus(): 8
CPU#0: allocated 3145728 bytes trace buffer.
CPU#0: allocated 3145728 bytes max-trace buffer.
CPU#1: allocated 3145728 bytes trace buffer.
CPU#1: allocated 3145728 bytes max-trace buffer.
CPU#2: allocated 3145728 bytes trace buffer.
CPU#2: allocated 3145728 bytes max-trace buffer.
CPU#3: allocated 3145728 bytes trace buffer.
CPU#3: allocated 3145728 bytes max-trace buffer.
CPU#4: allocated 3145728 bytes trace buffer.
CPU#4: allocated 3145728 bytes max-trace buffer.
CPU#5: allocated 3145728 bytes trace buffer.
CPU#5: allocated 3145728 bytes max-trace buffer.
CPU#6: allocated 3145728 bytes trace buffer.
CPU#6: allocated 3145728 bytes max-trace buffer.
CPU#7: allocated 3145728 bytes trace buffer.
CPU#7: allocated 3145728 bytes max-trace buffer.
allocated 25165824 bytes out-trace buffer.
tracer: a total of 75497472 bytes allocated.
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES: 8
... MAX_LOCK_DEPTH: 30
... MAX_LOCKDEP_KEYS: 2048
... CLASSHASH_SIZE: 1024
... MAX_LOCKDEP_ENTRIES: 16384
... MAX_LOCKDEP_CHAINS: 32768
... CHAINHASH_SIZE: 16384
memory used by lock dependency info: 2608 kB
per task-struct memory footprint: 1680 bytes
------------------------
| Locking API testsuite:
----------------------------------------------------------------------------
| spin |wlock |rlock |mutex | wsem | rsem |
--------------------------------------------------------------------------
A-A deadlock: ok | ok | ok | ok | ok | ok |
A-B-B-A deadlock: ok | ok | ok | ok | ok | ok |
A-B-B-C-C-A deadlock: ok | ok | ok | ok | ok | ok |
A-B-C-A-B-C deadlock: ok | ok | ok | ok | ok | ok |
A-B-B-C-C-D-D-A deadlock: ok | ok | ok | ok | ok | ok |
A-B-C-D-B-D-D-A deadlock: ok | ok | ok | ok | ok | ok |
A-B-C-D-B-C-D-A deadlock: ok | ok | ok | ok | ok | ok |
double unlock: ok | ok | ok | ok | ok | ok |
initialize held: ok | ok | ok | ok | ok | ok |
bad unlock order: ok | ok | ok | ok | ok | ok |
--------------------------------------------------------------------------
recursive read-lock: | ok | | ok |
recursive read-lock #2: | ok | | ok |
mixed read-write-lock: | ok | | ok |
mixed write-read-lock: | ok | | ok |
--------------------------------------------------------------------------
-------------------------------------------------------
Good, all 68 testcases passed! |
---------------------------------
Checking aperture...
CPU 0: aperture @ 0 size 32 MB
No AGP bridge found
Your BIOS doesn't leave a aperture memory hole
Please enable the IOMMU option in the BIOS setup
This costs you 64 MB of RAM
Mapping aperture over 65536 KB of RAM @ 8000000
Memory: 15724280k/17498112k available (2619k kernel code, 1051060k reserved, 1446k data, 388k init)
Calibrating delay using timer specific routine.. 5226.33 BogoMIPS (lpj=2613168)
Security Framework v1.0.0 initialized
Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes)
Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes)
Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU 0/0 -> Node 0
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
lockdep: not fixing up alternatives.
ACPI: Core revision 20070126
Using local APIC timer interrupts.
Detected 12.557 MHz APIC timer.
lockdep: not fixing up alternatives.
Booting processor 1/8 APIC 0x1
Initializing CPU#1
Calibrating delay using timer specific routine.. 5223.83 BogoMIPS (lpj=2611916)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU 1/1 -> Node 0
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 1
Dual-Core AMD Opteron(tm) Processor 8218 stepping 03
lockdep: not fixing up alternatives.
Booting processor 2/8 APIC 0x2
Initializing CPU#2
Calibrating delay using timer specific routine.. 5223.83 BogoMIPS (lpj=2611917)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU 2/2 -> Node 1
CPU: Physical Processor ID: 1
CPU: Processor Core ID: 0
Dual-Core AMD Opteron(tm) Processor 8218 stepping 03
lockdep: not fixing up alternatives.
Booting processor 3/8 APIC 0x3
Initializing CPU#3
Calibrating delay using timer specific routine.. 5223.83 BogoMIPS (lpj=2611916)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU 3/3 -> Node 1
CPU: Physical Processor ID: 1
CPU: Processor Core ID: 1
Dual-Core AMD Opteron(tm) Processor 8218 stepping 03
lockdep: not fixing up alternatives.
Booting processor 4/8 APIC 0x4
Initializing CPU#4
Calibrating delay using timer specific routine.. 5223.83 BogoMIPS (lpj=2611915)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU 4/4 -> Node 2
CPU: Physical Processor ID: 2
CPU: Processor Core ID: 0
Dual-Core AMD Opteron(tm) Processor 8218 stepping 03
lockdep: not fixing up alternatives.
Booting processor 5/8 APIC 0x5
Initializing CPU#5
Calibrating delay using timer specific routine.. 5223.83 BogoMIPS (lpj=2611916)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU 5/5 -> Node 2
CPU: Physical Processor ID: 2
CPU: Processor Core ID: 1
Dual-Core AMD Opteron(tm) Processor 8218 stepping 03
lockdep: not fixing up alternatives.
Booting processor 6/8 APIC 0x6
Initializing CPU#6
Calibrating delay using timer specific routine.. 5223.83 BogoMIPS (lpj=2611919)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU 6/6 -> Node 3
CPU: Physical Processor ID: 3
CPU: Processor Core ID: 0
Dual-Core AMD Opteron(tm) Processor 8218 stepping 03
lockdep: not fixing up alternatives.
Booting processor 7/8 APIC 0x7
Initializing CPU#7
Calibrating delay using timer specific routine.. 5223.84 BogoMIPS (lpj=2611922)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU 7/7 -> Node 3
CPU: Physical Processor ID: 3
CPU: Processor Core ID: 1
Dual-Core AMD Opteron(tm) Processor 8218 stepping 03
Brought up 8 CPUs
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: Using configuration type 1
ACPI: Interpreter enabled
ACPI: (supports S0 S1)
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Transparent bridge - 0000:00:09.0
ACPI: PCI Root Bridge [PCI1] (0000:80)
ACPI: PCI Interrupt Link [LNK1] (IRQs 16 17 18 19) *0, disabled.
ACPI: PCI Interrupt Link [LNK2] (IRQs 16 17 18 19) *0
ACPI: PCI Interrupt Link [LNK3] (IRQs 16 17 18 19) *0
ACPI: PCI Interrupt Link [LNK4] (IRQs 16 17 18 19) *0, disabled.
ACPI: PCI Interrupt Link [LNK5] (IRQs 16 17 18 19) *0, disabled.
ACPI: PCI Interrupt Link [LSMB] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [LUS0] (IRQs 20 21 22 23) *0
ACPI: PCI Interrupt Link [LUS2] (IRQs 20 21 22 23) *0
ACPI: PCI Interrupt Link [LMAC] (IRQs 20 21 22 23) *0
ACPI: PCI Interrupt Link [LACI] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [LMCI] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [LPID] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [LTID] (IRQs 20 21 22 23) *0
ACPI: PCI Interrupt Link [LSI1] (IRQs 20 21 22 23) *0
ACPI: PCI Interrupt Link [APCP] (IRQs 20 21 22 23) *0, disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
ACPI: bus type pnp registered
pnp: PnP ACPI: found 14 devices
ACPI: ACPI bus type pnp unregistered
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report
PCI-DMA: Disabling AGP.
PCI-DMA: aperture base @ 8000000 size 65536 KB
PCI-DMA: using GART IOMMU.
PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
ACPI: RTC can wake from S4
pnp: 00:00: iomem range 0xff800000-0xffffffff could not be reserved
pnp: 00:00: iomem range 0xfec00000-0xfec00fff could not be reserved
pnp: 00:00: iomem range 0xfee00000-0xfeefffff could not be reserved
pnp: 00:00: iomem range 0xfefff000-0xfeffffff has been reserved
pnp: 00:07: ioport range 0x8000-0x807f has been reserved
pnp: 00:07: ioport range 0x8080-0x80ff has been reserved
pnp: 00:07: ioport range 0x8400-0x847f has been reserved
pnp: 00:07: ioport range 0x8480-0x84ff has been reserved
pnp: 00:07: ioport range 0x8800-0x887f has been reserved
pnp: 00:07: ioport range 0x8880-0x88ff has been reserved
pnp: 00:07: ioport range 0xa000-0xa03f has been reserved
pnp: 00:07: ioport range 0xa040-0xa07f has been reserved
PCI: Bridge: 0000:00:09.0
IO window: 2000-2fff
MEM window: d4100000-d41fffff
PREFETCH window: d8000000-dbffffff
PCI: Bridge: 0000:00:0b.0
IO window: disabled.
MEM window: disabled.
PREFETCH window: disabled.
PCI: Bridge: 0000:00:0c.0
IO window: disabled.
MEM window: disabled.
PREFETCH window: disabled.
PCI: Bridge: 0000:00:0d.0
IO window: disabled.
MEM window: disabled.
PREFETCH window: disabled.
PCI: Bridge: 0000:00:0e.0
IO window: disabled.
MEM window: disabled.
PREFETCH window: disabled.
PCI: Bridge: 0000:80:0b.0
IO window: disabled.
MEM window: disabled.
PREFETCH window: disabled.
PCI: Bridge: 0000:80:0c.0
IO window: disabled.
MEM window: disabled.
PREFETCH window: disabled.
PCI: Bridge: 0000:80:0d.0
IO window: disabled.
MEM window: disabled.
PREFETCH window: disabled.
PCI: Bridge: 0000:80:0e.0
IO window: disabled.
MEM window: disabled.
PREFETCH window: disabled.
NET: Registered protocol family 2
IP route cache hash table entries: 524288 (order: 10, 4194304 bytes)
TCP established hash table entries: 2097152 (order: 16, 385875968 bytes)
TCP bind hash table entries: 65536 (order: 11, 11534336 bytes)
TCP: Hash tables configured (established 2097152 bind 65536)
TCP reno registered
Unpacking initramfs... done
Freeing initrd memory: 6551k freed
Simple Boot Flag at 0x36 set to 0x1
Initializing RT-Tester: OK
audit: initializing netlink socket (disabled)
audit(1188631214.992:1): initialized
stopped custom tracer.

=====================================
[ BUG: bad unlock balance detected! ]
-------------------------------------
swapper/1 is trying to release lock (per_cpu_lock__slab_irq_locks_locked) at:
[<ffffffff802b9f84>] kmem_cache_alloc+0xb4/0x150
but there are no more locks to release!

other info that might help us debug this:
2 locks held by swapper/1:
#0: (kprobe_mutex){--..}, at: [<ffffffff8048b8f1>] __register_kprobe+0x131/0x360
#1: (per_cpu_lock__slab_irq_locks_locked#8){--..}, at: [<ffffffff802b8c23>] cache_grow+0x1f3/0x2e0

stack backtrace:

Call Trace:
[<ffffffff80263582>] print_unlock_inbalance_bug+0x112/0x130
[<ffffffff802648db>] trace_hardirqs_on_caller+0xdb/0x180
[<ffffffff8026498d>] trace_hardirqs_on+0xd/0x10
[<ffffffff80485ff4>] rt_spin_lock_slowunlock+0x54/0x90
[<ffffffff802663a4>] lock_release_non_nested+0x114/0x1a0
[<ffffffff802b9f84>] kmem_cache_alloc+0xb4/0x150
[<ffffffff80266506>] lock_release+0xd6/0x1e0
[<ffffffff80486ea6>] rt_spin_unlock+0x26/0x40
[<ffffffff802b9f84>] kmem_cache_alloc+0xb4/0x150
[<ffffffff8048c7a9>] get_insn_slot+0x69/0x143
[<ffffffff8048a4c6>] arch_prepare_kprobe+0x16/0x120
[<ffffffff8048ba56>] __register_kprobe+0x296/0x360
[<ffffffff8048bb92>] register_kprobe+0x12/0x20
[<ffffffff807f1695>] arch_init_kprobes+0x15/0x20
[<ffffffff807f79d8>] init_kprobes+0x48/0x60
[<ffffffff807e3b54>] kernel_init+0x194/0x490
[<ffffffff8026498d>] trace_hardirqs_on+0xd/0x10
[<ffffffff802646c0>] mark_held_locks+0x10/0x90
[<ffffffff804867c8>] trace_hardirqs_on_thunk+0x3a/0x3c
[<ffffffff802648db>] trace_hardirqs_on_caller+0xdb/0x180
[<ffffffff8020d2f8>] child_rip+0xa/0x12
[<ffffffff8020c9e0>] restore_args+0x0/0x30
[<ffffffff807e39c0>] kernel_init+0x0/0x490
[<ffffffff8020d2ee>] child_rip+0x0/0x12

INFO: lockdep is turned off.
---------------------------
| preempt count: 00000000 ]
| 0-level deep critical section nesting:
----------------------------------------

------------[ cut here ]------------
kernel BUG at kernel/rtmutex.c:682!
invalid opcode: 0000 [1] PREEMPT SMP
CPU 7
Modules linked in:
Pid: 1, comm: swapper Not tainted 2.6.23-rc4-rt1-rt_debug #2
RIP: 0010:[<ffffffff804862b4>] [<ffffffff804862b4>] rt_spin_lock_slowlock+0x1b4/0x220
RSP: 0000:ffff81011c663c60 EFLAGS: 00010046
RAX: ffff81041ef66040 RBX: ffff81032c0f27c0 RCX: 0000000000000001
RDX: ffff81041ef66040 RSI: 0000000000000000 RDI: ffff81032c0f27c0
RBP: ffff81011c663d20 R08: 0000000000000002 R09: 0000000000000001
R10: 0000000000000000 R11: ffffffff804b0250 R12: 0000000000000246
R13: 00000000ffffffff R14: 00000000000000d0 R15: ffff81011cc03540
FS: 0000000000000000(0000) GS:ffff81041ef2d7c0(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 0000000000201000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 1, threadinfo ffff81011c662000, task ffff81041ef66040)
Stack: 111111110000008c ffff81011c663c68 ffff81011c663c68 ffff81011c663c78
ffff81011c663c78 0000000000000000 111111110000008c ffff81011c663c98
ffff81011c663c98 ffff81011c663ca8 ffff81011c663ca8 0000000000000000
Call Trace:
[<ffffffff80486d2d>] __rt_spin_lock+0x3d/0x50
[<ffffffff80486e75>] rt_spin_lock+0x35/0x40
[<ffffffff802b88cc>] kmem_cache_alloc_node+0x5c/0x170
[<ffffffff8026498d>] trace_hardirqs_on+0xd/0x10
[<ffffffff802a9773>] __get_vm_area_node+0xa3/0x1d0
[<ffffffff802a98ea>] __get_vm_area+0x1a/0x20
[<ffffffff80225cd1>] module_alloc+0x41/0x60
[<ffffffff8048c7c1>] get_insn_slot+0x81/0x143
[<ffffffff8048a4c6>] arch_prepare_kprobe+0x16/0x120
[<ffffffff8048ba56>] __register_kprobe+0x296/0x360
[<ffffffff8048bb92>] register_kprobe+0x12/0x20
[<ffffffff807f1695>] arch_init_kprobes+0x15/0x20
[<ffffffff807f79d8>] init_kprobes+0x48/0x60
[<ffffffff807e3b54>] kernel_init+0x194/0x490
[<ffffffff8026498d>] trace_hardirqs_on+0xd/0x10
[<ffffffff802646c0>] mark_held_locks+0x10/0x90
[<ffffffff804867c8>] trace_hardirqs_on_thunk+0x3a/0x3c
[<ffffffff802648db>] trace_hardirqs_on_caller+0xdb/0x180
[<ffffffff8020d2f8>] child_rip+0xa/0x12
[<ffffffff8020c9e0>] restore_args+0x0/0x30
[<ffffffff807e39c0>] kernel_init+0x0/0x490
[<ffffffff8020d2ee>] child_rip+0x0/0x12

INFO: lockdep is turned off.
---------------------------
| preempt count: 00000001 ]
| 1-level deep critical section nesting:
----------------------------------------
.. [<ffffffff80487a9c>] .... __spin_lock_irqsave+0x2c/0x60
.....[<ffffffff80486138>] .. ( <= rt_spin_lock_slowlock+0x38/0x220)


Code: 0f 0b eb fe 49 89 f4 45 31 ff 66 90 e9 1b ff ff ff 48 8d 53
RIP [<ffffffff804862b4>] rt_spin_lock_slowlock+0x1b4/0x220
RSP <ffff81011c663c60>
Kernel panic - not syncing: Attempted to kill init!

Call Trace:
[<ffffffff8023fdf4>] panic+0xb4/0x190
[<ffffffff80485fbe>] rt_spin_lock_slowunlock+0x1e/0x90
[<ffffffff8024fe81>] __blocking_notifier_call_chain+0x21/0x80
[<ffffffff8024fef6>] blocking_notifier_call_chain+0x16/0x20
[<ffffffff8024485c>] do_exit+0xa2c/0xa30
[<ffffffff80485ff4>] rt_spin_lock_slowunlock+0x54/0x90
[<ffffffff8023fb29>] do_oops_enter_exit+0x9/0xe0
[<ffffffff8020de2a>] die+0x5a/0x80
[<ffffffff80489491>] do_trap+0x131/0x140
[<ffffffff8020e3a5>] do_invalid_op+0x95/0xb0
[<ffffffff804862b4>] rt_spin_lock_slowlock+0x1b4/0x220
[<ffffffff80240c7c>] printk+0x6c/0x70
[<ffffffff80265066>] __lock_acquire+0x16/0x1180
[<ffffffff80265066>] __lock_acquire+0x16/0x1180
[<ffffffff80265066>] __lock_acquire+0x16/0x1180
[<ffffffff80488b1d>] error_exit+0x0/0x96
[<ffffffff804862b4>] rt_spin_lock_slowlock+0x1b4/0x220
[<ffffffff80486d2d>] __rt_spin_lock+0x3d/0x50
[<ffffffff80486e75>] rt_spin_lock+0x35/0x40
[<ffffffff802b88cc>] kmem_cache_alloc_node+0x5c/0x170
[<ffffffff8026498d>] trace_hardirqs_on+0xd/0x10
[<ffffffff802a9773>] __get_vm_area_node+0xa3/0x1d0
[<ffffffff802a98ea>] __get_vm_area+0x1a/0x20
[<ffffffff80225cd1>] module_alloc+0x41/0x60
[<ffffffff8048c7c1>] get_insn_slot+0x81/0x143
[<ffffffff8048a4c6>] arch_prepare_kprobe+0x16/0x120
[<ffffffff8048ba56>] __register_kprobe+0x296/0x360
[<ffffffff8048bb92>] register_kprobe+0x12/0x20
[<ffffffff807f1695>] arch_init_kprobes+0x15/0x20
[<ffffffff807f79d8>] init_kprobes+0x48/0x60
[<ffffffff807e3b54>] kernel_init+0x194/0x490
[<ffffffff8026498d>] trace_hardirqs_on+0xd/0x10
[<ffffffff802646c0>] mark_held_locks+0x10/0x90
[<ffffffff804867c8>] trace_hardirqs_on_thunk+0x3a/0x3c
[<ffffffff802648db>] trace_hardirqs_on_caller+0xdb/0x180
[<ffffffff8020d2f8>] child_rip+0xa/0x12
[<ffffffff8020c9e0>] restore_args+0x0/0x30
[<ffffffff807e39c0>] kernel_init+0x0/0x490
[<ffffffff8020d2ee>] child_rip+0x0/0x12

INFO: lockdep is turned off.
---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<ffffffff80487a9c>] .... __spin_lock_irqsave+0x2c/0x60
.....[<ffffffff80486138>] .. ( <= rt_spin_lock_slowlock+0x38/0x220)
.. [<ffffffff8023fd88>] .... panic+0x48/0x190
.....[<ffffffff8024485c>] .. ( <= do_exit+0xa2c/0xa30)



Attachments:
2.6.23-rc4-rt1.config (75.03 kB)

2007-09-10 12:35:27

by Peter Zijlstra

[permalink] [raw]
Subject: Re: v2.6.23-rc4-rt1 / new project URL

On Fri, 2007-08-31 at 22:59 +0200, Thomas Gleixner wrote:
> We're pleased to announce the release of the v2.6.23-rc4-rt1 kernel,
> which can be downloaded from a new place:
>
> http://www.kernel.org/pub/linux/kernel/projects/rt/
>
> The move to kernel.org is experimental for now, we'll keep it if it
> works out fine.
>
> Changes since 2.6.23-rc2-rt2:
>
> - update to -rc4
> - update to 2.6.23-rc4-hrt1
>
> - UP compile fixes back merged (Kevin Hilman / Steven Rostedt)
> - various latency tracer fixes (Steven Rostedt)
> - softirq migration fixes (Steven Rostedt)
> - ARM futex cmpxchg in atomic support (Khem Raj)
> - ARM raw lock fix (Kevin Hilman)
> - loadavgrt fix (Luis Claudio R. Goncalves)
> - mellanox driver fix (Michael S. Tsirkin)
>
> A bunch of patches are postponed for -rt2 (they are neither ignored
> nor forgotten):
>
> - simple_irq change (Kevin Hilman): needs more thought
> - RCU updates (Paul McKenney): needs proper integration
> - latency tracer changes (Daniel Walker): needs review
> - PICK_OP changes (Daniel Walker): needs review

This one seems to have slipped through the cracks:
http://lkml.org/lkml/2007/8/16/135


2007-09-10 15:32:04

by Daniel Walker

[permalink] [raw]
Subject: Re: v2.6.23-rc4-rt1 / new project URL

On Mon, 2007-09-10 at 14:35 +0200, Peter Zijlstra wrote:

> > - simple_irq change (Kevin Hilman): needs more thought
> > - RCU updates (Paul McKenney): needs proper integration
> > - latency tracer changes (Daniel Walker): needs review
> > - PICK_OP changes (Daniel Walker): needs review
>
> This one seems to have slipped through the cracks:
> http://lkml.org/lkml/2007/8/16/135

There was a comment in this patch that reads,

+ /*
+ * all modifications are done under spinlocks
+ * but this read is not, the unlock acks as a wmb
+ * for modifications.
+ */

I you mean "acts" (like an actor) instead of "acks" here right?

Daniel

2007-09-10 16:15:30

by Peter Zijlstra

[permalink] [raw]
Subject: Re: v2.6.23-rc4-rt1 / new project URL

On Mon, 2007-09-10 at 08:18 -0700, Daniel Walker wrote:
> On Mon, 2007-09-10 at 14:35 +0200, Peter Zijlstra wrote:
>
> > > - simple_irq change (Kevin Hilman): needs more thought
> > > - RCU updates (Paul McKenney): needs proper integration
> > > - latency tracer changes (Daniel Walker): needs review
> > > - PICK_OP changes (Daniel Walker): needs review
> >
> > This one seems to have slipped through the cracks:
> > http://lkml.org/lkml/2007/8/16/135
>
> There was a comment in this patch that reads,
>
> + /*
> + * all modifications are done under spinlocks
> + * but this read is not, the unlock acks as a wmb
> + * for modifications.
> + */
>
> I you mean "acts" (like an actor) instead of "acks" here right?

ah, indeed :-) sometimes my fingers have a life of their own.

2007-09-26 21:20:32

by Peter Zijlstra

[permalink] [raw]
Subject: Re: v2.6.23-rc4-rt1 / new project URL

Steve,

On Mon, 2007-09-10 at 14:35 +0200, Peter Zijlstra wrote:
> On Fri, 2007-08-31 at 22:59 +0200, Thomas Gleixner wrote:
> > We're pleased to announce the release of the v2.6.23-rc4-rt1 kernel,
> > which can be downloaded from a new place:
> >
> > http://www.kernel.org/pub/linux/kernel/projects/rt/
> >
> > The move to kernel.org is experimental for now, we'll keep it if it
> > works out fine.
> >
> > Changes since 2.6.23-rc2-rt2:
> >
> > - update to -rc4
> > - update to 2.6.23-rc4-hrt1
> >
> > - UP compile fixes back merged (Kevin Hilman / Steven Rostedt)
> > - various latency tracer fixes (Steven Rostedt)
> > - softirq migration fixes (Steven Rostedt)
> > - ARM futex cmpxchg in atomic support (Khem Raj)
> > - ARM raw lock fix (Kevin Hilman)
> > - loadavgrt fix (Luis Claudio R. Goncalves)
> > - mellanox driver fix (Michael S. Tsirkin)
> >
> > A bunch of patches are postponed for -rt2 (they are neither ignored
> > nor forgotten):
> >
> > - simple_irq change (Kevin Hilman): needs more thought
> > - RCU updates (Paul McKenney): needs proper integration
> > - latency tracer changes (Daniel Walker): needs review
> > - PICK_OP changes (Daniel Walker): needs review
>
> This one seems to have slipped through the cracks:
> http://lkml.org/lkml/2007/8/16/135

Seems to be missed again :-/

2007-09-26 21:27:30

by Steven Rostedt

[permalink] [raw]
Subject: Re: v2.6.23-rc4-rt1 / new project URL


--

On Wed, 26 Sep 2007, Peter Zijlstra wrote:

> On Mon, 2007-09-10 at 14:35 +0200, Peter Zijlstra wrote:
> > > A bunch of patches are postponed for -rt2 (they are neither ignored
> > > nor forgotten):
> > >
> > > - simple_irq change (Kevin Hilman): needs more thought
> > > - RCU updates (Paul McKenney): needs proper integration
> > > - latency tracer changes (Daniel Walker): needs review
> > > - PICK_OP changes (Daniel Walker): needs review
> >
> > This one seems to have slipped through the cracks:
> > http://lkml.org/lkml/2007/8/16/135
>
> Seems to be missed again :-/
>

Will work on that tonight.

-- Steve