From owner-svn-src-all@freebsd.org Wed Nov 21 01:09:34 2018 Return-Path: Delivered-To: svn-src-all@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 51FEC1144B35; Wed, 21 Nov 2018 01:09:34 +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 EC03E8DD67; Wed, 21 Nov 2018 01:09:33 +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 CA3B21E26A; Wed, 21 Nov 2018 01:09:32 +0000 (UTC) (envelope-from bwidawsk@freebsd.org) Date: Tue, 20 Nov 2018 17:09:30 -0800 From: Ben Widawsky To: Oliver Pinter 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: <20181121010930.vjeuugd72lzun3tn@smtp.freebsd.org> Mail-Followup-To: Oliver Pinter , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" References: <201811202249.wAKMnJxH082469@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: NeoMutt/20180716 X-Rspamd-Queue-Id: EC03E8DD67 X-Spamd-Result: default: False [0.76 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_SPAM_SHORT(0.76)[0.760,0]; NEURAL_HAM_LONG(-0.18)[-0.182,0]; NEURAL_SPAM_MEDIUM(0.18)[0.180,0]; ASN(0.00)[asn:11403, ipnet:96.47.64.0/20, country:US] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Nov 2018 01:09:34 -0000 On 18-11-21 02:00:57, Oliver Pinter wrote: > > > On Tuesday, November 20, 2018, 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 > > Added: head/sys/compat/linuxkpi/common/include/linux/swap.h > =========================================================================== > === > --- /dev/null   00:00:00 1970   (empty, because file is newly added) > +++ head/sys/compat/linuxkpi/common/include/linux/swap.h        Tue Nov 20 > 22:49:19 2018        (r340709) > @@ -0,0 +1,102 @@ > +/*- > + * Copyright (c) 2018 Intel Corporation > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions are > + * met: > + * 1. Redistributions of source code must retain the above copyright > + *    notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + *    notice, this list of conditions and the following disclaimer in > + *    the documentation and/or other materials provided with the > + *    distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE > + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > CONSEQUENTIAL > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, > STRICT > + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY > WAY > + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > + * SUCH DAMAGE. > + * > + * $FreeBSD$ > + */ > + > +#ifndef        _LINUX_SWAP_H_ > +#define        _LINUX_SWAP_H_ > + > +#include > +#include > + > +static inline long > +get_nr_swap_pages(void) > +{ > +       int i, j; > + > +       /* NB: This could be done cheaply by obtaining swap_total directly > */ > +       swap_pager_status(&i, &j); > +       return i - j; > +} > + > +static inline int > +current_is_kswapd(void) > +{ > +       return vm_curproc_is_vmproc(); > +} > + > +#endif > > > Probably I'm wrong, but this file contains twice the same intended content.  >   You are correct, but I have already fixed it. I have some problems with my workflow still, apparently. :( > > +/*- > + * Copyright (c) 2018 Intel Corporation > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions are > + * met: > + * 1. Redistributions of source code must retain the above copyright > + *    notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + *    notice, this list of conditions and the following disclaimer in > + *    the documentation and/or other materials provided with the > + *    distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE > + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > CONSEQUENTIAL > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, > STRICT > + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY > WAY > + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > + * SUCH DAMAGE. > + * > + * $FreeBSD$ > + */ > + > +#ifndef        _LINUX_SWAP_H_ > +#define        _LINUX_SWAP_H_ > + > +#include > +#include > + > +static inline long > +get_nr_swap_pages(void) > +{ > +       int i, j; > + > +       /* NB: This could be done cheaply by obtaining swap_total directly > */ > +       swap_pager_status(&i, &j); > +       return i - j; > +} > + > +static inline int > +current_is_kswapd(void) > +{ > +       return vm_curproc_is_vmproc(); > +} > + > +#endif > > Modified: head/sys/vm/vm_pageout.h > =========================================================================== > === > --- head/sys/vm/vm_pageout.h    Tue Nov 20 22:24:18 2018        (r340708) > +++ head/sys/vm/vm_pageout.h    Tue Nov 20 22:49:19 2018        (r340709) > @@ -106,5 +106,8 @@ void vm_pageout_oom(int shortage); > >  void vm_swapout_run(void); >  void vm_swapout_run_idle(void); > + > +bool vm_curproc_is_vmproc(void); > + >  #endif /* _KERNEL */ >  #endif /* _VM_VM_PAGEOUT_H_ */ > > 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; > +} > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" >