From owner-svn-src-all@freebsd.org Wed Nov 21 01:00:59 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 88CC211447B7 for ; Wed, 21 Nov 2018 01:00:59 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: from mail-yw1-xc33.google.com (mail-yw1-xc33.google.com [IPv6:2607:f8b0:4864:20::c33]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D7BE08D8D8 for ; Wed, 21 Nov 2018 01:00:58 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: by mail-yw1-xc33.google.com with SMTP id l200so1575430ywe.10 for ; Tue, 20 Nov 2018 17:00:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=BCQFzJqNVMace6HaNdkKixqTVhX4x6ag78Dr6xZP0hk=; b=OHvcz3G1HLuHX6cwQYQOEaCp4R2Ft0RIruug0QZIpQv7ZWkbYrwvuNrh74lyFkjsmL GCRb/Q/tFv0JrC4NU72XvVGshLvh2YJNZflL6cRTdylAdX1+LQDbFgSuP6un1QiFSeAI XLP/TYYhlreALaxVRrPEuFvC7dvhh+GpmIKIznJe1rRlpkmeJwweMNdhr+qyho7mbZH8 HL2QHj8gYPoEF54efRYh7sPeAvZNfYr8tCSm0pi3naa4U7sq5AStWsCXPSsvg7e++ZTf gdBPkdvjv8/6BMTB0Nxn6Kg8ZbnS1nLN2CZpAjGlo2zT/httRbklh+rQNCVWDTUMYpe5 y/YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=BCQFzJqNVMace6HaNdkKixqTVhX4x6ag78Dr6xZP0hk=; b=bhQq01kvxEJbyZpdsJqid8jfoIiPfbW6asWwcmwN7M10bZDJzfbAG0YQXhYZUVEjKk MUqjyV280GCUTue+FR493kSzOVbbKzYROSJhEHQe5e8KGobdeeNfVLIrZ2RS7o7OPaLk UyipZ18N23aByFItLIokID67fORKLNjpcDcZZYXNr5eKXCRExskCz2Qtk+vRUJ+dvZ03 KBmUqx6TzechaklGjxWYfLD3PZ7M+5j22Yt/CpxhsJExSnoHDBQe/VfLnFlXKwcMY1TN iE+Q49NvIV4GaHbLgnmadef/EWFJ3fI63O1IDplgVVgf2NeR+dU3885OllsA1m9dRFHd VqWg== X-Gm-Message-State: AGRZ1gJQ9Wh3udZL64K3mZRiR2YD6WhxuaB8FrAqeDs6mpYQwwQnC6Rt /FYjWYcOXniSagwh+2nMh3e2nm+mRDIcqGmqrLn4xg== X-Google-Smtp-Source: AJdET5f6ymbEW1OywA8q7TFnyA0IV4IkQ6c8RKeHBu1HJzd3gOZ1Y++ylWHnGHk3b9Pk/OSaKaSZuKOIqWF2kZVRE6o= X-Received: by 2002:a0d:e081:: with SMTP id j123-v6mr4467025ywe.267.1542762058257; Tue, 20 Nov 2018 17:00:58 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a25:84d2:0:0:0:0:0 with HTTP; Tue, 20 Nov 2018 17:00:57 -0800 (PST) In-Reply-To: <201811202249.wAKMnJxH082469@repo.freebsd.org> References: <201811202249.wAKMnJxH082469@repo.freebsd.org> From: Oliver Pinter Date: Wed, 21 Nov 2018 02:00:57 +0100 Message-ID: Subject: Re: svn commit: r340709 - in head/sys: compat/linuxkpi/common/include/linux vm To: Ben Widawsky Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" X-Rspamd-Queue-Id: D7BE08D8D8 X-Spamd-Result: default: False [-4.29 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_ALLOW(-0.20)[hardenedbsd.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; NEURAL_HAM_LONG(-0.99)[-0.991,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[hardenedbsd.org]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[hardenedbsd.org:+]; MX_GOOD(-0.01)[cached: alt1.aspmx.l.google.com]; RCVD_IN_DNSWL_NONE(0.00)[3.3.c.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.98)[-0.983,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-0.81)[ipnet: 2607:f8b0::/32(-2.38), asn: 15169(-1.58), country: US(-0.09)]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Server: mx1.freebsd.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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:00:59 -0000 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. > +/*- > + * 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" >