* [regression] Latest git has WARN_ON storm with e1000e driver
@ 2008-10-03 8:41 Christian Borntraeger
2008-10-03 14:52 ` Linus Torvalds
2008-10-03 15:08 ` Arjan van de Ven
0 siblings, 2 replies; 13+ messages in thread
From: Christian Borntraeger @ 2008-10-03 8:41 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: linux-kernel, Jesse Brandeburg, Linus Torvalds
Hello Thomas,
I have e1000e compiled into my kernel and
commit 717d438d1fde94decef874b9808379d1f4523453
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Thu Oct 2 16:33:40 2008 -0700
e1000e: debug contention on NVM SWFLAG
Causes a storm of
[ 15.600387] ------------[ cut here ]------------
[ 15.600388] WARNING: at drivers/net/e1000e/ich8lan.c:399
e1000_acquire_swflag_ich8lan+0xde/0xf0()
[ 15.600389] Modules linked in:
[ 15.600390] Pid: 1, comm: swapper Tainted: G W
2.6.27-rc8-00055-gb5ff7df #26
[ 15.600391] [<c01421cf>] warn_on_slowpath+0x5f/0xa0
[ 15.600394] [<c0464999>] __devinet_sysctl_register+0xc9/0x100
[ 15.600396] [<c015bf0e>] sched_clock_cpu+0xde/0x180
[ 15.600399] [<c015ae98>] down_trylock+0x28/0x40
[ 15.600400] [<c04df645>] _spin_unlock+0x5/0x20
[ 15.600402] [<c02944a4>] delay_tsc+0x84/0xb0
[ 15.600404] [<c031bd6e>] e1000_acquire_swflag_ich8lan+0xde/0xf0
[ 15.600406] [<c031b716>] e1000_read_flash_word_ich8lan+0x76/0xb0
[ 15.600408] [<c031c05b>] e1000_read_nvm_ich8lan+0x5b/0xf0
[ 15.600410] [<c031ecb4>] e1000e_read_pba_num+0x64/0x80
[ 15.600412] [<c04d2158>] e1000_probe+0xb98/0xc20
[ 15.600414] [<c02a4f0e>] pci_device_probe+0x5e/0x80
[ 15.600416] [<c030d416>] driver_probe_device+0x86/0x1a0
[ 15.600418] [<c04df373>] _spin_lock_irqsave+0x33/0x50
[ 15.600420] [<c030d5a1>] __driver_attach+0x71/0x80
[ 15.600422] [<c02a4e50>] pci_device_remove+0x0/0x40
[ 15.600424] [<c030cd44>] bus_for_each_dev+0x44/0x70
[ 15.600426] [<c02a4e50>] pci_device_remove+0x0/0x40
[ 15.600427] [<c030d2a6>] driver_attach+0x16/0x20
[ 15.600430] [<c030d530>] __driver_attach+0x0/0x80
[ 15.600432] [<c030c70f>] bus_add_driver+0x19f/0x220
[ 15.600434] [<c02a4e50>] pci_device_remove+0x0/0x40
[ 15.600435] [<c030d73c>] driver_register+0x5c/0x130
[ 15.600437] [<c06aa88f>] thinkpad_acpi_module_init+0x7b2/0x983
[ 15.600439] [<c06aaa60>] e1000_init_module+0x0/0x70
[ 15.600441] [<c02a5157>] __pci_register_driver+0x47/0x90
[ 15.600443] [<c06aaaa5>] e1000_init_module+0x45/0x70
[ 15.600445] [<c01012ea>] do_one_initcall+0x2a/0x190
[ 15.600446] [<c01defb4>] create_proc_entry+0x54/0xa0
[ 15.600449] [<c0175411>] register_irq_proc+0xc1/0xe0
[ 15.600451] [<c0175478>] init_irq_proc+0x48/0x60
[ 15.600452] [<c068e85d>] kernel_init+0x11a/0x17d
[ 15.600454] [<c068e743>] kernel_init+0x0/0x17d
[ 15.600456] [<c011d48b>] kernel_thread_helper+0x7/0x1c
[ 15.600458] =======================
[ 15.600459] ---[ end trace 1caa30bae2a6fa92 ]---
This is caused by holding a spinlock (__driver_attach) and checking for
preempt_count (e1000_acquire_swflag_ich8lan).
I suggest to revert this commit, since we cannot take a mutex while holding a
spinlock.
The simple solution of replacing the mutex with a spinlock does not work,
since we call msleep on several places in the code. Replacing all that code
doesnt look like 2.6.27 material.
Christian
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 8:41 [regression] Latest git has WARN_ON storm with e1000e driver Christian Borntraeger
@ 2008-10-03 14:52 ` Linus Torvalds
2008-10-03 15:20 ` Christian Borntraeger
2008-10-03 15:08 ` Arjan van de Ven
1 sibling, 1 reply; 13+ messages in thread
From: Linus Torvalds @ 2008-10-03 14:52 UTC (permalink / raw)
To: Christian Borntraeger; +Cc: Thomas Gleixner, linux-kernel, Jesse Brandeburg
On Fri, 3 Oct 2008, Christian Borntraeger wrote:
>
> This is caused by holding a spinlock (__driver_attach) and checking for
> preempt_count (e1000_acquire_swflag_ich8lan).
Which spinlock is it? It sure shouldn't be anything in the generic drievr
layer: __driver_attach takes a lock, but it's a semaphore (dev->sem), not
a spinlock. In fact, al lot of drivers will sleep or do allocations, so if
the driver layer were to call the probe function with a spinlock held,
things would be really broken.
The callchain has "spin_lock_irqsave" in it, but that's stale stack data.
Linus
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 8:41 [regression] Latest git has WARN_ON storm with e1000e driver Christian Borntraeger
2008-10-03 14:52 ` Linus Torvalds
@ 2008-10-03 15:08 ` Arjan van de Ven
1 sibling, 0 replies; 13+ messages in thread
From: Arjan van de Ven @ 2008-10-03 15:08 UTC (permalink / raw)
To: Christian Borntraeger
Cc: Thomas Gleixner, linux-kernel, Jesse Brandeburg, Linus Torvalds
On Fri, 3 Oct 2008 10:41:49 +0200
Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> This is caused by holding a spinlock (__driver_attach) and checking
> for preempt_count (e1000_acquire_swflag_ich8lan).
>
> I suggest to revert this commit, since we cannot take a mutex while
> holding a spinlock.
> The simple solution of replacing the mutex with a spinlock does not
> work, since we call msleep on several places in the code. Replacing
> all that code doesnt look like 2.6.27 material.
hi,
could you do a run with frame pointers enabled?
that should clear up the stack noise....
--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 14:52 ` Linus Torvalds
@ 2008-10-03 15:20 ` Christian Borntraeger
2008-10-03 15:36 ` Linus Torvalds
0 siblings, 1 reply; 13+ messages in thread
From: Christian Borntraeger @ 2008-10-03 15:20 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Thomas Gleixner, linux-kernel, Jesse Brandeburg
Am Freitag, 3. Oktober 2008 schrieben Sie:
> Which spinlock is it? It sure shouldn't be anything in the generic drievr
> layer: __driver_attach takes a lock, but it's a semaphore (dev->sem), not
> a spinlock. In fact, al lot of drivers will sleep or do allocations, so if
> the driver layer were to call the probe function with a spinlock held,
> things would be really broken.
>
> The callchain has "spin_lock_irqsave" in it, but that's stale stack data.
Very good point indeed. Seems my analysis was wrong. I made a short test and
preempt_count() returns 1 when the WARN_ON triggers. So its either a spinlock
or something else that increased my preempt_count.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 15:20 ` Christian Borntraeger
@ 2008-10-03 15:36 ` Linus Torvalds
2008-10-03 15:50 ` Christian Borntraeger
2008-10-03 15:55 ` Christian Borntraeger
0 siblings, 2 replies; 13+ messages in thread
From: Linus Torvalds @ 2008-10-03 15:36 UTC (permalink / raw)
To: Christian Borntraeger
Cc: Thomas Gleixner, Linux Kernel Mailing List, Jesse Brandeburg,
Arjan van de Ven
On Fri, 3 Oct 2008, Christian Borntraeger wrote:
>
> Very good point indeed. Seems my analysis was wrong. I made a short test and
> preempt_count() returns 1 when the WARN_ON triggers. So its either a spinlock
> or something else that increased my preempt_count.
Ok, I can repro it. I couldn't see it before because I usually don't have
PREEMPT even enabled. Enabling PREEMPT and PREEMPT_DEBUG gets me the
messages too. Jesse?
The call trace is much better with frame pointers enabled, loke so (with
the '?' entries removed as stale):
Call Trace:
warn_on_slowpath+0x53/0x7a
e1000_acquire_swflag_ich8lan+0x2d/0xe1
e1000_read_nvm_ich8lan+0x4f/0xee
e1000e_read_pba_num+0x4e/0x69
e1000_probe+0xa32/0xb71
pci_device_probe+0x4c/0x72
driver_probe_device+0xc0/0x16e
__driver_attach+0x4f/0x79
bus_for_each_dev+0x4f/0x89
driver_attach+0x1c/0x1e
bus_add_driver+0xb7/0x1f4
driver_register+0xa8/0x128
__pci_register_driver+0x66/0x9d
e1000_init_module+0x4f/0x6b
_stext+0x47/0x13f
kernel_init+0x127/0x17b
child_rip+0xa/0x11
and yes, there's quite a lot of them. I'm not seeing what disables
preemption, though. I'll look at it some more, but I decided I should
post that cleaned-up call chain so that others can do so too..
Linus
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 15:36 ` Linus Torvalds
@ 2008-10-03 15:50 ` Christian Borntraeger
2008-10-03 15:55 ` Christian Borntraeger
1 sibling, 0 replies; 13+ messages in thread
From: Christian Borntraeger @ 2008-10-03 15:50 UTC (permalink / raw)
To: Linus Torvalds
Cc: Thomas Gleixner, Linux Kernel Mailing List, Jesse Brandeburg,
Arjan van de Ven
Am Freitag, 3. Oktober 2008 schrieb Linus Torvalds:
> Ok, I can repro it. I couldn't see it before because I usually don't have
> PREEMPT even enabled. Enabling PREEMPT and PREEMPT_DEBUG gets me the
> messages too. Jesse?
I ow enabled FRAMEBUFFERS and increased the log size to actually get the first
one. Its different from yours, but should be the same problem.
According to grep I have 265 warnings in dmesg.
[ 0.853027] e1000e: Intel(R) PRO/1000 Network Driver - 0.3.3.3-k6
[ 0.867831] e1000e: Copyright (c) 1999-2008 Intel Corporation.
[ 0.882588] e1000e 0000:00:19.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[ 0.897300] e1000e 0000:00:19.0: setting latency timer to 64
[ 0.897456] ------------[ cut here ]------------
[ 0.912011] WARNING: at drivers/net/e1000e/ich8lan.c:399
e1000_acquire_swflag_ich8lan+0xe7/0xf0()
[ 0.926825] Modules linked in:
[ 0.941486] Pid: 1, comm: swapper Not tainted 2.6.27-rc8-00055-gb5ff7df #34
[ 0.956340] [<c04da2c1>] ? printk+0x18/0x1f
[ 0.971205] [<c0141ae4>] warn_on_slowpath+0x54/0x80
[ 0.986110] [<c013741b>] ? kunmap_atomic+0x3b/0xc0
[ 1.001016] [<c0134dd3>] ? change_page_attr_set_clr+0xc3/0x1b0
[ 1.015966] [<c0319a67>] e1000_acquire_swflag_ich8lan+0xe7/0xf0
[ 1.030827] [<c013507f>] ? _set_memory_uc+0x1f/0x30
[ 1.045530] [<c031e48c>] e1000e_read_phy_reg_igp+0x1c/0x70
[ 1.060097] [<c031e54e>] e1000e_get_phy_id+0x1e/0x80
[ 1.074481] [<c031e5cf>] e1000e_determine_phy_address+0x1f/0x50
[ 1.088705] [<c031a87f>] e1000_get_variants_ich8lan+0xdf/0x250
[ 1.102774] [<c04cea3f>] e1000_probe+0x40f/0xc80
[ 1.116727] [<c01e5056>] ? sysfs_addrm_finish+0x16/0x200
[ 1.130557] [<c01e4833>] ? sysfs_add_one+0x13/0x50
[ 1.144120] [<c01e48c1>] ? sysfs_addrm_start+0x51/0x90
[ 1.144128] [<c02a0d65>] ? pci_match_device+0xb5/0xc0
[ 1.144136] [<c02a156e>] pci_device_probe+0x5e/0x80
[ 1.144143] [<c030aeb2>] driver_probe_device+0x82/0x1a0
[ 1.144152] [<c030b041>] __driver_attach+0x71/0x80
[ 1.144159] [<c030a7c3>] bus_for_each_dev+0x53/0x80
[ 1.144165] [<c02a14b0>] ? pci_device_remove+0x0/0x40
[ 1.144172] [<c030ad39>] driver_attach+0x19/0x20
[ 1.144179] [<c030afd0>] ? __driver_attach+0x0/0x80
[ 1.144186] [<c030a197>] bus_add_driver+0x1a7/0x220
[ 1.144193] [<c02a14b0>] ? pci_device_remove+0x0/0x40
[ 1.144200] [<c030b1e9>] driver_register+0x69/0x150
[ 1.144206] [<c0315040>] ? fan_write+0x0/0x3c0
[ 1.144213] [<c06a8080>] ? e1000_init_module+0x0/0x70
[ 1.144221] [<c02a178a>] __pci_register_driver+0x4a/0xa0
[ 1.144228] [<c06a8080>] ? e1000_init_module+0x0/0x70
[ 1.144235] [<c06a80c8>] e1000_init_module+0x48/0x70
[ 1.144241] [<c01012f6>] do_one_initcall+0x26/0x170
[ 1.144248] [<c01ddab4>] ? create_proc_entry+0x54/0xb0
[ 1.144255] [<c017502e>] ? register_irq_proc+0xbe/0xe0
[ 1.144264] [<c0175098>] ? init_irq_proc+0x48/0x60
[ 1.144271] [<c068b89d>] kernel_init+0x11a/0x17d
[ 1.144279] [<c068b783>] ? kernel_init+0x0/0x17d
[ 1.144285] [<c011d207>] kernel_thread_helper+0x7/0x10
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 15:36 ` Linus Torvalds
2008-10-03 15:50 ` Christian Borntraeger
@ 2008-10-03 15:55 ` Christian Borntraeger
2008-10-03 16:05 ` Linus Torvalds
2008-10-03 16:25 ` Christian Borntraeger
1 sibling, 2 replies; 13+ messages in thread
From: Christian Borntraeger @ 2008-10-03 15:55 UTC (permalink / raw)
To: Linus Torvalds
Cc: Thomas Gleixner, Linux Kernel Mailing List, Jesse Brandeburg,
Arjan van de Ven
I got an idea,
kernel_init does lock_kernel (which does preempt_disable).
The kernel_unlock is done in init_post. As far as I can see, this happens
after the driver init calls.
Christian
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 15:55 ` Christian Borntraeger
@ 2008-10-03 16:05 ` Linus Torvalds
2008-10-03 16:23 ` Linus Torvalds
` (2 more replies)
2008-10-03 16:25 ` Christian Borntraeger
1 sibling, 3 replies; 13+ messages in thread
From: Linus Torvalds @ 2008-10-03 16:05 UTC (permalink / raw)
To: Christian Borntraeger
Cc: Thomas Gleixner, Linux Kernel Mailing List, Jesse Brandeburg,
Arjan van de Ven
On Fri, 3 Oct 2008, Christian Borntraeger wrote:
>
> kernel_init does lock_kernel (which does preempt_disable).
> The kernel_unlock is done in init_post. As far as I can see, this happens
> after the driver init calls.
Yes. I just came to the same conclusion: preempt_count is 1 already in
do_one_initcall().
So this whole bug is actually because that debug test is just _broken_. It
shouldn't be WARN_ON(preempt_count()), it should be 'might_sleep()', which
does it right.
The right thing to check is "in_atomic() || irqs_disabled()".
Duh. That was wasted effort for a buggy test.
Linus
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 16:05 ` Linus Torvalds
@ 2008-10-03 16:23 ` Linus Torvalds
2008-10-03 16:25 ` Brandeburg, Jesse
2008-10-03 19:41 ` Thomas Gleixner
2 siblings, 0 replies; 13+ messages in thread
From: Linus Torvalds @ 2008-10-03 16:23 UTC (permalink / raw)
To: Christian Borntraeger
Cc: Thomas Gleixner, Linux Kernel Mailing List, Jesse Brandeburg,
Arjan van de Ven
On Fri, 3 Oct 2008, Linus Torvalds wrote:
>
> So this whole bug is actually because that debug test is just _broken_. It
> shouldn't be WARN_ON(preempt_count()), it should be 'might_sleep()', which
> does it right.
Tested and confirmed. Committed and pushed out,
Linus
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 16:05 ` Linus Torvalds
2008-10-03 16:23 ` Linus Torvalds
@ 2008-10-03 16:25 ` Brandeburg, Jesse
2008-10-03 16:36 ` Linus Torvalds
2008-10-03 19:41 ` Thomas Gleixner
2 siblings, 1 reply; 13+ messages in thread
From: Brandeburg, Jesse @ 2008-10-03 16:25 UTC (permalink / raw)
To: Linus Torvalds, Christian Borntraeger
Cc: Thomas Gleixner, Linux Kernel Mailing List, Arjan van de Ven
Linus Torvalds wrote:
> So this whole bug is actually because that debug test is just
> _broken_. It shouldn't be WARN_ON(preempt_count()), it should be
> 'might_sleep()', which does it right.
>
> The right thing to check is "in_atomic() || irqs_disabled()".
okay, do you want me to post a patch? I think Thomas is probably
offline due to fridaynightitis. Change the code to:?
WARN_ON(in_atomic() || irqs_disabled);
> Duh. That was wasted effort for a buggy test.
Apologies for not catching it.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 15:55 ` Christian Borntraeger
2008-10-03 16:05 ` Linus Torvalds
@ 2008-10-03 16:25 ` Christian Borntraeger
1 sibling, 0 replies; 13+ messages in thread
From: Christian Borntraeger @ 2008-10-03 16:25 UTC (permalink / raw)
To: Linus Torvalds
Cc: Thomas Gleixner, Linux Kernel Mailing List, Jesse Brandeburg,
Arjan van de Ven
This patch seems to fix it. Comments?
kernel_init uses lock_kernel to serialize the initialization. If the driver
is compiled into the kernel, the probe function of e1000e is called under
this lock and therefore the WARN_ON(preempt_count()) triggers. We can now
1. remove this WARN_ON
2. check for SYSTEM_RUNNING
This patch implements 2.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 0b6095b..cca9731 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -396,7 +396,7 @@ static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw)
u32 extcnf_ctrl;
u32 timeout = PHY_CFG_TIMEOUT;
- WARN_ON(preempt_count());
+ WARN_ON(system_state == SYSTEM_RUNNING && preempt_count());
if (!mutex_trylock(&nvm_mutex)) {
WARN(1, KERN_ERR "e1000e mutex contention. Owned by pid %d\n",
^ permalink raw reply related [flat|nested] 13+ messages in thread
* RE: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 16:25 ` Brandeburg, Jesse
@ 2008-10-03 16:36 ` Linus Torvalds
0 siblings, 0 replies; 13+ messages in thread
From: Linus Torvalds @ 2008-10-03 16:36 UTC (permalink / raw)
To: Brandeburg, Jesse
Cc: Christian Borntraeger, Thomas Gleixner, Linux Kernel Mailing List,
Arjan van de Ven
On Fri, 3 Oct 2008, Brandeburg, Jesse wrote:
>
> Linus Torvalds wrote:
> > So this whole bug is actually because that debug test is just
> > _broken_. It shouldn't be WARN_ON(preempt_count()), it should be
> > 'might_sleep()', which does it right.
> >
> > The right thing to check is "in_atomic() || irqs_disabled()".
>
> okay, do you want me to post a patch? I think Thomas is probably
> offline due to fridaynightitis. Change the code to:?
>
> WARN_ON(in_atomic() || irqs_disabled);
No, literally just "might_sleep()". It then does everything right,
including taking into account that we allow certain behavior during bootup
that we don't allow later.
Linus
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [regression] Latest git has WARN_ON storm with e1000e driver
2008-10-03 16:05 ` Linus Torvalds
2008-10-03 16:23 ` Linus Torvalds
2008-10-03 16:25 ` Brandeburg, Jesse
@ 2008-10-03 19:41 ` Thomas Gleixner
2 siblings, 0 replies; 13+ messages in thread
From: Thomas Gleixner @ 2008-10-03 19:41 UTC (permalink / raw)
To: Linus Torvalds
Cc: Christian Borntraeger, Linux Kernel Mailing List,
Jesse Brandeburg, Arjan van de Ven
On Fri, 3 Oct 2008, Linus Torvalds wrote:
> On Fri, 3 Oct 2008, Christian Borntraeger wrote:
> >
> > kernel_init does lock_kernel (which does preempt_disable).
> > The kernel_unlock is done in init_post. As far as I can see, this happens
> > after the driver init calls.
>
> Yes. I just came to the same conclusion: preempt_count is 1 already in
> do_one_initcall().
>
> So this whole bug is actually because that debug test is just _broken_. It
> shouldn't be WARN_ON(preempt_count()), it should be 'might_sleep()', which
> does it right.
>
> The right thing to check is "in_atomic() || irqs_disabled()".
>
> Duh. That was wasted effort for a buggy test.
Stupid me. Yes I should have used might_sleep. It just did not trigger
here as I did not have the driver compiled into the kernel.
Sorry,
tglx
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2008-10-03 19:43 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-03 8:41 [regression] Latest git has WARN_ON storm with e1000e driver Christian Borntraeger
2008-10-03 14:52 ` Linus Torvalds
2008-10-03 15:20 ` Christian Borntraeger
2008-10-03 15:36 ` Linus Torvalds
2008-10-03 15:50 ` Christian Borntraeger
2008-10-03 15:55 ` Christian Borntraeger
2008-10-03 16:05 ` Linus Torvalds
2008-10-03 16:23 ` Linus Torvalds
2008-10-03 16:25 ` Brandeburg, Jesse
2008-10-03 16:36 ` Linus Torvalds
2008-10-03 19:41 ` Thomas Gleixner
2008-10-03 16:25 ` Christian Borntraeger
2008-10-03 15:08 ` Arjan van de Ven
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.