Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Apr 2004 09:26:22 +0300
From:      Alex Lyashkov <shadow@psoft.net>
To:        "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   code cleanup
Message-ID:  <1083133582.8250.38.camel@berloga.shadowland>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
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.

-- 
Alex Lyashkov <shadow@psoft.net>
PSoft

[-- Attachment #2 --]
diff -urN sys.orig/alpha/alpha/db_trace.c sys/alpha/alpha/db_trace.c
--- sys.orig/alpha/alpha/db_trace.c	Mon Jan  5 01:30:47 2004
+++ sys/alpha/alpha/db_trace.c	Wed Apr 28 09:54:04 2004
@@ -250,7 +250,7 @@
 			have_trapframe = 1;
 		} else {
 			/* sx_slock(&allproc_lock); */
-			LIST_FOREACH(p, &allproc, p_list) {
+			FOREACH_PROC_IN_SYSTEM(p) {
 				if (p->p_pid == pid)
 					break;
 			}
diff -urN sys.orig/alpha/alpha/pmap.c sys/alpha/alpha/pmap.c
--- sys.orig/alpha/alpha/pmap.c	Mon Apr 26 20:49:05 2004
+++ sys/alpha/alpha/pmap.c	Wed Apr 28 09:54:21 2004
@@ -2761,7 +2761,7 @@
 	int index;
 
 	sx_slock(&allproc_lock);
-	LIST_FOREACH(p, &allproc, p_list) {
+	FOREACH_PROC_IN_SYSTEM(p) {
 		if (p->p_pid != pid)
 			continue;
 
diff -urN sys.orig/amd64/amd64/db_trace.c sys/amd64/amd64/db_trace.c
--- sys.orig/amd64/amd64/db_trace.c	Thu Jan 29 01:57:40 2004
+++ sys/amd64/amd64/db_trace.c	Wed Apr 28 09:53:39 2004
@@ -334,7 +334,7 @@
 		} else {
 
 			/* sx_slock(&allproc_lock); */
-			LIST_FOREACH(p, &allproc, p_list) {
+			FOREACH_PROC_IN_SYSTEM(p) {
 				if (p->p_pid == pid)
 					break;
 			}
diff -urN sys.orig/ddb/db_command.c sys/ddb/db_command.c
--- sys.orig/ddb/db_command.c	Sun Feb 29 11:55:32 2004
+++ sys/ddb/db_command.c	Wed Apr 28 09:53:10 2004
@@ -612,7 +612,7 @@
 	 * since we're in DDB.
 	 */
 	/* sx_slock(&allproc_lock); */
-	LIST_FOREACH(p, &allproc, p_list)
+	FOREACH_PROC_IN_SYSTEM(p)
 	    if (p->p_pid == pid)
 		    break;
 	/* sx_sunlock(&allproc_lock); */
diff -urN sys.orig/i386/i386/db_trace.c sys/i386/i386/db_trace.c
--- sys.orig/i386/i386/db_trace.c	Tue Nov  4 00:07:21 2003
+++ sys/i386/i386/db_trace.c	Wed Apr 28 09:52:10 2004
@@ -323,7 +323,7 @@
 		} else {
 
 			/* sx_slock(&allproc_lock); */
-			LIST_FOREACH(p, &allproc, p_list) {
+			FOREACH_PROC_IN_SYSTEM(p) {
 				if (p->p_pid == pid)
 					break;
 			}
diff -urN sys.orig/i386/i386/pmap.c sys/i386/i386/pmap.c
--- sys.orig/i386/i386/pmap.c	Sun Apr 11 02:28:49 2004
+++ sys/i386/i386/pmap.c	Wed Apr 28 09:52:28 2004
@@ -3000,7 +3000,7 @@
 	int index;
 
 	sx_slock(&allproc_lock);
-	LIST_FOREACH(p, &allproc, p_list) {
+	FOREACH_PROC_IN_SYSTEM(p) {
 		if (p->p_pid != pid)
 			continue;
 
diff -urN sys.orig/i386/ibcs2/ibcs2_sysvec.c sys/i386/ibcs2/ibcs2_sysvec.c
--- sys.orig/i386/ibcs2/ibcs2_sysvec.c	Thu Sep 25 04:10:24 2003
+++ sys/i386/ibcs2/ibcs2_sysvec.c	Wed Apr 28 09:51:49 2004
@@ -108,7 +108,7 @@
 	case MOD_UNLOAD:
 		/* if this was an ELF module we'd use elf_brand_inuse()... */
 		sx_slock(&allproc_lock);
-		LIST_FOREACH(p, &allproc, p_list) {
+		FOREACH_PROC_IN_SYSTEM(p) {
 			if (p->p_sysent == &ibcs2_svr3_sysvec) {
 				rval = EBUSY;
 				break;
diff -urN sys.orig/kern/imgact_elf.c sys/kern/imgact_elf.c
--- sys.orig/kern/imgact_elf.c	Fri Apr 23 06:01:39 2004
+++ sys/kern/imgact_elf.c	Wed Apr 28 09:47:41 2004
@@ -137,7 +137,7 @@
 	int rval = FALSE;
 
 	sx_slock(&allproc_lock);
-	LIST_FOREACH(p, &allproc, p_list) {
+	FOREACH_PROC_IN_SYSTEM(p) {
 		if (p->p_sysent == entry->sysvec) {
 			rval = TRUE;
 			break;
diff -urN sys.orig/kern/init_main.c sys/kern/init_main.c
--- sys.orig/kern/init_main.c	Sun Feb 29 18:56:54 2004
+++ sys/kern/init_main.c	Wed Apr 28 09:48:04 2004
@@ -479,7 +479,7 @@
 	 * time from the filesystem.  Pretend that proc0 started now.
 	 */
 	sx_slock(&allproc_lock);
-	LIST_FOREACH(p, &allproc, p_list) {
+	FOREACH_PROC_IN_SYSTEM(p) {
 		microuptime(&p->p_stats->p_start);
 		p->p_runtime.sec = 0;
 		p->p_runtime.frac = 0;
diff -urN sys.orig/kern/kern_descrip.c sys/kern/kern_descrip.c
--- sys.orig/kern/kern_descrip.c	Tue Apr  6 00:03:34 2004
+++ sys/kern/kern_descrip.c	Wed Apr 28 09:48:22 2004
@@ -2346,7 +2346,7 @@
 	bzero(&xf, sizeof(xf));
 	xf.xf_size = sizeof(xf);
 	sx_slock(&allproc_lock);
-	LIST_FOREACH(p, &allproc, p_list) {
+	FOREACH_PROC_IN_SYSTEM(p) {
 		PROC_LOCK(p);
 		if (p_cansee(req->td, p) != 0) {
 			PROC_UNLOCK(p);
diff -urN sys.orig/kern/kern_ktrace.c sys/kern/kern_ktrace.c
--- sys.orig/kern/kern_ktrace.c	Tue Apr  6 00:03:34 2004
+++ sys/kern/kern_ktrace.c	Wed Apr 28 09:49:19 2004
@@ -543,7 +543,7 @@
 	 */
 	if (ops == KTROP_CLEARFILE) {
 		sx_slock(&allproc_lock);
-		LIST_FOREACH(p, &allproc, p_list) {
+		FOREACH_PROC_IN_SYSTEM(p) {
 			PROC_LOCK(p);
 			if (p->p_tracevp == vp) {
 				if (ktrcanset(td, p)) {
@@ -841,7 +841,7 @@
 	 */
 	cred = NULL;
 	sx_slock(&allproc_lock);
-	LIST_FOREACH(p, &allproc, p_list) {
+	FOREACH_PROC_IN_SYSTEM(p) {
 		PROC_LOCK(p);
 		if (p->p_tracevp == vp) {
 			mtx_lock(&ktrace_mtx);
diff -urN sys.orig/kern/kern_resource.c sys/kern/kern_resource.c
--- sys.orig/kern/kern_resource.c	Sat Apr 10 14:08:16 2004
+++ sys/kern/kern_resource.c	Wed Apr 28 09:49:56 2004
@@ -146,7 +146,7 @@
 		if (uap->who == 0)
 			uap->who = td->td_ucred->cr_uid;
 		sx_slock(&allproc_lock);
-		LIST_FOREACH(p, &allproc, p_list) {
+		FOREACH_PROC_IN_SYSTEM(p) {
 			PROC_LOCK(p);
 			if (!p_cansee(td, p) &&
 			    p->p_ucred->cr_uid == uap->who) {
diff -urN sys.orig/kern/kern_sig.c sys/kern/kern_sig.c
--- sys.orig/kern/kern_sig.c	Mon Apr 12 18:56:05 2004
+++ sys/kern/kern_sig.c	Wed Apr 28 09:50:19 2004
@@ -1314,7 +1314,7 @@
 		 * broadcast
 		 */
 		sx_slock(&allproc_lock);
-		LIST_FOREACH(p, &allproc, p_list) {
+		FOREACH_PROC_IN_SYSTEM(p) {
 			PROC_LOCK(p);
 			if (p->p_pid <= 1 || p->p_flag & P_SYSTEM ||
 			    p == td->td_proc) {
diff -urN sys.orig/kern/vfs_mount.c sys/kern/vfs_mount.c
--- sys.orig/kern/vfs_mount.c	Tue Apr  6 00:03:36 2004
+++ sys/kern/vfs_mount.c	Wed Apr 28 09:50:49 2004
@@ -964,7 +964,7 @@
 	if (vrefcnt(olddp) == 1)
 		return;
 	sx_slock(&allproc_lock);
-	LIST_FOREACH(p, &allproc, p_list) {
+	FOREACH_PROC_IN_SYSTEM(p) {
 		mtx_lock(&fdesc_mtx);
 		fdp = p->p_fd;
 		if (fdp == NULL) {
diff -urN sys.orig/powerpc/powerpc/db_interface.c sys/powerpc/powerpc/db_interface.c
--- sys.orig/powerpc/powerpc/db_interface.c	Tue Dec  9 17:46:33 2003
+++ sys/powerpc/powerpc/db_interface.c	Wed Apr 28 09:47:17 2004
@@ -172,7 +172,7 @@
 	struct proc *p;
 
 	/* XXX LOCKING XXX */
-	for (p = allproc.lh_first; p != 0; p = p->p_list.le_next) {
+	FOREACH_PROC_IN_SYSTEM(p) {
 		if (p->p_stat) {
 			db_printf("process %p:", p);
 			db_printf("pid:%d pmap:%p ctx:%d %s\n",
diff -urN sys.orig/sparc64/sparc64/db_trace.c sys/sparc64/sparc64/db_trace.c
--- sys.orig/sparc64/sparc64/db_trace.c	Fri Dec 26 16:30:18 2003
+++ sys/sparc64/sparc64/db_trace.c	Wed Apr 28 09:46:27 2004
@@ -128,7 +128,7 @@
 			addr = DDB_REGS->tf_out[6];
 		} else {
 			/* sx_slock(&allproc_lock); */
-			LIST_FOREACH(p, &allproc, p_list) {
+			FOREACH_PROC_IN_SYSTEM(p) {
 				if (p->p_pid == pid)
 					break;
 			}
diff -urN sys.orig/vm/vm_object.c sys/vm/vm_object.c
--- sys.orig/vm/vm_object.c	Tue Apr  6 23:15:36 2004
+++ sys/vm/vm_object.c	Wed Apr 28 09:45:20 2004
@@ -1966,7 +1966,7 @@
 	struct proc *p;
 
 	/* sx_slock(&allproc_lock); */
-	LIST_FOREACH(p, &allproc, p_list) {
+	FOREACH_PROC_IN_SYSTEM(p) {
 		if (!p->p_vmspace /* || (p->p_flag & (P_SYSTEM|P_WEXIT)) */)
 			continue;
 		if (_vm_object_in_map(&p->p_vmspace->vm_map, object, 0)) {
diff -urN sys.orig/vm/vm_pageout.c sys/vm/vm_pageout.c
--- sys.orig/vm/vm_pageout.c	Thu Mar  4 11:36:46 2004
+++ sys/vm/vm_pageout.c	Wed Apr 28 09:45:49 2004
@@ -1515,7 +1515,7 @@
 		 * process is swapped out -- deactivate pages
 		 */
 		sx_slock(&allproc_lock);
-		LIST_FOREACH(p, &allproc, p_list) {
+		FOREACH_PROC_IN_SYSTEM(p) {
 			vm_pindex_t limit, size;
 
 			/*

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1083133582.8250.38.camel>