Re: [ANNOUNCE] 3.14.3-rt5

2015-02-16 Thread Juri Lelli
Hi Sebastian,

On 16/02/15 11:29, Sebastian Andrzej Siewior wrote:
> * Juri Lelli | 2014-05-13 15:30:20 [+0200]:
> 
>> Hi,
> Hi Juri,
> 
>> Also SCHED_DEADLINE dies without the following.
>>
>> Thanks,
>>
>> - Juri
>>
>> ---From 3ca5943538c728399037823e5632431bc2da707c Mon Sep 17 00:00:00 2001
>> From: Juri Lelli 
>> Date: Tue, 13 May 2014 15:21:16 +0200
>> Subject: [PATCH] sched/deadline: dl_task_timer has to be irqsafe
> 
> applied.
> 

Thanks!

- Juri

> Sebastian
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2015-02-16 Thread Sebastian Andrzej Siewior
* Juri Lelli | 2014-05-13 15:30:20 [+0200]:

>Hi,
Hi Juri,

>Also SCHED_DEADLINE dies without the following.
>
>Thanks,
>
>- Juri
>
>---From 3ca5943538c728399037823e5632431bc2da707c Mon Sep 17 00:00:00 2001
>From: Juri Lelli 
>Date: Tue, 13 May 2014 15:21:16 +0200
>Subject: [PATCH] sched/deadline: dl_task_timer has to be irqsafe

applied.

Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2015-02-16 Thread Juri Lelli
Hi Sebastian,

On 16/02/15 11:29, Sebastian Andrzej Siewior wrote:
 * Juri Lelli | 2014-05-13 15:30:20 [+0200]:
 
 Hi,
 Hi Juri,
 
 Also SCHED_DEADLINE dies without the following.

 Thanks,

 - Juri

 ---From 3ca5943538c728399037823e5632431bc2da707c Mon Sep 17 00:00:00 2001
 From: Juri Lelli juri.le...@gmail.com
 Date: Tue, 13 May 2014 15:21:16 +0200
 Subject: [PATCH] sched/deadline: dl_task_timer has to be irqsafe
 
 applied.
 

Thanks!

- Juri

 Sebastian
 

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2015-02-16 Thread Sebastian Andrzej Siewior
* Juri Lelli | 2014-05-13 15:30:20 [+0200]:

Hi,
Hi Juri,

Also SCHED_DEADLINE dies without the following.

Thanks,

- Juri

---From 3ca5943538c728399037823e5632431bc2da707c Mon Sep 17 00:00:00 2001
From: Juri Lelli juri.le...@gmail.com
Date: Tue, 13 May 2014 15:21:16 +0200
Subject: [PATCH] sched/deadline: dl_task_timer has to be irqsafe

applied.

Sebastian
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-13 Thread Mike Galbraith
On Tue, 2014-05-13 at 17:40 +0200, Sebastian Andrzej Siewior wrote: 
> * Mike Galbraith | 2014-05-10 06:15:03 [+0200]:
> 
> >On Fri, 2014-05-09 at 20:12 +0200, Sebastian Andrzej Siewior wrote:
> >
> >> Known issues:
> >> 
> >>   - bcache is disabled.
> >> 
> >>   - lazy preempt on x86_64 leads to a crash with some load.
> >
> >That is only with NO_HZ_FUL enabled here.  Box blows the stack during
> >task exit, eyeballing hasn't spotted the why.
> 
> Even if I disable NO_HZ_FULL it explodes as soon as hackbench starts.

Well good, that makes a hell of a lot more sense.  The below is with
NO_HZ_FULL enabled, and hackbench exploding on exit.  Every kaboom I've
see has been a dead task exploding on scrambled thread_info.

Accessing per-anti-cpu data doesn't work well from our universe ;-)

crash> bt  6657
PID: 6657   TASK: 8801f947ac00  CPU: 1   COMMAND: "hackbench"
 #0 [88022fc86e00] crash_nmi_callback at 8102b8f4
 #1 [88022fc86e10] nmi_handle at 8164865a
 #2 [88022fc86ea0] default_do_nmi at 81648883
 #3 [88022fc86ed0] do_nmi at 81648b50
 #4 [88022fc86ef0] end_repeat_nmi at 81647b71
[exception RIP: oops_begin+162]
RIP: 816483e2  RSP: 8800b220d9d8  RFLAGS: 0097
RAX: 0010  RBX: 0010  RCX: 0097
RDX: 8800b220d9d8  RSI: 0018  RDI: 0001
RBP: 816483e2   R8: 816483e2   R9: 0018
R10: 8800b220d9d8  R11: 0097  R12: 
R13: 88022700bf00  R14: 0100  R15: 0001
ORIG_RAX: 0001  CS: 0010  SS: 0018
---  ---
 #5 [8800b220d9d8] oops_begin at 816483e2
 #6 [8800b220d9f0] no_context at 8162ef25
 #7 [8800b220da40] __bad_area_nosemaphore at 8162f19d
 #8 [8800b220daa0] bad_area_nosemaphore at 8162f1ca
 #9 [8800b220dab0] __do_page_fault at 8164a68e
#10 [8800b220dbd0] do_page_fault at 8164ab9e
#11 [8800b220dc00] page_fault at 81647808
[exception RIP: cpuacct_charge+148]
RIP: 810a1874  RSP: 8800b220dcb8  RFLAGS: 00010046
RAX: 0040  RBX: dd08  RCX: 0003
RDX: 0006  RSI: 0006  RDI: 88022700bf00
RBP: 8800b220dcf8   R8: 06c0   R9: 000b
R10:   R11: 00013f40  R12: 81c3b180
R13: 8801f947ac00  R14: b220ddd8  R15: 1d64
ORIG_RAX:   CS: 0010  SS: 0018
#12 [8800b220dd00] update_curr at 81092451
#13 [8800b220dd60] dequeue_entity at 810928f3
#14 [8800b220ddc0] dequeue_task_fair at 81092d4d
#15 [8800b220de10] dequeue_task at 8108442e
#16 [8800b220de40] deactivate_task at 81084f9e
#17 [8800b220de50] __schedule at 816440d4
#18 [8800b220ded0] schedule at 81644899
#19 [8800b220def0] do_exit at 810530d0
#20 [8800b220df40] do_group_exit at 8105334c
#21 [8800b220df70] sys_exit_group at 810533e2
#22 [8800b220df80] tracesys at 8164f109 (via system_call)
RIP: 7fcc1a078ca8  RSP: 7fff62546c48  RFLAGS: 0246
RAX: ffda  RBX: 8164f109  RCX: 
RDX:   RSI: 003c  RDI: 
RBP: 7fcc1a355840   R8: 00e7   R9: ffa8
R10: 7fcc1a969700  R11: 0246  R12: 810533e2
R13: 8800b220df78  R14: 01ad9c88  R15: 0001
ORIG_RAX: 00e7  CS: 0033  SS: 002b

crash> struct thread_info 0x8800b220c000
struct thread_info {
  task = 0x, 
  exec_domain = 0x811bae66 <__d_free+70>, 
  flags = 2, 
  status = 0, 
  cpu = 2988498392, 
  saved_preempt_count = -30720, 
  preempt_lazy_count = -112742225, 
  addr_limit = {
seg = 524802
  }, 
  restart_block = {
fn = 0x88022fc91358, 
{
  futex = {
uaddr = 0x80202, 
val = 3, 
flags = 0, 
bitset = 2988490752, 
time = 18446744071585425101, 
uaddr2 = 0x88022fc91358
  }, 
  nanosleep = {
clockid = 524802, 
rmtp = 0x3, 
compat_rmtp = 0x8800b220c000, 
expires = 18446744071585425101
  }, 
  poll = {
ufds = 0x80202, 
nfds = 3, 
has_timeout = 0, 
tv_sec = 18446612135302709248, 
tv_nsec = 18446744071585425101
  }
}
  }, 
  sysenter_return = 0x, 
  sig_on_uaccess_error = 0, 
  uaccess_err = 0
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-13 Thread Sebastian Andrzej Siewior
* Pavel Vasilyev | 2014-05-10 02:54:34 [+0400]:

>09.05.2014 22:12, Sebastian Andrzej Siewior пишет:
>
>>The delta patch against v3.14.3-rt4 is appended below and can be found
>
>Where delta from 3 to 4 ?
I can remeber answering that question to an earlier release. The change
is mostly in

https://git.kernel.org/cgit/linux/kernel/git/bigeasy/rt-devel.git/commit/?id=be0f124e477586b437108e09b66153be66dad29d

For more details feel free to "git diff v3.14.2-rt3..v3.14.3-rt4" in
that tree. This is however just a stable fixup.

Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-13 Thread Sebastian Andrzej Siewior
* Mike Galbraith | 2014-05-10 06:15:03 [+0200]:

>On Fri, 2014-05-09 at 20:12 +0200, Sebastian Andrzej Siewior wrote:
>
>> Known issues:
>> 
>>   - bcache is disabled.
>> 
>>   - lazy preempt on x86_64 leads to a crash with some load.
>
>That is only with NO_HZ_FUL enabled here.  Box blows the stack during
>task exit, eyeballing hasn't spotted the why.

Even if I disable NO_HZ_FULL it explodes as soon as hackbench starts.

>> - CPU hotplug works in general. Steven's test script however
>> deadlocks usually on the second invocation.
>
>My 64 core box runs for up to 14 hours, and never deadlocks.. it
>explodes in what looks like it should be an impossible manner instead.

It deadlocks here and I haven't figured the exact root cause. From what
it looks like is that the irq thread blocks on something during startup
(migrate_disable() or so). One of the blocked irq thrad is disk driver.
The userland tasks then block on ext4 in order to complete the requests.

I also noticed that the frequent cpu up/down fails at some point and my
kvm guest has just 7 out 8 CPUs. That one CPU remains dead and can't get
back online. Once that happens, the deadlock is comming in a few minutes
:)

