Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752051AbcCYIyW (ORCPT ); Fri, 25 Mar 2016 04:54:22 -0400 Received: from www.linutronix.de ([62.245.132.108]:42456 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751337AbcCYIyU (ORCPT ); Fri, 25 Mar 2016 04:54:20 -0400 Date: Fri, 25 Mar 2016 09:52:49 +0100 (CET) From: Thomas Gleixner To: Mike Galbraith cc: Sebastian Andrzej Siewior , linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org, Steven Rostedt Subject: Re: [PATCH RT 4/6] rt/locking: Reenable migration accross schedule In-Reply-To: <1458884330.3836.21.camel@gmail.com> Message-ID: References: <1455318168-7125-1-git-send-email-bigeasy@linutronix.de> <1455318168-7125-4-git-send-email-bigeasy@linutronix.de> <1458463425.3908.5.camel@gmail.com> <1458814024.23732.35.camel@gmail.com> <1458817594.3972.16.camel@gmail.com> <1458884330.3836.21.camel@gmail.com> 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 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1766 Lines: 43 On Fri, 25 Mar 2016, Mike Galbraith wrote: > On Thu, 2016-03-24 at 12:06 +0100, Mike Galbraith wrote: > > On Thu, 2016-03-24 at 11:44 +0100, Thomas Gleixner wrote: > > > > > > > On the bright side, with the busted migrate enable business reverted, > > > > plus one dinky change from me [1], master-rt.today has completed 100 > > > > iterations of Steven's hotplug stress script along side endless > > > > futexstress, and is happily doing another 900 as I write this, so the > > > > next -rt should finally be hotplug deadlock free. > > > > > > > > Thomas's state machinery seems to work wonders. 'course this being > > > > hotplug, the other shoe will likely apply itself to my backside soon. > > > > > > That's a given :) > > > > blk-mq applied it shortly after I was satisfied enough to poke xmit. > > The other shoe is that notifiers can depend upon RCU grace periods, so > when pin_current_cpu() snags rcu_sched, the hotplug game is over. > > blk_mq_queue_reinit_notify: > /* > * We need to freeze and reinit all existing queues. Freezing > * involves synchronous wait for an RCU grace period and doing it > * one by one may take a long time. Start freezing all queues in > * one swoop and then wait for the completions so that freezing can > * take place in parallel. > */ > list_for_each_entry(q, &all_q_list, all_q_node) > blk_mq_freeze_queue_start(q); > list_for_each_entry(q, &all_q_list, all_q_node) { > blk_mq_freeze_queue_wait(q); Yeah, I stumbled over that already when analysing all the hotplug notifier sites. That's definitely a horrible one. > Hohum (sharpens rock), next. /me recommends frozen sharks Thanks, tglx