From owner-svn-src-all@freebsd.org Sun Jul 26 23:17:55 2015 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F2E89AB58D for ; Sun, 26 Jul 2015 23:17:55 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 31168EC4 for ; Sun, 26 Jul 2015 23:17:55 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.84 (FreeBSD)) (envelope-from ) id 1ZJVAv-000OvN-GG; Mon, 27 Jul 2015 02:17:45 +0300 Date: Mon, 27 Jul 2015 02:17:45 +0300 From: Slawa Olhovchenkov To: kpneal@pobox.com Cc: svn-src-all@freebsd.org Subject: Re: svn commit: r284959 - in head: . share/man/man4 share/man/man9 sys/conf sys/dev/glxsb sys/dev/hifn sys/dev/random sys/dev/rndtest sys/dev/safe sys/dev/syscons sys/dev/ubsec sys/dev/virtio/random sy... Message-ID: <20150726231745.GV44094@zxy.spb.ru> References: <20150724012519.GE78154@funkthat.com> <96EA33AB-7325-4DD2-83F4-B4FAF6F47CB5@yahoo.com> <20150725085209.GI43740@zxy.spb.ru> <20150726230137.GB66594@neutralgood.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150726230137.GB66594@neutralgood.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2015 23:17:55 -0000 On Sun, Jul 26, 2015 at 07:01:37PM -0400, kpneal@pobox.com wrote: > On Sat, Jul 25, 2015 at 11:52:09AM +0300, Slawa Olhovchenkov wrote: > > On Fri, Jul 24, 2015 at 11:06:59PM -0600, Scott Long via svn-src-all wrote: > > > > > > I'm working on a premise of "tools, not policy". I'd like there to be > > > > enough harvesting points for the box owner to get the warm fuzzies. > > > > If they choose to use less, fine by me. > > > > > > > > > > Sure, and that's not an unreasonable goal, but the devil is in the details. > > > It's an unfortunate fact of modern CPU architecture that even something > > > as simple and innocent as a run-time control that checks a variable can > > > cause significant performance problems, thanks to the penalty of cache > > > misses and bus contention between lots of CPU cores. Maybe these > > > "extended" collection points should be controlled with a compile-time > > > option? > > > > I am hate compile-time option, may be time to introduction some JIT in > > project? As global feature. > > I agree with your dislike of compile-time options, and this is especially > true in the OS itself. > > However, a JIT is rather large, and is a rather large effort as well. A > JIT in the kernel would scare the heck out of me because ensuring it didn't > have exploitable security issues would be a lost cause. You could have the > kernel call out to a userland JIT that created (re)loadable modules, but > you'd need to have the source either in kernel, or you'd need to be certain > that all the relevant source was installed. > > Simpler JITs could be written, but that is a large amount of effort for > generated code that wouldn't be as good as the system compiler's code. > > Heck, I ported a 31-bit (yes, thirty-one) JIT for MVS to 64-bit z/OS (modern > MVS), working full time, and it still took me two and a half years to > finish it. For some purpose may be enough some limited, very specific JIT. For example, BPF have JIT as option. 'JIT for options' may be working just as in-place patching (replace call by nops), as example.