>-Mike

Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-13 Thread Juri Lelli
Hi,

On Fri, 9 May 2014 20:12:14 +0200
Sebastian Andrzej Siewior  wrote:

> Dear RT folks!
> 
> I'm pleased to announce the v3.14.3-rt5 patch set.
> 
> Changes since v3.14.3-rt4
> - remove one of the two identical rt_mutex_init() definitions. A patch
>   from Steven Rostedt
> - use EXPORT_SYMBOL() on __rt_mutex_init() and
>   rt_down_write_nested_lock(). The former was dropped accidently and is
>   needed by some binary only modules, the latter was requsted by the f2fs
>   module. Patch by Joakim Hernberg.
> - during v3.14 porting I accidently dropped preempt_check_resched() in
>   the non-preempt case which means configs non-preempt configs did not
>   build. Reported by Yang Honggang.
> - NETCONSOLE is no longer disabled on RT. Daniel Bristot de Oliveira did
>   some testing and did not find anything wrong it. That means it can be
>   enabled if someone needs/wants it.
> - rt_read_lock() uses rwlock_acquire() instead of rwlock_acquire_read()
>   for lockdep annotation. It was different compared to what the trylock
>   variant used and on RT both act the same way. Patch by Mike Galbraith.
> - the tracing code wrongly disable preemption while shrinking the ring
>   buffer. Reported by Stanislav Meduna.
> 
> Known issues:
> 
>   - bcache is disabled.
> 
>   - lazy preempt on x86_64 leads to a crash with some load.
> 
>   - CPU hotplug works in general. Steven's test script however
> deadlocks usually on the second invocation.
> 

Also SCHED_DEADLINE dies without the following.

Thanks,

- Juri

---From 3ca5943538c728399037823e5632431bc2da707c Mon Sep 17 00:00:00 2001
From: Juri Lelli 
Date: Tue, 13 May 2014 15:21:16 +0200
Subject: [PATCH] sched/deadline: dl_task_timer has to be irqsafe

As for rt_period_timer, dl_task_timer has to be irqsafe.

Signed-off-by: Juri Lelli 
---
 kernel/sched/deadline.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 6e79b3f..48b04ce 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -537,6 +537,7 @@ void init_dl_task_timer(struct sched_dl_entity *dl_se)
 
hrtimer_init(timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
timer->function = dl_task_timer;
+   timer->irqsafe = 1;
 }
 
 static
-- 
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-13 Thread Juri Lelli
Hi,

