Date: Mon, 26 Jan 2009 22:11:46 +0200 From: Kostik Belousov <kostikbel@gmail.com> To: David Schultz <das@freebsd.org> Cc: Ed Schouten <ed@80386.nl>, src-committers@freebsd.org, Tom Rhodes <trhodes@freebsd.org>, svn-src-all@freebsd.org, Bruce Evans <brde@optusnet.com.au>, svn-src-head@freebsd.org Subject: Re: svn commit: r187607 - head/usr.bin/truss Message-ID: <20090126201146.GD2009@deviant.kiev.zoral.com.ua> In-Reply-To: <20090126190310.GA31728@zim.MIT.EDU> References: <200901230058.n0N0wEjY026935@svn.freebsd.org> <20090125162123.GB17198@hoeg.nl> <20090126041926.J43097@delplex.bde.org> <20090125175751.GC17198@hoeg.nl> <20090126051910.E2148@besplex.bde.org> <20090126190310.GA31728@zim.MIT.EDU>
next in thread | previous in thread | raw e-mail | index | archive | help
--Km1U/tdNT/EmXiR1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jan 26, 2009 at 02:03:10PM -0500, David Schultz wrote: > On Mon, Jan 26, 2009, Bruce Evans wrote: > > - P_SYSTEM has something to do with swapping, and I also removed the > > PS_INMEM setting for init. I have always used NO_SWAPPING and haven't > > used a swap partition since memory sizes reached 64MB, so I wouldn't > > have noticed problems with this. init doesn't run often so it is > > quite likely to be swapped (if allowed to) if real memory runs out. >=20 > Process kstack swapping was removed several years ago, so > "swapping out" a process just deactivates all of its pages. > In principle this could be safe to do with init, but it's probably > a bad idea, and perhaps could lead to deadlock in the > out-of-swap-space -> kill a process -> reparent the zombie to init > path. PS_INMEM will prevent init from being swapped out. Process kernel stacks swapping, or more explicitely, allowance to page out threads kernel stacks, is in the kernel. It is performed by vmdaemon, look for the call to swapout_procs(). Kernel stack contains pcb, but not the struct thread. Notifying the target process about raised signal requires only struct proc and referenced structures (p_sigact, p_sigqueue etc) that cannot be paged out. More interesting propery of the P_SYSTEM process is the immunity to the oom killer. But vm_pageout_oom() explicitely cares to not kill pid 1 or pid < 48. P.S. Your Mail-Followup-To: header may be considered offensive. --Km1U/tdNT/EmXiR1 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkl+GQEACgkQC3+MBN1Mb4iRXwCaA2vumXSbwEUGQzVRivIrEHVH a8wAn06B+8q4OSe8EMDqfRa35H7sVDm1 =RN0m -----END PGP SIGNATURE----- --Km1U/tdNT/EmXiR1--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090126201146.GD2009>