svn commit: r340709 - in head/sys: compat/linuxkpi/common/include/linux vm

Mark Johnston markj at freebsd.org
Wed Nov 21 00:35:22 UTC 2018


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 at 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.


More information about the svn-src-head mailing list