Received: by 10.213.65.68 with SMTP id h4csp1173566imn; Wed, 14 Mar 2018 11:47:53 -0700 (PDT) X-Google-Smtp-Source: AG47ELvCUevee3MSJYngLXDkObPltjtDOrwcwIxf+SxdL+7Sna0WBfdxC3ZhrjZHeFlxrq47cPmp X-Received: by 10.99.132.72 with SMTP id k69mr4535413pgd.367.1521053273253; Wed, 14 Mar 2018 11:47:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521053273; cv=none; d=google.com; s=arc-20160816; b=Rt9r8QtjvsMHaZBQ1t8DQiYiwNkkZZ5mrQ8y3oGJVhZjuZFdgQwKzOiKbsY7L9n7UC 96g1wT8h85GhNOin1te1nVrBcNV6VLzv5gumDfF2ziPgirrgo09w3RrO0Em+Q3CFWKtV f42gTpJa+krrIBzjFDP75y9HjPau8vNURdmvUkwqbpNmoLkjQUXgSVJ2PS6icxhyPbyb smvHw4Wbdc3wHmg9USTQh6GrqM7IEy21j0HtOfA71qISc8ukL1ZXjKbIoBcrr2LqcGwO 5mmW8uz+akoGDw6IzTfiV+BAW19+BsaED/ukbEldgph5mjnh4RzHTXy9BRQZZ2ER827F 59Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=Sy7R3rsH0WkWvcM1i1xWtoDlIY77t55O29XBEyt46dw=; b=OvXTWSRBCQkDOeWIOS1YFi5ydHBRAnOnl2I90WQDlwZK+guqfz7DteJzLJEMoD5MB5 LbZzVz9IUYVbtwg+Qe07ZfH0qsBt8ppqCErELxSHHUvOq5hukP2FdtqFXNrYqkSgLdWu tfd/d1mnSknNFDWMEmNl5RJpeitqLD44ktlBjkH51hRcYYZ/YvSJ+od4YJFuU2XUNjXN TgpmhsmbGdhfjGQTeyOY4ZAFkKlq2NwuejlnHgsQes6MdhnGrO3j98Su951zMU4tHrs8 qwdTVBaYtNgVgHKo4HTXqq16kwWJwN/PYa/7fW+xvufjiVLL8+AZ54ccP69NgQJxBLvg Iwlw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=ciuos+A/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n128si2265507pga.29.2018.03.14.11.47.38; Wed, 14 Mar 2018 11:47:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=ciuos+A/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751652AbeCNSqm (ORCPT + 99 others); Wed, 14 Mar 2018 14:46:42 -0400 Received: from mail-yw0-f169.google.com ([209.85.161.169]:41544 "EHLO mail-yw0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750950AbeCNSqk (ORCPT ); Wed, 14 Mar 2018 14:46:40 -0400 Received: by mail-yw0-f169.google.com with SMTP id w12so2861460ywa.8 for ; Wed, 14 Mar 2018 11:46:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Sy7R3rsH0WkWvcM1i1xWtoDlIY77t55O29XBEyt46dw=; b=ciuos+A/vT47Vl9kyXgGlow2yv2elT34uPYRHQ7VtvgTC5kJk1fBgV/buvT2hamV5Z gtTT33LS65XOS/vDh3JKojv5ZR+Lzxr9qgnH84mx7i75am5BBoG4IsbNbdZdlT4QmhrN CTHEGpruApsY1D5jigvxt/k0oIv04OoEtzMJIYlGdiB92s7MkqLPRA2m0kDfvpnUOCdZ crOPI5mC8nBzdAKyOobm5t/sHsHTdiBIcKWXCUdRVoNA6jREkS4WzI+pKSI4s04fsIYD rrwt2ERw8P03c3bzmtXM8gg7vmKKqWcix5zvBcvnqmFTzynaMUifCHcXjkL7h1HKmcVO fZdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=Sy7R3rsH0WkWvcM1i1xWtoDlIY77t55O29XBEyt46dw=; b=tONWBdZ2DnDnOvg1SwI3Gs8QEBF6dsTBQLxSHNA1i61mpSr3I3Oo1Kdf6J/6iNO3JS wXx6NvwUwYpqCObQaYj9mj3hpxBtDu38JVI9k3zjgzrPRB2wMdae9R3DlPVt75hCyuoR 1jgcbUnCqc+2rjIgTbK9Kd5EfGeE4rG4DkROd+aQ3x9tnD84P6v7tjykEAECFeHrvuTe mP+rqEi92E/xbGYRIPTYHsoqJcJZBHux9ybxG4mecksV3q250Y7fHBVJ6UBoP+66cJvP u/LsG1XRSQ52f5n+Mjb/HooM8qZmZvpuyma8A38/CXkFgMLfdYnV6iOOXvbRzhewQBGz q7/Q== X-Gm-Message-State: AElRT7FgVxyNsW8O6xgK3hZ9hIUgByqrjNxWLshEDt/+E/gpkh3yfSGE dHy1gioJrZnKN1LIAKECgKc= X-Received: by 2002:a25:9246:: with SMTP id e6-v6mr3946046ybo.366.1521053199607; Wed, 14 Mar 2018 11:46:39 -0700 (PDT) Received: from localhost ([2620:10d:c091:200::6ef7]) by smtp.gmail.com with ESMTPSA id n2sm585525ywb.76.2018.03.14.11.46.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Mar 2018 11:46:38 -0700 (PDT) Date: Wed, 14 Mar 2018 11:46:36 -0700 From: "tj@kernel.org" To: Bart Van Assche Cc: "torvalds@linux-foundation.org" , "viro@zeniv.linux.org.uk" , "jannh@google.com" , "paulmck@linux.vnet.ibm.com" , "bcrl@kvack.org" , "kent.overstreet@gmail.com" , "security@kernel.org" , "linux-kernel@vger.kernel.org" , "kernel-team@fb.com" , "axboe@kernel.dk" Subject: Re: [PATCH 5/7] block: Remove superflous rcu_read_[un]lock_sched() in blk_queue_enter() Message-ID: <20180314184636.GC2943022@devbig577.frc2.facebook.com> References: <20180306172657.3060270-1-tj@kernel.org> <20180306173316.3088458-1-tj@kernel.org> <20180306173316.3088458-5-tj@kernel.org> <1520358769.3578.21.camel@wdc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1520358769.3578.21.camel@wdc.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, Bart. On Tue, Mar 06, 2018 at 05:52:50PM +0000, Bart Van Assche wrote: > I think the rcu_read_lock() and rcu_read_unlock() are really necessary in this > code. In the LWN article "The RCU-barrier menagerie" it is explained that RCU > can be used to enforce write ordering globally if the code that reads the writes Yeah but, for it to be meaningful, just like barriers, it has to be paired with something on the other side. > that are ordered with an RCU read lock (https://lwn.net/Articles/573497/). See > also the following comment in scsi_device_quiesce(): > > /* > * Ensure that the effect of blk_set_preempt_only() will be visible > * for percpu_ref_tryget() callers that occur after the queue > * unfreeze even if the queue was already frozen before this function > * was called. See also https://lwn.net/Articles/573497/. > */ > > Since this patch introduces a subtle and hard to debug race condition, please > drop this patch. Hah, the pairing is between scsi_device_quiesce() and blk_queue_enter()? But that doesn't make sense either because scsi_device_quiesce() is doing regular synchronize_rcu() and blk_queue_entre() is doing rcu_read_lock_sched(). They don't interlock with each other in any way. So, the right thing to do here would be somehow moving the RCU synchronization into blk_set_preempt_only() and switching to regular RCU protection in blk_queue_enter(). The code as-is isn't really doing anything. I'll drop this patch from the series for now. Let's revisit it later. Thanks. -- tejun