Date: Tue, 29 Dec 2015 18:31:56 -0500 From: Shawn Webb <shawn.webb@hardenedbsd.org> To: Gleb Smirnoff <glebius@FreeBSD.org> Cc: Konstantin Belousov <kib@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r292772 - head/sys/vm Message-ID: <20151229233156.GA4032@mutt-hardenedbsd> In-Reply-To: <20151229205952.GV7277@FreeBSD.org> References: <201512271442.tBREgdRr079655@repo.freebsd.org> <20151229205952.GV7277@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--LZvS9be/3tNcYl/X Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Dec 29, 2015 at 11:59:52PM +0300, Gleb Smirnoff wrote: > On Sun, Dec 27, 2015 at 02:42:39PM +0000, Konstantin Belousov wrote: > K> Author: kib > K> Date: Sun Dec 27 14:42:39 2015 > K> New Revision: 292772 > K> URL: https://svnweb.freebsd.org/changeset/base/292772 > K>=20 > K> Log: > K> Add missed relpbuf() for a smallfs page-in. > K> =20 > K> Reported by: Shawn Webb > K> Tested by: pho > K> Sponsored by: The FreeBSD Foundation > K>=20 > K> Modified: > K> head/sys/vm/vnode_pager.c > K>=20 > K> Modified: head/sys/vm/vnode_pager.c > K> =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 > K> --- head/sys/vm/vnode_pager.c Sun Dec 27 14:39:47 2015 (r292771) > K> +++ head/sys/vm/vnode_pager.c Sun Dec 27 14:42:39 2015 (r292772) > K> @@ -806,6 +806,7 @@ vnode_pager_generic_getpages(struct vnod > K> * than a page size, then use special small filesystem code. > K> */ > K> if (pagesperblock =3D=3D 0) { > K> + relpbuf(bp, freecnt); > K> for (i =3D 0; i < count; i++) { > K> PCPU_INC(cnt.v_vnodein); > K> PCPU_INC(cnt.v_vnodepgsin); >=20 > The reason for this bug is that I tried to move the (pagesperblock =3D=3D= 0) > block above the call to getpbuf(). >=20 > We actually know that filesystem is "small" at the very beginning of the > function and we can branch into "small filesystem" pager immediately. >=20 > Later I moved the block back to its place, simply because new place > wasn't tested properly. And forgot to restore relpbuf. >=20 > What filesystem did you use to show up the bug? I'm about to test the > variant with immediate branching. Shawn, would you be able to test > a patch if I produce one? Definitely. Send me a patch and I can spin up an ISO with it and boot it up in bhyve. Thanks, --=20 Shawn Webb HardenedBSD GPG Key ID: 0x6A84658F52456EEE GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89 3D9E 6A84 658F 5245 6EEE --LZvS9be/3tNcYl/X Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWgxfqAAoJEGqEZY9SRW7uutAQAJmqARHqy6hjngzgxktCyGv4 nkZBcGj6UEZKUre3b4jH1Kq7AeD/Ymog+8NUQG5Dusy9JyoEI+ykSLVcZFy5Io6B NflOLVzefbEaJz/dkaWasDgfZHSpFzsAaGgjb1BdRNnD1AVZSQCGHw8uuMPVYhWV /IH/VIxz4eOcrsEDr+rkU5bKkmPmQpPQ9aLPWhxGZ0NNm9pBYhbY6LS/cDrJnP1T fp33rtI1PWB4+ZDuiiiNE44A7mzffUpSm9WH54B2y3BqkfUoD1qducTwMn8lsKbJ NJQWYG/o0DeLVtra/LT/5+OY2mTP+b3vmX1lT/E2wFKHHUjWzMJRHP8E7uQQQ3BB iLJGaO8QGAqjTmHunaGFC9N9qw0/0nXWLhcRq7+4bWkpm9zxQy3YCE8mt2gqFgaW yxqi24658dLejS/WiLhKoPZp9tFwt54EXUxcLZZYge25ckBzAwziJxoKDWKS3PzJ 4ZtzLWlSAT35ff3OmdiTPfoFL7Sxrv9SO6Zgv2MNj1RylwMkvTD/6ewFBQObDGCB q/DIqwmNBB/9lbnTgbO6YusfoZHijhw1qhHijefwSfqeMEZ9BQSh0AIyUHHQ4Mpp MMiFE3uvlZCRjg9u2Er7r8Fw4rTdx31wBS9kBv/CbgCYNqIfpY+WotemlFHEBiEi uEsL8t3BpNU3+fV99aMK =6R4R -----END PGP SIGNATURE----- --LZvS9be/3tNcYl/X--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20151229233156.GA4032>