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.152 / U:0.692 seconds]
©2003-2014 Jasper Spaans. Advertise on this site