Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp2753739imm; Thu, 9 Aug 2018 20:12:01 -0700 (PDT) X-Google-Smtp-Source: AA+uWPxQhkdB9T7Hpb9Z65FM2JCBMLstZpQ8GG2mM55vIWn98xfwSd79Z1s9rVEGjrxYQyq4VqHb X-Received: by 2002:a17:902:1665:: with SMTP id g92-v6mr4381816plg.293.1533870721249; Thu, 09 Aug 2018 20:12:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533870721; cv=none; d=google.com; s=arc-20160816; b=YaWYXk+EtWtdwl+uhz1/qp37M225imeSycVqf/kEUvFgMLzy2j9AsDIsrCs/ERBJwz 55Ai6eonfJLPb4CZyQwXSgNoItHtY9wKN8mPI6+2meuRH0vP/q3tGSr50cdOxLo7TWPJ pwLRHd3ea8TKgqlkuCn2bxKy2tyPQN9OWfuVYY1eh9RvEI0yQljktxSwN8ia4nuelllq KVTNVwbMHTzA/P/kb8MS92/N2q9M5sias5DueSixrAUY5M5reP4OdeOKir1R56Hdwc60 YMKmprlTSjIoXsBnMqVZitnNsfX4svHrx5qtcFLGaQM6BI5dXl1NykO9meWLMfg/5SOG j9sA== 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:arc-authentication-results; bh=HMmAei6G+SgBHfGXknzhHxgWEmLknkrB9OCEoKQKAw0=; b=YSLQ/946Wc/FTQsFFY0vOC/FZxKj8Qm9ImSZQdddW7VvkXxR/VNQJZVbNtcd9y8Lux MFwP4MMY/O0UIpSd0UptkX4Gr/qxPdPO+TLzXQYdMvPBx24lFnmQT7hnQcr8OtYWh0U7 DEmCKXw3fcQ3s9sty3etYog1WVhyKOltIphuoAMYUbQYrwM1L4y4CM/LroSMkgR0APOa kyGAWPcmZ/tpmehKrbBkjLa5NBna+t0h2+mHRH8CJL68rkM/eql4HTxh5XXlK2uxvpN7 iQ9r/Pn2M8BZLChbXEufniTU/IQXmWsHmqQ3/Wi6oLGKM3IUOxrXViy5asB6bSOWNPBq 8dHQ== ARC-Authentication-Results: i=1; mx.google.com; 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 a85-v6si10209138pfa.109.2018.08.09.20.11.46; Thu, 09 Aug 2018 20:12:01 -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; 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 S1727348AbeHJFUj (ORCPT + 99 others); Fri, 10 Aug 2018 01:20:39 -0400 Received: from fieldses.org ([173.255.197.46]:49666 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725725AbeHJFUj (ORCPT ); Fri, 10 Aug 2018 01:20:39 -0400 Received: by fieldses.org (Postfix, from userid 2815) id 7AD663F4; Thu, 9 Aug 2018 22:52:51 -0400 (EDT) Date: Thu, 9 Aug 2018 22:52:51 -0400 From: "J. Bruce Fields" To: NeilBrown Cc: Jeff Layton , Alexander Viro , Martin Wilck , linux-fsdevel@vger.kernel.org, Frank Filz , linux-kernel@vger.kernel.org Subject: Re: [PATCH 0/5 - V2] locks: avoid thundering-herd wake-ups Message-ID: <20180810025251.GO23873@fieldses.org> References: <153378012255.1220.6754153662007899557.stgit@noble> <20180809173245.GM23873@fieldses.org> <87lg9frxyc.fsf@notabene.neil.brown.name> <20180810002922.GA3915@fieldses.org> <871sb7rnul.fsf@notabene.neil.brown.name> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <871sb7rnul.fsf@notabene.neil.brown.name> 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 On Fri, Aug 10, 2018 at 11:50:58AM +1000, NeilBrown wrote: > You're good at this game! Everybody's got to have a hobby, mine is pathological posix locking cases.... > So, because a locker with the same "owner" gets a free pass, you can > *never* say that any lock which conflicts with A also conflicts with B, > as a lock with the same owner as B will never conflict with B, even > though it conflicts with A. > > I think there is still value in having the tree, but when a waiter is > attached under a new blocker, we need to walk the whole tree beneath the > waiter and detach/wake anything that is not blocked by the new blocker. If you're walking the whole tree every time then it might as well be a flat list, I think? --b.