On Fri, 9 May 2014 20:12:14 +0200
Sebastian Andrzej Siewior bige...@linutronix.de wrote:

 Dear RT folks!
 
 I'm pleased to announce the v3.14.3-rt5 patch set.
 
 Changes since v3.14.3-rt4
 - remove one of the two identical rt_mutex_init() definitions. A patch
   from Steven Rostedt
 - use EXPORT_SYMBOL() on __rt_mutex_init() and
   rt_down_write_nested_lock(). The former was dropped accidently and is
   needed by some binary only modules, the latter was requsted by the f2fs
   module. Patch by Joakim Hernberg.
 - during v3.14 porting I accidently dropped preempt_check_resched() in
   the non-preempt case which means configs non-preempt configs did not
   build. Reported by Yang Honggang.
 - NETCONSOLE is no longer disabled on RT. Daniel Bristot de Oliveira did
   some testing and did not find anything wrong it. That means it can be
   enabled if someone needs/wants it.
 - rt_read_lock() uses rwlock_acquire() instead of rwlock_acquire_read()
   for lockdep annotation. It was different compared to what the trylock
   variant used and on RT both act the same way. Patch by Mike Galbraith.
 - the tracing code wrongly disable preemption while shrinking the ring
   buffer. Reported by Stanislav Meduna.
 
 Known issues:
 
   - bcache is disabled.
 
   - lazy preempt on x86_64 leads to a crash with some load.
 
   - CPU hotplug works in general. Steven's test script however
 deadlocks usually on the second invocation.
 

Also SCHED_DEADLINE dies without the following.

Thanks,

- Juri

---From 3ca5943538c728399037823e5632431bc2da707c Mon Sep 17 00:00:00 2001
From: Juri Lelli juri.le...@gmail.com
Date: Tue, 13 May 2014 15:21:16 +0200
Subject: [PATCH] sched/deadline: dl_task_timer has to be irqsafe

As for rt_period_timer, dl_task_timer has to be irqsafe.

Signed-off-by: Juri Lelli juri.le...@gmail.com
---
 kernel/sched/deadline.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 6e79b3f..48b04ce 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -537,6 +537,7 @@ void init_dl_task_timer(struct sched_dl_entity *dl_se)
 
hrtimer_init(timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
timer-function = dl_task_timer;
+   timer-irqsafe = 1;
 }
 
 static
-- 
1.7.10.4
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-13 Thread Sebastian Andrzej Siewior
* Mike Galbraith | 2014-05-10 06:15:03 [+0200]:

On Fri, 2014-05-09 at 20:12 +0200, Sebastian Andrzej Siewior wrote:

 Known issues:
 
   - bcache is disabled.
 
   - lazy preempt on x86_64 leads to a crash with some load.

That is only with NO_HZ_FUL enabled here.  Box blows the stack during
task exit, eyeballing hasn't spotted the why.

Even if I disable NO_HZ_FULL it explodes as soon as hackbench starts.

 - CPU hotplug works in general. Steven's test script however
 deadlocks usually on the second invocation.

My 64 core box runs for up to 14 hours, and never deadlocks.. it
explodes in what looks like it should be an impossible manner instead.

It deadlocks here and I haven't figured the exact root cause. From what
it looks like is that the irq thread blocks on something during startup
(migrate_disable() or so). One of the blocked irq thrad is disk driver.
The userland tasks then block on ext4 in order to complete the requests.

I also noticed that the frequent cpu up/down fails at some point and my
kvm guest has just 7 out 8 CPUs. That one CPU remains dead and can't get
back online. Once that happens, the deadlock is comming in a few minutes
:)

-Mike

Sebastian
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-13 Thread Sebastian Andrzej Siewior
* Pavel Vasilyev | 2014-05-10 02:54:34 [+0400]:

09.05.2014 22:12, Sebastian Andrzej Siewior пишет:

The delta patch against v3.14.3-rt4 is appended below and can be found

Where delta from 3 to 4 ?
I can remeber answering that question to an earlier release. The change
is mostly in

https://git.kernel.org/cgit/linux/kernel/git/bigeasy/rt-devel.git/commit/?id=be0f124e477586b437108e09b66153be66dad29d

For more details feel free to git diff v3.14.2-rt3..v3.14.3-rt4 in
that tree. This is however just a stable fixup.

Sebastian
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-13 Thread Mike Galbraith
On Tue, 2014-05-13 at 17:40 +0200, Sebastian Andrzej Siewior wrote: 
 * Mike Galbraith | 2014-05-10 06:15:03 [+0200]:
 
 On Fri, 2014-05-09 at 20:12 +0200, Sebastian Andrzej Siewior wrote:
 
  Known issues:
  
