Date: Mon, 7 Sep 2015 16:52:19 -0600 From: Warner Losh <imp@bsdimp.com> To: Pawel Jakub Dawidek <pjd@FreeBSD.org> Cc: "freebsd-arch@freebsd.org" <arch@freebsd.org> Subject: Re: exporting INVARIANTS easily Message-ID: <D2DAE86C-F7A5-46C7-95B5-42927927AB5A@bsdimp.com> In-Reply-To: <20150907224808.GC1778@garage.freebsd.pl> References: <EC6B1705-8189-436C-9E47-20E8A4AF8488@bsdimp.com> <20150907212943.GB1778@garage.freebsd.pl> <CANCZdfqNE9z6bfDzcadLVYJkKpXyzURZZ9jAYs5hF4TZ377Cvw@mail.gmail.com> <20150907224808.GC1778@garage.freebsd.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_1810B0DF-7C29-4FD0-A635-A9AF14C71B5E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Sep 7, 2015, at 4:48 PM, Pawel Jakub Dawidek <pjd@FreeBSD.org> = wrote: >=20 > On Mon, Sep 07, 2015 at 04:18:25PM -0600, Warner Losh wrote: >> On Mon, Sep 7, 2015 at 3:29 PM, Pawel Jakub Dawidek <pjd@freebsd.org> = wrote: >>=20 >>> On Wed, Aug 26, 2015 at 11:20:06AM -0600, Warner Losh wrote: >>>> Greetings, >>>>=20 >>>> Many of the performance eating features are exported via some kind = of >>> sysctl, usually >>>> patterned after the case of witness as debug.foo. INVARIANTS = isn=E2=80=99t one >>> of those >>>> features. >>>>=20 >>>> https://reviews.freebsd.org/D3488 >>>>=20 >>>> implements debug.invariants. Please comment. >>>>=20 >>>> I=E2=80=99d thought about adding it to the kern.features sysctl, = but thought >>> better of it since it >>>> isn=E2=80=99t a facility that people can use. >>>>=20 >>>> If you include the kernel config in the kernel, you can get this >>> information via >>>> config -x | grep INVARIANTS >>>> but not all kernels do that. This is more robust. >>>>=20 >>>> I also know that you can load some modules compiled INVARIANTS when = the >>> base >>>> kernel isn=E2=80=99t built that way and this won=E2=80=99t reflect = that. There=E2=80=99s no good >>> want to include >>>> that information and is an uncommon use case. >>>>=20 >>>> Our use case? We have a raft of test machines. Most run without >>> INVARIANTS since >>>> we want to characterize the performance of the release under test. = Some >>> are running >>>> INVARIANTS since we want to test the robustness as well, even at = the >>> expense of >>>> some performance. To ensure we don=E2=80=99t accidentally include = INVARIANTS >>> systems >>>> in the performance number, we=E2=80=99ve adding a key to an = internal database >>> that=E2=80=99s driven >>>> off this sysctl. >>>>=20 >>>> Comments? >>>=20 >>> As long as the ultimate goal is to have INVARIANTS in GENERIC I'm = all >>> for it! I use to run even production machines with INVARIANTS, which = was >>> helpful to catch VirtualBox's kernel memory corruption, but we've = moved >>> to GENERIC since I wanted to use freebsd-update. Having INVARIANTS = in >>> GENERIC would be great. >>=20 >>=20 >> That's not my goal. And I doubt my employer would run it in their >> kernel config because it costs too much in bandwidth when we're >> streaming all that video people binge watch. >=20 > Do you have some numbers handy? I'd be interested in seeing how much > performance drop there is when you have INVARIANTS compiled in, but > debug.invariants set to 0. I don=E2=80=99t have any direct numbers, but the belief is that we=E2=80=99= ll see between 10-20% drop in our peak throughput with an INVARIANTS kernel. Warner --Apple-Mail=_1810B0DF-7C29-4FD0-A635-A9AF14C71B5E 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 iQIcBAEBCgAGBQJV7hUkAAoJEGwc0Sh9sBEAhTwP/jDWBBk+C0AEiTjKaqtE2AM7 v0AsyL/1dbgxihybK728U1EOE9PeQuaXqfwrlQ1nCcdH06snq62iagiHibyksGAa RZrLZRv9MYDq0nvVf42FFdRRbwAAimwLumzCEJtfyxgA3pcRd4EnLxZA6f6kwoga WzJho1gI5qK6eMwzZx+uz0K5dWgXQJSWpJzTiFkHyOQV6skmpZcxIVQDnQF1sAuA XAZlx3XqNCEi8uzjVgf5XytkCVNp6tB9Fjc82gRM249QVLSBkQIeSu8IDjk8xeEk xNtg3BM3G8TwjeRmHDGM2c27pkaaK1cWe/tBM3fyqUOZuxSLDc/lzkj11Jgntuek krdRShitMRUgDsVtUlAemroB5fg9nONzuRI91tDraArQocE1b2dZARAw0/9jWXsp OnsXH2z4NDalEY2Do6kZy65G8KpRC2dVHRpmquU/yUog6HhdOS/afglfwYvXY/zt Jff5nmk1iQvT4KyryZIPfvMmf7disJlf0cuWoUMVDVPZnx5NRHxNcekqs1i0Asbo Bz6sE5zyCSsXEXi7X32Xp3v1XVgUukiDGREbw8w6ejSz/32xaq8gpUJLCpxTvdxb jfmxB5KhOPtDAvUB6wh9MOKIZr2bbavXmwhZut3GyuunALzXaYMOtxr1jejdk+zn HiHdh1+w6ASlSZjZCnnq =xBM0 -----END PGP SIGNATURE----- --Apple-Mail=_1810B0DF-7C29-4FD0-A635-A9AF14C71B5E--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D2DAE86C-F7A5-46C7-95B5-42927927AB5A>