linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "La Monte H.P. Yarroll" <piggy@timesys.com>
To: William Lee Irwin III <wli@holomorphy.com>
Cc: Joe Korty <joe.korty@ccur.com>,
	linux-kernel@vger.kernel.org, Greg Weeks <greg.weeks@timesys.com>,
	Scott Wood <scott@timesys.com>
Subject: Re: preempt-timing-2.6.8-rc1
Date: Tue, 13 Jul 2004 11:05:55 -0400	[thread overview]
Message-ID: <40F3FA53.2010907@timesys.com> (raw)
In-Reply-To: <20040713144028.GH21066@holomorphy.com>

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

William Lee Irwin III wrote:

>On Tue, Jul 13, 2004 at 05:28:05AM -0700, William Lee Irwin III wrote:
>  
>
>>>This patch uses the preemption counter increments and decrements to time
>>>non-preemptible critical sections.
>>>This is an instrumentation patch intended to help determine the causes of
>>>scheduling latency related to long non-preemptible critical sections.
>>>Changes from 2.6.7-based patch:
>>>(1) fix unmap_vmas() check correctly this time
>>>(2) add touch_preempt_timing() to cond_resched_lock()
>>>(3) depend on preempt until it's worked out wtf goes wrong without it
>>>      
>>>
>
>On Tue, Jul 13, 2004 at 10:36:00AM -0400, Joe Korty wrote:
>  
>
>>You preemption-block hold times will improve *enormously* if you move all
>>softirq processing down to the daemon (and possibly raise the daemon to
>>one of the higher SCHED_RR priorities, to compensate for softirq processing
>>no longer happening at interrupt level).
>>    
>>
>
>Plausible. Got a patch?
>  
>

How about this?  It moves softirqs to a thread but keeps the old spill 
thread.

This is a patch against 2.6.6 written primarily by Scott Wood.

Signed-off-by: La Monte H.P. Yarroll <piggy@timesys.com> under TS0058

-- 
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell's sig


