linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 2.6.15-rt17
@ 2006-02-21 15:55 Ingo Molnar
  2006-02-21 16:11 ` 2.6.15-rt17 K.R. Foley
                   ` (6 more replies)
  0 siblings, 7 replies; 29+ messages in thread
From: Ingo Molnar @ 2006-02-21 15:55 UTC (permalink / raw)
  To: linux-kernel; +Cc: Esben Nielsen, Thomas Gleixner, Steven Rostedt

i have released the 2.6.15-rt17 tree, which can be downloaded from the 
usual place:

   http://redhat.com/~mingo/realtime-preempt/

lots of changes all across the map. There are several bigger changes:

the biggest change is the new PI code from Esben Nielsen, Thomas 
Gleixner and Steven Rostedt. This big rework simplifies and streamlines 
the PI code, and fixes a couple of bugs and races:

  - only the top priority waiter on a lock is enqueued into the pi_list
    of the task which holds the lock. No more pi list walking in the
    boost case.

  - simpler locking rules

  - fast Atomic acquire for the non contended case and atomic release 
    for non waiter case is fully functional now

  - use task_t references instead of thread_info pointers

  - BKL handling for semaphore style locks changed so that BKL is
    dropped before the scheduler is entered and reaquired in the return
    path. This solves a possible deadlock situation in the BKL reacquire
    path of the scheduler.

another change is the reworking of the SLAB code: it now closely matches 
the upstream SLAB code, and it should now work on NUMA systems too 
(untested though).

the tasklet code was reworked too to be PREEMPT_RT friendly: the new PI 
code unearthed a fundamental livelock scenario with PREEMPT_RT, and the 
fix was to rework the tasklet code to get rid of the 'retrigger 
softirqs' approach.

other changes: various hrtimers fixes, latency tracer enhancements - and 
more. (Robust-futexes are not expected to work in this release.)

please report any new breakages, and re-report any old breakages as 
well.

to build a 2.6.15-rt17 tree, the following patches should be applied:

  http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.tar.bz2
  http://redhat.com/~mingo/realtime-preempt/patch-2.6.15-rt17

	Ingo

^ permalink raw reply	[flat|nested] 29+ messages in thread
* Re: 2.6.15-rt17
@ 2006-02-28 19:21 Karsten Wiese
  2006-02-28 19:43 ` 2.6.15-rt17 Ingo Molnar
  0 siblings, 1 reply; 29+ messages in thread
From: Karsten Wiese @ 2006-02-28 19:21 UTC (permalink / raw)
  To: mingo, linux-kernel

> the tasklet code was reworked too to be PREEMPT_RT friendly: the new PI 
> code unearthed a fundamental livelock scenario with PREEMPT_RT, and the 
> fix was to rework the tasklet code to get rid of the 'retrigger 
> softirqs' approach.

following patch re enables tasklet_hi.
needed by ALSA MIDI.

      Karsten


--- /tmp/softirq.c~	2006-02-28 20:17:03.000000000 +0100
+++ /tmp/softirq.c	2006-02-28 20:17:03.000000000 +0100
@@ -351,13 +351,13 @@
 static DEFINE_PER_CPU(struct tasklet_head, tasklet_hi_vec) = { NULL };
 
 static void inline
-__tasklet_common_schedule(struct tasklet_struct *t, struct tasklet_head *head)
+__tasklet_common_schedule(struct tasklet_struct *t, struct tasklet_head *head, unsigned int nr)
 {
 	if (tasklet_trylock(t)) {
 		WARN_ON(t->next != NULL);
 		t->next = head->list;
 		head->list = t;
-		raise_softirq_irqoff(TASKLET_SOFTIRQ);
+		raise_softirq_irqoff(nr);
 		tasklet_unlock(t);
 	}
 }
@@ -367,7 +367,7 @@
 	unsigned long flags;
 
 	raw_local_irq_save(flags);
-	__tasklet_common_schedule(t, &__get_cpu_var(tasklet_vec));
+	__tasklet_common_schedule(t, &__get_cpu_var(tasklet_vec), TASKLET_SOFTIRQ);
 	raw_local_irq_restore(flags);
 }
 
@@ -378,7 +378,7 @@
 	unsigned long flags;
 
 	raw_local_irq_save(flags);
-	__tasklet_common_schedule(t, &__get_cpu_var(tasklet_hi_vec));
+	__tasklet_common_schedule(t, &__get_cpu_var(tasklet_hi_vec), HI_SOFTIRQ);
 	raw_local_irq_restore(flags);
 }
 
_

	

	
		
___________________________________________________________ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de

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

end of thread, other threads:[~2006-02-28 19:44 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-21 15:55 2.6.15-rt17 Ingo Molnar
2006-02-21 16:11 ` 2.6.15-rt17 K.R. Foley
2006-02-21 16:21 ` 2.6.15-rt17 K.R. Foley
2006-02-22  7:51   ` 2.6.15-rt17 Ingo Molnar
2006-02-21 17:16 ` 2.6.15-rt17 Michal Piotrowski
2006-02-21 18:53   ` 2.6.15-rt17 Michal Piotrowski
2006-02-21 20:37     ` 2.6.15-rt17 Thomas Gleixner
2006-02-21 21:15       ` 2.6.15-rt17 Michal Piotrowski
2006-02-22 12:22   ` 2.6.15-rt17 Steven Rostedt
2006-02-22 13:47     ` 2.6.15-rt17 Michal Piotrowski
2006-02-24  6:38     ` 2.6.15-rt17 Ingo Molnar
2006-02-24  7:09       ` 2.6.15-rt17 Steven Rostedt
2006-02-21 17:23 ` 2.6.15-rt17 Timothy R. Chavez
2006-02-21 18:24 ` 2.6.15-rt17 Daniel Walker
2006-02-21 18:46   ` 2.6.15-rt17 Thomas Gleixner
2006-02-22 16:50 ` 2.6.15-rt17 Esben Nielsen
2006-02-22 23:17   ` 2.6.15-rt17 Thomas Gleixner
2006-02-25 17:11     ` 2.6.15-rt17 Esben Nielsen
2006-02-25 17:32       ` 2.6.15-rt17 Steven Rostedt
2006-02-25 21:29         ` 2.6.15-rt17 Esben Nielsen
2006-02-25 22:25           ` 2.6.15-rt17 Esben Nielsen
2006-02-26 15:14           ` 2.6.15-rt17 Steven Rostedt
2006-02-26 22:38             ` 2.6.15-rt17 Esben Nielsen
2006-02-27  7:15               ` 2.6.15-rt17 Steven Rostedt
2006-02-23 13:49 ` 2.6.15-rt17 Bill Huey
2006-02-23 13:53   ` 2.6.15-rt17 Ingo Molnar
2006-02-23 14:05     ` 2.6.15-rt17 Bill Huey
2006-02-28 19:21 2.6.15-rt17 Karsten Wiese
2006-02-28 19:43 ` 2.6.15-rt17 Ingo Molnar

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).