Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Nov 2018 19:35:15 -0500
From:      Mark Johnston <markj@freebsd.org>
To:        Ben Widawsky <bwidawsk@freebsd.org>
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:  <20181121003515.GE2630@raichu>
In-Reply-To: <201811202249.wAKMnJxH082469@repo.freebsd.org>
References:  <201811202249.wAKMnJxH082469@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <johalun0@gmail.com>
>   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.



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