Date: Fri, 27 May 2016 22:51:03 +0300 From: Ivan Klymenko <fidaj@ukr.net> To: Alan Cox <alc@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r300865 - in head/sys: sys vm Message-ID: <20160527225103.67ae3547@nonamehost.local> In-Reply-To: <201605271915.u4RJFkEl013139@repo.freebsd.org> References: <201605271915.u4RJFkEl013139@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 27 May 2016 19:15:46 +0000 (UTC) Alan Cox <alc@FreeBSD.org> wrote: > Author: alc > Date: Fri May 27 19:15:45 2016 > New Revision: 300865 > URL: https://svnweb.freebsd.org/changeset/base/300865 > > Log: > The flag "vm_pages_needed" has long served two distinct purposes: > (1) to indicate that threads are waiting for free pages to become > available and (2) to indicate whether a wakeup call has been sent to > the page daemon. The trouble is that a single flag cannot really > serve both purposes, because we have two distinct targets for when to > wakeup threads waiting for free pages versus when the page daemon has > completed its work. In particular, the flag will be cleared by > vm_page_free() before the page daemon has met its target, and this > can lead to the OOM killer being invoked prematurely. To address this > problem, a new flag "vm_pageout_wanted" is introduced. > Discussed with: jeff > Reviewed by: kib, markj > Tested by: markj > Sponsored by: EMC / Isilon Storage Division > > Modified: > head/sys/sys/vmmeter.h > head/sys/vm/vm_page.c > head/sys/vm/vm_pageout.c > head/sys/vm/vm_pageout.h > > Modified: head/sys/vm/vm_pageout.h > ============================================================================== > --- head/sys/vm/vm_pageout.h Fri May 27 18:52:58 2016 > (r300864) +++ head/sys/vm/vm_pageout.h Fri May 27 19:15:45 > 2016 (r300865) @@ -72,9 +72,10 @@ > */ > > extern int vm_page_max_wired; > -extern int vm_pages_needed; /* should be some "event" > structure */ extern int vm_pageout_deficit; > extern int vm_pageout_page_count; > +extern bool vm_pageout_wanted; > +extern bool vm_pages_needed; > > /* > * Swap out requests > _______________________________________________ > svn-src-all@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" ... ===> lib/libalias/modules/smedia (obj) --- cddl/lib__L --- In file included from /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c:143: /media/da0s1/obj/usr/src/tmp/usr/include/vm/vm_pageout.h:77:8: error: unknown type name 'bool' extern bool vm_pageout_wanted; ^ /media/da0s1/obj/usr/src/tmp/usr/include/vm/vm_pageout.h:78:8: error: unknown type name 'bool' extern bool vm_pages_needed; ^ 2 errors generated. *** [arc.So] Error code 1 make[5]: stopped in /usr/src/cddl/lib/libzpool 1 error make[5]: stopped in /usr/src/cddl/lib/libzpool --- secure/lib__L --- --- all_subdir_secure/lib/libcrypto/engines/libsureware --- A failure has been detected in another branch of the parallel make make[7]: stopped in /usr/src/secure/lib/libcrypto/engines/libsureware --- kerberos5/lib__L --- A failure has been detected in another branch of the parallel make make[5]: stopped in /usr/src/kerberos5/lib/libkrb5 --- cddl/lib__L --- *** [all_subdir_cddl/lib/libzpool] Error code 2 make[4]: stopped in /usr/src/cddl/lib 1 error make[4]: stopped in /usr/src/cddl/lib --- secure/lib__L --- *** [all_subdir_secure/lib/libcrypto/engines/libsureware] Error code 2 make[6]: stopped in /usr/src/secure/lib/libcrypto/engines --- cddl/lib__L --- *** [cddl/lib__L] Error code 2 make[3]: stopped in /usr/src --- kerberos5/lib__L --- *** [all] Error code 2 make[4]: stopped in /usr/src/kerberos5/lib 1 error make[4]: stopped in /usr/src/kerberos5/lib *** [kerberos5/lib__L] Error code 2 make[3]: stopped in /usr/src --- secure/lib__L --- --- all_subdir_secure/lib/libcrypto/engines/libubsec --- A failure has been detected in another branch of the parallel make make[7]: stopped in /usr/src/secure/lib/libcrypto/engines/libubsec *** [all_subdir_secure/lib/libcrypto/engines/libubsec] Error code 2 make[6]: stopped in /usr/src/secure/lib/libcrypto/engines 2 errors make[6]: stopped in /usr/src/secure/lib/libcrypto/engines *** [all] Error code 2 make[5]: stopped in /usr/src/secure/lib/libcrypto 1 error make[5]: stopped in /usr/src/secure/lib/libcrypto *** [all] Error code 2 make[4]: stopped in /usr/src/secure/lib 1 error make[4]: stopped in /usr/src/secure/lib --- lib__L --- A failure has been detected in another branch of the parallel make make[7]: stopped in /usr/src/lib/libalias/modules/smedia --- secure/lib__L --- *** [secure/lib__L] Error code 2 make[3]: stopped in /usr/src --- lib__L --- *** [obj_subdir_lib/libalias/modules/smedia] Error code 2 make[6]: stopped in /usr/src/lib/libalias/modules 1 error make[6]: stopped in /usr/src/lib/libalias/modules *** [obj_subdir_lib/libalias/modules] Error code 2 make[5]: stopped in /usr/src/lib/libalias 1 error make[5]: stopped in /usr/src/lib/libalias *** [obj_subdir_lib/libalias] Error code 2 make[4]: stopped in /usr/src/lib 1 error make[4]: stopped in /usr/src/lib *** [lib__L] Error code 2 make[3]: stopped in /usr/src 4 errors make[3]: stopped in /usr/src *** [libraries] Error code 2 make[2]: stopped in /usr/src 1 error make[2]: stopped in /usr/src *** [_libraries] Error code 2 make[1]: stopped in /usr/src 1 error make[1]: stopped in /usr/src *** [buildworld] Error code 2 make: stopped in /usr/src 1 error make: stopped in /usr/src
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160527225103.67ae3547>