svn commit: r214364 - in stable/8: bin/ps sys/kern sys/sys

Attilio Rao attilio at FreeBSD.org
Tue Oct 26 00:21:31 UTC 2010


Author: attilio
Date: Tue Oct 26 00:21:31 2010
New Revision: 214364
URL: http://svn.freebsd.org/changeset/base/214364

Log:
  MFC r213536 by emaste:
  Make a thread's address available via the kern proc sysctl, just like the
  process address.

Modified:
  stable/8/bin/ps/keyword.c
  stable/8/bin/ps/ps.1
  stable/8/sys/kern/kern_proc.c
  stable/8/sys/sys/user.h
Directory Properties:
  stable/8/bin/ps/   (props changed)
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/bin/ps/keyword.c
==============================================================================
--- stable/8/bin/ps/keyword.c	Tue Oct 26 00:07:58 2010	(r214363)
+++ stable/8/bin/ps/keyword.c	Tue Oct 26 00:21:31 2010	(r214364)
@@ -186,6 +186,8 @@ static VAR var[] = {
 		UINT, UIDFMT, 0},
 	{"svuid", "SVUID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_svuid),
 		UINT, UIDFMT, 0},
+	{"tdaddr", "TDADDR", NULL, 0, kvar, NULL, sizeof(void *) * 2,
+		KOFF(ki_tdaddr), KPTR, "lx", 0},
 	{"tdev", "TDEV", NULL, 0, tdev, NULL, 5, 0, CHAR, NULL, 0},
 	{"tdnam", "TDNAM", NULL, LJUST, tdnam, NULL, COMMLEN, 0, CHAR, NULL, 0},
 	{"time", "TIME", NULL, USER, cputime, NULL, 9, 0, CHAR, NULL, 0},

Modified: stable/8/bin/ps/ps.1
==============================================================================
--- stable/8/bin/ps/ps.1	Tue Oct 26 00:07:58 2010	(r214363)
+++ stable/8/bin/ps/ps.1	Tue Oct 26 00:21:31 2010	(r214364)
@@ -586,6 +586,8 @@ symbolic process state (alias
 saved gid from a setgid executable
 .It Cm svuid
 saved UID from a setuid executable
+.It Cm tdaddr
+thread address
 .It Cm tdev
 control terminal device number
 .It Cm time

Modified: stable/8/sys/kern/kern_proc.c
==============================================================================
--- stable/8/sys/kern/kern_proc.c	Tue Oct 26 00:07:58 2010	(r214363)
+++ stable/8/sys/kern/kern_proc.c	Tue Oct 26 00:21:31 2010	(r214364)
@@ -847,6 +847,7 @@ fill_kinfo_thread(struct thread *td, str
 	struct proc *p;
 
 	p = td->td_proc;
+	kp->ki_tdaddr = td;
 	PROC_LOCK_ASSERT(p, MA_OWNED);
 
 	thread_lock(td);

Modified: stable/8/sys/sys/user.h
==============================================================================
--- stable/8/sys/sys/user.h	Tue Oct 26 00:07:58 2010	(r214363)
+++ stable/8/sys/sys/user.h	Tue Oct 26 00:21:31 2010	(r214364)
@@ -85,7 +85,7 @@
  */
 #define	KI_NSPARE_INT	9
 #define	KI_NSPARE_LONG	12
-#define	KI_NSPARE_PTR	7
+#define	KI_NSPARE_PTR	6
 
 #ifndef _KERNEL
 #ifndef KINFO_PROC_SIZE
@@ -188,6 +188,7 @@ struct kinfo_proc {
 	struct	pcb *ki_pcb;		/* kernel virtual addr of pcb */
 	void	*ki_kstack;		/* kernel virtual addr of stack */
 	void	*ki_udata;		/* User convenience pointer */
+	struct	thread *ki_tdaddr;	/* address of thread */
 	/*
 	 * When adding new variables, take space for pointers from the
 	 * front of ki_spareptrs, and longs from the end of ki_sparelongs.


More information about the svn-src-stable-8 mailing list