From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753324AbcAHJnE (ORCPT ); Fri, 8 Jan 2016 04:43:04 -0500 Received: from www.linutronix.de ([62.245.132.108]:60640 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750794AbcAHJnA (ORCPT ); Fri, 8 Jan 2016 04:43:00 -0500 Date: Fri, 8 Jan 2016 10:41:51 +0100 (CET) From: Thomas Gleixner To: bigeasy@linutronix.de, peterz@infradead.org, linux-kernel@vger.kernel.org, dbueso@suse.de, rostedt@goodmis.org, mingo@kernel.org, hpa@zytor.com, torvalds@linux-foundation.org cc: linux-tip-commits@vger.kernel.org Subject: Re: [tip:sched/core] sched/core: Reset task' s lockless wake-queues on fork() In-Reply-To: Message-ID: References: <20151221171710.GA5499@linutronix.de> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001,URIBL_BLOCKED=0.001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 6 Jan 2016, tip-bot for Sebastian Andrzej Siewior wrote: > Commit-ID: 093e5840ae76f1082633503964d035f40ed0216d > Gitweb: http://git.kernel.org/tip/093e5840ae76f1082633503964d035f40ed0216d > Author: Sebastian Andrzej Siewior > AuthorDate: Mon, 21 Dec 2015 18:17:10 +0100 > Committer: Ingo Molnar > CommitDate: Wed, 6 Jan 2016 11:01:07 +0100 > > sched/core: Reset task's lockless wake-queues on fork() > > In the following commit: > > 7675104990ed ("sched: Implement lockless wake-queues") > > we gained lockless wake-queues. > > The -RT kernel managed to lockup itself with those. There could be multiple > attempts for task X to enqueue it for a wakeup _even_ if task X is already > running. > > The reason is that task X could be runnable but not yet on CPU. The the > task performing the wakeup did not leave the CPU it could performe > multiple wakeups. > > With the proper timming task X could be running and enqueued for a > wakeup. If this happens while X is performing a fork() then its its > child will have a !NULL `wake_q` member copied. > > This is not a problem as long as the child task does not participate in > lockless wakeups :) > > Signed-off-by: Sebastian Andrzej Siewior > Signed-off-by: Peter Zijlstra (Intel) > Cc: Davidlohr Bueso > Cc: Linus Torvalds > Cc: Peter Zijlstra > Cc: Steven Rostedt > Cc: Thomas Gleixner > Fixes: 7675104990ed ("sched: Implement lockless wake-queues") Shouldn't that go into stable? Thanks, tglx