lkml.org 
[lkml]   [2009]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [TOMOYO #14 (mmotm 2008-12-30-16-05) 02/10] Singly linked list implementation.
    From
    Date
    James Morris wrote:
    > > Not all structures listed below are used as singly linked list,
    > > but many of them are used as singly linked list.
    >
    > Can any of these be converted to your singly linked list implementation ?

    Maybe, but will be few.

    Regular singly linked list (which is known as "slist") implementation has
    below characteristics.

    (1) Supports "add", "read" and "remove" operations.
    (2) Caller holds read lock when reading, and holds write lock when adding or
    removing.
    (3) Iteration method (for_each_*) needn't to call rcu_dereference() because
    caller holds locks as needed.

    TOMOYO's singly linked list (which is named as "list1") implementation has
    below characteristics.

    (1) Supports "add" and "read" operations.
    (2) Caller holds a lock when adding, but doesn't hold a lock when reading.
    (3) Iteration method (for_each_*) needs to call rcu_dereference() because
    caller doesn't hold a lock when reading.

    I think it is not a good thing to rename "list1" to "slist".

    Many of these in-tree singly linked list users need to use regular singly
    linked list because they need to remove elements from their lists.


    \
     
     \ /
      Last update: 2009-01-07 07:39    [W:0.020 / U:123.956 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site