public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
From: Clark Williams <williams@redhat.com>
To: Clark Williams <williams@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-rt-users <linux-rt-users@vger.kernel.org>
Subject: Re: [ANNOUNCE] 3.6.11-rt26
Date: Mon, 4 Feb 2013 10:59:00 -0600	[thread overview]
Message-ID: <20130204105900.63bd5fae@riff.lan> (raw)
In-Reply-To: <20130204095438.41376edb@riff.lan>

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

On Mon, 4 Feb 2013 09:54:38 -0600
Clark Williams <williams@redhat.com> wrote:

> On Mon, 4 Feb 2013 15:58:26 +0100 (CET)
> Thomas Gleixner <tglx@linutronix.de> 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


More changes; I was running into a collision with the name kmap_prot.

This is not stacked on the above patch, it supercedes it.

Clark

diff --git a/arch/x86/include/asm/highmem.h b/arch/x86/include/asm/highmem.h
index dc7b47e..1004f7d 100644
--- a/arch/x86/include/asm/highmem.h
+++ b/arch/x86/include/asm/highmem.h
@@ -69,7 +69,7 @@ void *kmap_atomic_pfn(unsigned long pfn);
 void *kmap_atomic_prot_pfn(unsigned long pfn, pgprot_t prot);
 struct page *kmap_atomic_to_page(void *ptr);
 #else
-void *kmap_prot(struct page *page, pgprot_t prot);
+void *__kmap_prot(struct page *page, pgprot_t prot);
 # define kmap_atomic(page)                     \
        ({ pagefault_disable(); kmap(page); })
 
@@ -80,10 +80,10 @@ void *kmap_prot(struct page *page, pgprot_t prot);
        do { kunmap(kmap_to_page(kvaddr)); pagefault_enable(); } while(0)
 
 # define kmap_atomic_prot(page, prot)          \
-       ({ pagefault_disable(); kmap_prot(page, prot); })
+       ({ pagefault_disable(); __kmap_prot(page, prot); })
 
 # define kmap_atomic_prot_pfn(pfn, prot)       \
-       ({ pagefault_disable(); kmap_prot(pfn_to_page(pfn), prot); })
+       ({ pagefault_disable(); __kmap_prot(pfn_to_page(pfn), prot); })
 
 # define kmap_atomic_to_page(kvaddr)           \
        kmap_to_page(kvaddr)
diff --git a/include/linux/highmem.h b/include/linux/highmem.h
index 98f84e2..9a85340 100644
--- a/include/linux/highmem.h
+++ b/include/linux/highmem.h
@@ -59,7 +59,7 @@ static inline void *kmap(struct page *page)
        return page_address(page);
 }
 
-#define kmap_prot(page, prot)  kmap(page)
+#define __kmap_prot(page, prot)        kmap(page)
 
 static inline void kunmap(struct page *page)
 {
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;

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2013-02-04 16:59 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-04 14:58 [ANNOUNCE] 3.6.11-rt26 Thomas Gleixner
2013-02-04 15:02 ` Thomas Gleixner
2013-02-04 15:54 ` Clark Williams
2013-02-04 16:59   ` Clark Williams [this message]
2013-02-04 17:16     ` Thomas Gleixner
2013-02-05  7:31 ` Qiang Huang
2013-02-05 10:18   ` Thomas Gleixner
2013-02-07 17:11 ` [ANNOUNCE] 3.6.11-rt26 - interrupts again Tim Sander

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=20130204105900.63bd5fae@riff.lan \
    --to=williams@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /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