linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ANNOUNCE] 3.6.6-rt17
@ 2012-11-12 21:28 Thomas Gleixner
  2012-11-14 19:56 ` Fernando Lopez-Lezcano
  2012-12-21 11:06 ` Mike Galbraith
  0 siblings, 2 replies; 8+ messages in thread
From: Thomas Gleixner @ 2012-11-12 21:28 UTC (permalink / raw)
  To: LKML; +Cc: linux-rt-users

Dear RT Folks,

I'm pleased to announce the 3.6.6-rt17 release. 3.6.6-rt16 is just a
not announced update release to 3.6.6.

Changes since 3.6.6-rt16:

   * Finally make the NOHZ softirq pending detection work with the new
     softirq scheme.

   * Remove the WARN_ON from __raise_softirq_irqoff(). I got the
     information I want for now.

The delta patch against 3.6.6-rt16 is appended below and can be found
here:

  http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/incr/patch-3.6.6-rt16-rt17.patch.xz

The RT patch against 3.6.6 can be found here:

  http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/patch-3.6.6-rt17.patch.xz

The split quilt queue is available at:

  http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/patches-3.6.6-rt17.tar.xz

Enjoy,

	tglx

------------->
Index: linux-stable/kernel/softirq.c
===================================================================
--- linux-stable.orig/kernel/softirq.c
+++ linux-stable/kernel/softirq.c
@@ -100,20 +100,15 @@ void softirq_check_pending_idle(void)
 {
 	static int rate_limit;
 	struct softirq_runner *sr = &__get_cpu_var(softirq_runners);
-	u32 warnpending, pending = local_softirq_pending();
+	u32 warnpending = local_softirq_pending();
+	int i;
 
 	if (rate_limit >= 10)
 		return;
 
-	warnpending = pending;
-
-	while (pending) {
-		struct task_struct *tsk;
-		int i = __ffs(pending);
-
-		pending &= ~(1 << i);
+	for (i = 0; i < NR_SOFTIRQS; i++) {
+		struct task_struct *tsk = sr->runner[i];
 
-		tsk = sr->runner[i];
 		/*
 		 * The wakeup code in rtmutex.c wakes up the task
 		 * _before_ it sets pi_blocked_on to NULL under
@@ -638,7 +633,7 @@ static void do_raise_softirq_irqoff(unsi
 void __raise_softirq_irqoff(unsigned int nr)
 {
 	do_raise_softirq_irqoff(nr);
-	if (WARN_ON_ONCE(!in_irq() && !current->softirq_nestcnt))
+	if (!in_irq() && !current->softirq_nestcnt)
 		wakeup_softirqd();
 }
 
Index: linux-stable/localversion-rt
===================================================================
--- linux-stable.orig/localversion-rt
+++ linux-stable/localversion-rt
@@ -1 +1 @@
--rt16
+-rt17

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

* Re: [ANNOUNCE] 3.6.6-rt17
  2012-11-12 21:28 [ANNOUNCE] 3.6.6-rt17 Thomas Gleixner
@ 2012-11-14 19:56 ` Fernando Lopez-Lezcano
  2012-11-15 14:06   ` Paul Gortmaker
  2012-11-15 18:11   ` Thomas Gleixner
  2012-12-21 11:06 ` Mike Galbraith
  1 sibling, 2 replies; 8+ messages in thread
From: Fernando Lopez-Lezcano @ 2012-11-14 19:56 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, linux-rt-users

On 11/12/2012 01:28 PM, Thomas Gleixner wrote:
> Dear RT Folks,
>
> I'm pleased to announce the 3.6.6-rt17 release. 3.6.6-rt16 is just a
> not announced update release to 3.6.6.

Got this:

----
net/nfc/llcp/llcp.c: In function 'nfc_llcp_register_device':
net/nfc/llcp/llcp.c:1185:24: error: expected expression before '{' token
net/nfc/llcp/llcp.c:1186:35: error: expected expression before '{' token
----

when building with CONFIG_NFC / CONFIG_NFS_LLCP (builds fine when those 
are not set)
-- Fernando


> Changes since 3.6.6-rt16:
>
>     * Finally make the NOHZ softirq pending detection work with the new
>       softirq scheme.
>
>     * Remove the WARN_ON from __raise_softirq_irqoff(). I got the
>       information I want for now.

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

* Re: [ANNOUNCE] 3.6.6-rt17
  2012-11-14 19:56 ` Fernando Lopez-Lezcano
@ 2012-11-15 14:06   ` Paul Gortmaker
  2012-11-15 18:11   ` Thomas Gleixner
  1 sibling, 0 replies; 8+ messages in thread
From: Paul Gortmaker @ 2012-11-15 14:06 UTC (permalink / raw)
  To: Fernando Lopez-Lezcano; +Cc: Thomas Gleixner, LKML, linux-rt-users

On 12-11-14 02:56 PM, Fernando Lopez-Lezcano wrote:
> On 11/12/2012 01:28 PM, Thomas Gleixner wrote:
>> Dear RT Folks,
>>
>> I'm pleased to announce the 3.6.6-rt17 release. 3.6.6-rt16 is just a
>> not announced update release to 3.6.6.
> 
> Got this:
> 
> ----
> net/nfc/llcp/llcp.c: In function 'nfc_llcp_register_device':
> net/nfc/llcp/llcp.c:1185:24: error: expected expression before '{' token
> net/nfc/llcp/llcp.c:1186:35: error: expected expression before '{' token
> ----
> 
> when building with CONFIG_NFC / CONFIG_NFS_LLCP (builds fine when those 
> are not set)
> -- Fernando

Locking init is broken in llcp.  You'll need this commit from mainline.

commit fe235b58d517d623bf6d40c77afca1b0ee6fc85d
Author: Szymon Janc <szymon.janc@tieto.com>
Date:   Tue Sep 25 12:42:50 2012 +0200

    NFC: Use dynamic initialization for rwlocks
    
    If rwlock is dynamically allocated but statically initialized it is
    missing proper lockdep annotation.
    
    INFO: trying to register non-static key.
    the code is fine but needs lockdep annotation.
    turning off the locking correctness validator.
    Pid: 3352, comm: neard Not tainted 3.5.0-999-nfc+ #2
    Call Trace:
    [<ffffffff810c8526>] __lock_acquire+0x8f6/0x1bf0
    [<ffffffff81739045>] ? printk+0x4d/0x4f
    [<ffffffff810c9eed>] lock_acquire+0x9d/0x220
    [<ffffffff81702bfe>] ? nfc_llcp_sock_from_sn+0x4e/0x160
    [<ffffffff81746724>] _raw_read_lock+0x44/0x60
    [<ffffffff81702bfe>] ? nfc_llcp_sock_from_sn+0x4e/0x160
    [<ffffffff81702bfe>] nfc_llcp_sock_from_sn+0x4e/0x160
    [<ffffffff817034a7>] nfc_llcp_get_sdp_ssap+0xa7/0x1b0
    [<ffffffff81706353>] llcp_sock_bind+0x173/0x210
    [<ffffffff815d9c94>] sys_bind+0xe4/0x100
    [<ffffffff8139209e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
    [<ffffffff8174ea69>] system_call_fastpath+0x16/0x1b
    
    Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
    Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

diff --git a/net/nfc/llcp/llcp.c b/net/nfc/llcp/llcp.c
index 90ef4a1..d649fbf 100644
--- a/net/nfc/llcp/llcp.c
+++ b/net/nfc/llcp/llcp.c
@@ -1156,8 +1156,8 @@ int nfc_llcp_register_device(struct nfc_dev *ndev)
 
        INIT_WORK(&local->timeout_work, nfc_llcp_timeout_work);
 
-       local->sockets.lock = __RW_LOCK_UNLOCKED(local->sockets.lock);
-       local->connecting_sockets.lock = __RW_LOCK_UNLOCKED(local->connecting_sockets.lock);
+       rwlock_init(&local->sockets.lock);
+       rwlock_init(&local->connecting_sockets.lock);
 
        nfc_llcp_build_gb(local);
 




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

* Re: [ANNOUNCE] 3.6.6-rt17
  2012-11-14 19:56 ` Fernando Lopez-Lezcano
  2012-11-15 14:06   ` Paul Gortmaker
@ 2012-11-15 18:11   ` Thomas Gleixner
  2012-11-16  0:46     ` Fernando Lopez-Lezcano
  1 sibling, 1 reply; 8+ messages in thread
From: Thomas Gleixner @ 2012-11-15 18:11 UTC (permalink / raw)
  To: Fernando Lopez-Lezcano; +Cc: LKML, linux-rt-users

On Wed, 14 Nov 2012, Fernando Lopez-Lezcano wrote:

> On 11/12/2012 01:28 PM, Thomas Gleixner wrote:
> > Dear RT Folks,
> > 
> > I'm pleased to announce the 3.6.6-rt17 release. 3.6.6-rt16 is just a
> > not announced update release to 3.6.6.
> 
> Got this:
> 
> ----
> net/nfc/llcp/llcp.c: In function 'nfc_llcp_register_device':
> net/nfc/llcp/llcp.c:1185:24: error: expected expression before '{' token
> net/nfc/llcp/llcp.c:1186:35: error: expected expression before '{' token
> ----
> 
> when building with CONFIG_NFC / CONFIG_NFS_LLCP (builds fine when those are
> not set)

Grrr. Damned ignorants.

Does that fix it for you ?

Thanks,

	tglx

------------>

Subject: nfc: Use proper lock init functions
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 15 Nov 2012 19:03:20 +0100

Grmbl. Why insist people on using static initializers if there are
proper init functions? Just because they can?

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 net/nfc/llcp/llcp.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-stable/net/nfc/llcp/llcp.c
===================================================================
--- linux-stable.orig/net/nfc/llcp/llcp.c
+++ linux-stable/net/nfc/llcp/llcp.c
@@ -1182,8 +1182,8 @@ int nfc_llcp_register_device(struct nfc_
 		goto err_rx_wq;
 	}
 
-	local->sockets.lock = __RW_LOCK_UNLOCKED(local->sockets.lock);
-	local->connecting_sockets.lock = __RW_LOCK_UNLOCKED(local->connecting_sockets.lock);
+	rwlock_init(&local->sockets.lock);
+	rwlock_init(&local->connecting_sockets.lock);
 
 	nfc_llcp_build_gb(local);
 

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

* Re: [ANNOUNCE] 3.6.6-rt17
  2012-11-15 18:11   ` Thomas Gleixner
@ 2012-11-16  0:46     ` Fernando Lopez-Lezcano
  0 siblings, 0 replies; 8+ messages in thread
From: Fernando Lopez-Lezcano @ 2012-11-16  0:46 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, linux-rt-users

On 11/15/2012 10:11 AM, Thomas Gleixner wrote:
> On Wed, 14 Nov 2012, Fernando Lopez-Lezcano wrote:
>
>> On 11/12/2012 01:28 PM, Thomas Gleixner wrote:
>>> Dear RT Folks,
>>>
>>> I'm pleased to announce the 3.6.6-rt17 release. 3.6.6-rt16 is just a
>>> not announced update release to 3.6.6.
>>
>> Got this:
>>
>> ----
>> net/nfc/llcp/llcp.c: In function 'nfc_llcp_register_device':
>> net/nfc/llcp/llcp.c:1185:24: error: expected expression before '{' token
>> net/nfc/llcp/llcp.c:1186:35: error: expected expression before '{' token
>> ----
>>
>> when building with CONFIG_NFC / CONFIG_NFS_LLCP (builds fine when those are
>> not set)
>
> Grrr. Damned ignorants.
>
> Does that fix it for you ?

Yes, thanks! I had to tweak the patch but it does make the whole thing 
compile.
-- Fernando


> ------------>
>
> Subject: nfc: Use proper lock init functions
> From: Thomas Gleixner<tglx@linutronix.de>
> Date: Thu, 15 Nov 2012 19:03:20 +0100
>
> Grmbl. Why insist people on using static initializers if there are
> proper init functions? Just because they can?
>
> Signed-off-by: Thomas Gleixner<tglx@linutronix.de>
> ---
>   net/nfc/llcp/llcp.c |    4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> Index: linux-stable/net/nfc/llcp/llcp.c
> ===================================================================
> --- linux-stable.orig/net/nfc/llcp/llcp.c
> +++ linux-stable/net/nfc/llcp/llcp.c
> @@ -1182,8 +1182,8 @@ int nfc_llcp_register_device(struct nfc_
>   		goto err_rx_wq;
>   	}
>
> -	local->sockets.lock = __RW_LOCK_UNLOCKED(local->sockets.lock);
> -	local->connecting_sockets.lock = __RW_LOCK_UNLOCKED(local->connecting_sockets.lock);
> +	rwlock_init(&local->sockets.lock);
> +	rwlock_init(&local->connecting_sockets.lock);
>
>   	nfc_llcp_build_gb(local);
>

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

* Re: [ANNOUNCE] 3.6.6-rt17
  2012-11-12 21:28 [ANNOUNCE] 3.6.6-rt17 Thomas Gleixner
  2012-11-14 19:56 ` Fernando Lopez-Lezcano
@ 2012-12-21 11:06 ` Mike Galbraith
  2012-12-21 14:23   ` Thomas Gleixner
  1 sibling, 1 reply; 8+ messages in thread
From: Mike Galbraith @ 2012-12-21 11:06 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, linux-rt-users

On Mon, 2012-11-12 at 22:28 +0100, Thomas Gleixner wrote: 
> Dear RT Folks,
> 
> I'm pleased to announce the 3.6.6-rt17 release. 3.6.6-rt16 is just a
> not announced update release to 3.6.6.
> 
> Changes since 3.6.6-rt16:
> 
>    * Finally make the NOHZ softirq pending detection work with the new
>      softirq scheme.

Well, almost.  They gripe when rebooting, but I haven't seen one other
than that.  This is 3.6.11-rt23 on a 64 core DL980 I set up to run some
latency tests on.

[  318.692463] kvm: exiting hardware virtualization
[  319.568482] Disabling non-boot CPUs ...
[  319.647819] NOHZ: local_softirq_pending 80
[  319.876148] NOHZ: local_softirq_pending 202
[  319.876172] NOHZ: local_softirq_pending 202
[  319.988912] NOHZ: local_softirq_pending 282
[  320.097066] NOHZ: local_softirq_pending 202
[  320.321428] NOHZ: local_softirq_pending 80
[  320.662601] NOHZ: local_softirq_pending 202
[  320.662637] NOHZ: local_softirq_pending 202
[  323.162636] NOHZ: local_softirq_pending 202
[  323.162649] NOHZ: local_softirq_pending 202
[  325.217675] Restarting system.

Don't suppose you know why LAZY_PREEMPT would make 3.0-rt explode if you
turn on wakeup_rt tracer do you?

I backported that and your softirq changes to 3.0.  New softirq handling
scheme work spiffy there, LAZY_PREEMPT works fine too.. until you turn
tracing on, then it corrupts memory, and makes mushroom cloud.

-Mike





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

* Re: [ANNOUNCE] 3.6.6-rt17
  2012-12-21 11:06 ` Mike Galbraith
@ 2012-12-21 14:23   ` Thomas Gleixner
  2012-12-21 15:49     ` Mike Galbraith
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Gleixner @ 2012-12-21 14:23 UTC (permalink / raw)
  To: Mike Galbraith; +Cc: LKML, linux-rt-users

On Fri, 21 Dec 2012, Mike Galbraith wrote:
> On Mon, 2012-11-12 at 22:28 +0100, Thomas Gleixner wrote: 
> > Dear RT Folks,
> > 
> > I'm pleased to announce the 3.6.6-rt17 release. 3.6.6-rt16 is just a
> > not announced update release to 3.6.6.
> > 
> > Changes since 3.6.6-rt16:
> > 
> >    * Finally make the NOHZ softirq pending detection work with the new
> >      softirq scheme.
> 
> Well, almost.  They gripe when rebooting, but I haven't seen one other
> than that.  This is 3.6.11-rt23 on a 64 core DL980 I set up to run some
> latency tests on.

Yeah. It's not fixed completely. I know what it needs but thats major
surgery.
 
> [  318.692463] kvm: exiting hardware virtualization
> [  319.568482] Disabling non-boot CPUs ...
> [  319.647819] NOHZ: local_softirq_pending 80
> [  319.876148] NOHZ: local_softirq_pending 202
> [  319.876172] NOHZ: local_softirq_pending 202
> [  319.988912] NOHZ: local_softirq_pending 282
> [  320.097066] NOHZ: local_softirq_pending 202
> [  320.321428] NOHZ: local_softirq_pending 80
> [  320.662601] NOHZ: local_softirq_pending 202
> [  320.662637] NOHZ: local_softirq_pending 202
> [  323.162636] NOHZ: local_softirq_pending 202
> [  323.162649] NOHZ: local_softirq_pending 202
> [  325.217675] Restarting system.
> 
> Don't suppose you know why LAZY_PREEMPT would make 3.0-rt explode if you
> turn on wakeup_rt tracer do you?

No.
 
> I backported that and your softirq changes to 3.0.  New softirq handling
> scheme work spiffy there, LAZY_PREEMPT works fine too.. until you turn
> tracing on, then it corrupts memory, and makes mushroom cloud.

I guess you are just trying to make up for the canceled apocalypse :)

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

* Re: [ANNOUNCE] 3.6.6-rt17
  2012-12-21 14:23   ` Thomas Gleixner
@ 2012-12-21 15:49     ` Mike Galbraith
  0 siblings, 0 replies; 8+ messages in thread
From: Mike Galbraith @ 2012-12-21 15:49 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, linux-rt-users

On Fri, 2012-12-21 at 15:23 +0100, Thomas Gleixner wrote: 
> On Fri, 21 Dec 2012, Mike Galbraith wrote:
> > On Mon, 2012-11-12 at 22:28 +0100, Thomas Gleixner wrote: 
> > > Dear RT Folks,
> > > 
> > > I'm pleased to announce the 3.6.6-rt17 release. 3.6.6-rt16 is just a
> > > not announced update release to 3.6.6.
> > > 
> > > Changes since 3.6.6-rt16:
> > > 
> > >    * Finally make the NOHZ softirq pending detection work with the new
> > >      softirq scheme.
> > 
> > Well, almost.  They gripe when rebooting, but I haven't seen one other
> > than that.  This is 3.6.11-rt23 on a 64 core DL980 I set up to run some
> > latency tests on.
> 
> Yeah. It's not fixed completely. I know what it needs but thats major
> surgery.
>  
> > [  318.692463] kvm: exiting hardware virtualization
> > [  319.568482] Disabling non-boot CPUs ...
> > [  319.647819] NOHZ: local_softirq_pending 80
> > [  319.876148] NOHZ: local_softirq_pending 202
> > [  319.876172] NOHZ: local_softirq_pending 202
> > [  319.988912] NOHZ: local_softirq_pending 282
> > [  320.097066] NOHZ: local_softirq_pending 202
> > [  320.321428] NOHZ: local_softirq_pending 80
> > [  320.662601] NOHZ: local_softirq_pending 202
> > [  320.662637] NOHZ: local_softirq_pending 202
> > [  323.162636] NOHZ: local_softirq_pending 202
> > [  323.162649] NOHZ: local_softirq_pending 202
> > [  325.217675] Restarting system.
> > 
> > Don't suppose you know why LAZY_PREEMPT would make 3.0-rt explode if you
> > turn on wakeup_rt tracer do you?
> 
> No.

Aw poo.  Tracing goop is hard. 

> > I backported that and your softirq changes to 3.0.  New softirq handling
> > scheme work spiffy there, LAZY_PREEMPT works fine too.. until you turn
> > tracing on, then it corrupts memory, and makes mushroom cloud.
> 
> I guess you are just trying to make up for the canceled apocalypse :)

Damn.  I forgot to run around yelling "The sky is falling!" :)

-Mike 



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

end of thread, other threads:[~2012-12-21 15:49 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-12 21:28 [ANNOUNCE] 3.6.6-rt17 Thomas Gleixner
2012-11-14 19:56 ` Fernando Lopez-Lezcano
2012-11-15 14:06   ` Paul Gortmaker
2012-11-15 18:11   ` Thomas Gleixner
2012-11-16  0:46     ` Fernando Lopez-Lezcano
2012-12-21 11:06 ` Mike Galbraith
2012-12-21 14:23   ` Thomas Gleixner
2012-12-21 15:49     ` Mike Galbraith

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