Re: code cleanup

From: Julian Elischer <julian_at_elischer.org>
Date: Wed, 28 Apr 2004 11:26:14 -0700 (PDT)
On Wed, 28 Apr 2004, John Baldwin wrote:

> On Wednesday 28 April 2004 02:26 am, Alex Lyashkov wrote:
> > Hi All
> >
> > how i see many points at kernel work with allproc list direct, but
> > proc.h introduce macros FOREACH_PROC_IN_SYSTEM.
> > This patch clean this places.
> 
> I'd actually rather see the FOREACH_PROC macro removed, I don't think hiding 
> the fact that it's a TAILQ is all that useful.



it makes it possible (well, easier) to do:

FOREACH_PROC_IN_SYSTEM(p) {
	FOREACH_KSEGROUP_IN_PROC(p, kg) {
		FOREACH_THREAD_IN_GROUP(kg.td) {
			something(td, kg);
		}
	}
}

Which is a lot easier to read and understand
than the expanded version. You don't kave to remember the linkage
pointer's names and you can add debugging  to it
and check that the correct loks are held etc.
(the latter being a major reason I did it).



> 
> -- 
> John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
> "Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
> 
Received on Wed Apr 28 2004 - 09:26:17 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:52 UTC