- bcache is disabled.
  
- lazy preempt on x86_64 leads to a crash with some load.
 
 That is only with NO_HZ_FUL enabled here.  Box blows the stack during
 task exit, eyeballing hasn't spotted the why.
 
 Even if I disable NO_HZ_FULL it explodes as soon as hackbench starts.

Well good, that makes a hell of a lot more sense.  The below is with
NO_HZ_FULL enabled, and hackbench exploding on exit.  Every kaboom I've
see has been a dead task exploding on scrambled thread_info.

Accessing per-anti-cpu data doesn't work well from our universe ;-)

crash bt  6657
PID: 6657   TASK: 8801f947ac00  CPU: 1   COMMAND: hackbench
 #0 [88022fc86e00] crash_nmi_callback at 8102b8f4
 #1 [88022fc86e10] nmi_handle at 8164865a
 #2 [88022fc86ea0] default_do_nmi at 81648883
 #3 [88022fc86ed0] do_nmi at 81648b50
 #4 [88022fc86ef0] end_repeat_nmi at 81647b71
[exception RIP: oops_begin+162]
RIP: 816483e2  RSP: 8800b220d9d8  RFLAGS: 0097
RAX: 0010  RBX: 0010  RCX: 0097
RDX: 8800b220d9d8  RSI: 0018  RDI: 0001
RBP: 816483e2   R8: 816483e2   R9: 0018
R10: 8800b220d9d8  R11: 0097  R12: 
R13: 88022700bf00  R14: 0100  R15: 0001
ORIG_RAX: 0001  CS: 0010  SS: 0018
--- NMI exception stack ---
 #5 [8800b220d9d8] oops_begin at 816483e2
 #6 [8800b220d9f0] no_context at 8162ef25
 #7 [8800b220da40] __bad_area_nosemaphore at 8162f19d
 #8 [8800b220daa0] bad_area_nosemaphore at 8162f1ca
 #9 [8800b220dab0] __do_page_fault at 8164a68e
#10 [8800b220dbd0] do_page_fault at 8164ab9e
#11 [8800b220dc00] page_fault at 81647808
[exception RIP: cpuacct_charge+148]
RIP: 810a1874  RSP: 8800b220dcb8  RFLAGS: 00010046
RAX: 0040  RBX: dd08  RCX: 0003
RDX: 0006  RSI: 0006  RDI: 88022700bf00
RBP: 8800b220dcf8   R8: 06c0   R9: 000b
R10:   R11: 00013f40  R12: 81c3b180
R13: 8801f947ac00  R14: b220ddd8  R15: 1d64
ORIG_RAX:   CS: 0010  SS: 0018
#12 [8800b220dd00] update_curr at 81092451
#13 [8800b220dd60] dequeue_entity at 810928f3
#14 [8800b220ddc0] dequeue_task_fair at 81092d4d
#15 [8800b220de10] dequeue_task at 8108442e
#16 [8800b220de40] deactivate_task at 81084f9e
#17 [8800b220de50] __schedule at 816440d4
#18 [8800b220ded0] schedule at 81644899
#19 [8800b220def0] do_exit at 810530d0
#20 [8800b220df40] do_group_exit at 8105334c
#21 [8800b220df70] sys_exit_group at 810533e2
#22 [8800b220df80] tracesys at 8164f109 (via system_call)
RIP: 7fcc1a078ca8  RSP: 7fff62546c48  RFLAGS: 0246
RAX: ffda  RBX: 8164f109  RCX: 
RDX:   RSI: 003c  RDI: 
RBP: 7fcc1a355840   R8: 00e7   R9: ffa8
R10: 7fcc1a969700  R11: 0246  R12: 810533e2
R13: 8800b220df78  R14: 01ad9c88  R15: 0001
ORIG_RAX: 00e7  CS: 0033  SS: 002b

crash struct thread_info 0x8800b220c000
struct thread_info {
  task = 0x, 
  exec_domain = 0x811bae66 __d_free+70, 
  flags = 2, 
  status = 0, 
  cpu = 2988498392, 
  saved_preempt_count = -30720, 
  preempt_lazy_count = -112742225, 
  addr_limit = {
seg = 524802
  }, 
  restart_block = {
fn = 0x88022fc91358, 
{
  futex = {
uaddr = 0x80202, 
val = 3, 
flags = 0, 
bitset = 2988490752, 
time = 18446744071585425101, 
uaddr2 = 0x88022fc91358
  }, 
  nanosleep = {
clockid = 524802, 
rmtp = 0x3, 
compat_rmtp = 0x8800b220c000, 
expires = 18446744071585425101
  }, 
  poll = {
ufds = 0x80202, 
nfds = 3, 
has_timeout = 0, 
tv_sec = 18446612135302709248, 
tv_nsec = 18446744071585425101
  }
}
  }, 
  sysenter_return = 0x, 
  sig_on_uaccess_error = 0, 
  uaccess_err = 0
}


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-09 Thread Mike Galbraith
On Fri, 2014-05-09 at 20:12 +0200, Sebastian Andrzej Siewior wrote:

> Known issues:
> 
>   - bcache is disabled.
> 
>   - lazy preempt on x86_64 leads to a crash with some load.

That is only with NO_HZ_FUL enabled here.  Box blows the stack during
task exit, eyeballing hasn't spotted the why.

> - CPU hotplug works in general. Steven's test script however
> deadlocks usually on the second invocation.

My 64 core box runs for up to 14 hours, and never deadlocks.. it
explodes in what looks like it should be an impossible manner instead.

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-09 Thread Pavel Vasilyev

09.05.2014 22:12, Sebastian Andrzej Siewior пишет:


The delta patch against v3.14.3-rt4 is appended below and can be found


Where delta from 3 to 4 ?

--

 Pavel.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[ANNOUNCE] 3.14.3-rt5

2014-05-09 Thread Sebastian Andrzej Siewior
Dear RT folks!

I'm pleased to announce the v3.14.3-rt5 patch set.

Changes since v3.14.3-rt4
- remove one of the two identical rt_mutex_init() definitions. A patch
  from Steven Rostedt
- use EXPORT_SYMBOL() on __rt_mutex_init() and
  rt_down_write_nested_lock(). The former was dropped accidently and is
  needed by some binary only modules, the latter was requsted by the f2fs
  module. Patch by Joakim Hernberg.
- during v3.14 porting I accidently dropped preempt_check_resched() in
  the non-preempt case which means configs non-preempt configs did not
  build. Reported by Yang Honggang.
- NETCONSOLE is no longer disabled on RT. Daniel Bristot de Oliveira did
  some testing and did not find anything wrong it. That means it can be
  enabled if someone needs/wants it.
- rt_read_lock() uses rwlock_acquire() instead of rwlock_acquire_read()
  for lockdep annotation. It was different compared to what the trylock
  variant used and on RT both act the same way. Patch by Mike Galbraith.
- the tracing code wrongly disable preemption while shrinking the ring
  buffer. Reported by Stanislav Meduna.

Known issues:

  - bcache is disabled.

  - lazy preempt on x86_64 leads to a crash with some load.

  - CPU hotplug works in general. Steven's test script however
deadlocks usually on the second invocation.

The delta patch against v3.14.3-rt4 is appended below and can be found
here:
   
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/incr/patch-3.14.3-rt4-rt5.patch.xz

The RT patch against 3.14.3 can be found here:

   
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patch-3.14.3-rt5.patch.xz

The split quilt queue is available at:

   
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patches-3.14.3-rt5.tar.xz

Sebastian

diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 33a4a85..494b888 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -160,7 +160,6 @@ config VXLAN
 
 config NETCONSOLE
tristate "Network console logging support"
-   depends on !PREEMPT_RT_FULL
---help---
If you want to log kernel messages over the network, enable this.
See  for details.
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
index 5b2cdf4..66587bf 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -149,6 +149,7 @@ do { \
 #define sched_preempt_enable_no_resched()  barrier()
 #define preempt_enable_no_resched()barrier()
 #define preempt_enable()   barrier()
+#define preempt_check_resched()do { } while (0)
 
 #define preempt_disable_notrace()  barrier()
 #define preempt_enable_no_resched_notrace()barrier()
diff --git a/include/linux/rtmutex.h b/include/linux/rtmutex.h
index f8f3dfdd2..edb77fd 100644
--- a/include/linux/rtmutex.h
+++ b/include/linux/rtmutex.h
@@ -59,23 +59,18 @@ struct hrtimer_sleeper;
 # define rt_mutex_debug_check_no_locks_held(task)  do { } while (0)
 #endif
 
-#ifdef CONFIG_DEBUG_RT_MUTEXES
-# define __DEBUG_RT_MUTEX_INITIALIZER(mutexname) \
-   , .name = #mutexname, .file = __FILE__, .line = __LINE__
 # define rt_mutex_init(mutex)  \
do {\
raw_spin_lock_init(&(mutex)->wait_lock);\
__rt_mutex_init(mutex, #mutex); \
} while (0)
 
+#ifdef CONFIG_DEBUG_RT_MUTEXES
+# define __DEBUG_RT_MUTEX_INITIALIZER(mutexname) \
+   , .name = #mutexname, .file = __FILE__, .line = __LINE__
  extern void rt_mutex_debug_task_free(struct task_struct *tsk);
 #else
 # define __DEBUG_RT_MUTEX_INITIALIZER(mutexname)
-# define rt_mutex_init(mutex)  \
-do {   \
-raw_spin_lock_init(&(mutex)->wait_lock);   \
-__rt_mutex_init(mutex, #mutex);\
-} while (0)
 # define rt_mutex_debug_task_free(t)   do { } while (0)
 #endif
 
diff --git a/kernel/locking/rt.c b/kernel/locking/rt.c
index 055a3df..90b8ba0 100644
--- a/kernel/locking/rt.c
+++ b/kernel/locking/rt.c
@@ -250,7 +250,7 @@ void __lockfunc rt_read_lock(rwlock_t *rwlock)
 */
if (rt_mutex_owner(lock) != current) {
migrate_disable();
-   rwlock_acquire_read(>dep_map, 0, 0, _RET_IP_);
+   rwlock_acquire(>dep_map, 0, 0, _RET_IP_);
__rt_spin_lock(lock);
}
rwlock->read_depth++;
@@ -366,6 +366,7 @@ void rt_down_write_nested_lock(struct rw_semaphore *rwsem,
rwsem_acquire_nest(>dep_map, 0, 0, nest, _RET_IP_);
rt_mutex_lock(>lock);
 }
+EXPORT_SYMBOL(rt_down_write_nested_lock);
 
 int  rt_down_read_trylock(struct rw_semaphore *rwsem)
 {
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
index 5c5cc76..fbf152b 100644
--- a/kernel/locking/rtmutex.c
+++ 

[ANNOUNCE] 3.14.3-rt5

2014-05-09 Thread Sebastian Andrzej Siewior
Dear RT folks!

I'm pleased to announce the v3.14.3-rt5 patch set.

Changes since v3.14.3-rt4
- remove one of the two identical rt_mutex_init() definitions. A patch
  from Steven Rostedt
- use EXPORT_SYMBOL() on __rt_mutex_init() and
  rt_down_write_nested_lock(). The former was dropped accidently and is
  needed by some binary only modules, the latter was requsted by the f2fs
  module. Patch by Joakim Hernberg.
- during v3.14 porting I accidently dropped preempt_check_resched() in
  the non-preempt case which means configs non-preempt configs did not
  build. Reported by Yang Honggang.
- NETCONSOLE is no longer disabled on RT. Daniel Bristot de Oliveira did
  some testing and did not find anything wrong it. That means it can be
  enabled if someone needs/wants it.
- rt_read_lock() uses rwlock_acquire() instead of rwlock_acquire_read()
  for lockdep annotation. It was different compared to what the trylock
  variant used and on RT both act the same way. Patch by Mike Galbraith.
- the tracing code wrongly disable preemption while shrinking the ring
  buffer. Reported by Stanislav Meduna.

Known issues:

  - bcache is disabled.

  - lazy preempt on x86_64 leads to a crash with some load.

  - CPU hotplug works in general. Steven's test script however
deadlocks usually on the second invocation.

The delta patch against v3.14.3-rt4 is appended below and can be found
here:
   
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/incr/patch-3.14.3-rt4-rt5.patch.xz

The RT patch against 3.14.3 can be found here:

   
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patch-3.14.3-rt5.patch.xz

The split quilt queue is available at:

   
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patches-3.14.3-rt5.tar.xz

Sebastian

diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 33a4a85..494b888 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -160,7 +160,6 @@ config VXLAN
 
 config NETCONSOLE
tristate Network console logging support
-   depends on !PREEMPT_RT_FULL
---help---
If you want to log kernel messages over the network, enable this.
See file:Documentation/networking/netconsole.txt for details.
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
index 5b2cdf4..66587bf 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -149,6 +149,7 @@ do { \
 #define sched_preempt_enable_no_resched()  barrier()
 #define preempt_enable_no_resched()barrier()
 #define preempt_enable()   barrier()
+#define preempt_check_resched()do { } while (0)
 
 #define preempt_disable_notrace()  barrier()
 #define preempt_enable_no_resched_notrace()barrier()
diff --git a/include/linux/rtmutex.h b/include/linux/rtmutex.h
index f8f3dfdd2..edb77fd 100644
--- a/include/linux/rtmutex.h
+++ b/include/linux/rtmutex.h
@@ -59,23 +59,18 @@ struct hrtimer_sleeper;
 # define rt_mutex_debug_check_no_locks_held(task)  do { } while (0)
 #endif
 
-#ifdef CONFIG_DEBUG_RT_MUTEXES
-# define __DEBUG_RT_MUTEX_INITIALIZER(mutexname) \
-   , .name = #mutexname, .file = __FILE__, .line = __LINE__
 # define rt_mutex_init(mutex)  \
do {\
raw_spin_lock_init((mutex)-wait_lock);\
__rt_mutex_init(mutex, #mutex); \
} while (0)
 
+#ifdef CONFIG_DEBUG_RT_MUTEXES
+# define __DEBUG_RT_MUTEX_INITIALIZER(mutexname) \
+   , .name = #mutexname, .file = __FILE__, .line = __LINE__
  extern void rt_mutex_debug_task_free(struct task_struct *tsk);
 #else
 # define __DEBUG_RT_MUTEX_INITIALIZER(mutexname)
-# define rt_mutex_init(mutex)  \
-do {   \
-raw_spin_lock_init((mutex)-wait_lock);   \
-__rt_mutex_init(mutex, #mutex);\
-} while (0)
 # define rt_mutex_debug_task_free(t)   do { } while (0)
 #endif
 
diff --git a/kernel/locking/rt.c b/kernel/locking/rt.c
index 055a3df..90b8ba0 100644
--- a/kernel/locking/rt.c
+++ b/kernel/locking/rt.c
@@ -250,7 +250,7 @@ void __lockfunc rt_read_lock(rwlock_t *rwlock)
 */
if (rt_mutex_owner(lock) != current) {
migrate_disable();
-   rwlock_acquire_read(rwlock-dep_map, 0, 0, _RET_IP_);
+   rwlock_acquire(rwlock-dep_map, 0, 0, _RET_IP_);
__rt_spin_lock(lock);
}
rwlock-read_depth++;
@@ -366,6 +366,7 @@ void rt_down_write_nested_lock(struct rw_semaphore *rwsem,
rwsem_acquire_nest(rwsem-dep_map, 0, 0, nest, _RET_IP_);
rt_mutex_lock(rwsem-lock);
 }
+EXPORT_SYMBOL(rt_down_write_nested_lock);
 
 int  rt_down_read_trylock(struct rw_semaphore *rwsem)
 {
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
index 

Re: [ANNOUNCE] 3.14.3-rt5

2014-05-09 Thread Pavel Vasilyev

09.05.2014 22:12, Sebastian Andrzej Siewior пишет:


The delta patch against v3.14.3-rt4 is appended below and can be found


Where delta from 3 to 4 ?

--

 Pavel.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] 3.14.3-rt5

2014-05-09 Thread Mike Galbraith
On Fri, 2014-05-09 at 20:12 +0200, Sebastian Andrzej Siewior wrote:

 Known issues:
 
   - bcache is disabled.
 
   - lazy preempt on x86_64 leads to a crash with some load.

That is only with NO_HZ_FUL enabled here.  Box blows the stack during
task exit, eyeballing hasn't spotted the why.

 - CPU hotplug works in general. Steven's test script however
 deadlocks usually on the second invocation.

My 64 core box runs for up to 14 hours, and never deadlocks.. it
explodes in what looks like it should be an impossible manner instead.

-Mike

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/