linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] [ANNOUNCE] v3.0.9-rt26-rc1
@ 2011-11-19  4:45 Steven Rostedt
  2011-11-19  4:45 ` [PATCH 1/5] softirq: Export in_serving_softirq() Steven Rostedt
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Steven Rostedt @ 2011-11-19  4:45 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users; +Cc: Thomas Gleixner, Carsten Emde, John Kacur

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

Dear RT Folks,

This is the RT stable review cycle. As I am just starting to manage the
3.0-rt stable tree, I'm in the process of creating scripts and such to
send out patches. I will always send out a -rc1 to give people a chance
to yell at me for something stupid I did. It will also allow others
to run this under their own tests as I have a limited testing that I do.

The -rc release will be uploaded to kernel.org and will be deleted when
the final release is out. This is just a review release (or release candidate).

I will also be updating the git tree on kernel.org with the final release
but the pre releases will not be in the public tree. The final release
will also include the full broken out patches.

to build a 3.0.9-rt26-rc1 tree, the following patches should be applied:

http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.xz

http://www.kernel.org/pub/linux/kernel/v3.0/patch-3.0.9.xz

http://www.kernel.org/pub/linux/kernel/projects/rt/3.0/patch-3.0.9-rt26-rc1.patch.xz


You can also build from 3.0.9-rt25 by applying the incremental patch:

http://www.kernel.org/pub/linux/kernel/projects/rt/3.0/incr/patch-3.0.9-rt25-rt26-rc1.patch.xz

If all goes well, this patch will be converted to the main release
next Tuesday: 11/22/2011

Enjoy,

-- Steve


John Kacur (2):
      softirq: Export in_serving_softirq()
      rcu: Fix macro substitution for synchronize_rcu_bh() on RT

Peter Zijlstra (1):
      x86: crypto: Reduce preempt disabled regions

Thomas Gleixner (1):
      dm: Make rt aware

----
 arch/x86/crypto/aesni-intel_glue.c |   24 +++++++++++++-----------
 drivers/md/dm.c                    |    4 ++--
 include/linux/rcutree.h            |    2 +-
 kernel/softirq.c                   |    1 +
 4 files changed, 17 insertions(+), 14 deletions(-)

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH 1/5] softirq: Export in_serving_softirq()
  2011-11-19  4:45 [PATCH 0/5] [ANNOUNCE] v3.0.9-rt26-rc1 Steven Rostedt
@ 2011-11-19  4:45 ` Steven Rostedt
  2011-11-20 23:23   ` Paul E. McKenney
  2011-11-19  4:45 ` [PATCH 2/5] rcu: Fix macro substitution for synchronize_rcu_bh() on RT Steven Rostedt
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Steven Rostedt @ 2011-11-19  4:45 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, John Kacur, Paul McKenney,
	stable-rt

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

From: John Kacur <jkacur@redhat.com>

ERROR: "in_serving_softirq" [net/sched/cls_cgroup.ko] undefined!

The above can be fixed by exporting in_serving_softirq

Signed-off-by: John Kacur <jkacur@redhat.com>
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Cc: stable-rt@vger.kernel.org
Link: http://lkml.kernel.org/r/1321235083-21756-2-git-send-email-jkacur@redhat.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/softirq.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/kernel/softirq.c b/kernel/softirq.c
index e8756aa..026a283 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -447,6 +447,7 @@ int in_serving_softirq(void)
 	preempt_enable();
 	return res;
 }
