> On May 27, 2016, at 14:03, Ngie Cooper (yaneurabeya) <yaneurab...@gmail.com> > wrote: > >> >> On May 27, 2016, at 14:01, Konstantin Belousov <kostik...@gmail.com> wrote: >> >> On Fri, May 27, 2016 at 10:51:03PM +0300, Ivan Klymenko wrote: >>> On Fri, 27 May 2016 19:15:46 +0000 (UTC) >>> Alan Cox <a...@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-...@freebsd.org mailing list >>>> https://lists.freebsd.org/mailman/listinfo/svn-src-all >>>> To unsubscribe, send any mail to "svn-src-all-unsubscr...@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 >> >> Does it compile if you just remove the >> #include <vm/vm_pageout.h> >> line from arc.c and possibly zfs_vnops.c ? >> >> If not, try bracing the line with #ifdef _KERNEL, like this: > > I added #include <sys/types.h> to zfs/arc.c in r300870 — it was missing > from the file. Looking into drm2 and fed.
Oy. Bad test before I did the fix. The issue was libzpool -_- (just saw alc’s comment)… I’ll fix my commit..
signature.asc
Description: Message signed with OpenPGP using GPGMail