[-- Attachment #2: softirq.patch --]
[-- Type: text/x-patch, Size: 18604 bytes --]

--- linux-orig/include/asm-alpha/hardirq.h
+++ linux/include/asm-alpha/hardirq.h
@@ -86,14 +86,18 @@
 #define in_atomic()	(preempt_count() != 0)
 #define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 # endif
-#define irq_exit()						\
-do {								\
-		preempt_count() -= IRQ_EXIT_OFFSET;		\
-		if (!in_interrupt() &&				\
-		    softirq_pending(smp_processor_id()))	\
-			do_softirq();				\
-		preempt_enable_no_resched();			\
+
+#ifndef CONFIG_SOFTIRQ_THREADS
+#define irq_exit()							\
+do {									\
+		preempt_count() -= IRQ_EXIT_OFFSET;			\
+		if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+			do_softirq();					\
+		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-arm/hardirq.h
+++ linux/include/asm-arm/hardirq.h
@@ -81,6 +81,7 @@
 
 extern asmlinkage void __do_softirq(void);
 
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 	do {								\
 		preempt_count() -= IRQ_EXIT_OFFSET;			\
@@ -88,6 +89,9 @@
 			__do_softirq();					\
 		preempt_enable_no_resched();				\
 	} while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #define synchronize_irq(irq)	barrier()
 #else
--- linux-orig/include/asm-arm26/hardirq.h
+++ linux/include/asm-arm26/hardirq.h
@@ -76,6 +76,8 @@
 #endif
 
 #ifndef CONFIG_SMP
+
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 	do {								\
 		preempt_count() -= HARDIRQ_OFFSET;			\
@@ -83,6 +85,9 @@
 			__asm__("bl%? __do_softirq": : : "lr");/* out of line */\
 		preempt_enable_no_resched();				\
 	} while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #define synchronize_irq(irq)	barrier()
 #else
--- linux-orig/include/asm-cris/hardirq.h
+++ linux/include/asm-cris/hardirq.h
@@ -84,6 +84,9 @@
 # define in_atomic()	(preempt_count() != 0)
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
+
+
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 do {									\
 		preempt_count() -= IRQ_EXIT_OFFSET;			\
@@ -91,6 +94,9 @@
 			do_softirq();					\
 		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #define synchronize_irq(irq)	barrier()
 
--- linux-orig/include/asm-h8300/hardirq.h
+++ linux/include/asm-h8300/hardirq.h
@@ -82,6 +82,8 @@
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
 
+
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 do {									\
 		preempt_count() -= IRQ_EXIT_OFFSET;			\
@@ -89,6 +91,9 @@
 			do_softirq();					\
 		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-i386/hardirq.h
+++ linux/include/asm-i386/hardirq.h
@@ -84,6 +84,8 @@
 # define in_atomic()	(preempt_count() != 0)
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
+
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 do {									\
 		preempt_count() -= IRQ_EXIT_OFFSET;			\
@@ -91,6 +93,9 @@
 			do_softirq();					\
 		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-m68k/hardirq.h
+++ linux/include/asm-m68k/hardirq.h
@@ -78,6 +78,8 @@
 # define in_atomic()	(preempt_count() != 0)
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
+
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 do {									\
 		preempt_count() -= IRQ_EXIT_OFFSET;			\
@@ -85,6 +87,9 @@
 			do_softirq();					\
 		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #define synchronize_irq(irq)	barrier()
 
--- linux-orig/include/asm-m68knommu/hardirq.h
+++ linux/include/asm-m68knommu/hardirq.h
@@ -86,6 +86,7 @@
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
 
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 do {									\
 		preempt_count() -= IRQ_EXIT_OFFSET;			\
@@ -93,6 +94,9 @@
 			do_softirq();					\
 		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-mips/hardirq.h
+++ linux/include/asm-mips/hardirq.h
@@ -87,13 +87,18 @@
 # define in_atomic()	(preempt_count() != 0)
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
-#define irq_exit()                                                     \
-do {                                                                   \
-	preempt_count() -= IRQ_EXIT_OFFSET;                     \
-	if (!in_interrupt() && softirq_pending(smp_processor_id())) \
-		do_softirq();                                   \
-	preempt_enable_no_resched();                            \
+
+#ifndef CONFIG_SOFTIRQ_THREADS
+#define irq_exit()							\
+do {									\
+	preempt_count() -= IRQ_EXIT_OFFSET;				\
+	if (!in_interrupt() && softirq_pending(smp_processor_id()))	\
+		do_softirq();						\
+	preempt_enable_no_resched();					\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-parisc/hardirq.h
+++ linux/include/asm-parisc/hardirq.h
@@ -96,13 +96,17 @@
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
 
-#define irq_exit()								\
-do {										\
-		preempt_count() -= IRQ_EXIT_OFFSET;				\
-		if (!in_interrupt() && softirq_pending(smp_processor_id()))	\
-			do_softirq();						\
-		preempt_enable_no_resched();					\
+#ifndef CONFIG_SOFTIRQ_THREADS
+#define irq_exit()							\
+do {									\
+		preempt_count() -= IRQ_EXIT_OFFSET;			\
+		if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+			do_softirq();					\
+		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifdef CONFIG_SMP
   extern void synchronize_irq (unsigned int irq);
--- linux-orig/include/asm-ppc/hardirq.h
+++ linux/include/asm-ppc/hardirq.h
@@ -88,13 +88,18 @@
 # define in_atomic()	(preempt_count() != 0)
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
+
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
-do {									\
+do {                                                                    \
 	preempt_count() -= IRQ_EXIT_OFFSET;				\
 	if (!in_interrupt() && softirq_pending(smp_processor_id()))	\
 		do_softirq();						\
 	preempt_enable_no_resched();					\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-ppc64/hardirq.h
+++ linux/include/asm-ppc64/hardirq.h
@@ -87,6 +87,8 @@
 # define in_atomic()	(preempt_count() != 0)
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
+
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 do {									\
 		preempt_count() -= IRQ_EXIT_OFFSET;			\
@@ -94,6 +96,9 @@
 			do_softirq();					\
 		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-sh/hardirq.h
+++ linux/include/asm-sh/hardirq.h
@@ -81,6 +81,8 @@
 # define in_atomic()	(preempt_count() != 0)
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
+
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 do {									\
 		preempt_count() -= IRQ_EXIT_OFFSET;			\
@@ -88,6 +90,9 @@
 			do_softirq();					\
 		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-sparc/hardirq.h
+++ linux/include/asm-sparc/hardirq.h
@@ -87,13 +87,18 @@
 # define in_atomic()	(preempt_count() != 0)
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
-#define irq_exit()                                                      \
-do {                                                                    \
-                preempt_count() -= IRQ_EXIT_OFFSET;                     \
-                if (!in_interrupt() && softirq_pending(smp_processor_id())) \
-                        do_softirq();                                   \
-                preempt_enable_no_resched();                            \
+
+#ifndef CONFIG_SOFTIRQ_THREADS
+#define irq_exit()							\
+do {									\
+		preempt_count() -= IRQ_EXIT_OFFSET;			\
+		if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+			do_softirq();					\
+		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-sparc64/hardirq.h
+++ linux/include/asm-sparc64/hardirq.h
@@ -86,6 +86,8 @@
 # define in_atomic()	(preempt_count() != 0)
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
+
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 do {									\
 		preempt_count() -= IRQ_EXIT_OFFSET;			\
@@ -93,6 +95,9 @@
 			do_softirq();					\
 		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-v850/hardirq.h
+++ linux/include/asm-v850/hardirq.h
@@ -80,13 +80,17 @@
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
 
-#define irq_exit()							      \
-do {									      \
-	preempt_count() -= IRQ_EXIT_OFFSET;				      \
-	if (!in_interrupt() && softirq_pending(smp_processor_id()))	      \
-		do_softirq();						      \
-	preempt_enable_no_resched();					      \
+#ifndef CONFIG_SOFTIRQ_THREADS
+#define irq_exit()							\
+do {									\
+	preempt_count() -= IRQ_EXIT_OFFSET;				\
+	if (!in_interrupt() && softirq_pending(smp_processor_id()))	\
+		do_softirq();						\
+	preempt_enable_no_resched();					\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/asm-x86_64/hardirq.h
+++ linux/include/asm-x86_64/hardirq.h
@@ -85,6 +85,8 @@
 # define in_atomic()   (preempt_count() != 0)
 # define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
 #endif
+
+#ifndef CONFIG_SOFTIRQ_THREADS
 #define irq_exit()							\
 do {									\
 		preempt_count() -= IRQ_EXIT_OFFSET;			\
@@ -92,6 +94,9 @@
 			do_softirq();					\
 		preempt_enable_no_resched();				\
 } while (0)
+#else
+#define irq_exit()              (preempt_count() -= HARDIRQ_OFFSET)
+#endif
 
 #ifndef CONFIG_SMP
 # define synchronize_irq(irq)	barrier()
--- linux-orig/include/linux/interrupt.h
+++ linux/include/linux/interrupt.h
@@ -59,6 +59,8 @@
 #endif
 
 /* SoftIRQ primitives.  */
+#ifndef CONFIG_SOFTIRQ_THREADS
+
 #define local_bh_disable() \
 		do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
 #define __local_bh_enable() \
@@ -66,6 +68,27 @@
 
 extern void local_bh_enable(void);
 
+#else
+
+/* As far as I can tell, local_bh_disable() didn't stop ksoftirqd
+   from running before.  Since all softirqs now run from one of
+   the ksoftirqds, this shouldn't be necessary. */
+
+static inline void local_bh_disable(void)
+{
+}
+
+static inline void __local_bh_enable(void)
+{
+}
+
+static inline void local_bh_enable(void)
+{
+}
+
+#endif
+
+
 /* PLEASE, avoid to allocate new softirqs, if you need not _really_ high
    frequency threaded job scheduling. For almost all the purposes
    tasklets are more than enough. F.e. all serial device BHs et
--- linux-orig/include/linux/sched.h
+++ linux/include/linux/sched.h
@@ -541,6 +541,11 @@
 #define PF_LESS_THROTTLE 0x00100000	/* Throttle me less: I clean memory */
 #define PF_SYNCWRITE	0x00200000	/* I am doing a sync write */
 
+/* Thread is an IRQ handler.  This is used to determine which softirq
+   thread to wake. */
+
+#define PF_IRQHANDLER 0x10000000
+
 #ifdef CONFIG_SMP
 extern int set_cpus_allowed(task_t *p, cpumask_t new_mask);
 #else
@@ -916,6 +921,9 @@
 
 extern void signal_wake_up(struct task_struct *t, int resume_stopped);
 
+asmlinkage long sys_sched_setscheduler(pid_t pid, int policy,
+                                       struct sched_param __user *param);
+
 /*
  * Wrappers for p->thread_info->cpu access. No-op on UP.
  */
--- linux-orig/init/Kconfig
+++ linux/init/Kconfig
@@ -265,6 +265,18 @@
 
 	  If unsure, say N.
 
+config SOFTIRQ_THREADS
+	bool "Run all softirqs in threads"
+	depends on PREEMPT
+	help
+	  This option creates a second softirq thread per CPU, which
+	  runs at high real-time priority, to replace the softirqs
+	  which were previously run immediately.  This allows these
+	  softirqs to be prioritized, so as to avoid preempting
+	  very high priority real-time tasks.  This also allows
+	  certain spinlocks to be converted into sleeping mutexes,
+	  for futher reduction of scheduling latency.
+
 endmenu		# General setup
 
 
--- linux-orig/kernel/softirq.c
+++ linux/kernel/softirq.c
@@ -15,6 +15,11 @@
 #include <linux/percpu.h>
 #include <linux/cpu.h>
 #include <linux/kthread.h>
+#include <asm/uaccess.h>
+ 
+#ifdef CONFIG_SOFTIRQ_THREADS
+static const int softirq_prio = MAX_USER_RT_PRIO - 3;
+#endif
 
 #include <asm/irq.h>
 /*
@@ -44,6 +49,10 @@
 
 static DEFINE_PER_CPU(struct task_struct *, ksoftirqd);
 
+#ifdef CONFIG_SOFTIRQ_THREADS
+static DEFINE_PER_CPU(struct task_struct *, ksoftirqd_high_prio);
+#endif
+
 /*
  * we cannot loop indefinitely here to avoid userspace starvation,
  * but we also don't want to introduce a worst case 1/HZ latency
@@ -59,6 +68,19 @@
 		wake_up_process(tsk);
 }
 
+#ifdef CONFIG_SOFTIRQ_THREADS
+
+static inline void wakeup_softirqd_high_prio(void)
+{
+	/* Interrupts are disabled: no need to stop preemption */
+	struct task_struct *tsk = __get_cpu_var(ksoftirqd_high_prio);
+
+	if (tsk && tsk->state != TASK_RUNNING)
+		wake_up_process(tsk);
+}
+
+#endif
+
 /*
  * We restart softirq processing MAX_SOFTIRQ_RESTART times,
  * and we fall back to softirqd after that.
@@ -113,8 +135,13 @@
 	__u32 pending;
 	unsigned long flags;
 
+#ifdef CONFIG_SOFTIRQ_THREADS
+	if (in_interrupt())
+		BUG();
+#else
 	if (in_interrupt())
 		return;
+#endif
 
 	local_irq_save(flags);
 
@@ -130,17 +157,20 @@
 
 #endif
 
+#ifndef CONFIG_SOFTIRQ_THREADS
+
 void local_bh_enable(void)
 {
 	__local_bh_enable();
 	WARN_ON(irqs_disabled());
-	if (unlikely(!in_interrupt() &&
-		     local_softirq_pending()))
+	if (unlikely(!in_interrupt() && local_softirq_pending()))
 		invoke_softirq();
 	preempt_check_resched();
 }
 EXPORT_SYMBOL(local_bh_enable);
 
+#endif
+
 /*
  * This function must run with irqs disabled!
  */
@@ -157,8 +187,19 @@
 	 * Otherwise we wake up ksoftirqd to make sure we
 	 * schedule the softirq soon.
 	 */
+#ifdef CONFIG_SOFTIRQ_THREADS
+
+	if (in_interrupt() || (current->flags & PF_IRQHANDLER))
+		wakeup_softirqd_high_prio();
+	else
+		wakeup_softirqd();
+
+#else
+
 	if (!in_interrupt())
 		wakeup_softirqd();
+
+#endif
 }
 
 EXPORT_SYMBOL(raise_softirq_irqoff);
@@ -320,6 +361,47 @@
 	open_softirq(HI_SOFTIRQ, tasklet_hi_action, NULL);
 }
 
+#ifdef CONFIG_SOFTIRQ_THREADS
+ 
+static int ksoftirqd_high_prio(void *__bind_cpu)
+{
+	int cpu = (int)(long)__bind_cpu;
+	struct sched_param param = { .sched_priority = softirq_prio };
+
+	/* Yuck.  Thanks for separating the implementation from the
+	   user API. */
+
+	set_fs(KERNEL_DS);
+	sys_sched_setscheduler(0, SCHED_FIFO, &param);
+	
+	current->flags |= PF_NOFREEZE;
+
+	/* Migrate to the right CPU */
+	set_cpus_allowed(current, cpumask_of_cpu(cpu));
+	BUG_ON(smp_processor_id() != cpu);
+
+	__set_current_state(TASK_INTERRUPTIBLE);
+	mb();
+
+	__get_cpu_var(ksoftirqd_high_prio) = current;
+
+	for (;;) {
+		if (!local_softirq_pending())
+			schedule();
+
+		__set_current_state(TASK_RUNNING);
+
+		while (local_softirq_pending()) {
+ 			do_softirq();
+			cond_resched();
+		}
+
+		__set_current_state(TASK_INTERRUPTIBLE);
+	}
+}
+
+#endif
+
 static int ksoftirqd(void * __bind_cpu)
 {
 	set_user_nice(current, 19);
@@ -425,15 +507,28 @@
 	case CPU_UP_PREPARE:
 		BUG_ON(per_cpu(tasklet_vec, hotcpu).list);
 		BUG_ON(per_cpu(tasklet_hi_vec, hotcpu).list);
-		p = kthread_create(ksoftirqd, hcpu, "ksoftirqd/%d", hotcpu);
+		p = kthread_create(ksoftirqd, hcpu, "ksoftirqd/l%d", hotcpu);
 		if (IS_ERR(p)) {
-			printk("ksoftirqd for %i failed\n", hotcpu);
+			printk("ksoftirqd/l%i failed\n", hotcpu);
 			return NOTIFY_BAD;
 		}
 		kthread_bind(p, hotcpu);
   		per_cpu(ksoftirqd, hotcpu) = p;
+#ifdef CONFIG_SOFTIRQ_THREADS
+		p = kthread_create(ksoftirqd_high_prio, hcpu, "ksoftirqd/h%d", hotcpu);
+		if (IS_ERR(p)) {
+			printk("ksoftirqd/h%i failed\n", hotcpu);
+			return NOTIFY_BAD;
+		}
+		per_cpu(ksoftirqd_high_prio, hotcpu) = p;
+		kthread_bind(p, hotcpu);
+  		per_cpu(ksoftirqd_high_prio, hotcpu) = p;
+#endif
  		break;
 	case CPU_ONLINE:
+#ifdef CONFIG_SOFTIRQ_THREADS
+		wake_up_process(per_cpu(ksoftirqd_high_prio, hotcpu));
+#endif
 		wake_up_process(per_cpu(ksoftirqd, hotcpu));
 		break;
 #ifdef CONFIG_HOTPLUG_CPU
--- linux-orig/kernel/timer.c
+++ linux/kernel/timer.c
@@ -910,12 +910,16 @@
 void do_timer(struct pt_regs *regs)
 {
 	jiffies_64++;
+	update_times();
+
 #ifndef CONFIG_SMP
 	/* SMP process accounting uses the local APIC timer */
 
+	// Do this after update_times(), so that the softirq thread
+	// is not counted as running all the time.
+
 	update_process_times(user_mode(regs));
 #endif
-	update_times();
 }
 
 #if !defined(__alpha__) && !defined(__ia64__)
--- linux-orig/mm/slab.c
+++ linux/mm/slab.c
@@ -2593,7 +2593,7 @@
 {
 	struct list_head *walk;
 
-#if DEBUG
+#if DEBUG && !defined(CONFIG_SOFTIRQ_THREADS)
 	BUG_ON(!in_interrupt());
 	BUG_ON(in_irq());
 #endif
--- linux-orig/net/ipv4/ipconfig.c
+++ linux/net/ipv4/ipconfig.c
@@ -1085,8 +1085,13 @@
 
 		jiff = jiffies + (d->next ? CONF_INTER_TIMEOUT : timeout);
 		while (time_before(jiffies, jiff) && !ic_got_reply) {
-			barrier();
-			cpu_relax();
+			// Wait queues are apparently too hard
+			// for the ipconfig people, but we
+			// need to drop the BKL here to allow
+			// preemption.
+			
+			set_current_state(TASK_INTERRUPTIBLE);
+			schedule_timeout(1);
 		}
 #ifdef IPCONFIG_DHCP
 		/* DHCP isn't done until we get a DHCPACK. */

  parent reply	other threads:[~2004-07-13 15:06 UTC|newest]

Thread overview: 450+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-13 12:28 preempt-timing-2.6.8-rc1 William Lee Irwin III
2004-07-13 12:51 ` preempt-timing-2.6.8-rc1 Nick Piggin
2004-07-13 12:53   ` preempt-timing-2.6.8-rc1 William Lee Irwin III
2004-07-13 12:57     ` preempt-timing-2.6.8-rc1 Nick Piggin
2004-07-13 13:04       ` preempt-timing-2.6.8-rc1 William Lee Irwin III
2004-07-13 13:10         ` preempt-timing-2.6.8-rc1 Nick Piggin
2004-07-13 13:19           ` preempt-timing-2.6.8-rc1 William Lee Irwin III
2004-07-13 14:13             ` preempt-timing-2.6.8-rc1 William Lee Irwin III
2004-07-13 14:24 ` preempt-timing-2.6.8-rc1 Lenar Lõhmus
2004-07-13 14:39   ` preempt-timing-2.6.8-rc1 William Lee Irwin III
2004-07-13 15:00     ` preempt-timing-2.6.8-rc1 bert hubert
2004-07-13 15:32     ` preempt-timing-2.6.8-rc1 Lenar Lõhmus
2004-07-13 22:16       ` preempt-timing-2.6.8-rc1 William Lee Irwin III
2004-07-14  7:59         ` preempt-timing-2.6.8-rc1 Lenar Lõhmus
2004-07-14 10:29           ` preempt-timing-2.6.8-rc1 Takashi Iwai
2004-07-14 10:33             ` preempt-timing-2.6.8-rc1 William Lee Irwin III
2004-07-25  5:15     ` preempt-timing-2.6.8-rc1 Lee Revell
2004-07-25 22:49       ` preempt-timing-2.6.8-rc1 Lee Revell
2004-07-26  8:23         ` preempt-timing-2.6.8-rc1 Ingo Molnar
2004-07-26  8:29           ` preempt-timing-2.6.8-rc1 Lee Revell
2004-07-26  8:35             ` [patch] voluntary-preempt-2.6.8-rc2-J3 Ingo Molnar
2004-07-26  9:00               ` Lee Revell
2004-07-26 12:40                 ` Ingo Molnar
2004-07-26 20:47                   ` [patch] voluntary-preempt-2.6.8-rc2-J7 Ingo Molnar
2004-07-27 16:27                     ` [patch] voluntary-preempt-2.6.8-rc2-L2, preemptable hardirqs Ingo Molnar
2004-07-27 22:30                       ` Felipe Alfaro Solana
2004-07-28  4:55                         ` Ingo Molnar
2004-07-27 22:47                       ` Lee Revell
2004-07-28  5:05                         ` Ingo Molnar
2004-07-28 11:44                           ` Thomas Charbonnel
2004-07-28 14:26                             ` Ingo Molnar
2004-07-28 15:08                               ` Thomas Charbonnel
2004-07-28 20:03                           ` Lee Revell
2004-07-28 21:50                           ` Lee Revell
2004-07-28 22:32                             ` Bill Huey
2004-07-29  1:08                             ` Lee Revell
2004-07-29  1:56                               ` Lee Revell
2004-07-29 18:04                               ` Ingo Molnar
2004-07-29 19:43                                 ` Lee Revell
2004-07-27 22:57                       ` Lee Revell
2004-07-28  4:59                         ` Ingo Molnar
2004-07-28  6:18                           ` Lee Revell
2004-07-27 23:32                       ` Lee Revell
2004-07-27 23:41                       ` Dmitry Torokhov
2004-07-28  4:51                         ` Ingo Molnar
2004-07-28  1:57                       ` Lee Revell
2004-07-29 22:26                     ` [patch] voluntary-preempt-2.6.8-rc2-M5 Ingo Molnar
2004-07-29 22:53                       ` Lee Revell
2004-07-30  6:44                         ` Ingo Molnar
2004-07-30 17:43                           ` Lee Revell
2004-07-30 22:54                           ` Lee Revell
2004-07-31  0:35                             ` Lee Revell
2004-08-01 11:28                               ` Ingo Molnar
2004-08-01 18:08                                 ` Lee Revell
2004-08-01 23:37                                 ` Lee Revell
2004-08-02  0:46                                   ` Lee Revell
2004-08-02  7:39                                     ` Ingo Molnar
2004-08-02  7:58                                       ` Lee Revell
2004-08-02  8:27                                       ` Lee Revell
2004-08-02  9:28                                         ` Ingo Molnar
2004-08-02 10:08                                           ` [patch] preempt-timing-on-2.6.8-rc2-O2 Ingo Molnar
2004-08-02 10:18                                             ` William Lee Irwin III
2004-08-02 10:35                                               ` Ingo Molnar
2004-08-02 10:51                                                 ` Ingo Molnar
2004-08-02 10:56                                                   ` William Lee Irwin III
2004-08-08  2:31                                                   ` Lee Revell
2004-08-08  2:33                                                     ` William Lee Irwin III
2004-08-08  2:36                                                       ` Lee Revell
2004-08-08  2:39                                                         ` William Lee Irwin III
2004-08-08  2:47                                                           ` Lee Revell
2004-08-08  2:48                                                             ` William Lee Irwin III
2004-08-08  4:21                                                               ` Lee Revell
2004-08-02 10:53                                                 ` William Lee Irwin III
2004-08-02 15:19                             ` [patch] voluntary-preempt-2.6.8-rc2-M5 Takashi Iwai
2004-08-07  2:54                               ` Lee Revell
2004-08-16 10:38                                 ` Takashi Iwai
2004-08-16 10:43                                   ` Lee Revell
2004-08-16 10:48                                     ` Ingo Molnar
2004-08-16 10:52                                       ` Lee Revell
2004-08-16 11:08                                         ` Lee Revell
2004-08-16 15:33                                           ` [Jackit-devel] " Jack O'Quin
2004-08-17  1:00                                             ` Lee Revell
2004-07-30  8:13                       ` [patch] voluntary-preempt-2.6.8-rc2-mm1-M5 Ingo Molnar
2004-07-30 22:00                         ` Muli Ben-Yehuda
2004-07-30 22:47                           ` Alan Cox
2004-08-01 16:16                       ` [patch] voluntary-preempt-2.6.8-rc2-M5 Thomas Charbonnel
2004-08-01 19:30                       ` [patch] voluntary-preempt-2.6.8-rc2-O2 Ingo Molnar
2004-08-01 22:40                         ` Felipe Alfaro Solana
2004-08-01 23:20                         ` Daniel Schmitt
2004-08-02  6:21                           ` Felipe Alfaro Solana
2004-08-01 23:44                         ` Matt Heler
2004-08-02  6:26                           ` Felipe Alfaro Solana
2004-08-02  7:47                             ` Ingo Molnar
2004-08-02  1:45                         ` Lee Revell
2004-08-02  2:14                           ` Lee Revell
2004-08-02  7:56                             ` Ingo Molnar
2004-08-02  7:01                         ` [patch] voluntary-preempt-2.6.8-rc2-O2 didn't link Helge Hafting
2004-08-02  7:52                           ` Ingo Molnar
2004-08-02 13:42                         ` [patch] voluntary-preempt-2.6.8-rc2-O2 Lenar Lõhmus
2004-08-09 10:46                         ` [patch] voluntary-preempt-2.6.8-rc3-O4 Ingo Molnar
2004-08-09 13:05                           ` Ingo Molnar
2004-08-09 17:02                             ` Florian Schmidt
2004-08-09 17:06                               ` Lee Revell
2004-08-10  7:51                                 ` Ingo Molnar
2004-08-10 17:58                                   ` Lee Revell
2004-08-10  2:06                               ` Lee Revell
2004-08-10  5:52                                 ` Lee Revell
2004-08-10  7:53                                   ` Ingo Molnar
2004-08-10 14:16                                     ` Lee Revell
2004-08-10 15:04                                       ` Florian Schmidt
2004-08-10 15:08                                         ` Lee Revell
2004-08-10  8:09                                   ` Ingo Molnar
2004-08-10  8:17                                     ` Lee Revell
2004-08-10 10:12                                       ` Ingo Molnar
2004-08-10 10:20                                         ` [patch] preempt-timing-on-2.6.8-rc3-O4.patch William Lee Irwin III
2004-08-10 10:32                                           ` William Lee Irwin III
2004-08-10  8:49                                 ` [patch] voluntary-preempt-2.6.8-rc3-O4 Ingo Molnar
2004-08-10  8:58                                 ` Ingo Molnar
2004-08-10  9:22                                   ` Ingo Molnar
2004-08-10 11:33                                     ` Alan Cox
2004-08-10 12:40                                       ` Ingo Molnar
2004-08-10 16:03                                         ` Lee Revell
2004-08-16 13:31                                     ` Takashi Iwai
2004-08-10 17:10                                   ` Lee Revell
2004-08-10 16:25                                     ` Alan Cox
2004-08-10 17:37                                       ` Dave Jones
2004-08-10 21:03                                         ` Lee Revell
2004-08-11  2:49                                         ` Tim Wright
2004-08-10 17:12                                     ` Ingo Molnar
2004-08-10 17:13                                       ` Lee Revell
2004-08-10 19:16                                       ` Lee Revell
2004-08-10 22:46                                       ` Lee Revell
2004-08-10 17:33                                     ` Dave Jones
2004-08-10 17:41                                       ` Lee Revell
2004-08-10 11:20                                 ` Florian Schmidt
2004-08-10 13:26                           ` [patch] voluntary-preempt-2.6.8-rc3-O5 Ingo Molnar
2004-08-10 18:25                             ` Peter Zijlstra
2004-08-10 21:56                             ` Lee Revell
2004-08-10 23:18                               ` Florian Schmidt
2004-08-11  7:31                               ` Ingo Molnar
2004-08-11  7:42                                 ` Ingo Molnar
2004-08-11  7:52                                   ` Lee Revell
2004-08-11  8:25                                     ` Ingo Molnar
2004-08-11  8:27                                     ` Ingo Molnar
2004-08-11 11:48                                       ` Linh Dang
2004-08-12  0:04                                         ` Lee Revell
2004-08-12  2:55                                           ` Linh Dang
2004-08-11  9:06                                     ` Ingo Molnar
2004-08-11 12:16                                       ` Florian Schmidt
2004-08-11 12:43                                         ` Ingo Molnar
2004-08-11 13:44                                           ` Florian Schmidt
2004-08-11 19:18                                           ` Florian Schmidt
2004-08-11 23:55                                           ` Lee Revell
2004-08-12  7:21                                             ` Ingo Molnar
2004-08-12 21:54                                               ` Lee Revell
2004-08-13  0:04                                                 ` Lee Revell
2004-08-13  0:27                                                   ` Lee Revell
2004-08-13  0:55                                                     ` Florian Schmidt
2004-08-13  0:55                                                       ` Lee Revell
2004-08-13  1:18                                                         ` Florian Schmidt
2004-08-13  1:12                                                           ` Lee Revell
2004-08-13  1:17                                                       ` [Jackit-devel] " Lee Revell
2004-08-13 10:07                                                       ` Ingo Molnar
2004-08-12 22:16                                 ` Lee Revell
2004-08-10 21:59                             ` Lee Revell
2004-08-12 23:51                             ` [patch] Latency Tracer, voluntary-preempt-2.6.8-rc4-O6 Ingo Molnar
2004-08-13  1:25                               ` Lee Revell
2004-08-13  1:31                                 ` Lee Revell
2004-08-13  2:39                                   ` Lee Revell
2004-08-13  3:54                                     ` Lee Revell
2004-08-13  4:23                                       ` Lee Revell
2004-08-13  4:35                                         ` Roland Dreier
2004-08-13  4:41                                           ` Lee Revell
2004-08-13  4:46                                             ` Roland Dreier
2004-08-13 10:21                                               ` Ingo Molnar
2004-08-13 10:16                                         ` Ingo Molnar
2004-08-13  4:49                               ` Matt Heler
2004-08-13  9:53                                 ` Peter Zijlstra
2004-08-13 10:19                                   ` Ingo Molnar
2004-08-13 10:23                                     ` Peter Zijlstra
2004-08-13  4:58                               ` Lee Revell
2004-08-13 10:22                                 ` Ingo Molnar
2004-08-13 18:57                                   ` Lee Revell
2004-08-13  5:27                               ` Lee Revell
2004-08-13  5:41                                 ` Lee Revell
2004-08-13 10:31                                   ` Ingo Molnar
2004-08-13 19:47                                     ` Lee Revell
2004-08-16 23:46                                     ` Lee Revell
2004-08-17  7:48                                       ` Ingo Molnar
2004-08-17  7:56                                         ` Lee Revell
2004-08-17 19:18                                         ` Theodore Ts'o
2004-08-19 10:54                                           ` Lee Revell
2004-08-19 11:19                                           ` Lee Revell
2004-08-19 19:30                                             ` Theodore Ts'o
2004-08-19 22:32                                               ` Lee Revell
2004-08-19 22:50                                                 ` Lee Revell
2004-08-20  0:10                                                 ` Lee Revell
2004-08-13  7:40                               ` Lee Revell
2004-08-13 10:48                                 ` [patch] voluntary-preempt-2.6.8-rc4-O7 Ingo Molnar
2004-08-13 11:41                                   ` Florian Schmidt
2004-08-13 11:35                                     ` Ingo Molnar
2004-08-13 20:18                                   ` Lee Revell
2004-08-13 21:35                                   ` Lee Revell
2004-08-14  7:20                                     ` [patch] voluntary-preempt-2.6.8-rc4-O8 Ingo Molnar
2004-08-14  7:51                                       ` Sam Ravnborg
2004-08-14  9:35                                         ` Lee Revell
2004-08-14 11:45                                           ` Ingo Molnar
2004-08-14 11:42                                         ` Ingo Molnar
2004-08-14  9:24                                       ` Lee Revell
2004-08-15 11:56                                       ` [patch] voluntary-preempt-2.6.8.1-P0 Ingo Molnar
2004-08-15 14:01                                         ` Peter Zijlstra
2004-08-15 17:33                                           ` Lee Revell
2004-08-15 18:29                                             ` Peter Zijlstra
2004-08-15 19:17                                           ` Ingo Molnar
2004-08-15 23:24                                         ` Lee Revell
2004-08-16  8:07                                           ` Roger Luethi
2004-08-16 22:53                                             ` Lee Revell
2004-08-17 20:52                                               ` Roger Luethi
2004-08-17 21:00                                                 ` Lee Revell
2004-08-19  7:57                                                   ` Ingo Molnar
2004-08-18  0:01                                             ` Lee Revell
2004-08-18 20:34                                               ` Roger Luethi
2004-08-15 23:51                                         ` Lee Revell
2004-08-16  0:25                                         ` Florian Schmidt
2004-08-16  0:20                                           ` Lee Revell
2004-08-16  0:33                                             ` Florian Schmidt
2004-08-16  2:08                                           ` Lee Revell
2004-08-16  2:36                                             ` Ingo Molnar
2004-08-16  2:43                                               ` Lee Revell
2004-08-16  2:48                                                 ` Lee Revell
2004-08-16  2:50                                                 ` Ingo Molnar
2004-08-16  2:58                                                   ` Ingo Molnar
2004-08-16  3:03                                                     ` Lee Revell
2004-08-16  3:06                                                       ` Ingo Molnar
2004-08-16  3:11                                                     ` Lee Revell
2004-08-16  3:14                                                       ` Ingo Molnar
2004-08-16  3:15                                                         ` Lee Revell
2004-08-16  3:20                                                           ` Ingo Molnar
2004-08-16  3:26                                                             ` Lee Revell
2004-08-16  3:18                                                     ` Lee Revell
2004-08-16  3:26                                                       ` Ingo Molnar
2004-08-16  3:00                                                   ` Ingo Molnar
2004-08-16  3:33                                                     ` Lee Revell
2004-08-16  3:28                                                 ` Ingo Molnar
2004-08-16  3:36                                                   ` Ingo Molnar
2004-08-16  3:41                                                     ` Lee Revell
2004-08-16  3:46                                                       ` Ingo Molnar
2004-08-16  3:54                                                         ` Lee Revell
2004-08-16  4:01                                                           ` Ingo Molnar
2004-08-16  4:11                                                             ` Lee Revell
2004-08-16  4:05                                                           ` [patch] voluntary-preempt-2.6.8.1-P1 Ingo Molnar
2004-08-16  4:22                                                             ` Lee Revell
2004-08-16  4:33                                                               ` Ingo Molnar
2004-08-16  4:57                                                                 ` Lee Revell
2004-08-16  5:02                                                                   ` Ingo Molnar
2004-08-16  5:48                                                                     ` Lee Revell
2004-08-16  5:06                                                                 ` Lee Revell
2004-08-16  5:42                                                                 ` Lee Revell
2004-08-16 10:45                                                                   ` Ingo Molnar
2004-08-16 11:44                                                                     ` Hugh Dickins
2004-08-16  6:48                                                             ` Lee Revell
2004-08-16 11:13                                                             ` Thomas Charbonnel
2004-08-16 11:31                                                               ` Ingo Molnar
2004-08-16 12:09                                                                 ` [patch] voluntary-preempt-2.6.8.1-P2 Ingo Molnar
2004-08-16 13:26                                                                   ` Thomas Charbonnel
2004-08-16 14:12                                                                     ` Thomas Charbonnel
2004-08-16 14:50                                                                       ` Thomas Charbonnel
2004-08-16 14:58                                                                         ` Ingo Molnar
2004-08-16 15:10                                                                           ` Thomas Charbonnel
2004-08-16 15:37                                                                             ` Ingo Molnar
2004-08-16 16:14                                                                               ` Thomas Charbonnel
2004-08-17  0:04                                                                       ` Lee Revell
2004-08-17  4:24                                                                   ` Lee Revell
2004-08-17  7:30                                                                     ` Ingo Molnar
2004-08-17  7:33                                                                       ` Lee Revell
2004-08-17  8:06                                                                       ` Lee Revell
2004-08-17  8:05                                                                     ` [patch] voluntary-preempt-2.6.8.1-P3 Ingo Molnar
2004-08-18 12:12                                                                       ` Florian Schmidt
2004-08-18 12:27                                                                         ` Ingo Molnar
2004-08-18 13:01                                                                           ` Florian Schmidt
2004-08-18 21:29                                                                             ` Elladan
2004-08-19  9:54                                                                           ` Florian Schmidt
2004-08-19  9:57                                                                             ` Lee Revell
2004-08-19  7:32                                                                       ` [patch] voluntary-preempt-2.6.8.1-P4 Ingo Molnar
2004-08-19  8:00                                                                         ` Lee Revell
2004-08-19  8:40                                                                           ` Ingo Molnar
2004-08-19  8:45                                                                             ` Lee Revell
2004-08-19  8:48                                                                               ` Ingo Molnar
2004-08-19  8:56                                                                               ` Ingo Molnar
2004-08-19 10:29                                                                                 ` Lee Revell
2004-08-19 10:38                                                                                   ` Lee Revell
2004-08-19 10:43                                                                                     ` Lee Revell
2004-08-19 10:51                                                                                       ` Lee Revell
2004-08-19  9:26                                                                             ` William Lee Irwin III
2004-08-19 11:28                                                                         ` Florian Schmidt
2004-08-19 11:23                                                                           ` Lee Revell
2004-08-19 14:32                                                                             ` Ingo Molnar
2004-08-19 16:47                                                                         ` Matthew Frost
2004-08-19 18:08                                                                         ` karl.vogel
2004-08-19 20:37                                                                           ` karl.vogel
2004-08-20  7:16                                                                             ` Lee Revell
2004-08-20 16:19                                                                             ` [patch] intel8x0 latency fix karl.vogel
2004-08-24 17:27                                                                               ` Takashi Iwai
2004-08-20  3:35                                                                         ` [patch] voluntary-preempt-2.6.8.1-P4 Lee Revell
2004-08-20  8:13                                                                           ` Ingo Molnar
2004-08-20  9:14                                                                             ` Lee Revell
2004-08-20 10:27                                                                               ` Ingo Molnar
2004-08-20 10:33                                                                                 ` Lee Revell
2004-08-20 10:41                                                                                   ` Ingo Molnar
2004-08-20 10:55                                                                                     ` Lee Revell
2004-08-20 11:14                                                                                 ` Lee Revell
2004-08-20 11:52                                                                                 ` Lee Revell
2004-08-20 13:30                                                                         ` [patch] voluntary-preempt-2.6.8.1-P5 Ingo Molnar
2004-08-20 14:37                                                                           ` K.R. Foley
2004-08-20 17:04                                                                             ` Ingo Molnar
2004-08-20 18:37                                                                           ` K.R. Foley
2004-08-20 18:56                                                                             ` Ingo Molnar
2004-08-20 20:06                                                                             ` Lee Revell
2004-08-21  0:51                                                                             ` Linh Dang
2004-08-20 19:55                                                                           ` [patch] voluntary-preempt-2.6.8.1-P6 Ingo Molnar
2004-08-21  0:43                                                                             ` Lee Revell
2004-08-21  0:51                                                                             ` Lee Revell
2004-08-21  3:43                                                                             ` Lee Revell
2004-08-21  9:10                                                                               ` Ingo Molnar
2004-08-21  9:46                                                                                 ` Ingo Molnar
2004-08-21  9:26                                                                               ` Ingo Molnar
2004-08-21 14:02                                                                             ` Karl Vogel
2004-08-21 14:05                                                                             ` [patch] voluntary-preempt-2.6.8.1-P7 Ingo Molnar
2004-08-21 21:56                                                                               ` Lee Revell
2004-08-22  0:06                                                                                 ` K.R. Foley
2004-08-22  0:16                                                                                   ` Lee Revell
2004-08-22  2:22                                                                                     ` K.R. Foley
2004-08-22  6:35                                                                                     ` Ingo Molnar
2004-08-22 12:57                                                                                       ` K.R. Foley
2004-08-22  7:49                                                                               ` Lee Revell
2004-08-23 17:38                                                                                 ` Lee Revell
2004-08-23 19:43                                                                                   ` Ingo Molnar
2004-08-23 23:49                                                                                     ` Lee Revell
2004-08-23 22:09                                                                                 ` Lee Revell
2004-08-22 14:57                                                                               ` R. J. Wysocki
2004-08-22 16:18                                                                               ` K.R. Foley
2004-08-23 21:01                                                                               ` [patch] voluntary-preempt-2.6.8.1-P8 Ingo Molnar
2004-08-23 22:41                                                                                 ` Lee Revell
2004-08-23 22:52                                                                                   ` Ingo Molnar
2004-08-23 23:04                                                                                     ` Lee Revell
2004-08-28 17:40                                                                                     ` Lee Revell
2004-08-23 23:31                                                                                 ` Lee Revell
2004-08-24  1:49                                                                                 ` Lee Revell
2004-08-24  3:56                                                                                   ` K.R. Foley
2004-08-24  5:02                                                                                     ` Lee Revell
2004-08-24  6:09                                                                                     ` Ingo Molnar
2004-08-24 11:17                                                                                       ` K.R. Foley
2004-08-24  5:41                                                                                   ` Ingo Molnar
2004-08-24  5:46                                                                                     ` Lee Revell
2004-08-24  6:03                                                                                       ` Ingo Molnar
2004-08-24 13:48                                                                                       ` K.R. Foley
2004-08-24 17:17                                                                                         ` Lee Revell
2004-08-24 17:50                                                                                           ` K.R. Foley
2004-08-23 21:03                                                                               ` [patch] voluntary-preempt-2.6.8.1-P7 K.R. Foley
2004-08-21 17:09                                                                             ` [patch] voluntary-preempt-2.6.8.1-P6 -- False positive?! Karl Vogel
2004-08-21 20:47                                                                               ` Karl Vogel
2004-08-21  2:51                                                                           ` [patch] voluntary-preempt-2.6.8.1-P5 Lee Revell
2004-08-21  3:23                                                                           ` Lee Revell
2004-08-21  9:13                                                                             ` Ingo Molnar
2004-08-21  9:15                                                                               ` Lee Revell
2004-08-21  9:18                                                                                 ` Ingo Molnar
2004-08-21  9:18                                                                                   ` Lee Revell
2004-08-21  9:23                                                                                   ` Lee Revell
2004-08-21  9:31                                                                                     ` Ingo Molnar
2004-08-21  9:37                                                                                       ` Lee Revell
2004-08-21 10:46                                                                                         ` Ingo Molnar
2004-08-21 12:41                                                                           ` Karl Vogel
2004-08-17 11:26                                                                   ` [patch] voluntary-preempt-2.6.8.1-P2 Thomas Charbonnel
2004-08-19  7:49                                                                     ` Ingo Molnar
2004-08-18 12:22                                                                   ` Thomas Charbonnel
2004-08-18 13:30                                                                     ` Takashi Iwai
2004-08-18 15:26                                                                       ` Thomas Charbonnel
2004-08-18 15:46                                                                         ` Takashi Iwai
2004-08-18 16:53                                                                           ` Thomas Charbonnel
2004-08-19  7:47                                                                     ` Ingo Molnar
2004-08-16 19:20                                                                 ` [patch] voluntary-preempt-2.6.8.1-P1 Hans Reiser
2004-08-16 20:38                                                                   ` Lee Revell
2004-08-17  8:14                                                                     ` Hans Reiser
2004-08-16 11:13                                                             ` Florian Schmidt
2004-08-16 11:17                                                               ` Lee Revell
2004-08-16 13:07                                                                 ` Florian Schmidt
2004-08-17  0:14                                                             ` Florian Schmidt
2004-08-17  0:07                                                               ` Lee Revell
2004-08-17  7:39                                                                 ` Ingo Molnar
2004-08-17  8:18                                                                   ` Ingo Molnar
2004-08-18  0:34                                                                     ` Lee Revell
2004-08-18 12:22                                                                     ` Thomas Charbonnel
2004-08-16  3:36                                                   ` [patch] voluntary-preempt-2.6.8.1-P0 Lee Revell
2004-08-16  2:43                                             ` Ingo Molnar
2004-08-16  2:45                                               ` Lee Revell
2004-08-16  3:08                                               ` Ingo Molnar
2004-08-16  4:19                                                 ` Lee Revell
2004-08-16  4:26                                                   ` Ingo Molnar
2004-08-16  4:30                                                     ` Lee Revell
2004-08-16  4:51                                                       ` Ingo Molnar
2004-08-16  5:15                                                         ` Lee Revell
2004-08-16  4:38                                                     ` Lee Revell
2004-08-16  5:01                                                     ` Lee Revell
2004-08-16  5:04                                                       ` Ingo Molnar
2004-08-13 22:35                                   ` [patch] voluntary-preempt-2.6.8-rc4-O7 Lee Revell
2004-08-14  1:17                                   ` Lee Revell
2004-08-14 12:42                                     ` Ingo Molnar
2004-08-14  4:46                                   ` Lee Revell
2004-08-14  6:39                                     ` Ingo Molnar
2004-08-13 10:42                               ` [patch] Latency Tracer, voluntary-preempt-2.6.8-rc4-O6 Florian Schmidt
2004-08-13 10:54                                 ` Ingo Molnar
2004-08-13 12:03                                   ` Florian Schmidt
2004-08-13 12:03                                     ` Ingo Molnar
     [not found]                                       ` <20040813145510.60e9e0f3@mango.fruits.de>
2004-08-14  8:57                                         ` Ingo Molnar
2004-08-14 11:28                               ` James Courtier-Dutton
2004-08-14 11:51                                 ` Ingo Molnar
2004-08-14 12:19                                   ` James Courtier-Dutton
2004-08-14 12:32                                     ` Ingo Molnar
2004-08-14 16:52                                       ` James Courtier-Dutton
2004-08-19  9:10                                         ` Ingo Molnar
2004-08-19  9:07                                 ` Ingo Molnar
2004-08-10 14:21                           ` [patch] voluntary-preempt-2.6.8-rc3-O4 Florian Schmidt
2004-07-26 10:01               ` [patch] voluntary-preempt-2.6.8-rc2-J4 Ingo Molnar
2004-07-26 10:15                 ` Ingo Molnar
2004-07-26 20:42                   ` no luck with max_sectors_kb (Re: voluntary-preempt-2.6.8-rc2-J4) Rudo Thomas
2004-07-26 20:57                     ` Ingo Molnar
2004-07-26 20:59                       ` Ingo Molnar
2004-07-26 22:50                       ` Rudo Thomas
2004-07-27  6:43                         ` Ingo Molnar
2004-07-27  8:06                           ` Ingo Molnar
2004-07-27 11:21                             ` Rudo Thomas
2004-07-27  5:33                 ` [patch] voluntary-preempt-2.6.8-rc2-J4 Jens Axboe
2004-07-27  8:01                   ` Ingo Molnar
2004-07-27  6:23                     ` Jens Axboe
2004-07-27 10:18                       ` Ingo Molnar
2004-07-27  8:17                     ` Ingo Molnar
2004-07-26 19:57               ` [patch] voluntary-preempt-2.6.8-rc2-J3 Andrew Morton
2004-07-26 20:36                 ` Ingo Molnar
2004-07-26 21:11                   ` Andrew Morton
     [not found]                     ` <fa.h4elqom.kjeer4@ifi.uio.no>
2004-07-27  8:28                       ` Junio C Hamano
2004-07-26 21:59                   ` Lee Revell
2004-07-30  2:31                   ` Eric St-Laurent
2004-07-30  3:51                     ` Lee Revell
2004-07-13 14:36 ` preempt-timing-2.6.8-rc1 Joe Korty
2004-07-13 14:40   ` preempt-timing-2.6.8-rc1 William Lee Irwin III
2004-07-13 14:52     ` preempt-timing-2.6.8-rc1 Nick Piggin
2004-07-13 15:05     ` La Monte H.P. Yarroll [this message]
2004-07-13 15:08     ` preempt-timing-2.6.8-rc1 Joe Korty
2004-07-13 17:48     ` [PATCH] fix arbitrarily long preemption lockout times [was: re: preempt-timing-2.6.8-rc1] Joe Korty
2004-07-14 14:22 ` preempt-timing-2.6.8-rc1 Lenar Lõhmus

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=40F3FA53.2010907@timesys.com \
    --to=piggy@timesys.com \
    --cc=greg.weeks@timesys.com \
    --cc=joe.korty@ccur.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=scott@timesys.com \
    --cc=wli@holomorphy.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;
as well as URLs for NNTP newsgroup(s).