Messages in this thread | | | Subject | Re: [PATCH 1/5] pid: Implement task references. | From | (Eric W. Biederman) | Date | Sun, 29 Jan 2006 14:58:51 -0700 |
| |
Greg KH <greg@kroah.com> writes:
> On Sun, Jan 29, 2006 at 12:22:34AM -0700, Eric W. Biederman wrote: >> +struct task_ref >> +{ >> + atomic_t count; > > Please use a struct kref here, instead of your own atomic_t, as that's > why it is in the kernel :) > >> + enum pid_type type; >> + struct task_struct *task; >> +}; > > thanks,
I would rather not. Whenever I look at struct kref it seems to be an over abstraction, and as such I find it confusing to work with. I know whenever I look at the sysfs code I have to actively remind myself that the kref in the structure is not a pointer to a kref.
What does the kref abstraction buy? How does it simplify things? We already have equivalent functions in atomic_t on which it is built.
It is a funny piece of code to come up in this thread where the argument has been don't over abstract.... (with reference to pids).
If I can see where struct kref buys something or helps in some way I will be willing to consider it.
Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |