[lkml]   [2018]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 4/6] rhashtable: allow a walk of the hash table without missing objects.
On Tue, Mar 27 2018, David Miller wrote:

> 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.

Agreed. Hence "In many case ... this *can* be prevented" and "In those

The doc comment for rhashtable_walk_start_continue() makes it clear

* The
* previously returned object must still be in the hash table, and must be
* provided as an argument.

[unhandled content-type:application/pgp-signature]
 \ /
  Last update: 2018-03-27 23:51    [W:0.071 / U:0.884 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site