From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net 1/3] kref: add kref_sub_return Date: Wed, 12 Feb 2014 19:06:37 -0500 (EST) Message-ID: <20140212.190637.328045386111912135.davem@davemloft.net> References: <1392222846-26699-1-git-send-email-mst@redhat.com> <1392222846-26699-2-git-send-email-mst@redhat.com> <20140212165630.GA22991@kroah.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20140212165630.GA22991@kroah.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: gregkh@linuxfoundation.org Cc: virtio-dev@lists.oasis-open.org, anatol.pomozov@gmail.com, mst@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, qinchuanyu@huawei.com, joern@logfs.org List-Id: virtualization@lists.linuxfoundation.org From: Greg Kroah-Hartman Date: Wed, 12 Feb 2014 08:56:30 -0800 > On Wed, Feb 12, 2014 at 06:38:21PM +0200, Michael S. Tsirkin wrote: >> It is sometimes useful to get the value of the reference count after >> decrement. >> For example, vhost wants to execute some periodic cleanup operations >> once number of references drops below a specific value, before it >> reaches zero (for efficiency). > > You should never care about what the value of the kref is, if you are > using it correctly :) It isn't being used to determine when to destroy things. They use it to as a heuristic of when to trigger polling. Each ubuf attached gets a kref to the higher level virtio_net buffer holding object, they want to trigger polling when that reference drops to 1 or lower. Right now they are reading the atomic refcount directly, which I think is much worse than this helper.