From owner-svn-src-head@freebsd.org Wed Nov 21 00:42:42 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A44F01144171; Wed, 21 Nov 2018 00:42:42 +0000 (UTC) (envelope-from bwidawsk@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4949E8CB29; Wed, 21 Nov 2018 00:42:42 +0000 (UTC) (envelope-from bwidawsk@freebsd.org) Received: from smtp.freebsd.org (c-73-25-164-31.hsd1.or.comcast.net [73.25.164.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: bwidawsk) by smtp.freebsd.org (Postfix) with ESMTPSA id 8F9AE1E070; Wed, 21 Nov 2018 00:42:41 +0000 (UTC) (envelope-from bwidawsk@freebsd.org) Date: Tue, 20 Nov 2018 16:42:39 -0800 From: Ben Widawsky To: Mark Johnston Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r340709 - in head/sys: compat/linuxkpi/common/include/linux vm Message-ID: <20181121004239.spk72g2pikvse4y7@smtp.freebsd.org> Mail-Followup-To: Mark Johnston , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201811202249.wAKMnJxH082469@repo.freebsd.org> <20181121003515.GE2630@raichu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181121003515.GE2630@raichu> User-Agent: NeoMutt/20180716 X-Rspamd-Queue-Id: 4949E8CB29 X-Spamd-Result: default: False [0.45 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_SPAM_SHORT(0.47)[0.469,0]; NEURAL_HAM_LONG(-0.18)[-0.183,0]; NEURAL_SPAM_MEDIUM(0.17)[0.166,0]; ASN(0.00)[asn:11403, ipnet:96.47.64.0/20, country:US] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 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: Wed, 21 Nov 2018 00:42:42 -0000 On 18-11-20 19:35:15, Mark Johnston wrote: > On Tue, Nov 20, 2018 at 10:49:19PM +0000, Ben Widawsky wrote: > > Author: bwidawsk > > Date: Tue Nov 20 22:49:19 2018 > > New Revision: 340709 > > URL: https://svnweb.freebsd.org/changeset/base/340709 > > > > Log: > > linuxkpi: Add some basic swap functions > > > > These are used by kms-drm to determine various heuristics relate > > memory conditions. > > > > The number of free swap pages is just a variable, and it can be > > much cheaper by either adding a new getter, or simply extern'ing > > swap_total. However, this patch opts to use the more expensive, > > existing interface - since this isn't an operation in a high per > > path. > > > > This allows us to remove some more gpl linuxkpi and do the follo > > kms-drm: > > git rm linuxkpi/gplv2/include/linux/swap.h > > > > Reviewed by: mmacy, Johannes Lundberg > > Approved by: emaste (mentor) > > Differential Revision: https://reviews.freebsd.org/D18052 > > > > Added: > > head/sys/compat/linuxkpi/common/include/linux/swap.h (contents, props changed) > > Modified: > > head/sys/vm/vm_pageout.h > > head/sys/vm/vm_swapout.c > > > > [...] > > Modified: head/sys/vm/vm_swapout.c > > ============================================================================== > > --- head/sys/vm/vm_swapout.c Tue Nov 20 22:24:18 2018 (r340708) > > +++ head/sys/vm/vm_swapout.c Tue Nov 20 22:49:19 2018 (r340709) > > @@ -961,3 +961,10 @@ swapout(struct proc *p) > > p->p_swtick = ticks; > > return (0); > > } > > + > > +/* Used to determine if the current process is itself the reaper. */ > > +bool > > +vm_curproc_is_vmproc(void) > > +{ > > + return curproc == vmproc; > > +} > > From a look at how this is used, it should probably be pageproc rather > than vmproc. There are various code paths that just check > curproc == pageproc inline. > Could I trouble you for a quick explanation of the difference between the two?