+EXPORT_SYMBOL(in_serving_softirq);
 
 /*
  * Called with bh and local interrupts disabled. For full RT cpu must
-- 
1.7.7.1



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH 2/5] rcu: Fix macro substitution for synchronize_rcu_bh() on RT
  2011-11-19  4:45 [PATCH 0/5] [ANNOUNCE] v3.0.9-rt26-rc1 Steven Rostedt
  2011-11-19  4:45 ` [PATCH 1/5] softirq: Export in_serving_softirq() Steven Rostedt
@ 2011-11-19  4:45 ` Steven Rostedt
  2011-11-20 23:23   ` Paul E. McKenney
  2011-11-19  4:45 ` [PATCH 3/5] x86: crypto: Reduce preempt disabled regions Steven Rostedt
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Steven Rostedt @ 2011-11-19  4:45 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, John Kacur, Paul McKenney,
	stable-rt

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

From: John Kacur <jkacur@redhat.com>

kernel/rcutorture.c:492: error: ‘synchronize_rcu_bh’ undeclared here (not in a function)

synchronize_rcu_bh() is not just called as a normal function, but can
also be referenced as a function pointer. When CONFIG_PREEMPT_RT_FULL
is enabled, synchronize_rcu_bh() is defined as synchronize_rcu(), but
needs to be defined without the parenthesis because the compiler will
complain when synchronize_rcu_bh is referenced as a function pointer
and not a function.

Signed-off-by: John Kacur <jkacur@redhat.com>
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Cc: stable-rt@vger.kernel.org
Link: http://lkml.kernel.org/r/1321235083-21756-1-git-send-email-jkacur@redhat.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 include/linux/rcutree.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/linux/rcutree.h b/include/linux/rcutree.h
index 7a25aea..3bf47dc 100644
--- a/include/linux/rcutree.h
+++ b/include/linux/rcutree.h
@@ -60,7 +60,7 @@ static inline void exit_rcu(void)
 #ifndef CONFIG_PREEMPT_RT_FULL
 extern void synchronize_rcu_bh(void);
 #else
-# define synchronize_rcu_bh()	synchronize_rcu()
+# define synchronize_rcu_bh	synchronize_rcu
 #endif
 extern void synchronize_sched_expedited(void);
 extern void synchronize_rcu_expedited(void);
-- 
1.7.7.1



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH 3/5] x86: crypto: Reduce preempt disabled regions
  2011-11-19  4:45 [PATCH 0/5] [ANNOUNCE] v3.0.9-rt26-rc1 Steven Rostedt
  2011-11-19  4:45 ` [PATCH 1/5] softirq: Export in_serving_softirq() Steven Rostedt
  2011-11-19  4:45 ` [PATCH 2/5] rcu: Fix macro substitution for synchronize_rcu_bh() on RT Steven Rostedt
@ 2011-11-19  4:45 ` Steven Rostedt
  2011-11-19  4:45 ` [PATCH 4/5] dm: Make rt aware Steven Rostedt
  2011-11-19  4:45 ` [PATCH 5/5] Linux 3.0.9-rt26-rc1 Steven Rostedt
  4 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2011-11-19  4:45 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, John Kacur, Peter Zijlstra,
	stable-rt

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

From: Peter Zijlstra <peterz@infradead.org>

Restrict the preempt disabled regions to the actual floating point
operations and enable preemption for the administrative actions.

This is necessary on RT to avoid that kfree and other operations are
called with preemption disabled.

Reported-and-tested-by: Carsten Emde <cbe@osadl.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: stable-rt@vger.kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 arch/x86/crypto/aesni-intel_glue.c |   24 +++++++++++++-----------
 1 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/arch/x86/crypto/aesni-intel_glue.c b/arch/x86/crypto/aesni-intel_glue.c
index feee8ff..81ec77c 100644
--- a/arch/x86/crypto/aesni-intel_glue.c
+++ b/arch/x86/crypto/aesni-intel_glue.c
@@ -288,14 +288,14 @@ static int ecb_encrypt(struct blkcipher_desc *desc,
 	err = blkcipher_walk_virt(desc, &walk);
 	desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
 
-	kernel_fpu_begin();
 	while ((nbytes = walk.nbytes)) {
+		kernel_fpu_begin();
 		aesni_ecb_enc(ctx, walk.dst.virt.addr, walk.src.virt.addr,
-			      nbytes & AES_BLOCK_MASK);
+				nbytes & AES_BLOCK_MASK);
+		kernel_fpu_end();
 		nbytes &= AES_BLOCK_SIZE - 1;
 		err = blkcipher_walk_done(desc, &walk, nbytes);
 	}
-	kernel_fpu_end();
 
 	return err;
 }
@@ -312,14 +312,14 @@ static int ecb_decrypt(struct blkcipher_desc *desc,
 	err = blkcipher_walk_virt(desc, &walk);
 	desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
 
-	kernel_fpu_begin();
 	while ((nbytes = walk.nbytes)) {
+		kernel_fpu_begin();
 		aesni_ecb_dec(ctx, walk.dst.virt.addr, walk.src.virt.addr,
 			      nbytes & AES_BLOCK_MASK);
+		kernel_fpu_end();
 		nbytes &= AES_BLOCK_SIZE - 1;
 		err = blkcipher_walk_done(desc, &walk, nbytes);
 	}
-	kernel_fpu_end();
 
 	return err;
 }
@@ -358,14 +358,14 @@ static int cbc_encrypt(struct blkcipher_desc *desc,
 	err = blkcipher_walk_virt(desc, &walk);
 	desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
 
-	kernel_fpu_begin();
 	while ((nbytes = walk.nbytes)) {
+		kernel_fpu_begin();
 		aesni_cbc_enc(ctx, walk.dst.virt.addr, walk.src.virt.addr,
 			      nbytes & AES_BLOCK_MASK, walk.iv);
+		kernel_fpu_end();
 		nbytes &= AES_BLOCK_SIZE - 1;
 		err = blkcipher_walk_done(desc, &walk, nbytes);
 	}
-	kernel_fpu_end();
 
 	return err;
 }
@@ -382,14 +382,14 @@ static int cbc_decrypt(struct blkcipher_desc *desc,
 	err = blkcipher_walk_virt(desc, &walk);
 	desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
 
-	kernel_fpu_begin();
 	while ((nbytes = walk.nbytes)) {
+		kernel_fpu_begin();
 		aesni_cbc_dec(ctx, walk.dst.virt.addr, walk.src.virt.addr,
 			      nbytes & AES_BLOCK_MASK, walk.iv);
+		kernel_fpu_end();
 		nbytes &= AES_BLOCK_SIZE - 1;
 		err = blkcipher_walk_done(desc, &walk, nbytes);
 	}
-	kernel_fpu_end();
 
 	return err;
 }
@@ -444,18 +444,20 @@ static int ctr_crypt(struct blkcipher_desc *desc,
 	err = blkcipher_walk_virt_block(desc, &walk, AES_BLOCK_SIZE);
 	desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
 
-	kernel_fpu_begin();
 	while ((nbytes = walk.nbytes) >= AES_BLOCK_SIZE) {
+		kernel_fpu_begin();
 		aesni_ctr_enc(ctx, walk.dst.virt.addr, walk.src.virt.addr,
 			      nbytes & AES_BLOCK_MASK, walk.iv);
+		kernel_fpu_end();
 		nbytes &= AES_BLOCK_SIZE - 1;
 		err = blkcipher_walk_done(desc, &walk, nbytes);
 	}
 	if (walk.nbytes) {
+		kernel_fpu_begin();
 		ctr_crypt_final(ctx, &walk);
+		kernel_fpu_end();
 		err = blkcipher_walk_done(desc, &walk, 0);
 	}
-	kernel_fpu_end();
 
 	return err;
 }
-- 
1.7.7.1



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH 4/5] dm: Make rt aware
  2011-11-19  4:45 [PATCH 0/5] [ANNOUNCE] v3.0.9-rt26-rc1 Steven Rostedt
                   ` (2 preceding siblings ...)
  2011-11-19  4:45 ` [PATCH 3/5] x86: crypto: Reduce preempt disabled regions Steven Rostedt
@ 2011-11-19  4:45 ` Steven Rostedt
  2011-11-19  4:45 ` [PATCH 5/5] Linux 3.0.9-rt26-rc1 Steven Rostedt
  4 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2011-11-19  4:45 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, John Kacur, stable-rt

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

From: Thomas Gleixner <tglx@linutronix.de>

Use the BUG_ON_NONRT variant for the irq_disabled() checks. RT has
interrupts legitimately enabled here as we cant deadlock against the
irq thread due to the "sleeping spinlocks" conversion.

Reported-by: Luis Claudio R. Goncalves <lclaudio@uudg.org>
Cc: stable-rt@vger.kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 drivers/md/dm.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 41abc6d..67207d6 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1644,14 +1644,14 @@ static void dm_request_fn(struct request_queue *q)
 		if (map_request(ti, clone, md))
 			goto requeued;
 
-		BUG_ON(!irqs_disabled());
+		BUG_ON_NONRT(!irqs_disabled());
 		spin_lock(q->queue_lock);
 	}
 
 	goto out;
 
 requeued:
-	BUG_ON(!irqs_disabled());
+	BUG_ON_NONRT(!irqs_disabled());
 	spin_lock(q->queue_lock);
 
 delay_and_out:
-- 
1.7.7.1



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH 5/5] Linux 3.0.9-rt26-rc1
  2011-11-19  4:45 [PATCH 0/5] [ANNOUNCE] v3.0.9-rt26-rc1 Steven Rostedt
                   ` (3 preceding siblings ...)
  2011-11-19  4:45 ` [PATCH 4/5] dm: Make rt aware Steven Rostedt
@ 2011-11-19  4:45 ` Steven Rostedt
  4 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2011-11-19  4:45 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users; +Cc: Thomas Gleixner, Carsten Emde, John Kacur

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

From: Steven Rostedt <srostedt@redhat.com>

---
 localversion-rt |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/localversion-rt b/localversion-rt
index c5b71f9..02556f4 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt25
+-rt26-rc1
-- 
1.7.7.1



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH 1/5] softirq: Export in_serving_softirq()
  2011-11-19  4:45 ` [PATCH 1/5] softirq: Export in_serving_softirq() Steven Rostedt
@ 2011-11-20 23:23   ` Paul E. McKenney
  0 siblings, 0 replies; 8+ messages in thread
From: Paul E. McKenney @ 2011-11-20 23:23 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: linux-kernel, linux-rt-users, Thomas Gleixner, Carsten Emde,
	John Kacur, stable-rt

On Fri, Nov 18, 2011 at 11:45:11PM -0500, Steven Rostedt wrote:
> From: John Kacur <jkacur@redhat.com>
> 
> ERROR: "in_serving_softirq" [net/sched/cls_cgroup.ko] undefined!
> 
> The above can be fixed by exporting in_serving_softirq
> 
> Signed-off-by: John Kacur <jkacur@redhat.com>
> Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>

Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

> Cc: stable-rt@vger.kernel.org
> Link: http://lkml.kernel.org/r/1321235083-21756-2-git-send-email-jkacur@redhat.com
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
> ---
>  kernel/softirq.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/kernel/softirq.c b/kernel/softirq.c
> index e8756aa..026a283 100644
> --- a/kernel/softirq.c
> +++ b/kernel/softirq.c
> @@ -447,6 +447,7 @@ int in_serving_softirq(void)
>  	preempt_enable();
>  	return res;
>  }
> +EXPORT_SYMBOL(in_serving_softirq);
>  
>  /*
>   * Called with bh and local interrupts disabled. For full RT cpu must
> -- 
> 1.7.7.1
> 
> 



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

* Re: [PATCH 2/5] rcu: Fix macro substitution for synchronize_rcu_bh() on RT
  2011-11-19  4:45 ` [PATCH 2/5] rcu: Fix macro substitution for synchronize_rcu_bh() on RT Steven Rostedt
@ 2011-11-20 23:23   ` Paul E. McKenney
  0 siblings, 0 replies; 8+ messages in thread
From: Paul E. McKenney @ 2011-11-20 23:23 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: linux-kernel, linux-rt-users, Thomas Gleixner, Carsten Emde,
	John Kacur, stable-rt

On Fri, Nov 18, 2011 at 11:45:12PM -0500, Steven Rostedt wrote:
> From: John Kacur <jkacur@redhat.com>
> 
> kernel/rcutorture.c:492: error: ‘synchronize_rcu_bh’ undeclared here (not in a function)
> 
> synchronize_rcu_bh() is not just called as a normal function, but can
> also be referenced as a function pointer. When CONFIG_PREEMPT_RT_FULL
> is enabled, synchronize_rcu_bh() is defined as synchronize_rcu(), but
> needs to be defined without the parenthesis because the compiler will
> complain when synchronize_rcu_bh is referenced as a function pointer
> and not a function.
> 
> Signed-off-by: John Kacur <jkacur@redhat.com>
> Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
> Cc: stable-rt@vger.kernel.org
> Link: http://lkml.kernel.org/r/1321235083-21756-1-git-send-email-jkacur@redhat.com
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

> ---
>  include/linux/rcutree.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/include/linux/rcutree.h b/include/linux/rcutree.h
> index 7a25aea..3bf47dc 100644
> --- a/include/linux/rcutree.h
> +++ b/include/linux/rcutree.h
> @@ -60,7 +60,7 @@ static inline void exit_rcu(void)
>  #ifndef CONFIG_PREEMPT_RT_FULL
>  extern void synchronize_rcu_bh(void);
>  #else
> -# define synchronize_rcu_bh()	synchronize_rcu()
> +# define synchronize_rcu_bh	synchronize_rcu
>  #endif
>  extern void synchronize_sched_expedited(void);
>  extern void synchronize_rcu_expedited(void);
> -- 
> 1.7.7.1
> 
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2011-11-20 23:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-19  4:45 [PATCH 0/5] [ANNOUNCE] v3.0.9-rt26-rc1 Steven Rostedt
2011-11-19  4:45 ` [PATCH 1/5] softirq: Export in_serving_softirq() Steven Rostedt
2011-11-20 23:23   ` Paul E. McKenney
2011-11-19  4:45 ` [PATCH 2/5] rcu: Fix macro substitution for synchronize_rcu_bh() on RT Steven Rostedt
2011-11-20 23:23   ` Paul E. McKenney
2011-11-19  4:45 ` [PATCH 3/5] x86: crypto: Reduce preempt disabled regions Steven Rostedt
2011-11-19  4:45 ` [PATCH 4/5] dm: Make rt aware Steven Rostedt
2011-11-19  4:45 ` [PATCH 5/5] Linux 3.0.9-rt26-rc1 Steven Rostedt

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