Date: Fri, 27 May 2016 14:21:40 -0700 From: "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com> To: Konstantin Belousov <kostikbel@gmail.com> Cc: Ivan Klymenko <fidaj@ukr.net>, Alan Cox <alc@FreeBSD.org>, 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: <3018B8E4-5E33-49EF-8154-D7D5ECEE8403@gmail.com> In-Reply-To: <016BEE0D-05B6-4042-8CD4-471D4D1C9162@gmail.com> References: <201605271915.u4RJFkEl013139@repo.freebsd.org> <20160527225103.67ae3547@nonamehost.local> <20160527210148.GR38613@kib.kiev.ua> <016BEE0D-05B6-4042-8CD4-471D4D1C9162@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_C562183A-A796-44D5-B1DF-4BB4903668BA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On May 27, 2016, at 14:03, Ngie Cooper (yaneurabeya) = <yaneurabeya@gmail.com> wrote: >=20 >>=20 >> On May 27, 2016, at 14:01, Konstantin Belousov <kostikbel@gmail.com> = wrote: >>=20 >> 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 <alc@FreeBSD.org> wrote: >>>=20 >>>> Author: alc >>>> Date: Fri May 27 19:15:45 2016 >>>> New Revision: 300865 >>>> URL: https://svnweb.freebsd.org/changeset/base/300865 >>>>=20 >>>> 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 >>>>=20 >>>> Modified: >>>> head/sys/sys/vmmeter.h >>>> head/sys/vm/vm_page.c >>>> head/sys/vm/vm_pageout.c >>>> head/sys/vm/vm_pageout.h >>>>=20 >>>> Modified: head/sys/vm/vm_pageout.h >>>> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >>>> --- 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 @@ >>>> */ >>>>=20 >>>> 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; >>>>=20 >>>> /* >>>> * 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" >>>=20 >>> ... >>> =3D=3D=3D> lib/libalias/modules/smedia (obj) >>> --- cddl/lib__L --- >>> In file included >>> from = /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo= n/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 >>=20 >> Does it compile if you just remove the >> #include <vm/vm_pageout.h> >> line from arc.c and possibly zfs_vnops.c ? >>=20 >> If not, try bracing the line with #ifdef _KERNEL, like this: >=20 > I added #include <sys/types.h> to zfs/arc.c in r300870 =E2=80=94 = 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=E2=80=99s comment)=E2=80=A6 I=E2=80=99ll fix my commit.. --Apple-Mail=_C562183A-A796-44D5-B1DF-4BB4903668BA Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJXSLplAAoJEPWDqSZpMIYVVJkQAJODVaCh7Xygrmlw9SoG7Pr4 KNCxGdCkaHSJc6xbW1oERJpaWvvQkAdp3S6odCG04TQrAk3hLntIRsOnRqoJBlDs zCao0FyQi0BmlQyF81KVefEYg0Es2K04fok8ja3tbn7RmjvcLLfVyd795AZ1H+Ly Aw8/QnrHLB8bAhQuAKiwva0xzpC5dI5FXXNhNNn4iDvrQ8++rXwg4pq8+4cpPwJn IVL/dH2Dyhw6OJVyvVLX2pB/ZAsiq6NabnVAO9vlrjL4IiUerhPREdjl8mBb6z0N rHG7/bueJGQjUXILFBOluJCslC7OvmJqnwK+7zl9vqF9V/n78BTYt6gCckJvRKqy HoFbCNhUBqAixscW3m7QfwDRnycLo0xkZOM2Yq2jEyfkxeSnre45/R0KWjaqAHPh NegwyIrWdg9TCJfZ7S6ICLPRcCtLof9etf4t+hD204Q5Y8yFwUGiSHUIDYFinaOQ RdT8ncY4y4a5hiwAGSIrg1RqINptq6dYhrqtUbbBtk/BnC2+q5oyh9LpZuoMh4/A 5pIwAqS0cYCuvQqVmeTQpfgeDXMX0NyhzMibSucG4Wgea4zcCFhaOJx29btxxpf7 ZuiJugDmh9mSGo10S5KDxd+HLSeulNYpn+AcpvJ7r47I80I5NW9S52JM5xfu5nku 0ShFMVnEbT+8IF3H2qSO =UciR -----END PGP SIGNATURE----- --Apple-Mail=_C562183A-A796-44D5-B1DF-4BB4903668BA--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3018B8E4-5E33-49EF-8154-D7D5ECEE8403>