Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760152AbcJ1NhR (ORCPT ); Fri, 28 Oct 2016 09:37:17 -0400 Received: from smtprelay0070.hostedemail.com ([216.40.44.70]:38936 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756441AbcJ1NhO (ORCPT ); Fri, 28 Oct 2016 09:37:14 -0400 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::::::::,RULES_HIT:41:355:379:541:599:800:960:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1539:1593:1594:1711:1730:1747:1777:1792:2393:2553:2559:2562:3138:3139:3140:3141:3142:3352:3622:3865:3866:3867:3868:3871:3872:3874:5007:6261:7875:9010:10004:10400:10450:10455:10848:10967:11232:11658:11914:12740:12760:13069:13311:13357:13439:14096:14097:14181:14659:14721:19904:19999:21080:21324:30054:30090:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:7,LUA_SUMMARY:none X-HE-Tag: space66_78f80080ec847 X-Filterd-Recvd-Size: 1856 Date: Fri, 28 Oct 2016 09:37:09 -0400 From: Steven Rostedt To: Daniel Wagner Cc: linux-rt-users@vger.kernel.org, "linux-kernel@vger.kernel.org" , Peter Zijlstra , Ingo Molnar , Christoph Hellwig , Thomas Gleixner , Sebastian Andrzej Siewior , Nicholas Mc Guire Subject: Re: Implement complete_all() with swait Message-ID: <20161028093709.2e931e34@gandalf.local.home> In-Reply-To: <8d1cf9fc-4f09-7185-1cc6-a681262a20f2@monom.org> References: <8d1cf9fc-4f09-7185-1cc6-a681262a20f2@monom.org> X-Mailer: Claws Mail 3.14.0 (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 763 Lines: 18 On Fri, 28 Oct 2016 09:17:04 +0200 Daniel Wagner wrote: > > So I went through the list of users and tried to identify which of them > is going to make troubles. I found 4 users which are using > complete_all() while IRQs are disabled. The rest looks like it just > would work nice. I already fixed up a bunch of drivers which use > complete_all() just to make really sure the single waiter is woken up. > This list does only contain proper complete_all() users. > I wonder if we can just create a separate thread or workqueue that performs the complete all, and have the callers of complete_all() that are currently under irqs disabled simply wake up the thread/workqueue to perform the complete_all() with interrupts enabled? -- Steve