From owner-svn-src-head@freebsd.org Thu Jan 7 13:39:58 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1D0B3A66A97; Thu, 7 Jan 2016 13:39:58 +0000 (UTC) (envelope-from dchagin@chd.heemeyer.club) Received: from heemeyer.club (heemeyer.club [108.61.204.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "heemeyer.club", Issuer "heemeyer.club" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id D13C113A1; Thu, 7 Jan 2016 13:39:57 +0000 (UTC) (envelope-from dchagin@chd.heemeyer.club) Received: from chd.heemeyer.club ([78.107.232.239]) by heemeyer.club (8.15.2/8.15.1) with ESMTPS id u07Ddsia022334 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 7 Jan 2016 13:39:56 GMT (envelope-from dchagin@chd.heemeyer.club) X-Authentication-Warning: heemeyer.club: Host [78.107.232.239] claimed to be chd.heemeyer.club Received: from chd.heemeyer.club (localhost [127.0.0.1]) by chd.heemeyer.club (8.15.2/8.15.1) with ESMTPS id u07Dds2N062564 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 7 Jan 2016 16:39:54 +0300 (MSK) (envelope-from dchagin@chd.heemeyer.club) Received: (from dchagin@localhost) by chd.heemeyer.club (8.15.2/8.15.1/Submit) id u07DdsGC062563; Thu, 7 Jan 2016 16:39:54 +0300 (MSK) (envelope-from dchagin) Date: Thu, 7 Jan 2016 16:39:53 +0300 From: Chagin Dmitry To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r275121 - in head/sys: compat/linux compat/svr4 fs/procfs kern sys Message-ID: <20160107133953.GA62554@chd.heemeyer.club> References: <201411261410.sAQEA0JO071065@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201411261410.sAQEA0JO071065@svn.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 13:39:58 -0000 On Wed, Nov 26, 2014 at 02:10:00PM +0000, Konstantin Belousov wrote: > Author: kib > Date: Wed Nov 26 14:10:00 2014 > New Revision: 275121 > URL: https://svnweb.freebsd.org/changeset/base/275121 > > Log: > The process spin lock currently has the following distinct uses: > > - Threads lifetime cycle, in particular, counting of the threads in > the process, and interlocking with process mutex and thread lock. > The main reason of this is that turnstile locks are after thread > locks, so you e.g. cannot unlock blockable mutex (think process > mutex) while owning thread lock. > > - Virtual and profiling itimers, since the timers activation is done > from the clock interrupt context. Replace the p_slock by p_itimmtx > and PROC_ITIMLOCK(). > > - Profiling code (profil(2)), for similar reason. Replace the p_slock > by p_profmtx and PROC_PROFLOCK(). > > - Resource usage accounting. Need for the spinlock there is subtle, > my understanding is that spinlock blocks context switching for the > current thread, which prevents td_runtime and similar fields from > changing (updates are done at the mi_switch()). Replace the p_slock > by p_statmtx and PROC_STATLOCK(). > > The split is done mostly for code clarity, and should not affect > scalability. > > Tested by: pho > Sponsored by: The FreeBSD Foundation > MFC after: 1 week hi, any chance to merge it?