Received: by 10.213.65.68 with SMTP id h4csp791453imn; Tue, 27 Mar 2018 08:51:05 -0700 (PDT) X-Google-Smtp-Source: AIpwx48j+7q94cR9PVNzZAQEsa2NrN0VKp0N99QWkY/H9TfOTFW89jaoyvly2e37cl29cmO4BzvK X-Received: by 2002:a17:902:6b85:: with SMTP id p5-v6mr13853542plk.66.1522165865482; Tue, 27 Mar 2018 08:51:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522165865; cv=none; d=google.com; s=arc-20160816; b=FrM6ow0wpYd05IqtkzF7QV1Kmr2ZAQVfmE1lArfks8eiv97o3NKgdKhB8aL10mETqv XZuaDXSlqrAsoa6VWyzwc6PBefki4wVjvjWGoM34YM4qnloss4YDAaXQe9YjVcbpgr9X +WrPSi+kS1D6pf1Afzn9acfFDZVpdHGy6WpVxC/9+Vl2ECHmNxnKikBN9EVhs5Z08BCK bPr5xCEiG/9fChHmH4K8n7ONLvU3c42ztMRcNoSFVP61ts4VEpyJ+NpVcQJ5V9o7NQd1 mms3yuP+WECM8SXIDLm2tP7Z65XHoNdhHdQiQ67OH1YFYPA25WIUMCOGVeQoIamL+QvN ucUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:from:subject:cc:to:message-id:date :arc-authentication-results; bh=pGqcjT1iHC45p4B4ZGqZDFrzhm7QL+lF5SZImRC4kKU=; b=zx46yJ3/mAlLlSXpa5tw4gYOAVt99a2iYWHeVfUrz3GkGLQwxSyR0CGzyeRBpOewmJ TwIWUH5a6Cr8QzGbrfVtfaY1MMFFAy1gYexC0gCHB8mhZp7Pht+lLo4qQnjt06bB52lz IlnHu1F/oSA26KDGHeiOP+LicpJBSATtNSDlKiP76ai1xnX3ybOjjJ+yQVrOqEnC52vW gTzpovjUI5+7xs7m3WPYEgPQjHtEL14yQVWQamiDRqf3pEmWWRFBtIl++V4XdIww2emS cTtzgx3GBjwNJMAL2K4LTwM3UOwXaKuNzjBtZeyEZLMemmgFbz7GoCGHC4KaIKBPQETJ 4wWg== 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 a5si1071468pgc.428.2018.03.27.08.50.50; Tue, 27 Mar 2018 08:51:05 -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 S1752643AbeC0Pto (ORCPT + 99 others); Tue, 27 Mar 2018 11:49:44 -0400 Received: from shards.monkeyblade.net ([184.105.139.130]:42198 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751101AbeC0Ptn (ORCPT ); Tue, 27 Mar 2018 11:49:43 -0400 Received: from localhost (67.110.78.66.ptr.us.xo.net [67.110.78.66]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id A7B1814757ECB; Tue, 27 Mar 2018 08:49:42 -0700 (PDT) Date: Tue, 27 Mar 2018 11:49:41 -0400 (EDT) Message-Id: <20180327.114941.997071660018188736.davem@davemloft.net> To: neilb@suse.com Cc: tgraf@suug.ch, herbert@gondor.apana.org.au, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 4/6] rhashtable: allow a walk of the hash table without missing objects. From: David Miller In-Reply-To: <152210718430.11435.5761213978298714527.stgit@noble> References: <152210688405.11435.13010923693146415942.stgit@noble> <152210718430.11435.5761213978298714527.stgit@noble> X-Mailer: Mew version 6.7 on Emacs 25.3 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Tue, 27 Mar 2018 08:49:43 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: NeilBrown Date: Tue, 27 Mar 2018 10:33:04 +1100 > In many cases where the walker needs to drop out of RCU protection, > it will take a reference to the object and this can prevent it from > being removed from the hash table. In those cases, the last-returned > object can still be used as a cursor. rhashtable cannot detect > these cases itself. Merely having an elevated reference count does not explicitly prevent the object from being removed from the hash table. This invariant might hold for the particular user of the rhashtable instance, but it is not always the case.