• Arnaldo Carvalho de Melo's avatar
    o list.h: improve hlist · 567d401e
    Arnaldo Carvalho de Melo authored
    This changeset:
    
    1. Implements hlist_add_after
    2. uses prefetch in hlist_for_each, using a trick that ends up being
       equivalent to having the prefetch instruction in the first block
       of the hlist_for_each for block, the compiler optimizes the second
       "test" away, as its result is constant
    3. implements hlist_for_each_entry and hlist_for_each_entry safe,
       using a struct hlist_node as iterator to avoid the extra branches a
       similar implementation to list_for_each_entry would have if used
       a typed iterator, but while avoiding having to have the explicit
       hlist_entry as in hlist_for_each.
    
    4. Converts the hlist_for_each users that had explicit prefetches, i.e.
       removed the explicit prefetch
    
    5. fix a harmless list_entry use in a hlist_for_each in inode.c
       
    567d401e
inode.c 35.5 KB