Messages in this thread | | | Date | Fri, 3 Oct 2008 08:06:19 -0600 | From | Matthew Wilcox <> | Subject | Re: [PATCH] Remove completion from struct klist_node |
| |
On Thu, Oct 02, 2008 at 03:17:45PM -0700, Greg KH wrote: > > +struct klist_waiter { > > + struct klist_waiter *next; > > + struct klist_node *node; > > + struct task_struct *process; > > + int woken; > > +}; > > Why not use the built-in list.h functions here?
I'm somewhat averse to using data structures when they do more than I need them to. list_heads are great for when you need to remove an entry from the middle of a list, but there are no advantages to using a doubly-linked list here -- we always walk it from the start to the end, and a singly linked list is fine for this purpose. Maybe we need a set of 'slist' macros so we can use singly-linked-lists without thinking terribly hard, but I'd hate to see this patch get stuck behind infrastructure improvements.
-- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step."
| |