Re: [PATCH] Remove completion from struct klist_node

From: Matthew Wilcox
Date: Fri Oct 03 2008 - 10:06:44 EST


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."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/