From: Peter Zijlstra <peterz@infradead.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
Thomas Gleixner <tglx@tglx.de>,
LKML <linux-kernel@vger.kernel.org>,
rt-users <linux-rt-users@vger.kernel.org>,
Steven Rostedt <rostedt@goodmis.org>, Carsten Emde <ce@ceag.ch>,
Clark Williams <williams@redhat.com>,
rusty <rusty@rustcorp.com.au>
Subject: Re: [patch] generic-ipi: remove kmalloc, cleanup
Date: Thu, 12 Feb 2009 13:09:14 +0100 [thread overview]
Message-ID: <1234440554.23438.264.camel@twins> (raw)
In-Reply-To: <1234433770.23438.210.camel@twins>
On Thu, 2009-02-12 at 11:16 +0100, Peter Zijlstra wrote:
> On Thu, 2009-02-12 at 11:07 +0100, Ingo Molnar wrote:
> > * Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > > On Thu, 2009-02-12 at 09:19 +0100, Ingo Molnar wrote:
> > > > * Ingo Molnar <mingo@elte.hu> wrote:
> > > >
> > > > > hm, that's a complex one - we do kfree() from IPI context, [...]
> > > >
> > > > The patch below might do the trick - it offloads this to a softirq.
> > > > Not tested yet.
> > >
> > > The simple fix is something like:
> > >
> > > ---
> > > kernel/smp.c | 8 ++++++++
> > > 1 files changed, 8 insertions(+), 0 deletions(-)
> >
> > ok, i made it unconditional (not just a PREEMPT_RT hac) and did the
> > cleanup below on top of it.
> >
> > I dont think repeat, queued IPIs are all that interesting from a
> > performance point of view. If they are, it will all be clearly
> > bisectable.
>
> Right, except I really don't like the smp_call_function_many() slow path
> that's now the only path.
>
> Rusty did that I think, but he also had some idea on how to fix it, I
> think it boiled down to sticking a count in the call data instead of the
> full cpumask.
>
> So I'd rather we first fix that code, and then remove the kmalloc
> all-together like you propose here.
Right, I can't see a way around carrying that cpumask, there's just too
much that can go wrong without it.
So it put in unconditionally, how about this?
--
Subject: generic-smp: remove single ipi fallback for smp_call_function_many()
In preparation of removing the kmalloc() calls from the generic-ipi code
get rid of the single ipi fallback for smp_call_function_many().
Because we cannot get around carrying the cpumask in the data -- imagine
2 such calls with different but overlapping masks -- put in a full mask.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
kernel/smp.c | 47 ++++++++++++++++++++++++-----------------------
1 files changed, 24 insertions(+), 23 deletions(-)
diff --git a/kernel/smp.c b/kernel/smp.c
index bbedbb7..e6658e5 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -26,7 +26,7 @@ struct call_function_data {
spinlock_t lock;
unsigned int refs;
struct rcu_head rcu_head;
- unsigned long cpumask_bits[];
+ struct cpumask cpumask;
};
struct call_single_queue {
@@ -111,13 +111,13 @@ void generic_smp_call_function_interrupt(void)
list_for_each_entry_rcu(data, &call_function_queue, csd.list) {
int refs;
- if (!cpumask_test_cpu(cpu, to_cpumask(data->cpumask_bits)))
+ if (!cpumask_test_cpu(cpu, &data->cpumask))
continue;
data->csd.func(data->csd.info);
spin_lock(&data->lock);
- cpumask_clear_cpu(cpu, to_cpumask(data->cpumask_bits));
+ cpumask_clear_cpu(cpu, &data->cpumask);
WARN_ON(data->refs == 0);
data->refs--;
refs = data->refs;
@@ -137,8 +137,10 @@ void generic_smp_call_function_interrupt(void)
*/
smp_wmb();
data->csd.flags &= ~CSD_FLAG_WAIT;
- }
- if (data->csd.flags & CSD_FLAG_ALLOC)
+ } else if (data->csd.flags & CSD_FLAG_LOCK) {
+ smp_wmb();
+ data->csd.flags &= ~CSD_FLAG_LOCK;
+ } else if (data->csd.flags & CSD_FLAG_ALLOC)
call_rcu(&data->rcu_head, rcu_free_call_data);
}
rcu_read_unlock();
@@ -302,6 +304,8 @@ void __smp_call_function_single(int cpu, struct call_single_data *data)
arch_send_call_function_ipi(*(maskp))
#endif
+static DEFINE_PER_CPU(struct call_function_data, cfd_data);
+
/**
* smp_call_function_many(): Run a function on a set of other CPUs.
* @mask: The set of cpus to run on (only runs on online subset).
@@ -323,14 +327,14 @@ void smp_call_function_many(const struct cpumask *mask,
{
struct call_function_data *data;
unsigned long flags;
- int cpu, next_cpu;
+ int cpu, next_cpu, me = smp_processor_id();
/* Can deadlock when called with interrupts disabled */
WARN_ON(irqs_disabled());
/* So, what's a CPU they want? Ignoring this one. */
cpu = cpumask_first_and(mask, cpu_online_mask);
- if (cpu == smp_processor_id())
+ if (cpu == me)
cpu = cpumask_next_and(cpu, mask, cpu_online_mask);
/* No online cpus? We're done. */
if (cpu >= nr_cpu_ids)
@@ -338,7 +342,7 @@ void smp_call_function_many(const struct cpumask *mask,
/* Do we have another CPU which isn't us? */
next_cpu = cpumask_next_and(cpu, mask, cpu_online_mask);
- if (next_cpu == smp_processor_id())
+ if (next_cpu == me)
next_cpu = cpumask_next_and(next_cpu, mask, cpu_online_mask);
/* Fastpath: do that cpu by itself. */
@@ -347,27 +351,24 @@ void smp_call_function_many(const struct cpumask *mask,
return;
}
- data = kmalloc(sizeof(*data) + cpumask_size(), GFP_ATOMIC);
- if (unlikely(!data)) {
- /* Slow path. */
- for_each_online_cpu(cpu) {
- if (cpu == smp_processor_id())
- continue;
- if (cpumask_test_cpu(cpu, mask))
- smp_call_function_single(cpu, func, info, wait);
- }
- return;
+ data = kmalloc(sizeof(*data), GFP_ATOMIC);
+ if (data)
+ data->csd.flags = CSD_FLAG_ALLOC;
+ else {
+ data = &per_cpu(cfd_data, me);
+ while (data->csd.flags & CSD_FLAG_LOCK)
+ cpu_relax();
+ data->csd.flags = CSD_FLAG_LOCK;
}
spin_lock_init(&data->lock);
- data->csd.flags = CSD_FLAG_ALLOC;
if (wait)
data->csd.flags |= CSD_FLAG_WAIT;
data->csd.func = func;
data->csd.info = info;
- cpumask_and(to_cpumask(data->cpumask_bits), mask, cpu_online_mask);
- cpumask_clear_cpu(smp_processor_id(), to_cpumask(data->cpumask_bits));
- data->refs = cpumask_weight(to_cpumask(data->cpumask_bits));
+ cpumask_and(&data->cpumask, mask, cpu_online_mask);
+ cpumask_clear_cpu(smp_processor_id(), &data->cpumask);
+ data->refs = cpumask_weight(&data->cpumask);
spin_lock_irqsave(&call_function_lock, flags);
list_add_tail_rcu(&data->csd.list, &call_function_queue);
@@ -379,7 +380,7 @@ void smp_call_function_many(const struct cpumask *mask,
smp_mb();
/* Send a message to all CPUs in the map */
- arch_send_call_function_ipi_mask(to_cpumask(data->cpumask_bits));
+ arch_send_call_function_ipi_mask(&data->cpumask);
/* optionally wait for the CPUs to complete */
if (wait)
next prev parent reply other threads:[~2009-02-12 12:07 UTC|newest]
Thread overview: 275+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-11 22:43 [Announce] 2.6.29-rc4-rt1 Thomas Gleixner
2009-02-12 0:50 ` Frederic Weisbecker
2009-02-12 2:12 ` Frederic Weisbecker
2009-02-12 8:18 ` Ingo Molnar
2009-02-12 8:19 ` [patch] rt: fix ipi kfree(), introduce IPI_SOFTIRQ Ingo Molnar
2009-02-12 8:22 ` Ingo Molnar
2009-02-12 8:27 ` Ingo Molnar
2009-02-12 9:22 ` Peter Zijlstra
2009-02-12 10:07 ` [patch] generic-ipi: remove kmalloc, cleanup Ingo Molnar
2009-02-12 10:16 ` Peter Zijlstra
2009-02-12 12:09 ` Peter Zijlstra [this message]
2009-02-12 12:36 ` Peter Zijlstra
2009-02-12 15:43 ` Steven Rostedt
2009-02-12 15:57 ` Peter Zijlstra
2009-02-13 21:16 ` Rusty Russell
2009-02-13 23:48 ` Peter Zijlstra
2009-02-16 7:16 ` Rusty Russell
2009-02-16 9:57 ` Peter Zijlstra
2009-02-12 14:34 ` Frederic Weisbecker
2009-02-12 14:42 ` Peter Zijlstra
2009-02-12 10:50 ` [patch] sched: cpu hotplug fix Ingo Molnar
2009-02-12 10:16 ` [patch] rt: res_counter fix Ingo Molnar
2009-02-12 10:21 ` [patch] rt: res_counter fix, v2 Ingo Molnar
2009-02-12 10:46 ` KAMEZAWA Hiroyuki
2009-02-12 11:28 ` Ingo Molnar
2009-02-12 12:35 ` KAMEZAWA Hiroyuki
2009-02-12 16:58 ` Balbir Singh
2009-02-12 17:29 ` Peter Zijlstra
2009-02-12 23:56 ` KAMEZAWA Hiroyuki
2009-02-13 0:29 ` KAMEZAWA Hiroyuki
2009-02-12 14:28 ` Frederic Weisbecker
2009-02-12 14:41 ` Peter Zijlstra
2009-02-12 14:46 ` Ingo Molnar
2009-02-12 14:50 ` Frederic Weisbecker
2009-02-12 14:58 ` Peter Zijlstra
2009-02-12 14:51 ` Peter Zijlstra
2009-02-12 2:55 ` [Announce] 2.6.29-rc4-rt1 Clark Williams
2009-02-12 8:38 ` [patch] irq threading: fix PF_HARDIRQ definition Ingo Molnar
2009-02-12 8:42 ` Ingo Molnar
2009-02-12 16:50 ` Clark Williams
2009-02-12 22:56 ` [Announce] 2.6.29-rc4-rt2 Thomas Gleixner
2009-02-13 0:48 ` Frederic Weisbecker
2009-02-13 2:16 ` Frederic Weisbecker
2009-02-13 3:09 ` Frederic Weisbecker
2009-02-13 7:26 ` [patch] rt: sysprof hrtimer fix Ingo Molnar
2009-02-13 12:04 ` Frederic Weisbecker
2009-02-13 12:49 ` Ingo Molnar
2009-02-13 20:03 ` Frederic Weisbecker
2009-02-19 18:44 ` [Announce] 2.6.29-rc4-rt2 Thomas Meyer
2009-02-19 20:50 ` Peter Zijlstra
2009-02-20 6:32 ` Thomas Meyer
2009-02-20 7:49 ` Peter Zijlstra
2009-02-20 15:09 ` Thomas Meyer
2009-02-20 16:17 ` Ingo Molnar
2009-02-20 22:25 ` Sven-Thorsten Dietrich
2009-02-20 22:54 ` Peter Zijlstra
2009-02-21 0:57 ` Sven-Thorsten Dietrich
2009-02-21 17:04 ` Thomas Meyer
2009-02-21 17:19 ` Frederic Weisbecker
2009-02-22 13:20 ` Thomas Meyer
2009-02-23 19:44 ` [Announce] 2.6.29-rc6-rt2 Thomas Gleixner
2009-02-24 17:51 ` Thomas Gleixner
2009-02-24 17:57 ` [Announce] 2.6.29-rc6-rt3 Thomas Gleixner
2009-02-25 19:34 ` Thomas Meyer
2009-02-25 18:43 ` Peter Zijlstra
2009-02-26 18:46 ` Thomas Meyer
2009-03-12 19:17 ` [Announce] 2.6.29-rc7-rt1 Thomas Gleixner
2009-03-12 20:43 ` Tim Sander
2009-03-13 0:34 ` Uwe Kleine-König
2009-03-13 1:04 ` some ARM fixes for 2.6.29-rc7-rt1 Uwe Kleine-König
2009-03-15 6:48 ` Uwe Kleine-König
2009-03-20 0:31 ` [Announce] 2.6.29-rc78rt1 Thomas Gleixner
2009-03-20 16:31 ` Cliff Brake
2009-03-20 17:48 ` Thomas Gleixner
2009-03-20 17:45 ` [Announce] 2.6.29-rc8-rt2 Thomas Gleixner
2009-03-20 19:19 ` Will Schmidt
2009-03-20 19:25 ` Ingo Molnar
2009-03-23 16:26 ` [Announce] 2.6.29-rc8-rt3 Thomas Gleixner
2009-03-24 11:04 ` Frederic Weisbecker
2009-03-24 21:07 ` Uwe Kleine-König
2009-03-25 20:59 ` [Announce] 2.6.29-rt1 Thomas Gleixner
2009-03-25 21:05 ` Jaswinder Singh Rajput
2009-03-25 21:09 ` Thomas Gleixner
2009-03-26 7:52 ` GeunSik Lim
2009-03-26 8:02 ` GeunSik Lim
2009-04-02 0:17 ` [Announce] 2.6.29-rt2 Thomas Gleixner
2009-04-02 16:02 ` Will Schmidt
2009-04-02 16:45 ` Thomas Gleixner
2009-04-02 17:24 ` Will Schmidt
2009-04-03 9:43 ` Peter Zijlstra
2009-04-03 15:30 ` Will Schmidt
2009-04-03 17:21 ` [Announce] 2.6.29.1-rt4 Thomas Gleixner
2009-04-03 23:04 ` Fernando Lopez-Lezcano
2009-04-04 4:30 ` Thomas Gleixner
2009-04-04 6:57 ` Fernando Lopez-Lezcano
2009-04-05 13:53 ` Thomas Gleixner
2009-04-05 21:49 ` Fernando Lopez-Lezcano
2009-04-05 22:02 ` Thomas Gleixner
2009-04-05 23:10 ` Fernando Lopez-Lezcano
2009-04-06 19:54 ` Thomas Gleixner
2009-04-07 16:52 ` Fernando Lopez-Lezcano
2009-04-07 16:58 ` Thomas Gleixner
2009-04-07 18:13 ` Fernando Lopez-Lezcano
2009-04-07 17:14 ` Fernando Lopez-Lezcano
2009-04-05 3:28 ` GeunSik Lim
2009-04-05 8:47 ` Thomas Gleixner
2009-04-05 8:53 ` Thomas Gleixner
2009-04-08 17:49 ` [Announce] 2.6.29.1-rt5 Thomas Gleixner
2009-04-09 18:53 ` [Announce] 2.6.29.1-rt6 Thomas Gleixner
2009-04-10 8:12 ` GeunSik Lim
2009-04-10 22:05 ` [Announce] 2.6.29.1-rt7 Thomas Gleixner
2009-04-18 10:13 ` [Announce] 2.6.29.1-rt8 Thomas Gleixner
2009-04-21 1:47 ` [BUG] 2.6.29.1-rt8, undefined reference to hrtimer_wait_for_timer Wu Zhangjin
2009-04-25 13:03 ` [Announce] 2.6.29.1-rt9 Thomas Gleixner
2009-04-28 22:39 ` [Announce] 2.6.29.2-rt10 Thomas Gleixner
2009-05-01 21:53 ` Thomas Gleixner
2009-05-12 23:27 ` [Announce] 2.6.29.3-rt12 Thomas Gleixner
2009-05-13 0:16 ` Hugo Vincent
2009-05-13 10:19 ` Thomas Gleixner
2009-05-13 10:24 ` Peter Zijlstra
2009-05-13 11:05 ` Thomas Gleixner
2009-05-22 13:02 ` [Announce] 2.6.29.4-rt15 Thomas Gleixner
2009-05-25 13:47 ` 2.6.29.4-rt16 Thomas Gleixner
2009-06-03 4:55 ` 2.6.29.4-rt16 GeunSik Lim
2009-06-10 17:02 ` [Announce] 2.6.29.4-rt17 Thomas Gleixner
2009-06-12 17:31 ` [Announce] 2.6.29.4-rt18 Thomas Gleixner
2009-06-15 9:19 ` 2.6.29.4-rt19 Thomas Gleixner
2009-06-17 8:45 ` [ANNOUNCE] 2.6.29.5-rt21 Thomas Gleixner
2009-06-23 12:30 ` [ANNOUNCE] 2.6.29.5-rt22 Thomas Gleixner
2009-07-09 18:25 ` [ANNOUNCE] 2.6.29.6-rt23 Thomas Gleixner
2009-07-10 18:03 ` Fernando Lopez-Lezcano
2009-07-10 18:29 ` Thomas Gleixner
2009-07-11 0:17 ` Fernando Lopez-Lezcano
2009-07-14 9:12 ` Jaswinder Singh Rajput
2009-08-11 10:52 ` Jan Engelhardt
2009-09-12 9:44 ` Jan Engelhardt
2009-07-30 0:48 ` [ANNOUNCE] 2.6.31-rc4-rt1 Thomas Gleixner
2009-07-30 9:56 ` Tim Blechmann
2009-07-30 23:04 ` Darren Hart
2009-07-30 23:20 ` Darren Hart
2009-07-31 14:12 ` Clark Williams
2009-07-31 23:22 ` Frederic Weisbecker
2009-08-01 0:42 ` Darren Hart
2009-08-01 1:20 ` Frederic Weisbecker
2009-08-01 9:48 ` Thomas Meyer
2009-08-05 1:30 ` john stultz
2009-08-05 6:06 ` gowrishankar
2009-08-05 13:32 ` Clark Williams
2009-08-06 6:46 ` [ANNOUNCE] 2.6.31-rc4-rt1 (problem with CONFIG_SYSFS_DEPRECATED_V2) gowrishankar
2009-08-06 14:36 ` Clark Williams
2009-08-06 14:46 ` Sven-Thorsten Dietrich
2009-08-06 14:55 ` John Kacur
2009-08-06 16:39 ` gowrishankar
2009-08-05 19:20 ` [ANNOUNCE] 2.6.31-rc4-rt1 Will Schmidt
2009-08-11 18:09 ` Thomas Gleixner
2009-08-12 20:45 ` Will Schmidt
2009-08-13 7:30 ` Thomas Gleixner
2009-08-13 15:04 ` Will Schmidt
2009-08-07 4:26 ` Sripathi Kodi
2009-08-07 14:30 ` Darren Hart
2009-08-07 20:39 ` Uwe Kleine-König
2009-08-07 20:42 ` [PATCH 1/6] ucb1x00: include linux/semaphore.h Uwe Kleine-König
2009-08-07 20:42 ` [PATCH 2/6] s3c2443-ac97: convert semaphore to mutex Uwe Kleine-König
2009-08-08 7:57 ` Mark Brown
2009-08-07 20:42 ` [PATCH 3/6] [ARM] msm: include linux/cache.h in proc_comm.c Uwe Kleine-König
2009-08-07 20:42 ` [PATCH 4/6] [ARM] ixp2000: fix type of ixp2000_timer_interrupt Uwe Kleine-König
2009-08-07 20:42 ` [PATCH 5/6] [NET] ixp2000/enp2611: don't set non-existent member get_stats Uwe Kleine-König
2009-08-10 4:49 ` David Miller
2009-08-10 9:40 ` Uwe Kleine-König
2009-08-10 15:00 ` David Miller
2009-08-07 20:42 ` [PATCH 6/6] [ARM] Use atomic_spin_lock/atomic_spin_unlock for irqdesc lock Uwe Kleine-König
2009-08-07 20:54 ` Uwe Kleine-König
2009-08-07 20:55 ` Uwe Kleine-König
2009-08-09 9:36 ` [PATCH RT 7/6] include linux/interrupt.h in mm/bounce.c Uwe Kleine-König
2009-08-09 9:36 ` [PATCH RT 8/6] [ARM, WATCHDOG] davinci: include mach/timex.h in davinci_wdt.c Uwe Kleine-König
2009-08-09 9:36 ` [PATCH RT 9/6] [RFH] Build failure on 2.6.31-rc4-rt1 in mm/highmem.c Uwe Kleine-König
2009-08-13 21:34 ` [PATCH] [RFC, RT] fix kmap_high_get Uwe Kleine-König
2009-08-14 14:02 ` [PATCH -rt] Fix kmap_high_get() Peter Zijlstra
2009-08-14 15:58 ` Nicolas Pitre
2009-08-14 20:13 ` Uwe Kleine-König
2009-08-09 9:43 ` [PATCH RT 8/6] [ARM, WATCHDOG] davinci: include mach/timex.h in davinci_wdt.c Russell King - ARM Linux
2009-08-10 16:48 ` Kevin Hilman
2009-08-10 17:26 ` Russell King - ARM Linux
2009-08-10 21:04 ` Kevin Hilman
2009-08-10 22:02 ` Russell King - ARM Linux
2009-08-13 15:06 ` Kevin Hilman
2009-08-16 14:08 ` Wim Van Sebroeck
2009-08-16 20:41 ` [ANNOUNCE] 2.6.31-rc6-rt2 Thomas Gleixner
2009-08-18 20:03 ` [ANNOUNCE] 2.6.31-rc6-rt4 Thomas Gleixner
2009-08-19 21:48 ` [ANNOUNCE] 2.6.31-rc6-rt5 Thomas Gleixner
2009-08-20 2:19 ` john stultz
2009-08-20 15:29 ` Dinakar Guniguntala
2009-08-21 21:26 ` [ANNOUNCE] 2.6.31-rc6-rt6 Thomas Gleixner
2009-08-26 17:23 ` [ANNOUNCE] 2.6.31-rc7-rt8 Thomas Gleixner
2009-08-27 11:03 ` Kevin Hilman
2009-08-28 21:36 ` Thomas Gleixner
2009-09-15 21:11 ` [ANNOUNCE] 2.6.31-rt10 Thomas Gleixner
2009-09-15 22:30 ` Thomas Gleixner
2009-09-18 22:39 ` [ANNOUNCE] 2.6.31-rt11 Thomas Gleixner
2009-09-19 4:34 ` Jaswinder Singh Rajput
2009-09-19 13:38 ` Steven Rostedt
2009-09-19 15:01 ` Jaswinder Singh Rajput
2009-09-20 23:22 ` Jon Masters
2009-09-20 23:34 ` Mark Knecht
2009-09-22 18:31 ` Darren Hart
2009-09-22 19:01 ` Clark Williams
2009-09-23 16:18 ` Darren Hart
2009-09-23 15:39 ` Jan Blunck
2009-09-23 16:25 ` Thomas Gleixner
2009-09-24 15:16 ` Jan Blunck
2009-09-23 21:33 ` Will Schmidt
2009-10-06 10:15 ` [ANNOUNCE] 2.6.31.2-rt13 Thomas Gleixner
2009-10-06 18:23 ` Remy Bohmer
2009-10-06 19:23 ` Thomas Gleixner
2009-10-06 20:07 ` Thomas Gleixner
2009-10-07 7:13 ` Remy Bohmer
2009-10-13 15:46 ` Remy Bohmer
2009-10-13 17:11 ` Thomas Gleixner
2009-10-14 10:02 ` [ANNOUNCE] 2.6.31.4-rt14 Thomas Gleixner
2009-11-04 2:13 ` Fernando Lopez-Lezcano
2009-11-04 8:38 ` Uwe Kleine-König
2009-11-05 19:33 ` Fernando Lopez-Lezcano
2009-11-05 19:41 ` Thomas Gleixner
2009-11-05 19:44 ` Fernando Lopez-Lezcano
2009-11-06 16:46 ` [ANNOUNCE] 2.6.31.5-rt17 Thomas Gleixner
2009-11-10 12:28 ` [ANNOUNCE] 2.6.31.6-rt19 Thomas Gleixner
2010-01-21 21:23 ` [ANNOUNCE] 2.6.31.12-rt20 Thomas Gleixner
2010-01-25 10:33 ` ARM fixes for 2.6.31.12-rt20 Uwe Kleine-König
2010-01-25 10:44 ` [PATCH] Rework kmap_high_get after kmap locking is gone Uwe Kleine-König
2010-01-25 12:45 ` ARM fixes for 2.6.31.12-rt20 Thomas Gleixner
2010-01-25 13:07 ` Uwe Kleine-König
2010-02-18 16:54 ` [ANNOUNCE] 2.6.31.12-rt21 Thomas Gleixner
2010-02-19 8:22 ` Xavier Miller
2010-02-21 23:24 ` [ANNOUNCE] 2.6.33-rc8-rt1 Thomas Gleixner
2010-02-22 11:11 ` John Kacur
2010-02-22 11:28 ` Thomas Gleixner
2010-02-22 12:23 ` John Kacur
2010-02-22 12:35 ` Luis Claudio R. Goncalves
2010-02-22 15:16 ` Thomas Gleixner
2010-02-22 15:53 ` John Kacur
2010-02-22 16:12 ` John Kacur
2010-02-24 1:08 ` GeunSik Lim
2010-02-24 1:19 ` Dhaval Giani
2010-02-24 14:43 ` GeunSik Lim
2010-02-24 15:09 ` Thomas Gleixner
2010-02-24 16:52 ` GeunSik Lim
2010-02-24 17:05 ` GeunSik Lim
2010-02-24 17:40 ` GeunSik Lim
2010-02-24 21:46 ` GeunSik Lim
2010-02-24 17:52 ` Thomas Gleixner
2010-02-24 21:54 ` GeunSik Lim
2010-02-24 4:40 ` Sujit K M
2010-02-22 13:27 ` [patch] latency_hist: fix small memory leak Dan Carpenter
2010-02-24 7:05 ` Carsten Emde
2010-02-22 13:29 ` [ANNOUNCE] 2.6.33-rc8-rt1 Dan Carpenter
2010-02-24 7:15 ` Carsten Emde
2010-02-24 12:20 ` 2.6.33-rc8-rt1 on Beagle Chatterjee, Amit
2010-02-25 11:06 ` Chatterjee, Amit
2010-03-01 15:06 ` Uwe Kleine-König
2010-03-01 16:14 ` Thomas Gleixner
2010-02-22 13:36 ` [ANNOUNCE] 2.6.33-rc8-rt1 Dan Carpenter
2010-02-22 15:00 ` Thomas Gleixner
2010-02-23 9:46 ` gowrishankar
2010-02-23 21:58 ` Arnaldo Carvalho de Melo
2010-02-23 19:01 ` [ANNOUNCE] 2.6.31.12-rt21 Fernando Lopez-Lezcano
2010-02-23 20:12 ` Peter Zijlstra
2009-09-02 15:25 ` [ANNOUNCE] 2.6.31-rc7-rt8 Wu Zhangjin
2009-08-18 21:04 ` [ANNOUNCE] 2.6.31-rc6-rt2 Will Schmidt
2009-08-18 21:14 ` Thomas Gleixner
2009-08-18 23:12 ` Will Schmidt
2009-08-19 17:12 ` Will Schmidt
2009-08-18 22:31 ` john stultz
2009-08-18 22:50 ` john stultz
2009-08-19 0:17 ` john stultz
2009-07-10 18:06 ` [ANNOUNCE] 2.6.29.5-rt22 Fernando Lopez-Lezcano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1234440554.23438.264.camel@twins \
--to=peterz@infradead.org \
--cc=ce@ceag.ch \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
--cc=rusty@rustcorp.com.au \
--cc=tglx@tglx.de \
--cc=williams@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox