Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1237310 > unrolled thread
| Started by | Holger Hoffstätte <holger.hoffstaette@googlemail.com> |
|---|---|
| First post | 2015-10-01 13:50 +0200 |
| Last post | 2015-10-02 23:40 +0200 |
| Articles | 10 — 7 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: Soft lockup issue in Linux 4.1.9 Holger Hoffstätte <holger.hoffstaette@googlemail.com> - 2015-10-01 13:50 +0200
Re: Soft lockup issue in Linux 4.1.9 Eric Dumazet <edumazet@google.com> - 2015-10-01 14:00 +0200
Re: Soft lockup issue in Linux 4.1.9 Andre Tomt <andre@tomt.net> - 2015-10-02 09:00 +0200
Re: Soft lockup issue in Linux 4.1.9 Holger Hoffstätte <holger.hoffstaette@googlemail.com> - 2015-10-02 09:20 +0200
Re: Soft lockup issue in Linux 4.1.9 Wolfgang Walter <linux@stwm.de> - 2015-10-02 21:30 +0200
Re: Soft lockup issue in Linux 4.1.9 "Thomas D." <whissi@whissi.de> - 2015-10-03 21:30 +0200
Re: Soft lockup issue in Linux 4.1.9 Thomas Gleixner <tglx@linutronix.de> - 2015-10-02 22:10 +0200
Re: Soft lockup issue in Linux 4.1.9 Eric Dumazet <eric.dumazet@gmail.com> - 2015-10-02 23:00 +0200
Re: Soft lockup issue in Linux 4.1.9 Thomas Gleixner <tglx@linutronix.de> - 2015-10-02 23:10 +0200
Re: Soft lockup issue in Linux 4.1.9 Eric Dumazet <eric.dumazet@gmail.com> - 2015-10-02 23:40 +0200
| From | Holger Hoffstätte <holger.hoffstaette@googlemail.com> |
|---|---|
| Date | 2015-10-01 13:50 +0200 |
| Subject | Re: Soft lockup issue in Linux 4.1.9 |
| Message-ID | <qeKx5-2WG-27@gated-at.bofh.it> |
On 10/01/15 13:29, Eric Dumazet wrote:
> On Thu, Oct 1, 2015 at 3:59 AM, Holger Hoffstätte
> <holger.hoffstaette@googlemail.com> wrote:
>>
>> On Thu, 01 Oct 2015 06:41:46 +0200, Andre Tomt wrote:
>>
>>> On 01. okt. 2015 00:37, Holger Hoffstätte wrote:
>>>> On Wed, 30 Sep 2015 23:59:43 +0200, Olivier Bonvalet wrote:
>>>>
>>>>> for information, I've just upgraded 6 servers from Linux 4.1.8 to Linux
>>>>> 4.1.9, and have some random soft lockup. If this can help :
>>>>
>>>> Congratulations! You're not the first one to get hit by this, but
>>>> you are probably the first one to get a meaningful stacktrace! \o/
>>>>
>>>>> [ 204.478380] Call Trace:
>>>>> [ 204.478381] <IRQ>
>>>>> [ 204.478385] [<ffffffff81076121>] ? try_to_del_timer_sync+0x43/0x4d
>>>>> [ 204.478386] [<ffffffff810760de>] ? del_timer+0x4d/0x4d
>>>>> [ 204.478388] [<ffffffff8107614b>] ? del_timer_sync+0x20/0x3d
>>>>
>>>> Can you try to revert
>>>>
>>>> [PATCH 4.1 157/159] inet: fix races with reqsk timers
>>>>
>>>> and see how that works for you? I'll do the same on my end. So far the
>>>> only thing I ever could gleam was an rcu stall after cpuidle_enter(),
>>>> but never anything regarding the timer - though it was definitely
>>>> related to NIC activity after idle.
>>>
>>> I'm running with this patch reverted now as well. 2 hours no issues so
>>> far, but I can't conclude anything yet as I've seen it take up to 6+
>>> hours to explode here. As a result the bisect was going veeery slowly.
>>
>> Now 12+ hours going without problems, never got this far with the patch
>> included, as it would usually freeze during idle periods.
>>
>> As far as I'm concerned this is the culprit and should be reverted in
>> 4.1.x, unless Eric can suggest how to fix this. (cc'ed).
>>
>
> Looks an old and known problem...
>
> Following commit should be sent/added for 4.1 stable tree :
>
> commit 83fccfc3940c4a2db90fd7e7079f5b465cd8c6af
> Author: Eric Dumazet <edumazet@google.com>
> Date: Thu Aug 13 15:44:51 2015 -0700
>
> inet: fix potential deadlock in reqsk_queue_unlink()
>
> When replacing del_timer() with del_timer_sync(), I introduced
> a deadlock condition :
>
> reqsk_queue_unlink() is called from inet_csk_reqsk_queue_drop()
>
> inet_csk_reqsk_queue_drop() can be called from many contexts,
> one being the timer handler itself (reqsk_timer_handler()).
>
> In this case, del_timer_sync() loops forever.
>
> Simple fix is to test if timer is pending.
>
> Fixes: 2235f2ac75fd ("inet: fix races with reqsk timers")
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
Whohoo! It applies/builds cleanly to 4.1.10-rc1 and is running as
we speak. Let's hope that this fixes the lockups.
Thanks for the quick reply!
Holger
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Eric Dumazet <edumazet@google.com> |
|---|---|
| Date | 2015-10-01 14:00 +0200 |
| Message-ID | <qeKGL-383-33@gated-at.bofh.it> |
| In reply to | #1237310 |
On Thu, Oct 1, 2015 at 4:43 AM, Holger Hoffstätte
<holger.hoffstaette@googlemail.com> wrote:
> On 10/01/15 13:29, Eric Dumazet wrote:
>> commit 83fccfc3940c4a2db90fd7e7079f5b465cd8c6af
>> Author: Eric Dumazet <edumazet@google.com>
>> Date: Thu Aug 13 15:44:51 2015 -0700
>>
>> inet: fix potential deadlock in reqsk_queue_unlink()
>>
>> When replacing del_timer() with del_timer_sync(), I introduced
>> a deadlock condition :
>>
>> reqsk_queue_unlink() is called from inet_csk_reqsk_queue_drop()
>>
>> inet_csk_reqsk_queue_drop() can be called from many contexts,
>> one being the timer handler itself (reqsk_timer_handler()).
>>
>> In this case, del_timer_sync() loops forever.
>>
>> Simple fix is to test if timer is pending.
>>
>> Fixes: 2235f2ac75fd ("inet: fix races with reqsk timers")
>> Signed-off-by: Eric Dumazet <edumazet@google.com>
>> Signed-off-by: David S. Miller <davem@davemloft.net>
>
> Whohoo! It applies/builds cleanly to 4.1.10-rc1 and is running as
> we speak. Let's hope that this fixes the lockups.
>
It definitely should help !
David, since patch is not yet seen on
http://patchwork.ozlabs.org/bundle/davem/stable/?state=*
could you please add it to your queue ?
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Andre Tomt <andre@tomt.net> |
|---|---|
| Date | 2015-10-02 09:00 +0200 |
| Message-ID | <qf2tY-4cT-5@gated-at.bofh.it> |
| In reply to | #1237322 |
On 01. okt. 2015 13:52, Eric Dumazet wrote: > On Thu, Oct 1, 2015 at 4:43 AM, Holger Hoffstätte > <holger.hoffstaette@googlemail.com> wrote: >> On 10/01/15 13:29, Eric Dumazet wrote: > >>> commit 83fccfc3940c4a2db90fd7e7079f5b465cd8c6af >>> Author: Eric Dumazet <edumazet@google.com> >>> Date: Thu Aug 13 15:44:51 2015 -0700 >>> >>> inet: fix potential deadlock in reqsk_queue_unlink() <snip> >> Whohoo! It applies/builds cleanly to 4.1.10-rc1 and is running as >> we speak. Let's hope that this fixes the lockups. >> > > It definitely should help ! > > David, since patch is not yet seen on > http://patchwork.ozlabs.org/bundle/davem/stable/?state=* > could you please add it to your queue ? Seems to fix it for me as well. 3 systems have been running varying types of production-like loads with it for 14+ hours without hanging. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Holger Hoffstätte <holger.hoffstaette@googlemail.com> |
|---|---|
| Date | 2015-10-02 09:20 +0200 |
| Message-ID | <qf2Nj-4OQ-13@gated-at.bofh.it> |
| In reply to | #1237979 |
On 10/02/15 08:52, Andre Tomt wrote: > On 01. okt. 2015 13:52, Eric Dumazet wrote: >> On Thu, Oct 1, 2015 at 4:43 AM, Holger Hoffstätte >> <holger.hoffstaette@googlemail.com> wrote: >>> On 10/01/15 13:29, Eric Dumazet wrote: >> >>>> commit 83fccfc3940c4a2db90fd7e7079f5b465cd8c6af >>>> Author: Eric Dumazet <edumazet@google.com> >>>> Date: Thu Aug 13 15:44:51 2015 -0700 >>>> >>>> inet: fix potential deadlock in reqsk_queue_unlink() > <snip> >>> Whohoo! It applies/builds cleanly to 4.1.10-rc1 and is running as >>> we speak. Let's hope that this fixes the lockups. >>> >> >> It definitely should help ! >> >> David, since patch is not yet seen on >> http://patchwork.ozlabs.org/bundle/davem/stable/?state=* >> could you please add it to your queue ? > > Seems to fix it for me as well. 3 systems have been running varying > types of production-like loads with it for 14+ hours without hanging. Just got up, and yes - my systems survived the night as well, no issues. Greg, any chance you can drop this into the pending 4.1.10? Otherwise people will get another broken release. cheers Holger -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Wolfgang Walter <linux@stwm.de> |
|---|---|
| Date | 2015-10-02 21:30 +0200 |
| Message-ID | <qfebM-4hK-15@gated-at.bofh.it> |
| In reply to | #1237995 |
Am Freitag, 2. Oktober 2015, 09:17:16 schrieb Holger Hoffstätte: > On 10/02/15 08:52, Andre Tomt wrote: > > On 01. okt. 2015 13:52, Eric Dumazet wrote: > >> On Thu, Oct 1, 2015 at 4:43 AM, Holger Hoffstätte > >> > >> <holger.hoffstaette@googlemail.com> wrote: > >>> On 10/01/15 13:29, Eric Dumazet wrote: > >>>> commit 83fccfc3940c4a2db90fd7e7079f5b465cd8c6af > >>>> Author: Eric Dumazet <edumazet@google.com> > >>>> Date: Thu Aug 13 15:44:51 2015 -0700 > >>>> > >>>> inet: fix potential deadlock in reqsk_queue_unlink() > > > > <snip> > > > >>> Whohoo! It applies/builds cleanly to 4.1.10-rc1 and is running as > >>> we speak. Let's hope that this fixes the lockups. > >> > >> It definitely should help ! > >> > >> David, since patch is not yet seen on > >> http://patchwork.ozlabs.org/bundle/davem/stable/?state=* > >> could you please add it to your queue ? > > > > Seems to fix it for me as well. 3 systems have been running varying > > types of production-like loads with it for 14+ hours without hanging. > > Just got up, and yes - my systems survived the night as well, no issues. > > Greg, any chance you can drop this into the pending 4.1.10? Otherwise people > will get another broken release. > Fixes the problem here, too. Regards, -- Wolfgang Walter Studentenwerk München Anstalt des öffentlichen Rechts -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Thomas D." <whissi@whissi.de> |
|---|---|
| Date | 2015-10-03 21:30 +0200 |
| Message-ID | <qfAFk-2Id-13@gated-at.bofh.it> |
| In reply to | #1237995 |
Hi, Holger Hoffstätte wrote: > Greg, any chance you can drop this into the pending 4.1.10? Otherwise people > will get another broken release. For me it looks like the request was too late, the patch is not included in 4.1.10. So don't forget to re-apply the patch when doing the upgrade. Greg, do you need a dedicated inclusion request for http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=83fccfc3940c4a2db90fd7e7079f5b465cd8c6af in 4.1.x or is it already on your list? -Thomas -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2015-10-02 22:10 +0200 |
| Message-ID | <qfeOu-5fB-7@gated-at.bofh.it> |
| In reply to | #1237322 |
[Multipart message — attachments visible in raw view] — view raw
On Thu, 1 Oct 2015, Eric Dumazet wrote:
> On Thu, Oct 1, 2015 at 4:43 AM, Holger Hoffstätte
> <holger.hoffstaette@googlemail.com> wrote:
> > On 10/01/15 13:29, Eric Dumazet wrote:
>
> >> commit 83fccfc3940c4a2db90fd7e7079f5b465cd8c6af
> >> Author: Eric Dumazet <edumazet@google.com>
> >> Date: Thu Aug 13 15:44:51 2015 -0700
> >>
> >> inet: fix potential deadlock in reqsk_queue_unlink()
> >>
> >> When replacing del_timer() with del_timer_sync(), I introduced
> >> a deadlock condition :
> >>
> >> reqsk_queue_unlink() is called from inet_csk_reqsk_queue_drop()
> >>
> >> inet_csk_reqsk_queue_drop() can be called from many contexts,
> >> one being the timer handler itself (reqsk_timer_handler()).
> >>
> >> In this case, del_timer_sync() loops forever.
> >>
> >> Simple fix is to test if timer is pending.
> >>
> >> Fixes: 2235f2ac75fd ("inet: fix races with reqsk timers")
> >> Signed-off-by: Eric Dumazet <edumazet@google.com>
> >> Signed-off-by: David S. Miller <davem@davemloft.net>
> >
> > Whohoo! It applies/builds cleanly to 4.1.10-rc1 and is running as
> > we speak. Let's hope that this fixes the lockups.
> >
>
> It definitely should help !
What makes sure, that the timer cannot be readded while that timer
callback is running?
Thanks,
tglx
[toc] | [prev] | [next] | [standalone]
| From | Eric Dumazet <eric.dumazet@gmail.com> |
|---|---|
| Date | 2015-10-02 23:00 +0200 |
| Message-ID | <qffAS-6a6-17@gated-at.bofh.it> |
| In reply to | #1238568 |
On Fri, 2015-10-02 at 22:04 +0200, Thomas Gleixner wrote: > What makes sure, that the timer cannot be readded while that timer > callback is running? What is exactly your question ? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2015-10-02 23:10 +0200 |
| Message-ID | <qffKx-6Av-5@gated-at.bofh.it> |
| In reply to | #1238611 |
On Fri, 2 Oct 2015, Eric Dumazet wrote: > On Fri, 2015-10-02 at 22:04 +0200, Thomas Gleixner wrote: > > > What makes sure, that the timer cannot be readded while that timer > > callback is running? > > What is exactly your question ? CPU0 CPU1 timer expires callback add timer timer_pending() == true ===> del_timer_sync() I was just curious how this is prevented as I got lost in the networking code as usual :) Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Eric Dumazet <eric.dumazet@gmail.com> |
|---|---|
| Date | 2015-10-02 23:40 +0200 |
| Message-ID | <qfgdA-78j-3@gated-at.bofh.it> |
| In reply to | #1238614 |
On Fri, 2015-10-02 at 23:04 +0200, Thomas Gleixner wrote: > On Fri, 2 Oct 2015, Eric Dumazet wrote: > > On Fri, 2015-10-02 at 22:04 +0200, Thomas Gleixner wrote: > > > > > What makes sure, that the timer cannot be readded while that timer > > > callback is running? > > > > What is exactly your question ? > > CPU0 CPU1 > > timer expires > callback > add timer > timer_pending() == true > ===> del_timer_sync() > > I was just curious how this is prevented as I got lost in the > networking code as usual :) Sure ;) I believe this can not happen for following reasons : mod_timer_pinned() is used only when req is created, while timer cannot possibly be running on the same req. The _pinned part is critical because we set the req->refcnt _after_ starting the timer, to avoid being visible and caught from rcu lookups in hash tables. Then, timer might be modified only by mod_timer_pending() from tcp_check_req() : This should not re-start timer if another cpu is in the timer callback. Thanks -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web