Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753476AbdF2U5q (ORCPT ); Thu, 29 Jun 2017 16:57:46 -0400 Received: from mail-io0-f196.google.com ([209.85.223.196]:36830 "EHLO mail-io0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751827AbdF2U5n (ORCPT ); Thu, 29 Jun 2017 16:57:43 -0400 MIME-Version: 1.0 In-Reply-To: <20170629194015.GQ21846@wotan.suse.de> References: <20170614222017.14653-3-mcgrof@kernel.org> <20170629125402.GH26046@kroah.com> <20170629133530.GA14747@kroah.com> <20170629174046.GC3954@linux-80c1.suse> <20170629183339.GD3954@linux-80c1.suse> <20170629194015.GQ21846@wotan.suse.de> From: Linus Torvalds Date: Thu, 29 Jun 2017 13:57:41 -0700 X-Google-Sender-Auth: 4_Z0b5u41GB4cOGcglgcKf1SPzk Message-ID: Subject: Re: [PATCH 2/4] swait: add the missing killable swaits To: "Luis R. Rodriguez" Cc: Davidlohr Bueso , Thomas Gleixner , Greg KH , mfuzzey@parkeon.com, "Eric W. Biederman" , Dmitry Torokhov , Daniel Wagner , David Woodhouse , jewalt@lgsinnovations.com, rafal@milecki.pl, Arend Van Spriel , "Rafael J. Wysocki" , "Li, Yi" , atull@kernel.org, Moritz Fischer , Petr Mladek , Johannes Berg , Emmanuel Grumbach , "Coelho, Luciano" , Kalle Valo , Andrew Lutomirski , Kees Cook , "AKASHI, Takahiro" , David Howells , Peter Jones , Hans de Goede , Alan Cox , "Theodore Ts'o" , Michael Kerrisk , Paul Gortmaker , Marcelo Tosatti , Matthew Wilcox , Linux API , linux-fsdevel , Linux Kernel Mailing List , "stable # 4 . 6" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 908 Lines: 24 On Thu, Jun 29, 2017 at 12:40 PM, Luis R. Rodriguez wrote: > On Thu, Jun 29, 2017 at 11:59:29AM -0700, Linus Torvalds wrote: >> > at a time... I'm probably missing your point here. >> >> The *reason* they wake up only one seems to be that there really is >> just one. It's some per-cpu idle thread for kvm, and for RCU it's the >> RCU workqueue thread. >> >> So the queue literally looks suspiciously pointless. >> >> But I might be wrong, and there can actually be multiple entries. > > Since this swake_up() --> swake_up_all() reportedly *fixed* the one wake up > issue it would seem this does queue [0]. I'm not talking about the firmware code. That thing never had an excuse to use swait in the first place. I'm talking about kvm and rcu, which *do* have excuses to use it, but where I argue that swait is _still_ a questionable interface for other reasons. Linus