Re: [ANNOUNCE] 3.6.11-rt26

From: Clark Williams
Date: Mon Feb 04 2013 - 10:54:55 EST


On Mon, 4 Feb 2013 15:58:26 +0100 (CET)
Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> Dear RT Folks,
>
> I'm pleased to announce the 3.6.11-rt26 release.
>
> Changes since 3.6.11-rt25:
>
> 1) Fix the RT highmem implementation on x86
>
> 2) Support highmem + RT on ARM
>
> 3) Fix an one off error in the generic highmem code (upstream fix
> did not make it into 3.6.stable)
>
> 4) Upstream SLUB fixes (Christoph Lameter)
>
> 5) Fix a few RT issues in mmc and amba drivers
>
> 6) Initialize local locks in mm/swap.c early
>
> 7) Use simple wait queues for completions. This is a performance
> improvement.
>
> Completions do not have complex callbacks and the wakeup path is
> disabling interrupts anyway. So using simple wait locks with the
> raw spinlock is not a latency problem, but the "sleeping lock"
> in the normal waitqueue is a source for lock bouncing:
>
> T1 T2
> lock(WQ)
> wakeup(T2)
> ---> preemption
> lock(WQ)
> pi_boost(T1)
> wait_for_lock(WQ)
> unlock(WQ)
> deboost(T1)
> ---> preemption
> ....
>
> The simple waitqueue reduces this to:
>
> T1 T2
> raw_lock(WQ)
> wakeup(T2)
> raw_unlock(WQ)
> ---> preemption
> raw_lock(WQ)
> ....
>
> @Steven: Sorry, I forgot the stable tags on:
> drivers-tty-pl011-irq-disable-madness.patch
> mmci-remove-bogus-irq-save.patch
> idle-state.patch
> might-sleep-check-for-idle.patch
> mm-swap-fix-initialization.patch
>
> I'm still digging through my mail backlog, so I have not yet decided
> whether this is the last RT release for 3.6.
>
>
> The delta patch against 3.6.11-rt25 is appended below and can be found
> here:
>
> http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/incr/patch-3.6.11-rt25-rt26.patch.xz
>
> The RT patch against 3.6.11 can be found here:
>
> http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/patch-3.6.11-rt26.patch.xz
>
> The split quilt queue is available at:
>
> http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/patches-3.6.11-rt26.tar.xz
>
> Enjoy,
>
> tglx
>


Thomas,

I needed this change to build:

diff --git a/include/linux/uprobes.h b/include/linux/uprobes.h
index efe4b33..3d5231f 100644
--- a/include/linux/uprobes.h
+++ b/include/linux/uprobes.h
@@ -26,6 +26,7 @@

#include <linux/errno.h>
#include <linux/rbtree.h>
+#include <linux/wait.h>

struct vm_area_struct;
struct mm_struct;


Clark

Attachment: signature.asc
Description: PGP signature