From owner-freebsd-hackers@freebsd.org Mon Dec 31 02:18:39 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B7163141A0CF for ; Mon, 31 Dec 2018 02:18:39 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from mail.metricspace.net (mail.metricspace.net [IPv6:2001:470:1f11:617::107]) by mx1.freebsd.org (Postfix) with ESMTP id 1907C80C5C for ; Mon, 31 Dec 2018 02:18:39 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from [172.16.0.55] (unknown [172.16.0.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: eric) by mail.metricspace.net (Postfix) with ESMTPSA id 7BBB525E4 for ; Mon, 31 Dec 2018 02:18:38 +0000 (UTC) To: "freebsd-hackers@freebsd.org" From: Eric McCorkle Openpgp: preference=signencrypt Autocrypt: addr=eric@metricspace.net; prefer-encrypt=mutual; keydata= mDMEWue2FBYJKwYBBAHaRw8BAQdAP/qVPlXodV6pYO5b1Jw0eFyMhyDD7B5y5eFsciutEfS0 JEVyaWMgTWNDb3JrbGUgPGVyaWNAbWV0cmljc3BhY2UubmV0PoiWBBMWCAA+FiEEDxi/0rkj zd6Uc6cFCN/CKRbBwmwFAlrnthQCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA CgkQCN/CKRbBwmyGKAD/XTSBOItCKcYCPTlsaS1aQYVEwWXXFgdjWE+WsNdZUS8A/AhYAbQZ kNZNimE2rQLoklkfTA74qF/V257NuQi4QDcLuDgEWue2FBIKKwYBBAGXVQEFAQEHQKpZVyCG ync/xqejm2C1HKGXLJTUu38RvnrR3UYECz9nAwEIB4h+BBgWCAAmFiEEDxi/0rkjzd6Uc6cF CN/CKRbBwmwFAlrnthQCGwwFCQHhM4AACgkQCN/CKRbBwmyi2wEAmvaGt8QMjGELzm27gP4c jJGUi7oigsLmTiFPkpJqPz0A+QFBSCvxJaxCMyoVru/xB6bunpJ+Wtsj8HD1EuJOn4EJ Subject: Speculative: Rust for base system components Message-ID: Date: Sun, 30 Dec 2018 21:18:33 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="gqgdVRHbQXak5rPhNuvmG8O5BG3tzZ4PZ" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 02:18:40 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --gqgdVRHbQXak5rPhNuvmG8O5BG3tzZ4PZ Content-Type: multipart/mixed; boundary="3jE5g69H688OEH5z4fGigDWArY6yEB9d5"; protected-headers="v1" From: Eric McCorkle To: "freebsd-hackers@freebsd.org" Message-ID: Subject: Speculative: Rust for base system components --3jE5g69H688OEH5z4fGigDWArY6yEB9d5 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable Before I begin, I want to be clear that everything here is in the realm of speculative, long-term discussion. My goal is to start a conversation, not to propose anything concrete right now. I've talked at several conferences about the possibility of bringing the Rust programming language into the base system, with the intent of making it a viable implementation language for parts of the base system. I believe the potential security and stability benefits of doing this are *substantial*. This would obviously be a serious undertaking, but I think the benefits are worth the cost. For the rest of this mail, I'll outline my position and present the important facts that support it. I of course welcome any discussion, criticism, or input. =3D Why Rust? =3D Rust is a true systems programming language that incorporates results from programming language research that took place in the late 90's and 2000's, and can be viewed as a culmination of this work. (Specifically, it draws on work on region types as well as substructural types, but that's its own survey article). This manifests most clearly in Rust's lifetime type system, which is able to perform quite sophisticated reasoning about memory allocation and ownership. Rust programs do not require you to explicitly manage memory, but neither do they use garbage collection. Memory management is automatically tracked by the lifetime types and allocations/frees are added during compilation. Moreover, threaded programs are able to use the same type system features to track ownership. This effectively prevents a large class of memory- and concurrency-related errors *at the type system level*, resulting in dramatically safer programs. Rust provides an "unsafe" language facility for accomplishing low-level tasks, so you're not prevented from getting things done; however, almost all programs can be implemented without relying on unsafe, and doing so eliminates what has probably been the two worst classes of bugs in the history of computing. Because this is done at the type system level, it has no cost at runtime. This theme of "zero-cost abstractions" runs throughout the language, which makes it suitable as a replacement for C in the long term. It also incorporates features befitting a modern programming language such as parameterized types (aka generics), pattern-matching, and trait-based polymorphism. Finally, it can interface with C/C++ binaries and libraries relatively easily, making it a suitable systems implementation language. Because of these benefits, several projects (Mozilla and Tor) have begun to reimplement their systems using Rust. Additionally, there is a master's thesis about writing FreeBSD device drivers using Rust out there somewhere (forgive me for not chasing it down). A secondary benefit is that Rust's packaging system, cargo, is built around a more modern concept of modularity. This is in line with FreeBSD's goals of modularizing the base system and reducing redundancy. =3D Downsides =3D There are a couple of downsides, which I'll outline briefly, and provide some counterargumentation for them. * It's a big component Adding the entire Rust platform would add more to the buildworld time, which is already quite long due to LLVM. OTOH, LLVM itself is a big chunk of the rust build time, and we already build that as part of the base system now. Moreover, it stands to reason that the compiler would end up being the majority of an open-source operating system's build time, with second place being the kernel itself. Compilers are an active area of research with no signs of slowing down, and more hardware platforms means more backends, which means the compiler ends up growing over time, while most of the rest of the system doesn't. * The language is still evolving While this is true, the language has gotten *way* more mature in the past year and a half, and I think it's ready to hold up major codebases and production use, or at the very least it will be by the time we'd be seriously looking at bringing it in. * Rust binaries are large This issue can be avoided with the proper use of build flags. The default settings use static linking for everything, and bring in the entire runtime library (which isn't necessary in most cases). See this article: https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html= =2E With LTO, the size can be cut down to that of a C++ binary, and with dynamic linking, the executable size is comparable to a C program. If we were seriously using rust, we would probably change the default flags to use dynamic linking/LTO by default, in fact. =3D Alternatives =3D There have been several alternatives that come up when I mention this. I'll discuss the two big ones: go and C++ =3D=3D C++ =3D=3D C++ is already in the base system, of course. It could be brought into the kernel with some effort and restrictions. The biggest argument for Rust over C++ in my view is that Rust is a much simpler, cleaner language. C++ at this point is bewilderingly complex as a language, and has so many bells and whistles that it almost requires an effort to decide which subset of the language will be used. This also tends to slow down efforts to expand the language over time. Rust by comparison is much leaner. Its lifetime type system can be intimidating, but the benefits are well worth getting used to it. To sum it up, C++ certainly isn't going anywhere, but I think Rust has a great deal more vitality as a language. =3D=3D Go =3D=3D Go is not really a "systems language" in the sense that C or Rust are. It isn't a replacement for C so much as a replacement for python. What's more, it is almost universally disliked by people with a background in programming languages (I am one of those). There's a couple of reasons for this. First, it omits a number of features that modern languages *really* should include, parameterized types (generics) being one of the most glaring. Beyond that, it completely ignores anything produced by modern PL research (unlike Rust, which benefits from that work). Second, one of its main design parameters was "it should compile fast". This as a design constraint basically guarantees that you can't do anything interesting in compilation, which rules out both advanced type systems as well as serious optimization. Unlike Rust, which offers substantial security and stability benefits through its type system, Go would do little more than just change the syntax of a bunch of code. Moreover, it's likely that there would be performance consequences, given the design constraint of fast compilation= =2E =3D Summary =3D Rust is a modern systems language with substantial benefits, and is well-poised to become the heir apparent to C as the dominant systems language going into the future. For this reason, I think we should seriously consider it as a language for the base system at some point in the future, when the time is right and after sufficient exploration and experimentation. --3jE5g69H688OEH5z4fGigDWArY6yEB9d5-- --gqgdVRHbQXak5rPhNuvmG8O5BG3tzZ4PZ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQPGL/SuSPN3pRzpwUI38IpFsHCbAUCXCl8eQAKCRAI38IpFsHC bFSQAQDTNFfT0K6zmhj3xpSoHGFIscFLauQrAjXTGLZ6eWzUbAD+MFDkOISo6KZl U+4j/9dS+9d+810pVX2SNMUzCK1cFAU= =uMJq -----END PGP SIGNATURE----- --gqgdVRHbQXak5rPhNuvmG8O5BG3tzZ4PZ-- From owner-freebsd-hackers@freebsd.org Mon Dec 31 06:35:20 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 98F9D14266AC for ; Mon, 31 Dec 2018 06:35:20 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2CB1C8B53D for ; Mon, 31 Dec 2018 06:35:20 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lj1-f174.google.com with SMTP id t18-v6so23044901ljd.4 for ; Sun, 30 Dec 2018 22:35:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=z95CWBUln/J8FBoMEwMjPSJsR/vY2NtzoX/xZPbZDv8=; b=aPoKRQvzip3X726b6E1BYVGgN+kcvcJ/MkpuClgnd9Oq1aECjeKw6ywv9sQYXOy/rq fefwB2IS/r7dMmtSvHaOQ3Kt8UeBd1nzOHaalw50hrmSv/PQEvJqHs6/TlHCcQ2yb1OO YG03d+6LPEAW3PfGwrxaCXHV/JyF6mZfwUfakLKCYbUrs+qEr7kdn0ilMC27DiuW1JMa Lv4yeBBJb+87qHGB7bX7OiWvLe6YcaF3dcIxk8nb0kDUB6/bQeTXTnBDoYx+p8Tb8+qd qG0vFsW8JEDZb+kD4sSMlv87HSvIQ1EbES4VpH3/YT6SEYNacH1g19WpkokJbJleYTuI 7cFA== X-Gm-Message-State: AJcUukeQE/xwIVJlU5MXvdbZmh05TE37vVe+cBjbyWdIzAbbKT+qlrKx l185CxkgpR+Z5vliogLsHQKivVsDEvn0SBX88Qu40w== X-Google-Smtp-Source: ALg8bN7Q4h5ZWhwhTkhSw4AzrOJ38etBcsepXVmA633pHQST+8RmhQ7vSsiKZc00xdHRbSrvE/CU2ZWvNlYLBir0xmo= X-Received: by 2002:a2e:9356:: with SMTP id m22-v6mr20687276ljh.135.1546236200556; Sun, 30 Dec 2018 22:03:20 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Alan Somers Date: Sun, 30 Dec 2018 23:03:08 -0700 Message-ID: Subject: Re: Speculative: Rust for base system components To: Eric McCorkle Cc: "freebsd-hackers@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 2CB1C8B53D X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.94 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.94)[-0.945,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 06:35:20 -0000 On Sun, Dec 30, 2018 at 10:38 PM Eric McCorkle wrote: > > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > > > > I've talked at several conferences about the possibility of bringing the > Rust programming language into the base system, with the intent of > making it a viable implementation language for parts of the base system. > I believe the potential security and stability benefits of doing this > are *substantial*. This would obviously be a serious undertaking, but I > think the benefits are worth the cost. For the rest of this mail, I'll > outline my position and present the important facts that support it. > > I of course welcome any discussion, criticism, or input. > > = Why Rust? = > > Rust is a true systems programming language that incorporates results > from programming language research that took place in the late 90's and > 2000's, and can be viewed as a culmination of this work. (Specifically, > it draws on work on region types as well as substructural types, but > that's its own survey article). > > This manifests most clearly in Rust's lifetime type system, which is > able to perform quite sophisticated reasoning about memory allocation > and ownership. Rust programs do not require you to explicitly manage > memory, but neither do they use garbage collection. Memory management > is automatically tracked by the lifetime types and allocations/frees are > added during compilation. Moreover, threaded programs are able to use > the same type system features to track ownership. This effectively > prevents a large class of memory- and concurrency-related errors *at the > type system level*, resulting in dramatically safer programs. Rust > provides an "unsafe" language facility for accomplishing low-level > tasks, so you're not prevented from getting things done; however, almost > all programs can be implemented without relying on unsafe, and doing so > eliminates what has probably been the two worst classes of bugs in the > history of computing. > > Because this is done at the type system level, it has no cost at > runtime. This theme of "zero-cost abstractions" runs throughout the > language, which makes it suitable as a replacement for C in the long > term. It also incorporates features befitting a modern programming > language such as parameterized types (aka generics), pattern-matching, > and trait-based polymorphism. Finally, it can interface with C/C++ > binaries and libraries relatively easily, making it a suitable systems > implementation language. > > Because of these benefits, several projects (Mozilla and Tor) have begun > to reimplement their systems using Rust. Additionally, there is a > master's thesis about writing FreeBSD device drivers using Rust out > there somewhere (forgive me for not chasing it down). I would be interested to read that, if you can find the link. > > A secondary benefit is that Rust's packaging system, cargo, is built > around a more modern concept of modularity. This is in line with > FreeBSD's goals of modularizing the base system and reducing redundancy. > > = Downsides = > > There are a couple of downsides, which I'll outline briefly, and provide > some counterargumentation for them. > > * It's a big component > > Adding the entire Rust platform would add more to the buildworld time, > which is already quite long due to LLVM. OTOH, LLVM itself is a big > chunk of the rust build time, and we already build that as part of the > base system now. Moreover, it stands to reason that the compiler would > end up being the majority of an open-source operating system's build > time, with second place being the kernel itself. Compilers are an > active area of research with no signs of slowing down, and more hardware > platforms means more backends, which means the compiler ends up growing > over time, while most of the rest of the system doesn't. > > * The language is still evolving > > While this is true, the language has gotten *way* more mature in the > past year and a half, and I think it's ready to hold up major codebases > and production use, or at the very least it will be by the time we'd be > seriously looking at bringing it in. > > * Rust binaries are large > > This issue can be avoided with the proper use of build flags. The > default settings use static linking for everything, and bring in the > entire runtime library (which isn't necessary in most cases). See this > article: > https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html. > With LTO, the size can be cut down to that of a C++ binary, and with > dynamic linking, the executable size is comparable to a C program. If > we were seriously using rust, we would probably change the default flags > to use dynamic linking/LTO by default, in fact. Another downside: Rust doesn't support all FreeBSD architectures. Right now, on FreeBSD it only runs on i386, amd64, and aarch64. On other OSes it supports additional architectures, though. The biggest requirement for porting Rust to a new architecture is LLVM support. So we can't use Rust for almost anything in the base system until all architectures are on LLVM. > > > = Alternatives = > > There have been several alternatives that come up when I mention this. > I'll discuss the two big ones: go and C++ > > == C++ == > > C++ is already in the base system, of course. It could be brought into > the kernel with some effort and restrictions. The biggest argument for > Rust over C++ in my view is that Rust is a much simpler, cleaner > language. C++ at this point is bewilderingly complex as a language, and > has so many bells and whistles that it almost requires an effort to > decide which subset of the language will be used. This also tends to > slow down efforts to expand the language over time. > > Rust by comparison is much leaner. Its lifetime type system can be > intimidating, but the benefits are well worth getting used to it. To > sum it up, C++ certainly isn't going anywhere, but I think Rust has a > great deal more vitality as a language. Yeah. C++ has none of Rust's safety features. For OS work, it has few advantages over C. > > == Go == > > Go is not really a "systems language" in the sense that C or Rust are. > It isn't a replacement for C so much as a replacement for python. > > What's more, it is almost universally disliked by people with a > background in programming languages (I am one of those). There's a > couple of reasons for this. First, it omits a number of features that > modern languages *really* should include, parameterized types (generics) > being one of the most glaring. Beyond that, it completely ignores > anything produced by modern PL research (unlike Rust, which benefits > from that work). Second, one of its main design parameters was "it > should compile fast". This as a design constraint basically guarantees > that you can't do anything interesting in compilation, which rules out > both advanced type systems as well as serious optimization. > > Unlike Rust, which offers substantial security and stability benefits > through its type system, Go would do little more than just change the > syntax of a bunch of code. Moreover, it's likely that there would be > performance consequences, given the design constraint of fast compilation. I think there's a common misconception that Go and Rust are similar just because they were invented at about the same time and they share some superficial syntactial similarities. But Go is much less suitable for an OS. It's a memory-managed language, like Java. Remember when Java was the hot new thing, and people predicted that OSes would be written entirely in Java, and microprocessors would be redesigned to execute JVM bytecode directly? It never happened, because Java just isn't suitable for low-level work. Neither is Go. Rust is. > > = Summary = > > Rust is a modern systems language with substantial benefits, and is > well-poised to become the heir apparent to C as the dominant systems > language going into the future. For this reason, I think we should > seriously consider it as a language for the base system at some point in > the future, when the time is right and after sufficient exploration and > experimentation. +100. Rust is definitely the best systems programming language since C. It's better than C++. It's already being used in experimental operating systems like RedoxOS, and I think it's going to become the standard for most innovative OS work soon. FreeBSD should adopt it; the only question is when. And the answer, I think, is after all architectures are built with LLVM. There will be some problems to work out, of course, but it will be worth it. -Alan P.S. I was writing some Rust when I got this email From owner-freebsd-hackers@freebsd.org Mon Dec 31 07:17:23 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0E98F1429467 for ; Mon, 31 Dec 2018 07:17:23 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-it1-f180.google.com (mail-it1-f180.google.com [209.85.166.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9E2E48D237 for ; Mon, 31 Dec 2018 07:17:22 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-it1-f180.google.com with SMTP id m62so35052857ith.5 for ; Sun, 30 Dec 2018 23:17:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=6hgFbTzJ0gkz0mWcoJ8ABeAz5QKMtOFrb05ilZzIUWQ=; b=VPjVVjab60xCTC2Hi+/qsjXHof//iCaRrJxuZwzCRfZ8PqDYyB/17HG7Yb7G3Q60Bc Zs0LrSVnJwDDFbwkJZo8OY/PDccwOtiwZAg421WUCAu/AihQg+Mb/Y6cXW/RMaF8WQ5P EPQIxA4bGjJo9M6EPyV9oFrSI+IkS0BJ0V3Oaidg3S/9A7AaTT9MI1+azheJVyUIxeoE q8Goaml8V+OWfhalmGWFb2hh9Sx+j4sft2jkcfDxCOV/UrS5BsqkZtjlzg2zsjDCWwih rjviEEOGr5xFowxJ85aWLDJco3t8nUVbf5eTjVMF20U8zGtY5CH+ANm1dNsSdfOZtERk Cx1w== X-Gm-Message-State: AA+aEWZeYs69AQOMqC+Opc0idf+Am2HJxonL/LOIOboqvmJZNpPOZsjy HHsiep6EfeWzJfldM5nuyqAil0jT X-Google-Smtp-Source: ALg8bN49IPfGHmXDNrYyoGa2K+x7/R5qglXAggbhTPZkzTWAgJ+xh2BA1MF/QLsN67j/bH7gIA6oFQ== X-Received: by 2002:a24:414c:: with SMTP id x73mr22357477ita.129.1546239382907; Sun, 30 Dec 2018 22:56:22 -0800 (PST) Received: from mail-io1-f42.google.com (mail-io1-f42.google.com. [209.85.166.42]) by smtp.gmail.com with ESMTPSA id u3sm4747827iog.67.2018.12.30.22.56.22 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Dec 2018 22:56:22 -0800 (PST) Received: by mail-io1-f42.google.com with SMTP id r200so20807594iod.11 for ; Sun, 30 Dec 2018 22:56:22 -0800 (PST) X-Received: by 2002:a5e:8d04:: with SMTP id m4mr20559649ioj.233.1546239382432; Sun, 30 Dec 2018 22:56:22 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Reply-To: cem@freebsd.org From: Conrad Meyer Date: Sun, 30 Dec 2018 22:56:11 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Speculative: Rust for base system components To: Eric McCorkle Cc: "freebsd-hackers@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 9E2E48D237 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.98 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.984,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 07:17:23 -0000 Rust has many of the exact same problems C++ has. Sure, it avoids a few classes of issue. But it doesn't fix the classic C++ problems of extremely slow build times (if you think C++ is bad, Rust is worse) and having a kitchen sink of language features that make Rust and C++ code difficult to grok. It may be a suitable replacement for C++; it is not a suitable replacement for C. And outside of a few components (Clang and devd), most of the base system does not use C++. Adding more LLVM build time to the base system is fairly objectionable even if Rust was magical in all other aspects. Too much of the build is LLVM today. I don't think this is a viable long term plan even if Rust was ported to all of our platforms (and I don't see that happening, either). Best, Conrad On Sun, Dec 30, 2018 at 9:39 PM Eric McCorkle wrote: > > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > > > > I've talked at several conferences about the possibility of bringing the > Rust programming language into the base system, with the intent of > making it a viable implementation language for parts of the base system. > I believe the potential security and stability benefits of doing this > are *substantial*. This would obviously be a serious undertaking, but I > think the benefits are worth the cost. For the rest of this mail, I'll > outline my position and present the important facts that support it. > > I of course welcome any discussion, criticism, or input. > > = Why Rust? = > > Rust is a true systems programming language that incorporates results > from programming language research that took place in the late 90's and > 2000's, and can be viewed as a culmination of this work. (Specifically, > it draws on work on region types as well as substructural types, but > that's its own survey article). > > This manifests most clearly in Rust's lifetime type system, which is > able to perform quite sophisticated reasoning about memory allocation > and ownership. Rust programs do not require you to explicitly manage > memory, but neither do they use garbage collection. Memory management > is automatically tracked by the lifetime types and allocations/frees are > added during compilation. Moreover, threaded programs are able to use > the same type system features to track ownership. This effectively > prevents a large class of memory- and concurrency-related errors *at the > type system level*, resulting in dramatically safer programs. Rust > provides an "unsafe" language facility for accomplishing low-level > tasks, so you're not prevented from getting things done; however, almost > all programs can be implemented without relying on unsafe, and doing so > eliminates what has probably been the two worst classes of bugs in the > history of computing. > > Because this is done at the type system level, it has no cost at > runtime. This theme of "zero-cost abstractions" runs throughout the > language, which makes it suitable as a replacement for C in the long > term. It also incorporates features befitting a modern programming > language such as parameterized types (aka generics), pattern-matching, > and trait-based polymorphism. Finally, it can interface with C/C++ > binaries and libraries relatively easily, making it a suitable systems > implementation language. > > Because of these benefits, several projects (Mozilla and Tor) have begun > to reimplement their systems using Rust. Additionally, there is a > master's thesis about writing FreeBSD device drivers using Rust out > there somewhere (forgive me for not chasing it down). > > A secondary benefit is that Rust's packaging system, cargo, is built > around a more modern concept of modularity. This is in line with > FreeBSD's goals of modularizing the base system and reducing redundancy. > > = Downsides = > > There are a couple of downsides, which I'll outline briefly, and provide > some counterargumentation for them. > > * It's a big component > > Adding the entire Rust platform would add more to the buildworld time, > which is already quite long due to LLVM. OTOH, LLVM itself is a big > chunk of the rust build time, and we already build that as part of the > base system now. Moreover, it stands to reason that the compiler would > end up being the majority of an open-source operating system's build > time, with second place being the kernel itself. Compilers are an > active area of research with no signs of slowing down, and more hardware > platforms means more backends, which means the compiler ends up growing > over time, while most of the rest of the system doesn't. > > * The language is still evolving > > While this is true, the language has gotten *way* more mature in the > past year and a half, and I think it's ready to hold up major codebases > and production use, or at the very least it will be by the time we'd be > seriously looking at bringing it in. > > * Rust binaries are large > > This issue can be avoided with the proper use of build flags. The > default settings use static linking for everything, and bring in the > entire runtime library (which isn't necessary in most cases). See this > article: > https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html. > With LTO, the size can be cut down to that of a C++ binary, and with > dynamic linking, the executable size is comparable to a C program. If > we were seriously using rust, we would probably change the default flags > to use dynamic linking/LTO by default, in fact. > > > = Alternatives = > > There have been several alternatives that come up when I mention this. > I'll discuss the two big ones: go and C++ > > == C++ == > > C++ is already in the base system, of course. It could be brought into > the kernel with some effort and restrictions. The biggest argument for > Rust over C++ in my view is that Rust is a much simpler, cleaner > language. C++ at this point is bewilderingly complex as a language, and > has so many bells and whistles that it almost requires an effort to > decide which subset of the language will be used. This also tends to > slow down efforts to expand the language over time. > > Rust by comparison is much leaner. Its lifetime type system can be > intimidating, but the benefits are well worth getting used to it. To > sum it up, C++ certainly isn't going anywhere, but I think Rust has a > great deal more vitality as a language. > > == Go == > > Go is not really a "systems language" in the sense that C or Rust are. > It isn't a replacement for C so much as a replacement for python. > > What's more, it is almost universally disliked by people with a > background in programming languages (I am one of those). There's a > couple of reasons for this. First, it omits a number of features that > modern languages *really* should include, parameterized types (generics) > being one of the most glaring. Beyond that, it completely ignores > anything produced by modern PL research (unlike Rust, which benefits > from that work). Second, one of its main design parameters was "it > should compile fast". This as a design constraint basically guarantees > that you can't do anything interesting in compilation, which rules out > both advanced type systems as well as serious optimization. > > Unlike Rust, which offers substantial security and stability benefits > through its type system, Go would do little more than just change the > syntax of a bunch of code. Moreover, it's likely that there would be > performance consequences, given the design constraint of fast compilation. > > = Summary = > > Rust is a modern systems language with substantial benefits, and is > well-poised to become the heir apparent to C as the dominant systems > language going into the future. For this reason, I think we should > seriously consider it as a language for the base system at some point in > the future, when the time is right and after sufficient exploration and > experimentation. > From owner-freebsd-hackers@freebsd.org Mon Dec 31 07:19:34 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C8D461429542 for ; Mon, 31 Dec 2018 07:19:34 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 53CF48D338 for ; Mon, 31 Dec 2018 07:19:34 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: by mail-pg1-f179.google.com with SMTP id t13so12431548pgr.11 for ; Sun, 30 Dec 2018 23:19:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=wBG4sqOlssAx4h3PrK+t/tXA+SE3C7ReEPn0db5fL9c=; b=rmWznROm8Pq5CYwmiuygDvoyT+NUUTmV+xiTrf91tXhdVpio8+j28MAd6/cUQHoYY4 DQnBKcLSQXw8RKaURSSv6XGJRzg/b6phgNsygfInoMLDe2lGdlMonJ7NOVZOdOpQiQ7H AikJOV857eHGINBlFZIrPXGT/tgYj7UAgZDI3i23BIGZlzzxcfe28DLArGoH9fEPceQ0 02K3oaijYy1PvqBBTt+ktY748K6sDTPnBv4Hy0Ovl6nm2qIW1m0vJOUZcl6hrfl7RsnI sWGykSs16ZzDmSIalv7qRrisJJLhnWSwD1wfkedGS4BKhOkDfgRxpqnhx41YSp8ZVZJG jyqQ== X-Gm-Message-State: AJcUukdgh0QjvSgfBOZnAFI4gWuMD5fbYqpQAYAwwz4aPA0GJKUeaO2v CZKYtaF4bT1QSBOAbcqyYW1fyntPv0Q= X-Google-Smtp-Source: ALg8bN7+CIj6gfUtl4r6LCj6lTI/6qid6hThoWdJ6JqEUZGVjGi1P3E2hBz5AEum6EUXEn/IXnMPdw== X-Received: by 2002:a65:4904:: with SMTP id p4mr6724379pgs.384.1546240320479; Sun, 30 Dec 2018 23:12:00 -0800 (PST) Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com. [209.85.215.179]) by smtp.gmail.com with ESMTPSA id p24sm75335202pfk.155.2018.12.30.23.11.59 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Dec 2018 23:11:59 -0800 (PST) Received: by mail-pg1-f179.google.com with SMTP id t13so12425592pgr.11 for ; Sun, 30 Dec 2018 23:11:59 -0800 (PST) X-Received: by 2002:a63:4a4d:: with SMTP id j13mr6757226pgl.127.1546240319719; Sun, 30 Dec 2018 23:11:59 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Gleb Popov Date: Mon, 31 Dec 2018 10:11:09 +0300 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Speculative: Rust for base system components To: Eric McCorkle Cc: "freebsd-hackers@freebsd.org" X-Rspamd-Queue-Id: 53CF48D338 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.98 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.984,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 07:19:35 -0000 On Mon, Dec 31, 2018 at 8:38 AM Eric McCorkle wrote: > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > > > > I've talked at several conferences about the possibility of bringing the > Rust programming language into the base system, with the intent of > making it a viable implementation language for parts of the base system. > I believe the potential security and stability benefits of doing this > are *substantial*. This would obviously be a serious undertaking, but I > think the benefits are worth the cost. For the rest of this mail, I'll > outline my position and present the important facts that support it. > > I of course welcome any discussion, criticism, or input. > > = Why Rust? = > > Rust is a true systems programming language that incorporates results > from programming language research that took place in the late 90's and > 2000's, and can be viewed as a culmination of this work. (Specifically, > it draws on work on region types as well as substructural types, but > that's its own survey article). > > This manifests most clearly in Rust's lifetime type system, which is > able to perform quite sophisticated reasoning about memory allocation > and ownership. Rust programs do not require you to explicitly manage > memory, but neither do they use garbage collection. Memory management > is automatically tracked by the lifetime types and allocations/frees are > added during compilation. Moreover, threaded programs are able to use > the same type system features to track ownership. This effectively > prevents a large class of memory- and concurrency-related errors *at the > type system level*, resulting in dramatically safer programs. Rust > provides an "unsafe" language facility for accomplishing low-level > tasks, so you're not prevented from getting things done; however, almost > all programs can be implemented without relying on unsafe, and doing so > eliminates what has probably been the two worst classes of bugs in the > history of computing. > If we are striving for safety through type system, I'd jump straight to Haskell. And let the bikeshedding begin. > Because this is done at the type system level, it has no cost at > runtime. This theme of "zero-cost abstractions" runs throughout the > language, which makes it suitable as a replacement for C in the long > term. It also incorporates features befitting a modern programming > language such as parameterized types (aka generics), pattern-matching, > and trait-based polymorphism. Finally, it can interface with C/C++ > binaries and libraries relatively easily, making it a suitable systems > implementation language. > > Because of these benefits, several projects (Mozilla and Tor) have begun > to reimplement their systems using Rust. Additionally, there is a > master's thesis about writing FreeBSD device drivers using Rust out > there somewhere (forgive me for not chasing it down). > > A secondary benefit is that Rust's packaging system, cargo, is built > around a more modern concept of modularity. This is in line with > FreeBSD's goals of modularizing the base system and reducing redundancy. > > = Downsides = > > There are a couple of downsides, which I'll outline briefly, and provide > some counterargumentation for them. > > * It's a big component > > Adding the entire Rust platform would add more to the buildworld time, > which is already quite long due to LLVM. OTOH, LLVM itself is a big > chunk of the rust build time, and we already build that as part of the > base system now. Moreover, it stands to reason that the compiler would > end up being the majority of an open-source operating system's build > time, with second place being the kernel itself. Compilers are an > active area of research with no signs of slowing down, and more hardware > platforms means more backends, which means the compiler ends up growing > over time, while most of the rest of the system doesn't. > > * The language is still evolving > > While this is true, the language has gotten *way* more mature in the > past year and a half, and I think it's ready to hold up major codebases > and production use, or at the very least it will be by the time we'd be > seriously looking at bringing it in. > > * Rust binaries are large > > This issue can be avoided with the proper use of build flags. The > default settings use static linking for everything, and bring in the > entire runtime library (which isn't necessary in most cases). See this > article: > https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html. > With LTO, the size can be cut down to that of a C++ binary, and with > dynamic linking, the executable size is comparable to a C program. If > we were seriously using rust, we would probably change the default flags > to use dynamic linking/LTO by default, in fact. > > > = Alternatives = > > There have been several alternatives that come up when I mention this. > I'll discuss the two big ones: go and C++ > > == C++ == > > C++ is already in the base system, of course. It could be brought into > the kernel with some effort and restrictions. The biggest argument for > Rust over C++ in my view is that Rust is a much simpler, cleaner > language. C++ at this point is bewilderingly complex as a language, and > has so many bells and whistles that it almost requires an effort to > decide which subset of the language will be used. This also tends to > slow down efforts to expand the language over time. > > Rust by comparison is much leaner. Its lifetime type system can be > intimidating, but the benefits are well worth getting used to it. To > sum it up, C++ certainly isn't going anywhere, but I think Rust has a > great deal more vitality as a language. > > == Go == > > Go is not really a "systems language" in the sense that C or Rust are. > It isn't a replacement for C so much as a replacement for python. > > What's more, it is almost universally disliked by people with a > background in programming languages (I am one of those). There's a > couple of reasons for this. First, it omits a number of features that > modern languages *really* should include, parameterized types (generics) > being one of the most glaring. Beyond that, it completely ignores > anything produced by modern PL research (unlike Rust, which benefits > from that work). Second, one of its main design parameters was "it > should compile fast". This as a design constraint basically guarantees > that you can't do anything interesting in compilation, which rules out > both advanced type systems as well as serious optimization. > > Unlike Rust, which offers substantial security and stability benefits > through its type system, Go would do little more than just change the > syntax of a bunch of code. Moreover, it's likely that there would be > performance consequences, given the design constraint of fast compilation. > > = Summary = > > Rust is a modern systems language with substantial benefits, and is > well-poised to become the heir apparent to C as the dominant systems > language going into the future. For this reason, I think we should > seriously consider it as a language for the base system at some point in > the future, when the time is right and after sufficient exploration and > experimentation. > > From owner-freebsd-hackers@freebsd.org Mon Dec 31 07:36:19 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E51271429D54 for ; Mon, 31 Dec 2018 07:36:18 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id 72E838DCC7 for ; Mon, 31 Dec 2018 07:36:18 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (unknown [192.168.55.3]) by phk.freebsd.dk (Postfix) with ESMTP id 2FE5214838; Mon, 31 Dec 2018 07:36:17 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.15.2/8.15.2) with ESMTPS id wBV7aGw3039274 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Mon, 31 Dec 2018 07:36:16 GMT (envelope-from phk@critter.freebsd.dk) Received: (from phk@localhost) by critter.freebsd.dk (8.15.2/8.15.2/Submit) id wBV7aGHI039273; Mon, 31 Dec 2018 07:36:16 GMT (envelope-from phk) To: Eric McCorkle cc: "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components In-reply-to: From: "Poul-Henning Kamp" References: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <39271.1546241776.1@critter.freebsd.dk> Content-Transfer-Encoding: quoted-printable Date: Mon, 31 Dec 2018 07:36:16 +0000 Message-ID: <39272.1546241776@critter.freebsd.dk> X-Rspamd-Queue-Id: 72E838DCC7 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.98 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; NEURAL_HAM_SHORT(-0.98)[-0.982,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 07:36:19 -0000 -------- In message , Eric Mc= Corkl e writes: >Before I begin, I want to be clear that everything here is in the realm >of speculative, long-term discussion. My goal is to start a >conversation, not to propose anything concrete right now. Tl;Dr: Forget all about it. The historical precedent is cvssup(1) which was written in Modula-3. Cvsup was a very complex piece of machinery, and it was indisputably incredibly important to the projects productivity, and we talked again and again about including it in the tree. The arguments were roughly (from memory:) 1. It would make porting to new platforms much harder. (M3 had its own threading implementation.) 2. Nobody but jdp@ knew or used M3, and he only used it for cvsup, because he wanted to try out the language in the first place. 3. It would increas buildworld time significantly. 4. Maintaining the M3 compiler in the tree would be a bother. 5. The only advantage over having it as a port were "It would be (more) convenient" We never imported cvsup and it was not even a close call. I think we can generalize and say that unless we are talking about very big, complex and inescapable body of code, any potential benefits will not outweigh the very concrete disadvantages. So exactly which "base system components" are we talking about ? The largest non-contrib program we maintain in the tree, is ppp(8) and that is only 43KLOC. That is not enough code to warrant a refactoring into a different programming language, in particular not when usage is so low that nobody has even bothered to merge the multi-link support from net/mpd5 in the last 10 years. So the only piece of code I can imagine which would ever come close to qualifying, would be if somebody starts writing BSystemD(8) from scratch. And I'm 100% convinced that people will want that optional and firmly segregated in a port for at least the first a decade. And as far as I know, we *are* trying to make base more modular, and migrate it to pkgbase to make the attachment of/to ports more seamless, right? Poul-Henning -- = Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe = Never attribute to malice what can adequately be explained by incompetence= . From owner-freebsd-hackers@freebsd.org Mon Dec 31 08:06:37 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2CC3F142AE1E for ; Mon, 31 Dec 2018 08:06:37 +0000 (UTC) (envelope-from nir@sarfsc.ru) Received: from forward103o.mail.yandex.net (forward103o.mail.yandex.net [37.140.190.177]) (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 981F88F124 for ; Mon, 31 Dec 2018 08:06:35 +0000 (UTC) (envelope-from nir@sarfsc.ru) Received: from mxback20j.mail.yandex.net (mxback20j.mail.yandex.net [IPv6:2a02:6b8:0:1619::114]) by forward103o.mail.yandex.net (Yandex) with ESMTP id 368045F81A3C; Mon, 31 Dec 2018 11:06:26 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback20j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id ZHwgaAtuhb-6Poa8Hsv; Mon, 31 Dec 2018 11:06:25 +0300 Received: by iva6-fcf606ab9514.qloud-c.yandex.net with HTTP; Mon, 31 Dec 2018 11:06:25 +0300 From: =?utf-8?B?0JjQs9C+0YDRjCDQp9GD0LTQvtCy?= To: Poul-Henning Kamp Cc: "freebsd-hackers@freebsd.org" In-Reply-To: <39272.1546241776@critter.freebsd.dk> References: <39272.1546241776@critter.freebsd.dk> Subject: Re: Speculative: Rust for base system components MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Mon, 31 Dec 2018 11:06:25 +0300 Message-Id: <33602211546243585@iva6-fcf606ab9514.qloud-c.yandex.net> Content-Transfer-Encoding: 7bit Content-Type: text/plain X-Rspamd-Queue-Id: 981F88F124 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.30 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[sarfsc.ru]; AUTH_NA(1.00)[]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[mx.yandex.ru,mx.yandex.ru,mx.yandex.ru,mx.yandex.ru,mx.yandex.ru]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.32)[-0.319,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[177.190.140.37.list.dnswl.org : 127.0.5.1]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:13238, ipnet:37.140.128.0/18, country:RU]; MIME_TRACE(0.00)[0:+]; IP_SCORE(-0.77)[asn: 13238(-3.88), country: RU(0.00)]; RWL_MAILSPIKE_POSSIBLE(0.00)[177.190.140.37.rep.mailspike.net : 127.0.0.17] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 08:06:37 -0000 Hello! That sounds nice. Is there any requirements or wiki page for BSystemD implementation? --- With best regards, Igor Chudov. Saratov Free Software Center Work phone: +7 8452 98-78-18 Work (mobile) phone: +7 917 208-78-18 Personal (mobile) phone: +7 937 266-51-34 31.12.2018, 10:40, "Poul-Henning Kamp" : > So the only piece of code I can imagine which would ever come close > to qualifying, would be if somebody starts writing BSystemD(8) > from scratch. > > And I'm 100% convinced that people will want that optional and firmly > segregated in a port for at least the first a decade. > > And as far as I know, we *are* trying to make base more modular, and > migrate it to pkgbase to make the attachment of/to ports more > seamless, right? From owner-freebsd-hackers@freebsd.org Mon Dec 31 08:57:28 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 896DB142C553 for ; Mon, 31 Dec 2018 08:57:28 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id 659D7906BA for ; Mon, 31 Dec 2018 08:57:27 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (unknown [192.168.55.3]) by phk.freebsd.dk (Postfix) with ESMTP id B2BD714835; Mon, 31 Dec 2018 08:57:25 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.15.2/8.15.2) with ESMTPS id wBV8vOdW039553 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Mon, 31 Dec 2018 08:57:24 GMT (envelope-from phk@critter.freebsd.dk) Received: (from phk@localhost) by critter.freebsd.dk (8.15.2/8.15.2/Submit) id wBV8vO1i039552; Mon, 31 Dec 2018 08:57:24 GMT (envelope-from phk) To: =?utf-8?B?0JjQs9C+0YDRjCDQp9GD0LTQvtCy?= cc: "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components In-reply-to: <33602211546243585@iva6-fcf606ab9514.qloud-c.yandex.net> From: "Poul-Henning Kamp" References: <39272.1546241776@critter.freebsd.dk> <33602211546243585@iva6-fcf606ab9514.qloud-c.yandex.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <39550.1546246644.1@critter.freebsd.dk> Content-Transfer-Encoding: quoted-printable Date: Mon, 31 Dec 2018 08:57:24 +0000 Message-ID: <39551.1546246644@critter.freebsd.dk> X-Rspamd-Queue-Id: 659D7906BA X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [2.71 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.74)[0.736,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.dk]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.07)[0.067,0]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: phk.freebsd.dk]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_SPAM_LONG(0.50)[0.503,0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; RCVD_NO_TLS_LAST(0.10)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:1835, ipnet:130.225.0.0/16, country:EU]; FROM_NEQ_ENVFROM(0.00)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; IP_SCORE(0.11)[asn: 1835(0.56), country: EU(-0.00)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 08:57:28 -0000 -------- In message <33602211546243585@iva6-fcf606ab9514.qloud-c.yandex.net>, =3D?u= tf-8?B? 0JjQs9C+0YDRjCDQp9GD0LTQvtCy?=3D writes: >That sounds nice. Is there any requirements or wiki page for BSystemD imp= lementation? I think that subject is best tackled in an small working group of interested people, so the "how" question does not get steam-rolled by the "why" question. Please don't hi-jack this mail-thread for it. -- = Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe = Never attribute to malice what can adequately be explained by incompetence= . From owner-freebsd-hackers@freebsd.org Mon Dec 31 09:52:19 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BAF64142DD0C for ; Mon, 31 Dec 2018 09:52:19 +0000 (UTC) (envelope-from damjan.jov@gmail.com) Received: from mail-ot1-x342.google.com (mail-ot1-x342.google.com [IPv6:2607:f8b0:4864:20::342]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E16C1925F1; Mon, 31 Dec 2018 09:52:18 +0000 (UTC) (envelope-from damjan.jov@gmail.com) Received: by mail-ot1-x342.google.com with SMTP id 81so23151836otj.2; Mon, 31 Dec 2018 01:52:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=HQkNOuJnuXLkBKaTwOKTSEL/RFPhJS5nelrJpcf5eCM=; b=EepLTKrjBLU37OvfQimo7+zLmRBu8lRQNrJY0B9F++EBNMLRu3pHS6GROnerkyqebf Nio9CG9AJPloFUpjKUI2i6XCzEhzPEbctEEAUfM3vSPdenK6bDc5eGyK4M6+TYbC7e3o H8M2Y8IWl7MFq8mL9eDKV5oudZLU5F98aRwNSaqs83YHHQrtJ7E5q74o0XnkAdeP/d07 hAWWC/LlONf804BjVIc7JPr2SQ1vPpF1LYRSRIyOyWl+W6Pq+JtxCEvxaCiCq6CZFqSS EfFSiqrPOjWF1AOcygyEGI0PQZF3mOv3TWu0oWJUy6jtSJP6RFpBxt5sg7nIZS+pEcEL s5mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=HQkNOuJnuXLkBKaTwOKTSEL/RFPhJS5nelrJpcf5eCM=; b=K66NDiSg8VDnIm5TjeJCKAKS+vPuv6jVhPXTBvsqi8IZBOEaVjIy1nM6dfBEtk9ajS 8HDf749qlOntWz/o5iagHKoYqHc0iQai5r9xBYmBuxc1etX52oOjvtPE8BVdHPs1SPmK xBv6Rek0Qb8veM+VK02TOZqEeKISkabif2ldSEUnYhgA4YtU6hA/G7J6ivlyJozAP69K FcGtSD4K6qbOfFzogWa21KZPLD67nRAU4GqIfxxsL2q/13QRNbNTnk8/QRtWm8CPKi96 3d5vd5jbxMXtjD5qkmVi3k2mqg9ntsfWba/N3v/VWcuLaW96qYJPLo9IwVqAEv5pARjI SxLw== X-Gm-Message-State: AJcUukdAW6t2QKu/Znnx8R6LFXQDO62i0+dDMqnJTfxuv8unGFpE2xkZ jmkgiiQvloOe8G06az8UrBTmPOX+S/ekyHQRo6k+qChO+vM= X-Google-Smtp-Source: ALg8bN4wFA0xZGJV9vTaqC2zY+e/nVk/Hht+aRcacPkRlBVaLTSIkMVwdAuwaeR7MfAC2Yt1xA2bnmHW7TlM9bC9HhU= X-Received: by 2002:a9d:65c8:: with SMTP id z8mr25625153oth.338.1546249937788; Mon, 31 Dec 2018 01:52:17 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Damjan Jovanovic Date: Mon, 31 Dec 2018 11:50:12 +0200 Message-ID: Subject: Re: Speculative: Rust for base system components To: Alan Somers Cc: Eric McCorkle , "freebsd-hackers@freebsd.org" X-Rspamd-Queue-Id: E16C1925F1 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=EepLTKrj; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of damjanjov@gmail.com designates 2607:f8b0:4864:20::342 as permitted sender) smtp.mailfrom=damjanjov@gmail.com X-Spamd-Result: default: False [-2.41 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.98)[-0.980,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_SPAM_SHORT(0.50)[0.499,0]; NEURAL_HAM_LONG(-0.97)[-0.968,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; IP_SCORE(0.04)[ip: (3.79), ipnet: 2607:f8b0::/32(-1.94), asn: 15169(-1.55), country: US(-0.08)]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2.4.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 09:52:20 -0000 On Mon, Dec 31, 2018 at 8:37 AM Alan Somers wrote: > On Sun, Dec 30, 2018 at 10:38 PM Eric McCorkle > wrote: > > > > > > > == Go == > > > > Go is not really a "systems language" in the sense that C or Rust are. > > It isn't a replacement for C so much as a replacement for python. > > > > What's more, it is almost universally disliked by people with a > > background in programming languages (I am one of those). There's a > > couple of reasons for this. First, it omits a number of features that > > modern languages *really* should include, parameterized types (generics) > > being one of the most glaring. Beyond that, it completely ignores > > anything produced by modern PL research (unlike Rust, which benefits > > from that work). Second, one of its main design parameters was "it > > should compile fast". This as a design constraint basically guarantees > > that you can't do anything interesting in compilation, which rules out > > both advanced type systems as well as serious optimization. > > > > Unlike Rust, which offers substantial security and stability benefits > > through its type system, Go would do little more than just change the > > syntax of a bunch of code. Moreover, it's likely that there would be > > performance consequences, given the design constraint of fast > compilation. > > I think there's a common misconception that Go and Rust are similar > just because they were invented at about the same time and they share > some superficial syntactial similarities. But Go is much less > suitable for an OS. It's a memory-managed language, like Java. > Remember when Java was the hot new thing, and people predicted that > OSes would be written entirely in Java, and microprocessors would be > redesigned to execute JVM bytecode directly? It never happened, > because Java just isn't suitable for low-level work. Neither is Go. > Rust is. > > ARM chips could (and some did) have the Jazelle DBX extension to run Java bytecode in hardware. There are Java editions used on SIM cards and Blu-ray disks, so it certainly has low-level editions. It's Java SE that is heavy: 7 threads and 50 MB RAM for a hello world application, last time I checked. In this regard, Go is much lighter: 2 threads and 1 MB RAM for a hello world. Go has unsigned types, structure embedding, excellent interoperability with C, and the ability to compile into shared libraries which are loaded and called from C, so it is a lot better for low-level programming than Java. Having said that, the number of architectures supported by Go is fairly limited, and languages with automated garbage collection are unusable for kernel development. I would like to see more Rust (or a similar language) in systems development. Damjan From owner-freebsd-hackers@freebsd.org Mon Dec 31 10:29:33 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DD6ED142E682 for ; Mon, 31 Dec 2018 10:29:32 +0000 (UTC) (envelope-from gljennjohn@gmail.com) Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D425393458; Mon, 31 Dec 2018 10:29:31 +0000 (UTC) (envelope-from gljennjohn@gmail.com) Received: by mail-wr1-x435.google.com with SMTP id q18so26145473wrx.9; Mon, 31 Dec 2018 02:29:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=S3aQjOzQJoWkgLNcSDOyaMtXmrUOKzxqC17m3mzttmU=; b=dORhGpgCrqhnNfZkYbdNpQ1mDGT7g6T+pbLeLFbyY8X+lZjrHLKjUvmPU0mAMqiWUH e/2KsMZYFEU/UyN1pz1scHUY1vKWEhBuSNg86Bwm0wQ3d/oM9QfgPrHvEMD4qheosrSB f/uSVmHz5n8hnv6BV1La+nZMomSLHo4B30nEhDDYTGBO73cumkXD/j+iDfz5R138A+gq FXFysCTNeo4Ocny6/e7EKvRQHO+tnMSPyAsxG/8eDUA4FI76p/INeZKdQejacuqQPYLd tyCljNC+f+N75HTRt3c0FtGX6Bwa8dUcVk8xyodufNiy6SD/uJRTGDSftyDJNqmpOSF3 MLRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=S3aQjOzQJoWkgLNcSDOyaMtXmrUOKzxqC17m3mzttmU=; b=b2Mxb9gzV24IOnRQs0g6lDCEO0HfYnoZqKBt0dW0N3CmnYrV0oVKuOtHs8FhLBs7rc i5amgF3uFVk0n6SbTMb2FYZ3r/D1vTnHD0GP6bYdgjHrHAkezgl77X5b75ePRVsDyHrf WNEdhvIqDjZagDw3/wdbtXApQUOUtM9uahqlSfeRgYRSzSmmY26ZM/2RlNDIyI20EcYv RSps0ysTmeeTMQfbJbGHxw1FtGYi3RZVhUeMMdTfidqPIFbIxANvwSn8dIopDVz1SdlR rGaRmvpG6uLPHQCiJIKz/Yp30kyBj+edme9SjVEKhlrTmIwvAAQyyaqx/mKznlMQYSzi UIuA== X-Gm-Message-State: AJcUukeHZZBFDg3GfAoJMBvUM7V26m83AL7Q2trNlGAM6phiGz9L1RYl iXLbwt/SYGzyK7t4up4TBSKZW1+i X-Google-Smtp-Source: ALg8bN4ijcecX45Yfqk6LhRANnPmkCtApXGj5ICf8K5SRv5wLcWbvghIJcvJf6DJowGwhtDN6Xr59g== X-Received: by 2002:a5d:4e0b:: with SMTP id p11mr35814489wrt.227.1546252170383; Mon, 31 Dec 2018 02:29:30 -0800 (PST) Received: from ernst.home (p5B02380D.dip0.t-ipconnect.de. [91.2.56.13]) by smtp.gmail.com with ESMTPSA id j8sm87762199wmd.0.2018.12.31.02.29.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 31 Dec 2018 02:29:29 -0800 (PST) Date: Mon, 31 Dec 2018 11:29:28 +0100 From: Gary Jennejohn To: Alan Somers Cc: Eric McCorkle , "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components Message-ID: <20181231112928.486f40c2@ernst.home> In-Reply-To: References: Reply-To: gljennjohn@gmail.com X-Mailer: Claws Mail 3.17.1 (GTK+ 2.24.32; amd64-portbld-freebsd13.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: D425393458 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=dORhGpgC; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of gljennjohn@gmail.com designates 2a00:1450:4864:20::435 as permitted sender) smtp.mailfrom=gljennjohn@gmail.com X-Spamd-Result: default: False [-6.64 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[gljennjohn@gmail.com]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; REPLYTO_ADDR_EQ_FROM(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-1.00)[-0.997,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_TLS_LAST(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; FREEMAIL_REPLYTO(0.00)[gmail.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[5.3.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.63)[ip: (-9.72), ipnet: 2a00:1450::/32(-1.79), asn: 15169(-1.55), country: US(-0.08)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 10:29:33 -0000 On Sun, 30 Dec 2018 23:03:08 -0700 Alan Somers wrote: > On Sun, Dec 30, 2018 at 10:38 PM Eric McCorkle wrote: [big snip] > > > > Because of these benefits, several projects (Mozilla and Tor) have begun > > to reimplement their systems using Rust. Additionally, there is a > > master's thesis about writing FreeBSD device drivers using Rust out > > there somewhere (forgive me for not chasing it down). > > I would be interested to read that, if you can find the link. > I did a google search using "writing FreeBSD device drivers using Rust" and the first hit was a link to the PDF. Here it is: www.diva-portal.org/smash/get/diva2:1238890/FULLTEXT01.pdf [big snip] -- Gary Jennejohn From owner-freebsd-hackers@freebsd.org Mon Dec 31 12:49:32 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15AD21432846 for ; Mon, 31 Dec 2018 12:49:32 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:13b:39f::9f:25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 521C76829F for ; Mon, 31 Dec 2018 12:49:30 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 718218D4A10E; Mon, 31 Dec 2018 12:49:21 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 728FDD1F835; Mon, 31 Dec 2018 12:49:20 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id NsK2im31gZty; Mon, 31 Dec 2018 12:49:19 +0000 (UTC) Received: from [192.168.2.110] (unknown [IPv6:fde9:577b:c1a9:31:2ef0:eeff:fe03:ee34]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 5D4F3D1F7EB; Mon, 31 Dec 2018 12:49:19 +0000 (UTC) From: "Bjoern A. Zeeb" To: "Poul-Henning Kamp" Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components Date: Mon, 31 Dec 2018 12:49:20 +0000 X-Mailer: MailMate (2.0BETAr6133) Message-ID: <07050B49-18E6-498A-91C0-3A0125EF5CA2@lists.zabbadoz.net> In-Reply-To: <39272.1546241776@critter.freebsd.dk> References: <39272.1546241776@critter.freebsd.dk> MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-Rspamd-Queue-Id: 521C76829F X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of bzeeb-lists@lists.zabbadoz.net designates 2a01:4f8:13b:39f::9f:25 as permitted sender) smtp.mailfrom=bzeeb-lists@lists.zabbadoz.net X-Spamd-Result: default: False [-4.23 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a01:4f8:13b:39f::9f:25]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[zabbadoz.net]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cross.sbone.de]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.88)[-0.879,0]; IP_SCORE(-1.04)[ipnet: 2a01:4f8::/29(-2.78), asn: 24940(-2.42), country: DE(-0.01)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 12:49:32 -0000 On 31 Dec 2018, at 7:36, Poul-Henning Kamp wrote: > Tl;Dr: Forget all about it. > > > The historical precedent is cvssup(1) which was written in Modula-3. While we are on the topic, what was the history on how FreeBSD ended up with perl in the base system? /bz From owner-freebsd-hackers@freebsd.org Mon Dec 31 05:42:06 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AC4561423EDD for ; Mon, 31 Dec 2018 05:42:06 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from mail.soaustin.net (mail.soaustin.net [18.222.6.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.soaustin.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 51397890F1 for ; Mon, 31 Dec 2018 05:42:06 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from lonesome.com (unknown [18.188.142.31]) by mail.soaustin.net (Postfix) with ESMTPSA id 30BDF2EBB2; Mon, 31 Dec 2018 05:42:05 +0000 (UTC) Date: Mon, 31 Dec 2018 05:42:04 +0000 From: Mark Linimon To: Eric McCorkle Cc: "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components Message-ID: <20181231054203.GA19864@lonesome.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Rspamd-Queue-Id: 51397890F1 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.99 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.99)[-0.988,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-Mailman-Approved-At: Mon, 31 Dec 2018 12:57:05 +0000 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 05:42:06 -0000 Until it runs on every arch we support, it's kind of academic to talk about it. IMHO. mcl From owner-freebsd-hackers@freebsd.org Mon Dec 31 13:25:07 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8E36614342A3 for ; Mon, 31 Dec 2018 13:25:07 +0000 (UTC) (envelope-from jan@digitaldaemon.com) Received: from digitaldaemon.com (digitaldaemon.com [162.217.114.50]) by mx1.freebsd.org (Postfix) with SMTP id 0D5016BB63 for ; Mon, 31 Dec 2018 13:25:06 +0000 (UTC) (envelope-from jan@digitaldaemon.com) Received: (qmail 53109 invoked by uid 89); 31 Dec 2018 13:18:22 -0000 Received: from c-24-0-179-87.hsd1.nj.comcast.net (HELO ?192.168.0.16?) (jan@digitaldaemon.com@24.0.179.87) by digitaldaemon.com with SMTP; 31 Dec 2018 13:18:22 -0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: Speculative: Rust for base system components From: Jan Knepper X-Mailer: iPhone Mail (16C50) In-Reply-To: Date: Mon, 31 Dec 2018 08:18:22 -0500 Cc: "freebsd-hackers@freebsd.org" Content-Transfer-Encoding: 7bit Message-Id: References: To: Eric McCorkle X-Rspamd-Queue-Id: 0D5016BB63 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.98 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.981,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 13:25:07 -0000 What about D? www.dlang.org ManiaC++ Jan Knepper > On Dec 30, 2018, at 21:18, Eric McCorkle wrote: > > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > > > > I've talked at several conferences about the possibility of bringing the > Rust programming language into the base system, with the intent of > making it a viable implementation language for parts of the base system. > I believe the potential security and stability benefits of doing this > are *substantial*. This would obviously be a serious undertaking, but I > think the benefits are worth the cost. For the rest of this mail, I'll > outline my position and present the important facts that support it. > > I of course welcome any discussion, criticism, or input. > > = Why Rust? = > > Rust is a true systems programming language that incorporates results > from programming language research that took place in the late 90's and > 2000's, and can be viewed as a culmination of this work. (Specifically, > it draws on work on region types as well as substructural types, but > that's its own survey article). > > This manifests most clearly in Rust's lifetime type system, which is > able to perform quite sophisticated reasoning about memory allocation > and ownership. Rust programs do not require you to explicitly manage > memory, but neither do they use garbage collection. Memory management > is automatically tracked by the lifetime types and allocations/frees are > added during compilation. Moreover, threaded programs are able to use > the same type system features to track ownership. This effectively > prevents a large class of memory- and concurrency-related errors *at the > type system level*, resulting in dramatically safer programs. Rust > provides an "unsafe" language facility for accomplishing low-level > tasks, so you're not prevented from getting things done; however, almost > all programs can be implemented without relying on unsafe, and doing so > eliminates what has probably been the two worst classes of bugs in the > history of computing. > > Because this is done at the type system level, it has no cost at > runtime. This theme of "zero-cost abstractions" runs throughout the > language, which makes it suitable as a replacement for C in the long > term. It also incorporates features befitting a modern programming > language such as parameterized types (aka generics), pattern-matching, > and trait-based polymorphism. Finally, it can interface with C/C++ > binaries and libraries relatively easily, making it a suitable systems > implementation language. > > Because of these benefits, several projects (Mozilla and Tor) have begun > to reimplement their systems using Rust. Additionally, there is a > master's thesis about writing FreeBSD device drivers using Rust out > there somewhere (forgive me for not chasing it down). > > A secondary benefit is that Rust's packaging system, cargo, is built > around a more modern concept of modularity. This is in line with > FreeBSD's goals of modularizing the base system and reducing redundancy. > > = Downsides = > > There are a couple of downsides, which I'll outline briefly, and provide > some counterargumentation for them. > > * It's a big component > > Adding the entire Rust platform would add more to the buildworld time, > which is already quite long due to LLVM. OTOH, LLVM itself is a big > chunk of the rust build time, and we already build that as part of the > base system now. Moreover, it stands to reason that the compiler would > end up being the majority of an open-source operating system's build > time, with second place being the kernel itself. Compilers are an > active area of research with no signs of slowing down, and more hardware > platforms means more backends, which means the compiler ends up growing > over time, while most of the rest of the system doesn't. > > * The language is still evolving > > While this is true, the language has gotten *way* more mature in the > past year and a half, and I think it's ready to hold up major codebases > and production use, or at the very least it will be by the time we'd be > seriously looking at bringing it in. > > * Rust binaries are large > > This issue can be avoided with the proper use of build flags. The > default settings use static linking for everything, and bring in the > entire runtime library (which isn't necessary in most cases). See this > article: > https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html. > With LTO, the size can be cut down to that of a C++ binary, and with > dynamic linking, the executable size is comparable to a C program. If > we were seriously using rust, we would probably change the default flags > to use dynamic linking/LTO by default, in fact. > > > = Alternatives = > > There have been several alternatives that come up when I mention this. > I'll discuss the two big ones: go and C++ > > == C++ == > > C++ is already in the base system, of course. It could be brought into > the kernel with some effort and restrictions. The biggest argument for > Rust over C++ in my view is that Rust is a much simpler, cleaner > language. C++ at this point is bewilderingly complex as a language, and > has so many bells and whistles that it almost requires an effort to > decide which subset of the language will be used. This also tends to > slow down efforts to expand the language over time. > > Rust by comparison is much leaner. Its lifetime type system can be > intimidating, but the benefits are well worth getting used to it. To > sum it up, C++ certainly isn't going anywhere, but I think Rust has a > great deal more vitality as a language. > > == Go == > > Go is not really a "systems language" in the sense that C or Rust are. > It isn't a replacement for C so much as a replacement for python. > > What's more, it is almost universally disliked by people with a > background in programming languages (I am one of those). There's a > couple of reasons for this. First, it omits a number of features that > modern languages *really* should include, parameterized types (generics) > being one of the most glaring. Beyond that, it completely ignores > anything produced by modern PL research (unlike Rust, which benefits > from that work). Second, one of its main design parameters was "it > should compile fast". This as a design constraint basically guarantees > that you can't do anything interesting in compilation, which rules out > both advanced type systems as well as serious optimization. > > Unlike Rust, which offers substantial security and stability benefits > through its type system, Go would do little more than just change the > syntax of a bunch of code. Moreover, it's likely that there would be > performance consequences, given the design constraint of fast compilation. > > = Summary = > > Rust is a modern systems language with substantial benefits, and is > well-poised to become the heir apparent to C as the dominant systems > language going into the future. For this reason, I think we should > seriously consider it as a language for the base system at some point in > the future, when the time is right and after sufficient exploration and > experimentation. > From owner-freebsd-hackers@freebsd.org Mon Dec 31 13:31:45 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 682251434866 for ; Mon, 31 Dec 2018 13:31:45 +0000 (UTC) (envelope-from bakul@bitblocks.com) Received: from mail.bitblocks.com (ns1.bitblocks.com [173.228.5.8]) by mx1.freebsd.org (Postfix) with ESMTP id 63C476C2A5 for ; Mon, 31 Dec 2018 13:31:44 +0000 (UTC) (envelope-from bakul@bitblocks.com) Received: from bitblocks.com (localhost [127.0.0.1]) by mail.bitblocks.com (Postfix) with ESMTP id 0711E156E410; Mon, 31 Dec 2018 05:31:22 -0800 (PST) From: Bakul Shah To: Eric McCorkle cc: "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components In-reply-to: Your message of "Sun, 30 Dec 2018 21:18:33 -0500." References: Comments: In-reply-to Eric McCorkle message dated "Sun, 30 Dec 2018 21:18:33 -0500." MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <96353.1546263082.1@bitblocks.com> Date: Mon, 31 Dec 2018 05:31:22 -0800 Message-Id: <20181231133130.0711E156E410@mail.bitblocks.com> X-Rspamd-Queue-Id: 63C476C2A5 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of bakul@bitblocks.com designates 173.228.5.8 as permitted sender) smtp.mailfrom=bakul@bitblocks.com X-Spamd-Result: default: False [-1.80 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.96)[-0.963,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:173.228.5.8/29]; NEURAL_HAM_LONG(-0.92)[-0.917,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[bitblocks.com]; NEURAL_SPAM_SHORT(0.45)[0.451,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[mail.bitblocks.com]; RCPT_COUNT_TWO(0.00)[2]; IP_SCORE(-0.16)[asn: 46375(-0.72), country: US(-0.08)]; RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:46375, ipnet:173.228.0.0/20, country:US]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 13:31:45 -0000 On Sun, 30 Dec 2018 21:18:33 -0500 Eric McCorkle wrote: > > Go is not really a "systems language" in the sense that C or Rust are. > It isn't a replacement for C so much as a replacement for python. > > What's more, it is almost universally disliked by people with a > background in programming languages (I am one of those). There's a > couple of reasons for this. First, it omits a number of features that > modern languages *really* should include, parameterized types (generics) > being one of the most glaring. Beyond that, it completely ignores > anything produced by modern PL research (unlike Rust, which benefits > from that work). Second, one of its main design parameters was "it > should compile fast". This as a design constraint basically guarantees > that you can't do anything interesting in compilation, which rules out > both advanced type systems as well as serious optimization. > > Unlike Rust, which offers substantial security and stability benefits > through its type system, Go would do little more than just change the > syntax of a bunch of code. Moreover, it's likely that there would be > performance consequences, given the design constraint of fast compilation You haven't used Go at all, have you? No one is suggesting Go be included in the base system but please stop spreading FUD. While this is not the place to discuss Go, it is perfectly usable for writing typical "systems" programs. Though I wouldn't recommend it for writing kernel code. From owner-freebsd-hackers@freebsd.org Mon Dec 31 13:52:07 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CDCA5143518D for ; Mon, 31 Dec 2018 13:52:06 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id C1A686D212 for ; Mon, 31 Dec 2018 13:52:05 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (unknown [192.168.55.3]) by phk.freebsd.dk (Postfix) with ESMTP id AAD6A14838; Mon, 31 Dec 2018 13:52:03 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.15.2/8.15.2) with ESMTPS id wBVDq3mG040476 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Mon, 31 Dec 2018 13:52:03 GMT (envelope-from phk@critter.freebsd.dk) Received: (from phk@localhost) by critter.freebsd.dk (8.15.2/8.15.2/Submit) id wBVDq2TN040475; Mon, 31 Dec 2018 13:52:02 GMT (envelope-from phk) To: "Bjoern A. Zeeb" cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components In-reply-to: <07050B49-18E6-498A-91C0-3A0125EF5CA2@lists.zabbadoz.net> From: "Poul-Henning Kamp" References: <39272.1546241776@critter.freebsd.dk> <07050B49-18E6-498A-91C0-3A0125EF5CA2@lists.zabbadoz.net> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-ID: <40473.1546264322.1@critter.freebsd.dk> Content-Transfer-Encoding: quoted-printable Date: Mon, 31 Dec 2018 13:52:02 +0000 Message-ID: <40474.1546264322@critter.freebsd.dk> X-Rspamd-Queue-Id: C1A686D212 X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [2.47 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.50)[0.498,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.dk]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.10)[0.097,0]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: phk.freebsd.dk]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_SPAM_LONG(0.48)[0.480,0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; RCVD_NO_TLS_LAST(0.10)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:1835, ipnet:130.225.0.0/16, country:EU]; FROM_NEQ_ENVFROM(0.00)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; IP_SCORE(0.11)[asn: 1835(0.55), country: EU(-0.00)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 13:52:07 -0000 -------- In message <07050B49-18E6-498A-91C0-3A0125EF5CA2@lists.zabbadoz.net>, "Bjo= ern A . Zeeb" writes: >On 31 Dec 2018, at 7:36, Poul-Henning Kamp wrote: > >> Tl;Dr: Forget all about it. >> >> >> The historical precedent is cvssup(1) which was written in Modula-3. > >While we are on the topic, what was the history on how FreeBSD ended up = >with perl in the base system? We wanted a scripting language stronger than /bin/sh, but preferably without the kitchen-sink, guest-bathroom, sewer pipelines and wastewater treatment plant, One very desired use-case was to write the installer in a better language than C, but other interesting ideas were floating around too. For instance inetd(8) or syslogd(8) could be given a $script-program as "action" etc. I can't remember if we had Forth in the boot code back then, but it was certainly ruled out for this purpose by people who had grown up on an inferior brand of pocket calculator :-) We tried to import Tcl first, but that didn't work out, for N-1 values of "work out". The one thing that worked was the one which made us pick Tcl: It was very small language designed for exactly that kind of embedding, so the actual integration into the source tree wasn't too horrible. Of course the version churn caused by John Ousterhout & Scriptics trying to become DotCom millionaires gave some heartburn, but it was mostly manageable. However, everybody hated Tcl for all sorts of reasons, and since this was the DotCom years, they hated it most of all because it was not the "Endl=C3=B6sung for all programming requirements: Perl". So we ripped out Tcl again and imported Perl, despite significant misgivings, all if which came to fruition sooner or later. Interesting, as soon as we had imported perl, all the much talked about use-cases evaporated, and it never saw much actual use in the tree. Lua was brand new back then, and I dont remember if it was even mentioned, it certainly was not in the running. Rexx had no FOSS implementation, so that was not a candidate. Importing bash(1) or ksh(1) was also proposed as a "half-way pregnant" solution, but licenses were in the way. -- = Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe = Never attribute to malice what can adequately be explained by incompetence= . From owner-freebsd-hackers@freebsd.org Mon Dec 31 14:05:48 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A0FD4143582B for ; Mon, 31 Dec 2018 14:05:48 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from mail.metricspace.net (mail.metricspace.net [IPv6:2001:470:1f11:617::107]) by mx1.freebsd.org (Postfix) with ESMTP id 31FF26D980 for ; Mon, 31 Dec 2018 14:05:48 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from [172.16.0.55] (unknown [172.16.0.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: eric) by mail.metricspace.net (Postfix) with ESMTPSA id 73D7226E0 for ; Mon, 31 Dec 2018 14:05:46 +0000 (UTC) To: freebsd-hackers@freebsd.org References: <39272.1546241776@critter.freebsd.dk> From: Eric McCorkle Openpgp: preference=signencrypt Autocrypt: addr=eric@metricspace.net; prefer-encrypt=mutual; keydata= mDMEWue2FBYJKwYBBAHaRw8BAQdAP/qVPlXodV6pYO5b1Jw0eFyMhyDD7B5y5eFsciutEfS0 JEVyaWMgTWNDb3JrbGUgPGVyaWNAbWV0cmljc3BhY2UubmV0PoiWBBMWCAA+FiEEDxi/0rkj zd6Uc6cFCN/CKRbBwmwFAlrnthQCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA CgkQCN/CKRbBwmyGKAD/XTSBOItCKcYCPTlsaS1aQYVEwWXXFgdjWE+WsNdZUS8A/AhYAbQZ kNZNimE2rQLoklkfTA74qF/V257NuQi4QDcLuDgEWue2FBIKKwYBBAGXVQEFAQEHQKpZVyCG ync/xqejm2C1HKGXLJTUu38RvnrR3UYECz9nAwEIB4h+BBgWCAAmFiEEDxi/0rkjzd6Uc6cF CN/CKRbBwmwFAlrnthQCGwwFCQHhM4AACgkQCN/CKRbBwmyi2wEAmvaGt8QMjGELzm27gP4c jJGUi7oigsLmTiFPkpJqPz0A+QFBSCvxJaxCMyoVru/xB6bunpJ+Wtsj8HD1EuJOn4EJ Subject: Re: Speculative: Rust for base system components Message-ID: Date: Mon, 31 Dec 2018 09:05:41 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <39272.1546241776@critter.freebsd.dk> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="1EkmMiZUvYPMSPWClHwzggurudpsDtzaG" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 14:05:48 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --1EkmMiZUvYPMSPWClHwzggurudpsDtzaG Content-Type: multipart/mixed; boundary="qGfaMKZkWMWmUwlTF4WtmyNzVj8lSZc3n"; protected-headers="v1" From: Eric McCorkle To: freebsd-hackers@freebsd.org Message-ID: Subject: Re: Speculative: Rust for base system components References: <39272.1546241776@critter.freebsd.dk> In-Reply-To: <39272.1546241776@critter.freebsd.dk> --qGfaMKZkWMWmUwlTF4WtmyNzVj8lSZc3n Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 12/31/18 2:36 AM, Poul-Henning Kamp wrote: > So exactly which "base system components" are we talking about ? >=20 > The largest non-contrib program we maintain in the tree, is ppp(8) > and that is only 43KLOC. >=20 > That is not enough code to warrant a refactoring into a different > programming language, in particular not when usage is so low that > nobody has even bothered to merge the multi-link support from > net/mpd5 in the last 10 years. >=20 > So the only piece of code I can imagine which would ever come close > to qualifying, would be if somebody starts writing BSystemD(8) > from scratch. >=20 > And I'm 100% convinced that people will want that optional and firmly > segregated in a port for at least the first a decade. >=20 > And as far as I know, we *are* trying to make base more modular, and > migrate it to pkgbase to make the attachment of/to ports more > seamless, right? That's an interesting point. If the modularization effort ends up providing the ability to replace parts of contrib with certain ports, then it would be rather straightforward to create rust-based alternatives= =2E As for what I'd be keen to rewrite, I'd put security-critical bits like, say, pam, kerberos, su, and such on the list. I've also kicked around the idea of trying to get a simple Rust-based EFI boot loader up and going. All of these would benefit from WRT kerberos, I did have the base heimdal replaced with MIT kerberos from ports for a while. This mostly works (and has some benefits), but unfortunately doesn't seem to be able to support kerberized NFS. --qGfaMKZkWMWmUwlTF4WtmyNzVj8lSZc3n-- --1EkmMiZUvYPMSPWClHwzggurudpsDtzaG Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQPGL/SuSPN3pRzpwUI38IpFsHCbAUCXCoiNQAKCRAI38IpFsHC bLLvAP0ak9E/MRZxIVa94KrZ2iPW+hnHUb1iwNMAPJvzeATB2AEA8l5tehbGIYbW hP3SpWQ6YrawVbW8JCBVXCXMnO5CjQM= =Oadk -----END PGP SIGNATURE----- --1EkmMiZUvYPMSPWClHwzggurudpsDtzaG-- From owner-freebsd-hackers@freebsd.org Mon Dec 31 14:22:42 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 20EC014363E7 for ; Mon, 31 Dec 2018 14:22:42 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B4BB96E692 for ; Mon, 31 Dec 2018 14:22:41 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-oi1-f179.google.com with SMTP id c206so21996888oib.0 for ; Mon, 31 Dec 2018 06:22:41 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9rfkNcjlmWwJYgDb19Mg9KImTpVDaBpVmKsB2Def3wk=; b=EHt13Cf+8M3s3dqTqjkO1lfYXuIyWbzSxtB0S6HtzH/pduKGrIx4Yf4sIpnGHX4NlM aRt4mWb/EFeZVdOjnac/qUUwXKgEJoyX4FDXlsRvnkqGpyk7tX27kwkJwLmE5mXHzlim V9GV6vJSUUZOCp+WK/G1iXC6ulSqZS4tEloO8gJWB24r1f4CaWX5P9LUu2AOJ5b0CVa9 hjm65Xg9iOiBkt3a8fJbi1KrqwezvXlsqVBQ7N5Qn0P/xW3ca8J+6AkmdUDOP0hgC3Uo CLnuFzbJE1EqrcWk+lKeQoEgYcGBkW1J6sr9VhPIlliEXFvL/rhaSJYDa5lllJnrFiST yqqw== X-Gm-Message-State: AJcUukco5jPFGaIcWAwjbhdt+Y6WzQY9PHE+Nn2WsMgoOA6ckmzA6NOd 4cmBseS7fRPo7AkWuKB1StQw6Ki8liNwxSjPT6o= X-Google-Smtp-Source: AFSGD/XYAIwK7TilRwuJKhL7nA0eJhDDq3qhSmPcCyPh3vx+Bg+0C1Q11OzlI3qWoZKGn71L7YQInLVo3EFiZWCjQho= X-Received: by 2002:a05:6808:282:: with SMTP id z2mr25987375oic.128.1546266154972; Mon, 31 Dec 2018 06:22:34 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Igor Mozolevsky Date: Mon, 31 Dec 2018 14:21:59 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Eric McCorkle Cc: "freebsd-hackers@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: B4BB96E692 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.97 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.975,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 14:22:42 -0000 On Mon, 31 Dec 2018 at 05:42, Eric McCorkle wrote: > > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. Does the generated code size increase or decrease and does the data-path get longer or shorter with switch from C to Rust with all the "great features" of Rust? Are there any metrics for these? If a CPU cache gets trashed repeatedly or data takes massive d-tours that would be a significant downside, wouldn't it? -- Igor M. From owner-freebsd-hackers@freebsd.org Mon Dec 31 15:02:36 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3020A1437318 for ; Mon, 31 Dec 2018 15:02:36 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com [IPv6:2607:f8b0:4864:20::82e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C9F386F97B for ; Mon, 31 Dec 2018 15:02:35 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x82e.google.com with SMTP id n32so29395283qte.11 for ; Mon, 31 Dec 2018 07:02:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1hFnpHobnECcJMF391pPqiViICsHnjf4ajAV9tSLu8Y=; b=xfIfUju9L18eM8Y0fiuH9NHFN+H8yWCE7LOZ/tWMLor8zKX/BFs8ZBNvXCsc48kQab DsfW/lGipYGruGkgzrCKG3iqfO2CNkqvPBkSs5SphNAN2GpGWVe14LfFQx/QF71xyQDp nXgg9x95KGLha0+Ym+t412fbzuV3tnshzvvtt4Movg85CNCWfdnf3xvjkDd/rp2kJoTE oMGhFN5iklGiBXYlo/b1e2/etjARqgJhu2ZQ4dP3X/VhouCVFWWEhGc6U4UOUMRDPPvQ qpx9+pHbvJyNV0wWkYwkBn+Cwv8wrTTchM/aEUZnhYpSRaEdzvyJAb/r4xxkFF4wa8Gx Kbmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1hFnpHobnECcJMF391pPqiViICsHnjf4ajAV9tSLu8Y=; b=hHhupak5LtgBAwPsYIolXSuYopx1HOC8Tq45Tvx0mPfJSsZNpQnw56kBUzawtS3Piy 5Y4paGMTEtm4X8m5xARG/cr4bU/gR3+YUht9jnDHLXFfSp4KweqIxGjkupJp04Wrywnl LHskqj28A5ADJvNwwnm2fYEq+1skydEgwug1x58Af9uQGoEmjU0v5JYlb0eCJwj89j4f 8RgonVzmJnDsQEpsd9yh6aTZqtSnZ0oQuz1hukPcZdPmrc3Fc+Jmg+Vp8EY0xJM4qXVw Kk9hKEmcM2IThVAemGtt/Oc/s7lIdkbzSHXjhvcMqi2PZTW4aLtr2rWsBDzZOfhzwaD2 dnQQ== X-Gm-Message-State: AJcUukdm/OIkF573TUHEitoju5sfSVTEbKYt1JLTTiu5GIrCd+UfgZCO ck4q7rqDmOWhRNMWSBNSUKOTLCktmNjvlsVhBMzmkw== X-Google-Smtp-Source: ALg8bN4CRfvaPnBKCoRewDKCdSiVo46/gwVYWTYlJbhLHzF2mSQx8Ne4lB4MHJ3XFvgb6tLrpidWiQrclmp8MIriobM= X-Received: by 2002:ac8:548a:: with SMTP id h10mr36805615qtq.15.1546268554936; Mon, 31 Dec 2018 07:02:34 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Warner Losh Date: Mon, 31 Dec 2018 08:02:23 -0700 Message-ID: Subject: Re: Speculative: Rust for base system components To: Eric McCorkle Cc: "freebsd-hackers@freebsd.org" X-Rspamd-Queue-Id: C9F386F97B X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.99 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.99)[-0.989,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 15:02:36 -0000 On Sun, Dec 30, 2018 at 10:41 PM Eric McCorkle wrote: > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > Today, this is a losing bid. The cost for rust is high (both in terms of people and added compile time), it's not well supported on all our architectures (and its robustness on the ones it does support has only been tested in limited scenarios), and there's 0 software it enables from day one. Plus, since it's a fast evolving language, we'll still need the ports to support those things that use it today since the likelihood of a version mismatch is high (and supporting 1 version would be a big stretch, multiple version is right out). So any sane cost / benefit analysis says: way more cost than benefit, forget about it. We simply don't have the man-power to maintain a high-cost, zero-benefit component in the tree. Lord knows we have a lot of non-zero-cost-with-almost-zero-benefit things in the tree today that we need to get rid of. In the future, when there are actual replacement things written, or there are new features written, that will shift the cost / benefit equation. And the circumstances about what makes up base will also have shifted, if we're lucky, and we'll be able to have a conversation. We imported perl and tcl on the speculative notion that people would build great things. That never really panned out, and they became a high-cost burden to keep modern for only minor benefit. And version skew in Perl was terrible by the end. Forth and Lua live in the tree because they have benefit (though Forth will be departing, most likely by 13, and definitely by 14). They are also small and easy to update to new versions. And we can't say, with certainty, that if a bunch of rust things show up we'll use them in base. We'll have to see what they provide to benefit the system. TBH, there's a stronger case for python than rust: there's actual python scripts in the tree today that we have to install a port to use. And there the benefit, while not zero, is small and the effort is large compared to just dragging it in as a port, so it hasn't been done. It's another fast evolving language that requires multiple versions as well... So write something that everybody wants, that must be in base, and that requires rust, and then we can have the conversation... Warner From owner-freebsd-hackers@freebsd.org Mon Dec 31 15:46:22 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 025FE143864F for ; Mon, 31 Dec 2018 15:46:22 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com [IPv6:2607:f8b0:4864:20::731]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6CEF9714B8 for ; Mon, 31 Dec 2018 15:46:20 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qk1-x731.google.com with SMTP id o125so15823996qkf.3 for ; Mon, 31 Dec 2018 07:46:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=FH14VQWHLDE89wKljIBodWsN6BTeAO63TlPXD50YPFs=; b=gPTAAVflKfa4vlAqPiSAL0GfV+4csYyvH7/fU6baWuVvMD3oggmrBpsiyO1MoxC3FT +0we+PCwwhjQvnizuTDH9kwJ7al/Xx1A9Q1YURbAOFQXIts3xPOHMNW0MJBX2CTn9muh RZLdz0yGBReNukA0HIY5qBHziLonIKN7XvLJAlDJhhfm6j6Z+n54fxOijTsODd1BIFHg d5vND/gQVZ1D23Iq4ASHSUmtglr807InPKO0R4vIDxBkPnwYreLYvqbFlb6V1VOaarwV j7WYFPthOzM1M18bEuVBNNugAkAiqPRjko/8i5/b3wxIfHlWEpUFUBS+FlvOI/h8p/iU K5AA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=FH14VQWHLDE89wKljIBodWsN6BTeAO63TlPXD50YPFs=; b=jr/ph59t458aDi83LYOnCbG40q7cZt4JEWJX/CAk3GRzf511I4OaLmX9KmNQlJqDPB R9gYjK0UcNBqP6PxU81Hd/V/3x2hvABsOyn1aywmovKoDtbhga7j4uCd94Un+t2w2rG7 0QdY+CfwVkVeXE/nMotY6KXEa9UvdLbiYA9woZ0sysWaHPJTxWWv5NTr8u8YIUnfwqY5 AXugKsCLj9hS6kWBhUuAoSFbo5YR93O8VJz2mb54XLUfThZgIZwKxGmtUSKQQ+JO6/R2 pkw3tPHBG7wwTkqIWE0HRdpTeafHHG93K7kXp/LpYC3z+qdVDUCZeQ/qcyTnHMUDWQ1I DkSQ== X-Gm-Message-State: AJcUuke2KY9cQJYYILKkrBx16dt/JAK96Xt5mTpxNPulR0Baq0kbA7FD +69qzV3bjzHPW4M69yo/2UwMd5Do5qE5eoK9xOdCBzb/ X-Google-Smtp-Source: ALg8bN4w+yGiHrB6zAbBBSNCo/2uFgkBV74yFuy+mUeQFF5LY5wgdAd1taIb1JRdNo6kmjwRBWEyQiOiLP+cdcDy6e8= X-Received: by 2002:a37:c653:: with SMTP id b80mr36194474qkj.245.1546271179822; Mon, 31 Dec 2018 07:46:19 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Warner Losh Date: Mon, 31 Dec 2018 08:46:07 -0700 Message-ID: Subject: Re: Speculative: Rust for base system components To: Eric McCorkle Cc: "freebsd-hackers@freebsd.org" X-Rspamd-Queue-Id: 6CEF9714B8 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=gPTAAVfl X-Spamd-Result: default: False [-4.96 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCPT_COUNT_TWO(0.00)[2]; MX_GOOD(-0.01)[ALT1.aspmx.l.google.com,aspmx.l.google.com,ALT2.aspmx.l.google.com]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_SHORT(-0.96)[-0.957,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[1.3.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE(-1.99)[ip: (-6.38), ipnet: 2607:f8b0::/32(-1.93), asn: 15169(-1.55), country: US(-0.08)] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 15:46:22 -0000 On Mon, Dec 31, 2018 at 8:02 AM Warner Losh wrote: > > > On Sun, Dec 30, 2018 at 10:41 PM Eric McCorkle > wrote: > >> Before I begin, I want to be clear that everything here is in the realm >> of speculative, long-term discussion. My goal is to start a >> conversation, not to propose anything concrete right now. >> > > Today, this is a losing bid. The cost for rust is high (both in terms of > people and added compile time), it's not well supported on all our > architectures (and its robustness on the ones it does support has only been > tested in limited scenarios), and there's 0 software it enables from day > one. Plus, since it's a fast evolving language, we'll still need the ports > to support those things that use it today since the likelihood of a version > mismatch is high (and supporting 1 version would be a big stretch, multiple > version is right out). So any sane cost / benefit analysis says: way more > cost than benefit, forget about it. We simply don't have the man-power to > maintain a high-cost, zero-benefit component in the tree. Lord knows we > have a lot of non-zero-cost-with-almost-zero-benefit things in the tree > today that we need to get rid of. > > In the future, when there are actual replacement things written, or there > are new features written, that will shift the cost / benefit equation. And > the circumstances about what makes up base will also have shifted, if we're > lucky, and we'll be able to have a conversation. We imported perl and tcl > on the speculative notion that people would build great things. That never > really panned out, and they became a high-cost burden to keep modern for > only minor benefit. And version skew in Perl was terrible by the end. Forth > and Lua live in the tree because they have benefit (though Forth will be > departing, most likely by 13, and definitely by 14). They are also small > and easy to update to new versions. > > And we can't say, with certainty, that if a bunch of rust things show up > we'll use them in base. We'll have to see what they provide to benefit the > system. > > TBH, there's a stronger case for python than rust: there's actual python > scripts in the tree today that we have to install a port to use. And there > the benefit, while not zero, is small and the effort is large compared to > just dragging it in as a port, so it hasn't been done. It's another fast > evolving language that requires multiple versions as well... > > So write something that everybody wants, that must be in base, and that > requires rust, and then we can have the conversation... > Just re-read this. It sounds a little more negative than I wanted to come off. I'd only wanted to say today the needle is on 'nope' and I hope people write enough cool stuff to justify moving the needle off 'nope' :) The last part of that message seems more muted than I wanted. Warner From owner-freebsd-hackers@freebsd.org Mon Dec 31 16:07:50 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F1E11438D4B for ; Mon, 31 Dec 2018 16:07:50 +0000 (UTC) (envelope-from Volker.Lendecke@SerNet.DE) Received: from mail.SerNet.de (mail.sernet.de [IPv6:2a0a:a3c0:0:25::217:2]) (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 5801471FD5 for ; Mon, 31 Dec 2018 16:07:44 +0000 (UTC) (envelope-from Volker.Lendecke@SerNet.DE) Received: from intern.SerNet.DE by mail.SerNet.DE with esmtps (Exim 4.91 #2) for freebsd-hackers@freebsd.org id 1ge06O-0001fV-Ql; Mon, 31 Dec 2018 17:07:40 +0100 Received: by intern.sernet.de id 1ge06O-0003CW-PV; Mon, 31 Dec 2018 17:07:40 +0100 Date: Mon, 31 Dec 2018 17:07:38 +0100 From: Volker Lendecke To: "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components Message-ID: <20181231160738.j4gow437liu7urjy@sernet.de> Reply-To: Volker.Lendecke@SerNet.DE References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-Rspamd-Queue-Id: 5801471FD5 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of Volker.Lendecke@SerNet.DE designates 2a0a:a3c0:0:25::217:2 as permitted sender) smtp.mailfrom=Volker.Lendecke@SerNet.DE X-Spamd-Result: default: False [-2.34 / 15.00]; ARC_NA(0.00)[]; HAS_REPLYTO(0.00)[Volker.Lendecke@SerNet.DE]; NEURAL_HAM_MEDIUM(-0.95)[-0.950,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[SerNet.DE]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-0.90)[-0.904,0]; RCVD_COUNT_THREE(0.00)[3]; REPLYTO_ADDR_EQ_FROM(0.00)[]; MX_GOOD(-0.01)[mail.SerNet.DE]; NEURAL_HAM_SHORT(-0.18)[-0.176,0]; TO_DN_EQ_ADDR_ALL(0.00)[]; IP_SCORE(-0.00)[country: DE(-0.01)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:41955, ipnet:2a0a:a3c0::/44, country:DE]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 16:07:50 -0000 On Sun, Dec 30, 2018 at 10:56:11PM -0800, Conrad Meyer wrote: > I don't think this is a viable long term plan even if Rust was ported > to all of our platforms (and I don't see that happening, either). Not being involved in FreeBSD but in Samba, I could see a migration of parts of Samba to Rust if it had a Rust->C translator. I think for FreeBSD base components similar arguments would apply. You could ship the C output for the platforms that don't have native Rust. Unfortunately the llvm C backend was cancelled a while ago. Volker From owner-freebsd-hackers@freebsd.org Mon Dec 31 16:52:53 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 620DB1439CF3 for ; Mon, 31 Dec 2018 16:52:53 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46F6B736AE; Mon, 31 Dec 2018 16:52:52 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lj1-f171.google.com with SMTP id k15-v6so23924018ljc.8; Mon, 31 Dec 2018 08:52:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=4dKYm4jBHIPoM6b4mqf/OVRDEgVFKnrA57y3h94CNC4=; b=dV/irQPxKIgc+Y1HdaGfvm4l3rSP/Jwpf+AzrwY6y6ohB2sa797PTCQ3ku/Gw8wi2B WL0BSrSLAVXW5LGMVD3mFPGTIoZZxB7znwTuRI0AFzmi49DnV5CDYlv8so69ZYEKU/UG ykygXV56rbB2dwel9Z8T3QmHQMUCUF3G+GPAMi4kr14JOl58MOt99qPt3miSEu8Sp/UF duQ88tw7hdpqpqGKRxBetzQtwpYd7Iwlpv7i/rKBDbJqtgiyXhonhmKlMl3YxEQCUelb wOXXjC6/fmvnocx3vnLM35s/LcJKspSrFSRKyI4AjVHiRsLywfvlvdztyrIvfhhsSEvB Y62A== X-Gm-Message-State: AJcUukcf/evqwilEVVYB9C9iouaGu9I84SAjawKSaMGUK7ZbAxptpJnF TACZE2TkX2uHNqJ3oR4Ug7hZld++ZUgrqXLxF5TrgQ== X-Google-Smtp-Source: ALg8bN7x43CkzZylgLMiVZ6QGB5APjd9/nMrYSSicP8MDLbOti54XqBs+L+uEjTcPgjYkslwIDKNFdLZPLgmPjFnrzs= X-Received: by 2002:a2e:20c3:: with SMTP id g64-v6mr23858619lji.101.1546275164470; Mon, 31 Dec 2018 08:52:44 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Alan Somers Date: Mon, 31 Dec 2018 09:52:32 -0700 Message-ID: Subject: Re: Speculative: Rust for base system components To: "Conrad E. Meyer" Cc: Eric McCorkle , "freebsd-hackers@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 46F6B736AE X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.208.171 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-3.84 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.995,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-0.99)[-0.994,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[freebsd.org]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-0.76)[-0.760,0]; RCVD_IN_DNSWL_NONE(0.00)[171.208.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-1.08)[ipnet: 209.85.128.0/17(-3.76), asn: 15169(-1.55), country: US(-0.08)]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[171.208.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 16:52:53 -0000 On Mon, Dec 31, 2018 at 12:17 AM Conrad Meyer wrote: > > Rust has many of the exact same problems C++ has. Sure, it avoids a > few classes of issue. But it doesn't fix the classic C++ problems of > extremely slow build times (if you think C++ is bad, Rust is worse) > and having a kitchen sink of language features that make Rust and C++ > code difficult to grok. Do you have any data to support the claim of slow build times? I know it's very hard to do an apples-to-apples comparison of build times between different languages, but I would be interested to see somebody try. > > It may be a suitable replacement for C++; it is not a suitable > replacement for C. And outside of a few components (Clang and devd), > most of the base system does not use C++. > > Adding more LLVM build time to the base system is fairly objectionable > even if Rust was magical in all other aspects. Too much of the build > is LLVM today. > > I don't think this is a viable long term plan even if Rust was ported > to all of our platforms (and I don't see that happening, either). > > Best, > Conrad > > > On Sun, Dec 30, 2018 at 9:39 PM Eric McCorkle wrote: > > > > Before I begin, I want to be clear that everything here is in the realm > > of speculative, long-term discussion. My goal is to start a > > conversation, not to propose anything concrete right now. > > > > > > > > I've talked at several conferences about the possibility of bringing the > > Rust programming language into the base system, with the intent of > > making it a viable implementation language for parts of the base system. > > I believe the potential security and stability benefits of doing this > > are *substantial*. This would obviously be a serious undertaking, but I > > think the benefits are worth the cost. For the rest of this mail, I'll > > outline my position and present the important facts that support it. > > > > I of course welcome any discussion, criticism, or input. > > > > = Why Rust? = > > > > Rust is a true systems programming language that incorporates results > > from programming language research that took place in the late 90's and > > 2000's, and can be viewed as a culmination of this work. (Specifically, > > it draws on work on region types as well as substructural types, but > > that's its own survey article). > > > > This manifests most clearly in Rust's lifetime type system, which is > > able to perform quite sophisticated reasoning about memory allocation > > and ownership. Rust programs do not require you to explicitly manage > > memory, but neither do they use garbage collection. Memory management > > is automatically tracked by the lifetime types and allocations/frees are > > added during compilation. Moreover, threaded programs are able to use > > the same type system features to track ownership. This effectively > > prevents a large class of memory- and concurrency-related errors *at the > > type system level*, resulting in dramatically safer programs. Rust > > provides an "unsafe" language facility for accomplishing low-level > > tasks, so you're not prevented from getting things done; however, almost > > all programs can be implemented without relying on unsafe, and doing so > > eliminates what has probably been the two worst classes of bugs in the > > history of computing. > > > > Because this is done at the type system level, it has no cost at > > runtime. This theme of "zero-cost abstractions" runs throughout the > > language, which makes it suitable as a replacement for C in the long > > term. It also incorporates features befitting a modern programming > > language such as parameterized types (aka generics), pattern-matching, > > and trait-based polymorphism. Finally, it can interface with C/C++ > > binaries and libraries relatively easily, making it a suitable systems > > implementation language. > > > > Because of these benefits, several projects (Mozilla and Tor) have begun > > to reimplement their systems using Rust. Additionally, there is a > > master's thesis about writing FreeBSD device drivers using Rust out > > there somewhere (forgive me for not chasing it down). > > > > A secondary benefit is that Rust's packaging system, cargo, is built > > around a more modern concept of modularity. This is in line with > > FreeBSD's goals of modularizing the base system and reducing redundancy. > > > > = Downsides = > > > > There are a couple of downsides, which I'll outline briefly, and provide > > some counterargumentation for them. > > > > * It's a big component > > > > Adding the entire Rust platform would add more to the buildworld time, > > which is already quite long due to LLVM. OTOH, LLVM itself is a big > > chunk of the rust build time, and we already build that as part of the > > base system now. Moreover, it stands to reason that the compiler would > > end up being the majority of an open-source operating system's build > > time, with second place being the kernel itself. Compilers are an > > active area of research with no signs of slowing down, and more hardware > > platforms means more backends, which means the compiler ends up growing > > over time, while most of the rest of the system doesn't. > > > > * The language is still evolving > > > > While this is true, the language has gotten *way* more mature in the > > past year and a half, and I think it's ready to hold up major codebases > > and production use, or at the very least it will be by the time we'd be > > seriously looking at bringing it in. > > > > * Rust binaries are large > > > > This issue can be avoided with the proper use of build flags. The > > default settings use static linking for everything, and bring in the > > entire runtime library (which isn't necessary in most cases). See this > > article: > > https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html. > > With LTO, the size can be cut down to that of a C++ binary, and with > > dynamic linking, the executable size is comparable to a C program. If > > we were seriously using rust, we would probably change the default flags > > to use dynamic linking/LTO by default, in fact. > > > > > > = Alternatives = > > > > There have been several alternatives that come up when I mention this. > > I'll discuss the two big ones: go and C++ > > > > == C++ == > > > > C++ is already in the base system, of course. It could be brought into > > the kernel with some effort and restrictions. The biggest argument for > > Rust over C++ in my view is that Rust is a much simpler, cleaner > > language. C++ at this point is bewilderingly complex as a language, and > > has so many bells and whistles that it almost requires an effort to > > decide which subset of the language will be used. This also tends to > > slow down efforts to expand the language over time. > > > > Rust by comparison is much leaner. Its lifetime type system can be > > intimidating, but the benefits are well worth getting used to it. To > > sum it up, C++ certainly isn't going anywhere, but I think Rust has a > > great deal more vitality as a language. > > > > == Go == > > > > Go is not really a "systems language" in the sense that C or Rust are. > > It isn't a replacement for C so much as a replacement for python. > > > > What's more, it is almost universally disliked by people with a > > background in programming languages (I am one of those). There's a > > couple of reasons for this. First, it omits a number of features that > > modern languages *really* should include, parameterized types (generics) > > being one of the most glaring. Beyond that, it completely ignores > > anything produced by modern PL research (unlike Rust, which benefits > > from that work). Second, one of its main design parameters was "it > > should compile fast". This as a design constraint basically guarantees > > that you can't do anything interesting in compilation, which rules out > > both advanced type systems as well as serious optimization. > > > > Unlike Rust, which offers substantial security and stability benefits > > through its type system, Go would do little more than just change the > > syntax of a bunch of code. Moreover, it's likely that there would be > > performance consequences, given the design constraint of fast compilation. > > > > = Summary = > > > > Rust is a modern systems language with substantial benefits, and is > > well-poised to become the heir apparent to C as the dominant systems > > language going into the future. For this reason, I think we should > > seriously consider it as a language for the base system at some point in > > the future, when the time is right and after sufficient exploration and > > experimentation. > > > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" From owner-freebsd-hackers@freebsd.org Mon Dec 31 17:36:22 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5881C143A92C for ; Mon, 31 Dec 2018 17:36:22 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F6D974E2D for ; Mon, 31 Dec 2018 17:36:21 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pl1-x62e.google.com with SMTP id w4so12856643plz.1 for ; Mon, 31 Dec 2018 09:36:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=9LDYam2WiwvxzCcAgoM358jX7sj2QBElJZoI7dFslzU=; b=rnEgbjxrsYoXqMMYH/HhGg4RtU9b4SuWJlJOwHjIX5jWdY21TmCxFQe+KJ3CL4bTF7 5MELXNGVdmQtkgDIjWRbm3vX4/Ske07+7DAEa3EzB1A9/O6ZUcT+HfvRpfbzzjaot36B RGoCewt4SpbgvOaApPwfVouR7gZ3JE7mKFctYsNpOUdeP0+L9EZidz1VaGGX/Pb4lgxf sjJgJS426dy+RvHyi0KsePdGrTf8NWI6yixlDaPMByL9JFLuOetg6GEByMwjp+5FlLTS t0hPqh1Vkz+/P2bD2HpVfRk8HDcURLfAU6sfwFFnAp+BY4uDX+wlKo8njn/+ZZF6T8bq M0hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=9LDYam2WiwvxzCcAgoM358jX7sj2QBElJZoI7dFslzU=; b=mPfUykvh5FFdawuN9R70cHLBsWNd/YfwVq1nHt6EIHWJKqhgjlPM8QGzkPgMy8jMRQ SIQQu8VLBARVHBHP7yKEnznnrnEHDX2D7BL3H7YipIVG7BHiW2OFNI7nmw5QLKrenbog jxYYeavXSdWxAtWyz3GzL2kBWi06iyGKq/ARD5YmXQr5ITu06J8ptVabqUJG6TwmlyUZ gH5OnEqDkK9wtS5ADLijt1y4QObwxvVSbQzqCR3qi0iTg2Ykto+nX4iuBd20SdtQ+udI Z+bCFLOQdSFjpeFc3/612bqesfi1RaGwzELiso3nN6hlxBAJIvwLew3YeXf1bVJFZYRf 0DQg== X-Gm-Message-State: AJcUukdJDkANNgI5+XVPjcKowRX02ptgYEo9eE7jpKACdwzKWWGsr6Q3 e2GiXLHsyUUpga8PARMT9rE= X-Google-Smtp-Source: ALg8bN6GQl+bVRyXphX4YNEMsNtqjlh9mCv71YmI4rIzuBjN8Ag2j1Wm8aXY7okh5XXMxRsrRshkvg== X-Received: by 2002:a17:902:30a3:: with SMTP id v32mr38256087plb.26.1546277779958; Mon, 31 Dec 2018 09:36:19 -0800 (PST) Received: from [192.168.20.7] (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id d68sm67645907pfa.64.2018.12.31.09.36.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 31 Dec 2018 09:36:19 -0800 (PST) From: Enji Cooper Message-Id: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> Content-Type: multipart/signed; boundary="Apple-Mail=_6C9CE56A-9633-4CBD-BFCA-F045A9DD52B4"; protocol="application/pgp-signature"; micalg=pgp-sha256 Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Subject: Re: Speculative: Rust for base system components Date: Mon, 31 Dec 2018 09:36:18 -0800 In-Reply-To: Cc: Eric McCorkle , "freebsd-hackers@freebsd.org" To: Warner Losh References: X-Mailer: Apple Mail (2.3445.9.1) X-Rspamd-Queue-Id: 4F6D974E2D X-Spamd-Bar: -------- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=rnEgbjxr; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::62e as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com X-Spamd-Result: default: False [-8.09 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; HAS_ATTACHMENT(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_SHORT(-0.99)[-0.987,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[e.2.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-2.49)[ip: (-8.88), ipnet: 2607:f8b0::/32(-1.95), asn: 15169(-1.56), country: US(-0.08)] X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 17:36:22 -0000 --Apple-Mail=_6C9CE56A-9633-4CBD-BFCA-F045A9DD52B4 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Dec 31, 2018, at 7:02 AM, Warner Losh wrote: =E2=80=A6. > TBH, there's a stronger case for python than rust: there's actual = python > scripts in the tree today that we have to install a port to use. And = there > the benefit, while not zero, is small and the effort is large compared = to > just dragging it in as a port, so it hasn't been done. It's another = fast > evolving language that requires multiple versions as well... >=20 > So write something that everybody wants, that must be in base, and = that > requires rust, and then we can have the conversation=E2=80=A6 As someone who has been using python extensively over the past decade, I = think that using python versions less than 3.7 without type hints to = ensure that the data types are correct [1], mocked tests to ensure that = the code functions and is tested, is the wrong path to make. Rust is still a young language, but it has a number of benefits in terms = of: i. Being able to scale past JIT python. This fact doesn=E2=80=99t matter = on workstations/servers, but it definitely matters on the low end with = embedded systems and the upper end with distributed systems at scale = (there=E2=80=99s a reason why a number of critical services at my = previous longterm employment were written in C++, not python. Some argue = Rust can outperform C/C++ [2]. C++ I can see (managed pointers were = about an order of magnitude less performant in a microbenchmark I wrote = for grabbing the time in the Linux kernel vs malloc in C using llvm36). = However, outperforming C is up for debate. ii. It is easier to grok than C++ (even the most recent versions of the = C++ spec, the language is cryptic in areas). iii. It is more reusable than C out of the box. How often do we need to = rewrite common logic/routines in C and mimic an OOP language like C++ = (see libarchive, pkgng)? At the end of the day, I think the key is that the FreeBSD project needs = to start expressing more complicated subsystems in terms of OOP = languages, like C++, Rust, etc, instead of expressing most of the code = in C. I do think (for instance) a service management system would be a = good candidate for modern C++ or Rust. Cheers, -Enji 1. https://www.python.org/dev/peps/pep-0484/ = 2. = https://www.reddit.com/r/rust/comments/5urar1/is_rust_likely_the_next_fast= est_language_after_c/ = --Apple-Mail=_6C9CE56A-9633-4CBD-BFCA-F045A9DD52B4 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE5bk3FaGcY5rvqmb79YOpJmkwhhUFAlwqU5IACgkQ9YOpJmkw hhVtHw/+IvKHRnJaUQnSKrVPvYkOcJIdWPfo9NEPp3rArjYDI7igHdqsWoimZvn3 HsIG6D/Uv7u9Nh9//f1KA9Ru06pv8F57+6PoPU7/Rndm/tOCnfA50Ta8Mz9Z0Cvg H7bNqpQj27yc0xNgruPNl/Y52mOotBtBvgRY5llEepdjcckV0wn4TOVr4JoNEqgi wItiM970n/TGRDIqOuEQnP+WmiaDO5xuJcKrzh7TV7Vwk2IPOW4TTSlomkvZQeHO ddHhrwTYjlpw9inrnBcP3IdmQObI5D/GE1gLCLfOd2HKWZfjAKCPQwudMH7jBKWH If+s50q6r6bzOxdCxKEDiVyiFIug5pAKScq5zdeSizAEg4h/ph1eTJdUshxRU4ed mY7aoIPAu0evyzqXXor2t5/GXGPIAV4rtNjQo/a9p4SsPBhsxUAWxmmU+wxdc2Z9 XXgNkKV7WXERCrGGeDsZGVLF1cdzrQmSp5A0wQSlSYstlURwJe7f8AZArdQvfyiU Lb7SzZXpLvD5lTaTjqY4f7dqsDWgmGPQw7JbAcCPkhqsOfcnPk6u/JJLFKpkqDyk OA8tTVe2cswKBHmXij6aEX/0eXKzJJnT70XZPH6JZ1Og8PXpIV+eWTrwc+AIrOd8 dpSFVuaz2YmkcSHHNsvoY3VQp7lraBjLWtBcSw0i/5WOOn5bZlI= =LrDW -----END PGP SIGNATURE----- --Apple-Mail=_6C9CE56A-9633-4CBD-BFCA-F045A9DD52B4-- From owner-freebsd-hackers@freebsd.org Mon Dec 31 17:59:01 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F3C7D143B37F for ; Mon, 31 Dec 2018 17:59:00 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from mail.metricspace.net (mail.metricspace.net [IPv6:2001:470:1f11:617::107]) by mx1.freebsd.org (Postfix) with ESMTP id 7CCB475A20; Mon, 31 Dec 2018 17:59:00 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from [172.16.0.55] (unknown [172.16.0.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: eric) by mail.metricspace.net (Postfix) with ESMTPSA id DF7752762; Mon, 31 Dec 2018 17:58:59 +0000 (UTC) To: cem@freebsd.org Cc: "freebsd-hackers@freebsd.org" References: From: Eric McCorkle Openpgp: preference=signencrypt Autocrypt: addr=eric@metricspace.net; prefer-encrypt=mutual; keydata= mDMEWue2FBYJKwYBBAHaRw8BAQdAP/qVPlXodV6pYO5b1Jw0eFyMhyDD7B5y5eFsciutEfS0 JEVyaWMgTWNDb3JrbGUgPGVyaWNAbWV0cmljc3BhY2UubmV0PoiWBBMWCAA+FiEEDxi/0rkj zd6Uc6cFCN/CKRbBwmwFAlrnthQCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA CgkQCN/CKRbBwmyGKAD/XTSBOItCKcYCPTlsaS1aQYVEwWXXFgdjWE+WsNdZUS8A/AhYAbQZ kNZNimE2rQLoklkfTA74qF/V257NuQi4QDcLuDgEWue2FBIKKwYBBAGXVQEFAQEHQKpZVyCG ync/xqejm2C1HKGXLJTUu38RvnrR3UYECz9nAwEIB4h+BBgWCAAmFiEEDxi/0rkjzd6Uc6cF CN/CKRbBwmwFAlrnthQCGwwFCQHhM4AACgkQCN/CKRbBwmyi2wEAmvaGt8QMjGELzm27gP4c jJGUi7oigsLmTiFPkpJqPz0A+QFBSCvxJaxCMyoVru/xB6bunpJ+Wtsj8HD1EuJOn4EJ Subject: Re: Speculative: Rust for base system components Message-ID: <414c837f-4b06-b6dc-468c-8bbbc8ad8c59@metricspace.net> Date: Mon, 31 Dec 2018 12:58:51 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="mVEswB6zIOeGUinG00wEax78tFQn6bdHh" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 17:59:01 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --mVEswB6zIOeGUinG00wEax78tFQn6bdHh Content-Type: multipart/mixed; boundary="07RTIbBML4OdkKDKM21ED2tYYSqKsZjIL"; protected-headers="v1" From: Eric McCorkle To: cem@freebsd.org Cc: "freebsd-hackers@freebsd.org" Message-ID: <414c837f-4b06-b6dc-468c-8bbbc8ad8c59@metricspace.net> Subject: Re: Speculative: Rust for base system components References: In-Reply-To: --07RTIbBML4OdkKDKM21ED2tYYSqKsZjIL Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 12/31/18 1:56 AM, Conrad Meyer wrote: > Rust has many of the exact same problems C++ has. Sure, it avoids a > few classes of issue. But it doesn't fix the classic C++ problems of > extremely slow build times (if you think C++ is bad, Rust is worse) > and having a kitchen sink of language features that make Rust and C++ > code difficult to grok. I would debate the kitchen sink claim. For one, Rust benefits from a solid understanding of type systems that didn't exist when C++ was created. Proper parameterized types are a significant improvement over C++ templates (the same holds for Java's generics, but that's tangential). This alone reduces the complexity of the language (and its error messages) considerably. While I give C++ slack on the issue of templates because Somebody Had To Go First, that doesn't mean I relish the idea of writing C++ code. Beyond that, the C++ standardization process these days is seemingly aiming at bringing everything under the sun into the language itself, whereas Rust went for a syntax extension system and an overall language design that avoids the need to graft everything into the language itself. (Side note: as much as I loathe macros in programming languages, Rust actually seems to have produced a reasonable macro-like system) --07RTIbBML4OdkKDKM21ED2tYYSqKsZjIL-- --mVEswB6zIOeGUinG00wEax78tFQn6bdHh Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQPGL/SuSPN3pRzpwUI38IpFsHCbAUCXCpY2wAKCRAI38IpFsHC bAGVAQClIjTLae6497UKVN/uZmmjmT9yI7qCU5imV2gH4/iLWwEAn2LPfPprvRCu ZlcPpTHV5nChsOIqPD3Ab1ZXUQEHXgU= =yw+j -----END PGP SIGNATURE----- --mVEswB6zIOeGUinG00wEax78tFQn6bdHh-- From owner-freebsd-hackers@freebsd.org Mon Dec 31 18:05:14 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6DCA7143B785 for ; Mon, 31 Dec 2018 18:05:14 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from mail.metricspace.net (mail.metricspace.net [IPv6:2001:470:1f11:617::107]) by mx1.freebsd.org (Postfix) with ESMTP id E63167602C for ; Mon, 31 Dec 2018 18:05:13 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from [172.16.0.55] (unknown [172.16.0.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: eric) by mail.metricspace.net (Postfix) with ESMTPSA id 654FC2769 for ; Mon, 31 Dec 2018 18:05:13 +0000 (UTC) Subject: Re: Speculative: Rust for base system components To: freebsd-hackers@freebsd.org References: From: Eric McCorkle Openpgp: preference=signencrypt Autocrypt: addr=eric@metricspace.net; prefer-encrypt=mutual; keydata= mDMEWue2FBYJKwYBBAHaRw8BAQdAP/qVPlXodV6pYO5b1Jw0eFyMhyDD7B5y5eFsciutEfS0 JEVyaWMgTWNDb3JrbGUgPGVyaWNAbWV0cmljc3BhY2UubmV0PoiWBBMWCAA+FiEEDxi/0rkj zd6Uc6cFCN/CKRbBwmwFAlrnthQCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA CgkQCN/CKRbBwmyGKAD/XTSBOItCKcYCPTlsaS1aQYVEwWXXFgdjWE+WsNdZUS8A/AhYAbQZ kNZNimE2rQLoklkfTA74qF/V257NuQi4QDcLuDgEWue2FBIKKwYBBAGXVQEFAQEHQKpZVyCG ync/xqejm2C1HKGXLJTUu38RvnrR3UYECz9nAwEIB4h+BBgWCAAmFiEEDxi/0rkjzd6Uc6cF CN/CKRbBwmwFAlrnthQCGwwFCQHhM4AACgkQCN/CKRbBwmyi2wEAmvaGt8QMjGELzm27gP4c jJGUi7oigsLmTiFPkpJqPz0A+QFBSCvxJaxCMyoVru/xB6bunpJ+Wtsj8HD1EuJOn4EJ Message-ID: <3aa1875d-3490-dad6-bf6c-fe880fe2717a@metricspace.net> Date: Mon, 31 Dec 2018 13:05:09 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="qEZBkn1c2KyOkYOtfwcvTAsPb2d3hXE9Y" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 18:05:14 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --qEZBkn1c2KyOkYOtfwcvTAsPb2d3hXE9Y Content-Type: multipart/mixed; boundary="DyrKJGvmhc3x1O6ZqhUWQ4WYap6eFUVki"; protected-headers="v1" From: Eric McCorkle To: freebsd-hackers@freebsd.org Message-ID: <3aa1875d-3490-dad6-bf6c-fe880fe2717a@metricspace.net> Subject: Re: Speculative: Rust for base system components References: In-Reply-To: --DyrKJGvmhc3x1O6ZqhUWQ4WYap6eFUVki Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 12/31/18 9:21 AM, Igor Mozolevsky wrote: > Does the generated code size increase or decrease and does the > data-path get longer or shorter with switch from C to Rust with all > the "great features" of Rust? Are there any metrics for these? If a > CPU cache gets trashed repeatedly or data takes massive d-tours that > would be a significant downside, wouldn't it? Since most of the deltas of Rust over C are accomplished through type-checking, I don't imagine this would be an issue. --DyrKJGvmhc3x1O6ZqhUWQ4WYap6eFUVki-- --qEZBkn1c2KyOkYOtfwcvTAsPb2d3hXE9Y Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQPGL/SuSPN3pRzpwUI38IpFsHCbAUCXCpaVQAKCRAI38IpFsHC bJxTAP9y5Ps3AEBy7SwMs3jxyb7nCyiK9Q4F9HsVIZPidYILiwEAuenrD0i+cgVA gP28lIoMRHBBzEAKBNhnSllK9XMVegY= =Qj5K -----END PGP SIGNATURE----- --qEZBkn1c2KyOkYOtfwcvTAsPb2d3hXE9Y-- From owner-freebsd-hackers@freebsd.org Mon Dec 31 18:05:35 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E02EE143B7A9 for ; Mon, 31 Dec 2018 18:05:35 +0000 (UTC) (envelope-from db@db.net) Received: from artemis.db.net (artemis.db.net [45.32.229.41]) by mx1.freebsd.org (Postfix) with ESMTP id 842EB7605D for ; Mon, 31 Dec 2018 18:05:34 +0000 (UTC) (envelope-from db@db.net) Received: from night.db.net (artemis.db.net [45.32.229.41]) by artemis.db.net (Postfix) with ESMTP id E6AA0101C5; Mon, 31 Dec 2018 18:05:25 +0000 (UTC) Received: by night.db.net (Postfix, from userid 1000) id 4BFC439874; Mon, 31 Dec 2018 13:05:24 -0500 (EST) Date: Mon, 31 Dec 2018 13:05:24 -0500 From: Diane Bruce To: Enji Cooper Cc: Warner Losh , Eric McCorkle , "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components Message-ID: <20181231180524.GA2522@night.db.net> References: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> User-Agent: Mutt/1.11.1 (2018-12-01) X-Rspamd-Queue-Id: 842EB7605D X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [2.09 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.00)[-0.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.76)[0.764,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[db.net]; AUTH_NA(1.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[mx1-us2.ppe-hosted.com,mx2-us2.ppe-hosted.com,mx1-us2.ppe-hosted.com,mx2-us2.ppe-hosted.com,mx1-us2.ppe-hosted.com,mx2-us2.ppe-hosted.com]; NEURAL_SPAM_LONG(0.07)[0.074,0]; R_SPF_NA(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:20473, ipnet:45.32.224.0/21, country:US]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE(0.26)[asn: 20473(1.38), country: US(-0.08)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 18:05:36 -0000 On Mon, Dec 31, 2018 at 09:36:18AM -0800, Enji Cooper wrote: > > > On Dec 31, 2018, at 7:02 AM, Warner Losh wrote: > ... > > At the end of the day, I think the key is that the FreeBSD project needs to start expressing more complicated subsystems in terms of OOP languages, like C++, Rust, etc, instead of expressing most of the code in C. I do think (for instance) a service management system would be a good candidate for modern C++ or Rust. > Well, as someone who remembers when Fortran was King and much systems(!) programming such as editors etc. was done in Fortran, I cheer on any effort moving on from the failed Fortran compiler 'C'. FWIW I happen to like Rust and Python. So um I'll just step back and let others do the painting. P.S. I prefer plaid green and orange with purple stripes. > > Cheers, > -Enji > > 1. https://www.python.org/dev/peps/pep-0484/ > 2. https://www.reddit.com/r/rust/comments/5urar1/is_rust_likely_the_next_fastest_language_after_c/ -- - db@FreeBSD.org db@db.net http://artemis.db.net/~db From owner-freebsd-hackers@freebsd.org Mon Dec 31 18:19:20 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1904143BE3F for ; Mon, 31 Dec 2018 18:19:19 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from mail.metricspace.net (mail.metricspace.net [IPv6:2001:470:1f11:617::107]) by mx1.freebsd.org (Postfix) with ESMTP id 51A8E76AAB for ; Mon, 31 Dec 2018 18:19:19 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from [172.16.0.55] (unknown [172.16.0.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: eric) by mail.metricspace.net (Postfix) with ESMTPSA id 1C4B92777 for ; Mon, 31 Dec 2018 18:19:13 +0000 (UTC) To: freebsd-hackers@freebsd.org References: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> From: Eric McCorkle Openpgp: preference=signencrypt Autocrypt: addr=eric@metricspace.net; prefer-encrypt=mutual; keydata= mDMEWue2FBYJKwYBBAHaRw8BAQdAP/qVPlXodV6pYO5b1Jw0eFyMhyDD7B5y5eFsciutEfS0 JEVyaWMgTWNDb3JrbGUgPGVyaWNAbWV0cmljc3BhY2UubmV0PoiWBBMWCAA+FiEEDxi/0rkj zd6Uc6cFCN/CKRbBwmwFAlrnthQCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA CgkQCN/CKRbBwmyGKAD/XTSBOItCKcYCPTlsaS1aQYVEwWXXFgdjWE+WsNdZUS8A/AhYAbQZ kNZNimE2rQLoklkfTA74qF/V257NuQi4QDcLuDgEWue2FBIKKwYBBAGXVQEFAQEHQKpZVyCG ync/xqejm2C1HKGXLJTUu38RvnrR3UYECz9nAwEIB4h+BBgWCAAmFiEEDxi/0rkjzd6Uc6cF CN/CKRbBwmwFAlrnthQCGwwFCQHhM4AACgkQCN/CKRbBwmyi2wEAmvaGt8QMjGELzm27gP4c jJGUi7oigsLmTiFPkpJqPz0A+QFBSCvxJaxCMyoVru/xB6bunpJ+Wtsj8HD1EuJOn4EJ Subject: Re: Speculative: Rust for base system components Message-ID: <3372a962-407a-2e59-cede-8238d3072bae@metricspace.net> Date: Mon, 31 Dec 2018 13:19:07 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="PYaIlGWxe8Q3h8PySRV2ty4OrfGKLpEYe" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 18:19:20 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --PYaIlGWxe8Q3h8PySRV2ty4OrfGKLpEYe Content-Type: multipart/mixed; boundary="WmqEDypb7wVkTWEXcEMWt6CuxkY0Luvvm"; protected-headers="v1" From: Eric McCorkle To: freebsd-hackers@freebsd.org Message-ID: <3372a962-407a-2e59-cede-8238d3072bae@metricspace.net> Subject: Re: Speculative: Rust for base system components References: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> In-Reply-To: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> --WmqEDypb7wVkTWEXcEMWt6CuxkY0Luvvm Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 12/31/18 12:36 PM, Enji Cooper wrote: > Rust is still a young language, but it has a number of benefits in term= s of: > i. Being able to scale past JIT python. This fact doesn=E2=80=99t matte= r on workstations/servers, but it definitely matters on the low end with = embedded systems and the upper end with distributed systems at scale (the= re=E2=80=99s a reason why a number of critical services at my previous lo= ngterm employment were written in C++, not python. Some argue Rust can ou= tperform C/C++ [2]. C++ I can see (managed pointers were about an order o= f magnitude less performant in a microbenchmark I wrote for grabbing the = time in the Linux kernel vs malloc in C using llvm36). However, outperfor= ming C is up for debate. In terms of outperforming C++, you can outrun it on anything that involves virtual calls or runtime type information. C++ compilers have gotten pretty good at optimizing this stuff, but that's all an approximation of just not doing it in the first place. In terms of C, I think the more accurate notion is that you converge to C-like performance over time. There's not a lot of opportunity to pull out ahead of C in terms of performance, afterall, at least in purely sequential code. --WmqEDypb7wVkTWEXcEMWt6CuxkY0Luvvm-- --PYaIlGWxe8Q3h8PySRV2ty4OrfGKLpEYe Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQPGL/SuSPN3pRzpwUI38IpFsHCbAUCXCpdmwAKCRAI38IpFsHC bLxbAP46053CGLv1CljF380xiwa1nqKJ2+M2m6HIGEboIBa/dAEApT4Fzgf+b99g kWascfpOfsns82LxoPs/CF15OyAJqQs= =iSLm -----END PGP SIGNATURE----- --PYaIlGWxe8Q3h8PySRV2ty4OrfGKLpEYe-- From owner-freebsd-hackers@freebsd.org Mon Dec 31 18:19:40 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F1A20143BE96 for ; Mon, 31 Dec 2018 18:19:39 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "troutmask", Issuer "troutmask" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id A344276B93 for ; Mon, 31 Dec 2018 18:19:38 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (localhost [127.0.0.1]) by troutmask.apl.washington.edu (8.15.2/8.15.2) with ESMTPS id wBVIJRGo002909 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Mon, 31 Dec 2018 10:19:27 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.15.2/8.15.2/Submit) id wBVIJQNw002908; Mon, 31 Dec 2018 10:19:26 -0800 (PST) (envelope-from sgk) Date: Mon, 31 Dec 2018 10:19:26 -0800 From: Steve Kargl To: Diane Bruce Cc: Enji Cooper , Eric McCorkle , "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components Message-ID: <20181231181926.GA2497@troutmask.apl.washington.edu> Reply-To: sgk@troutmask.apl.washington.edu References: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> <20181231180524.GA2522@night.db.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181231180524.GA2522@night.db.net> User-Agent: Mutt/1.10.1 (2018-07-13) X-Rspamd-Queue-Id: A344276B93 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [0.64 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; HAS_REPLYTO(0.00)[sgk@troutmask.apl.washington.edu]; TO_DN_SOME(0.00)[]; REPLYTO_ADDR_EQ_FROM(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; RCVD_IN_DNSWL_MED(-0.20)[21.76.95.128.list.dnswl.org : 127.0.11.2]; MX_GOOD(-0.01)[cached: troutmask.apl.washington.edu]; FROM_EQ_ENVFROM(0.00)[]; IP_SCORE(0.17)[ip: (0.49), ipnet: 128.95.0.0/16(0.27), asn: 73(0.18), country: US(-0.08)]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:73, ipnet:128.95.0.0/16, country:US]; MIME_TRACE(0.00)[0:+]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.26)[-0.265,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_SPAM_SHORT(0.62)[0.620,0]; NEURAL_HAM_LONG(-0.58)[-0.576,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[washington.edu]; AUTH_NA(1.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_NA(0.00)[]; FREEMAIL_CC(0.00)[gmail.com] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 18:19:40 -0000 On Mon, Dec 31, 2018 at 01:05:24PM -0500, Diane Bruce wrote: > On Mon, Dec 31, 2018 at 09:36:18AM -0800, Enji Cooper wrote: > > > > > On Dec 31, 2018, at 7:02 AM, Warner Losh wrote: > > > ... > > > > At the end of the day, I think the key is that the FreeBSD project needs to start expressing more complicated subsystems in terms of OOP languages, like C++, Rust, etc, instead of expressing most of the code in C. I do think (for instance) a service management system would be a good candidate for modern C++ or Rust. > > > > Well, as someone who remembers when Fortran was King and much systems(!) > programming such as editors etc. was done in Fortran, I cheer on > any effort moving on from the failed Fortran compiler 'C'. > All those Fortran codes from years ago, if written in standard conforming Fortran, will still compile today. J3 (Fortran standardization committee) goes to great length to retain backwards compatiability with older standards. The latest revision to the language was ratified as an international standard only a few weeks ago. https://wg5-fortran.org/f2018.html -- Steve From owner-freebsd-hackers@freebsd.org Mon Dec 31 18:40:28 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 348A5143C992 for ; Mon, 31 Dec 2018 18:40:28 +0000 (UTC) (envelope-from rigoletto@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D07D177E92 for ; Mon, 31 Dec 2018 18:40:27 +0000 (UTC) (envelope-from rigoletto@FreeBSD.org) Received: from privacychain.ch (unknown [179.35.96.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: rigoletto) by smtp.freebsd.org (Postfix) with ESMTPSA id 36F3B1A884 for ; Mon, 31 Dec 2018 18:40:27 +0000 (UTC) (envelope-from rigoletto@FreeBSD.org) Date: Mon, 31 Dec 2018 16:40:22 -0200 From: Alexandre =?utf-8?Q?C=2E_Guimar=C3=A3es?= To: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components Message-ID: <20181231184022.sw2evxodjwwmmtup@privacychain.ch> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="n3octopd3uwn3giv" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20180716 X-Rspamd-Queue-Id: D07D177E92 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-7.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-1.00)[-0.997,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 18:40:28 -0000 --n3octopd3uwn3giv Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi. Just to add my 2c. ;-) If the objective is *security* and *reliability*, the said options: C++=20 (assuming HIC++), Rust, and Haskwell are all surpassed in these regards by= =20 Ada/SPARK (yes, there is the compiler problem) and OCaml, both in fact used= =20 by high integrity safe-critical industries. There is a new Ada standard coming (Ada2020), and the Ada standard=20 `updates` are not the hell of C++ ones. The SPARK language is being formally verified by INRIA using the Coq proof= =20 assistant (which is written in OCaml). http://sworthodoxy.blogspot.com/2017/03/comparing-ada-and-high-integrity-c.= html PS. oh, there is also a CompCert frontend being written for SPARK by INRIA= =20 (at least they were prototyping it in 2014). Cheers! --=20 Best Regards, Alexandre C. Guimar=C3=A3es. https://bitbucket.org/rigoletto-freebsd/ --n3octopd3uwn3giv Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE9RbDjoZ0ELBWamGCmSH8wDhAF9kFAlwqYpFfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEY1 MTZDMzhFODY3NDEwQjA1NjZBNjE4Mjk5MjFGQ0MwMzg0MDE3RDkACgkQmSH8wDhA F9n5NhAAy71W/LjiWGiBMujCvYh4LMZC0QKJ43FGgujW8rlFSia5J4JUYykQmhQO Dnv9ggooXJyggPwsu29Q2pD9FvY5qT8skDZmFiYumgcvJ5TKnoUpPl4lTOyhCZN7 Bif4iCUH56Whwebkhhlu4KjyMFqNVrzooDXUCiUl+tm5KEH/9KAV6OVinYieQsqc r51Re/MqzDcn8xjyr2zUvkHy8BTmKvClZq8nM7nPSAi9/EmYPoC/XK2zRbUNQcua BKUBhXHh3uhpUXVUpHFHevcKEFACt83r0VbbWmi76GBns1TMspFr4lCllQ37orsJ Kvk1jOJ9eSfdNFElrnpbBCHAs/DcImiOwlhvGH406L392digAuhFzRYoJvfv3xt8 7dTT7nOj2mTrzadRjKe2nMn0dK7aftRLAWKGwuTEhkEj7L1QQT+4o+jiVOwNz5B0 5X1QXcfGic5t+TqfT3JLEpmCFbaENH+bYSq9hs11dZZo1W+hMRdYkH+CwmACmN0C +WMQ0r/jpjVSN7rxmanVLd7YBQfqHOyQ3OaZlHXqCsS3L3dXXQji6B0rGB0P263g 9oyT1vHuuTFBbVDObj8gZVcDhsasmQhvl/mKtF+8ODaYo7XZHiF8E2kQlrPgjSHW WyjCVhGD963jT/4u3DoyR888N/XaSNh47FsmPDLVRFRWZREVRGk= =D4m2 -----END PGP SIGNATURE----- --n3octopd3uwn3giv-- From owner-freebsd-hackers@freebsd.org Mon Dec 31 19:10:39 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5D7BC143D448 for ; Mon, 31 Dec 2018 19:10:39 +0000 (UTC) (envelope-from rozhuk.im@gmail.com) Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3B8D780E77 for ; Mon, 31 Dec 2018 19:10:38 +0000 (UTC) (envelope-from rozhuk.im@gmail.com) Received: by mail-lf1-x12f.google.com with SMTP id a16so18736635lfg.3 for ; Mon, 31 Dec 2018 11:10:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OSzPMhnv9GmcvKOTvhNPg1ziqLe0K69uNzN4O6dGQD0=; b=Vt+4T80gaGGNrbneTZ/0RTerXeaHNcSTk86BMBSZ1mgIL+VJx0QYYcLeXqM623omwl PBR1hdry9xNKuGHUkbR4kCoBxL2ketr5WpIkmMdd4Jp9KfB2Y/oPHdstfMe++KWWTOMa ygpZWIDFfepvWjIUR1E59puMx1MeGVe28JgZ0L9FJRocyYoiT5nJHsLSoz6Qww08z5D7 es+0CljkS64wGp19NSRnEiiT6LqZCbKv6P1p7IkKaqxsv14t5Vakm2ZIPPlFcBq4nBcu V5+YjkQro/W6AWLlbpcHvCg99j8ThKHJMk12JqHuAIItrjtUG5aIumzkX2H/JB8U4x9k 0bBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OSzPMhnv9GmcvKOTvhNPg1ziqLe0K69uNzN4O6dGQD0=; b=nkVAAsag1u85lYF5tjjsiu+hW5UBtLvbvYEpm8CCfUggeBaxs/Sv4xuGt6lqv6UdjZ 1QNzpuZdLVgWsB0U4vx+M+uGsbYWyNEWUXR0hPBKY4rokgo+S1eF7W3K82RXJwVrWYpH dyaTMgfwp89EAch1IlmyuJTJCwlY1hzb7iuMZRzz8O4S6NK9lQH+DBsElmfA5u4psqjH nQtkWfhLcIklwwO2D2MXjrru0I99cL1Wd+3vnU9tsLQo70YKv8hA870WJRzXzOccVh5w C2gWdV8DIMOZANx6IHZAgF4g6o5hx6ywGGuNAFLDO4nk2VzZvBPIR2PFhRLnjF/ZdFSu orfQ== X-Gm-Message-State: AA+aEWZELn9fUZmBhXdkS0zFvovmwP5cfVxTMIZbISsJc1HP7zPQETSc rrjXRsRYgHXtZKmCr/Bg37DS2ttS X-Google-Smtp-Source: AFSGD/U4nuJh5TdttN6L+ezOYmPip2WqUBNOx12HYJkJ1fUlKKFkPxMeNsAvppGF56RuuDC5bc12fw== X-Received: by 2002:a19:3b9c:: with SMTP id d28mr20325382lfl.30.1546283436642; Mon, 31 Dec 2018 11:10:36 -0800 (PST) Received: from rimwks ([2001:470:1f15:3d8:e9c9:7a24:8755:7ebe]) by smtp.gmail.com with ESMTPSA id l63sm9481422lfl.76.2018.12.31.11.10.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 31 Dec 2018 11:10:35 -0800 (PST) From: Rozhuk Ivan X-Google-Original-From: Rozhuk Ivan Date: Mon, 31 Dec 2018 22:10:30 +0300 To: Volker Lendecke Cc: "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components Message-ID: <20181231221030.6471937e@rimwks> In-Reply-To: <20181231160738.j4gow437liu7urjy@sernet.de> References: <20181231160738.j4gow437liu7urjy@sernet.de> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; amd64-portbld-freebsd12.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 3B8D780E77 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=Vt+4T80g; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of rozhukim@gmail.com designates 2a00:1450:4864:20::12f as permitted sender) smtp.mailfrom=rozhukim@gmail.com X-Spamd-Result: default: False [-6.04 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-1.00)[-0.995,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[f.2.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.53)[ip: (-9.21), ipnet: 2a00:1450::/32(-1.80), asn: 15169(-1.56), country: US(-0.08)]; MID_RHS_NOT_FQDN(0.50)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 19:10:39 -0000 On Mon, 31 Dec 2018 17:07:38 +0100 Volker Lendecke wrote: > Not being involved in FreeBSD but in Samba, I could see a migration of > parts of Samba to Rust if it had a Rust->C translator. I think for > FreeBSD base components similar arguments would apply. You could ship > the C output for the platforms that don't have native Rust. Rust is modern geeks toy by mozilla. Just waste ot time, without any real profits. From owner-freebsd-hackers@freebsd.org Mon Dec 31 19:17:43 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 04F37143D75F for ; Mon, 31 Dec 2018 19:17:43 +0000 (UTC) (envelope-from rozhuk.im@gmail.com) Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B68AE8149C for ; Mon, 31 Dec 2018 19:17:41 +0000 (UTC) (envelope-from rozhuk.im@gmail.com) Received: by mail-lj1-x236.google.com with SMTP id k19-v6so24121837lji.11 for ; Mon, 31 Dec 2018 11:17:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=X5HnJdxEW+BhqmrOhMU+waQ+S1qMESrLp+ZljfvEQ0s=; b=PWoEh8GKhljbJEjMg1Gxlt4Rmq2/ISOt6C3A5L9E86AJ4EZz0FgIqLP1rEElTxqDdW P23CM+HY6+iw+bI5EU09REr0fdosdfd6cBhy9mVa63hvhkYxLlAoEO0fbNkO0g97wFw/ TQLsoAzRsij9gVh+4K/dLsUTNqotTNItwBuijzI7A+7IGrbV2SJSa/JxJTko0pfLZ8vL Mjxkl8az5ad4HBnXzLyyK8ErGtAdZH3gmAHPclfCFN6VGZGwJlzwvnvwo9KGFgUubuKb hFRtxvhKrRRKAHkUEjEfHEnlEFD6qk7REyWUnNnwdJZW3wVbbYJ9Iago6WDd9X9wkv7e nO2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=X5HnJdxEW+BhqmrOhMU+waQ+S1qMESrLp+ZljfvEQ0s=; b=Ku93/LOCcjMr/DuE4fIPdx6PvHdU2TcDB2cfomyd1DLPjyDjwzXAZ10NziuBdoZr7t /4DHHALk8G5UB6IMNivNekU9gqbhxGWvXeRTKpPm9PgnZ0rIc6e6nCl01oyhQ46/WQ66 3nkrhcex4LGopVNuSnGFabUByAQDBzW0Fox1ebsutu7SwLjQA6Ad2kFuSbhkGY0Atigc VIwdZYY5xa8UJt8hGR0phjhu8GIA8b2bgcDM7Cb3oX8IXo69MHfMIiKZ6eKS4qLEP0/p D/QL7KM6yqbsZw6rWK8o4kAQGw3RdFPe1yRVYNV+xwo9eJhWJphrTm4wkXaiO6eYjR/K q9fw== X-Gm-Message-State: AA+aEWa3IGUnh68UBYLTPgoZqBgsGIC+pRJpdsS4Qjf9Kiy1b/tQlaCL E8FlufUQEJfWErlO65gwa1E= X-Google-Smtp-Source: ALg8bN7M0us/WT3BQt32CCsSvQ4WLn9GCbAVkYGksY5n5ytbsDGQcTU02nHyIPZzzh88SMcBtDNN8A== X-Received: by 2002:a2e:9a84:: with SMTP id p4-v6mr21050183lji.73.1546283860134; Mon, 31 Dec 2018 11:17:40 -0800 (PST) Received: from rimwks ([2001:470:1f15:3d8:e9c9:7a24:8755:7ebe]) by smtp.gmail.com with ESMTPSA id d2sm9520735lfg.16.2018.12.31.11.17.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 31 Dec 2018 11:17:39 -0800 (PST) From: Rozhuk Ivan X-Google-Original-From: Rozhuk Ivan Date: Mon, 31 Dec 2018 22:17:37 +0300 To: Enji Cooper Cc: Warner Losh , Eric McCorkle , "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components Message-ID: <20181231221737.13b6ef21@rimwks> In-Reply-To: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> References: <713BA6E4-1C4E-4890-831F-6379D3AB4425@gmail.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; amd64-portbld-freebsd12.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: B68AE8149C X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=PWoEh8GK; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of rozhukim@gmail.com designates 2a00:1450:4864:20::236 as permitted sender) smtp.mailfrom=rozhukim@gmail.com X-Spamd-Result: default: False [-6.05 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_HAM_SHORT(-0.99)[-0.995,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[6.3.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.55)[ip: (-9.30), ipnet: 2a00:1450::/32(-1.80), asn: 15169(-1.56), country: US(-0.08)]; MID_RHS_NOT_FQDN(0.50)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 19:17:43 -0000 On Mon, 31 Dec 2018 09:36:18 -0800 Enji Cooper wrote: > iii. It is more reusable > than C out of the box. How often do we need to rewrite common > logic/routines in C and mimic an OOP language like C++ (see > libarchive, pkgng)? This is not a problem. > > At the end of the day, I think the key is that the FreeBSD project > needs to start expressing more complicated subsystems in terms of OOP > languages, like C++, Rust, etc, instead of expressing most of the > code in C. I do think (for instance) a service management system > would be a good candidate for modern C++ or Rust. > C - 100 pages C++ - 1000 pages. Rust - unknown, not stable. Why some one should learn things so big to do same thing that can be done with simple C? From owner-freebsd-hackers@freebsd.org Mon Dec 31 19:26:52 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1A2E1143DAF6 for ; Mon, 31 Dec 2018 19:26:52 +0000 (UTC) (envelope-from rozhuk.im@gmail.com) Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 80444819B1; Mon, 31 Dec 2018 19:26:51 +0000 (UTC) (envelope-from rozhuk.im@gmail.com) Received: by mail-ed1-x532.google.com with SMTP id a20so16344719edc.8; Mon, 31 Dec 2018 11:26:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4tCvQxUkrnHxBtJxSkaICjCoUh0Q9XoaFO2pq6cEhws=; b=TsT3ear8CTCuJ6gUJopFfTp6GKJU3TjhHnVABbj5oL9cdfR+1D2RIj1Khp6+ES23/N kKjea0P1goBFuKe6pOTtY38uP/P6om8gUywCkv82ro68Txr5rIEqH3t1+oMLJIGxyD/Y Kr6j0mn3a3rFkBHnukIcxQpVUgMiSZl2m/FIUCBi+Wdhbnd9VBl0tH7t0d8uugD5gqPL 6QJn89ne8XLdMFDJqg8BuleJ4Wmbag7PMroXH8lwpiuX/eP6hVS/pty++2XVzvxSR8F9 nXBK43ICHq9+w9CmGC9/hLLzTD++lz16rJ7+1PZSH1Z+MmzIanQevJX7iznPahgelo0x I+QQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4tCvQxUkrnHxBtJxSkaICjCoUh0Q9XoaFO2pq6cEhws=; b=OU8iicFbdLnyncRWl2iceMsODUPo/2H8zLzWQaR5ISUVZDhMB8H+KmmZFck/h93F30 QYTFlsr3nz5K4POBUOHDrMXx36SiEJVKVGPq494SWWkv/5iCu2GEf02pLj+TsH+nSXjL vYI85L0wB4QW9U2bhC36MS+WbXK9g9xKHwIXUgcHn6EkVZCiRRxwXBFkY8kgNIDWiz0p 2k36Pd3jAnL4UIYaftxfFJ993IsBX8qLU/b3KwaTPP/LNxLvpEmhiT/XXdR4ULktRcgF m2kU1acIpHyp0zZxLXAgd8BgqJvSC4XdScl9v6yKLw9yn9ws0Ti6cu3hbl244cTCc0Od wusg== X-Gm-Message-State: AA+aEWYTsPzGYs1FDl2bLw2lWr39vI49Y24mZNTqSlOGSK9ELhKef1eX Nn6KR/lVV/GjjbQ1G1V2JyRqn9t+RiA= X-Google-Smtp-Source: AFSGD/XE0Famh/AXujeKWcpB03Ie0K4wEf8BiToW8cfaDnRRLV+RHANCqyl8svEtJ8YeeULdTkUhJQ== X-Received: by 2002:a17:906:5118:: with SMTP id w24-v6mr27902107ejk.215.1546284410554; Mon, 31 Dec 2018 11:26:50 -0800 (PST) Received: from rimwks ([2001:470:1f15:3d8:e9c9:7a24:8755:7ebe]) by smtp.gmail.com with ESMTPSA id h8sm16618362edb.95.2018.12.31.11.26.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 31 Dec 2018 11:26:49 -0800 (PST) From: Rozhuk Ivan X-Google-Original-From: Rozhuk Ivan Date: Mon, 31 Dec 2018 22:26:48 +0300 To: Eric McCorkle Cc: cem@freebsd.org, "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components Message-ID: <20181231222648.0a68afd1@rimwks> In-Reply-To: <414c837f-4b06-b6dc-468c-8bbbc8ad8c59@metricspace.net> References: <414c837f-4b06-b6dc-468c-8bbbc8ad8c59@metricspace.net> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; amd64-portbld-freebsd12.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 80444819B1 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.99 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.99)[-0.985,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 19:26:52 -0000 On Mon, 31 Dec 2018 12:58:51 -0500 Eric McCorkle wrote: > I would debate the kitchen sink claim. For one, Rust benefits from a > solid understanding of type systems that didn't exist when C++ was > created. Proper parameterized types are a significant improvement > over C++ templates (the same holds for Java's generics, but that's > tangential). This alone reduces the complexity of the language (and > its error messages) considerably. While I give C++ slack on the > issue of templates because Somebody Had To Go First, that doesn't > mean I relish the idea of writing C++ code. > Who cares!? Who will support all this staff? I want that programs works, I do not care types, classes and other things. Now most things works, so why we should waste time to rewrite it to more difficult to understand and support languages? From owner-freebsd-hackers@freebsd.org Mon Dec 31 20:21:01 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1CB9014190E0 for ; Mon, 31 Dec 2018 20:21:01 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 83D6983CB1 for ; Mon, 31 Dec 2018 20:21:00 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: by sdaoden.eu (Postfix, from userid 1000) id AAA371604A; Mon, 31 Dec 2018 21:14:08 +0100 (CET) Date: Mon, 31 Dec 2018 21:14:23 +0100 From: Steffen Nurpmeso To: Rozhuk Ivan Cc: Volker Lendecke , "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components Message-ID: <20181231201423.mJwUS%steffen@sdaoden.eu> In-Reply-To: <20181231221030.6471937e@rimwks> References: <20181231160738.j4gow437liu7urjy@sernet.de> <20181231221030.6471937e@rimwks> Mail-Followup-To: Rozhuk Ivan , Volker Lendecke , "freebsd-hackers@freebsd.org" User-Agent: s-nail v14.9.11-123-g49d1a5c2 OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. X-Rspamd-Queue-Id: 83D6983CB1 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of steffen@sdaoden.eu designates 217.144.132.164 as permitted sender) smtp.mailfrom=steffen@sdaoden.eu X-Spamd-Result: default: False [-0.27 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.90)[-0.900,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+a]; NEURAL_HAM_LONG(-0.73)[-0.727,0]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[sdaoden.eu]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.67)[0.668,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: sdaoden.eu]; MID_CONTAINS_FROM(1.00)[]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15987, ipnet:217.144.128.0/20, country:DE]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE(-0.00)[country: DE(-0.01)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 20:21:01 -0000 Rozhuk Ivan wrote in <20181231221030.6471937e@rimwks>: |On Mon, 31 Dec 2018 17:07:38 +0100 |Volker Lendecke wrote: | |> Not being involved in FreeBSD but in Samba, I could see a migration of |> parts of Samba to Rust if it had a Rust->C translator. I think for |> FreeBSD base components similar arguments would apply. You could ship |> the C output for the platforms that don't have native Rust. | |Rust is modern geeks toy by mozilla. |Just waste ot time, without any real profits. I vote for Nim (former Nimrod is no more). --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) From owner-freebsd-hackers@freebsd.org Mon Dec 31 21:29:40 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0C35C141ACDD for ; Mon, 31 Dec 2018 21:29:40 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7F4CA85F2F for ; Mon, 31 Dec 2018 21:29:39 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-io1-f52.google.com with SMTP id m19so21989541ioh.3 for ; Mon, 31 Dec 2018 13:29:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=1Uccqb0ue4Lzlr4PALnUuOUiSKR8/93wBv+ljW/DmPA=; b=l+PLU1mS5gNtcS2eB4QPRmfDysTFbnOi+5cZQeQISpxk/+EDXa0TmGaJ09livLDb1k ItbD57NbqzdiZXH8Qu0JvNxhytIZIKD2+zojv3I9stpch4Qk/xrc7g86yu6wbPVFEHpf MWQuokxyQ14UPXpQqFg2T9dzbh6MJGgeEFSGG4QO9qioFGyMLoB73PR8gbc/AQpbACFS 1kXFOKWsW0RcWxxH6gBCC+r7X1O6yzW7DG0Te+J+UhF6ZiWJkJp8QfT6dzTbbKDreyle fLS0zWLCm6nQGqRACqNyKZrMVfs5V2jFX4UPn9H0WctJcmWRuGud1PuxxiIkuVibek5A zkrw== X-Gm-Message-State: AJcUukcDEii9EIChp3wMpjZHU9SWBXcqs0tv+/d64hIKRKsmXqQTHMhR 7hSr0qK7Wxpvbz40kZGl8SpsMjrq X-Google-Smtp-Source: ALg8bN5Nhy2Wh5phndXSsFR9h9ydA8iERpQiQEsnGnhnKPPi8Wto/GiZF0Yxq3LS9L5NEn05ESu+3g== X-Received: by 2002:a5d:8b06:: with SMTP id k6mr4063379ion.38.1546291274148; Mon, 31 Dec 2018 13:21:14 -0800 (PST) Received: from mail-it1-f177.google.com (mail-it1-f177.google.com. [209.85.166.177]) by smtp.gmail.com with ESMTPSA id t6sm23428860ioc.87.2018.12.31.13.21.13 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 31 Dec 2018 13:21:13 -0800 (PST) Received: by mail-it1-f177.google.com with SMTP id a6so34924841itl.4 for ; Mon, 31 Dec 2018 13:21:13 -0800 (PST) X-Received: by 2002:a24:b64a:: with SMTP id d10mr25105252itj.149.1546291273036; Mon, 31 Dec 2018 13:21:13 -0800 (PST) MIME-Version: 1.0 References: <414c837f-4b06-b6dc-468c-8bbbc8ad8c59@metricspace.net> In-Reply-To: <414c837f-4b06-b6dc-468c-8bbbc8ad8c59@metricspace.net> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Mon, 31 Dec 2018 13:21:02 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Speculative: Rust for base system components To: Eric McCorkle Cc: "freebsd-hackers@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 7F4CA85F2F X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.98 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; NEURAL_HAM_SHORT(-0.98)[-0.985,0]; TAGGED_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 21:29:40 -0000 Hi Eric, I don't disagree that C++ is worse than Rust in that regard. I just don't believe Rust is enough better to be a suitable *C* replacement (it's a perfectly fine C++ replacement). Things that are closer to suitable might be: 1. Enabling stronger C semantics and runtime enforcement over existing code. It might be possible to enable globally and selectively disable only on performance sensitive code, while still covering the majority of the system. Some work has been done by the Cambridge academics as part of CHERI / Cerberus / REMS ("Rigorous Engineering for Mainstream Systems"). A demo of Cerberus is online at http://cerberus.cl.cam.ac.uk/cerberus ; press 'forward' a few times. Or it could be something else (UBSan and ASan on security-critical userspace programs?). But the migration path from existing code is more clear and requires less "throw away the world" as step 1. 2. Ziglang seems somewhat promising. It's still immature and I am certainly not claiming the pros of rewriting components or including new compilers in base outweigh the cons. But its aims are closer to C than C++ or Rust (simplicity, no operator overloading) and that seems a better fit. It is also based on LLVM, which comes with some of the same drawbacks as Rust (or Clang, for that matter) re: toolchain build time and supported architectures. https://github.com/ziglang/zig Best, Conrad On Mon, Dec 31, 2018 at 9:59 AM Eric McCorkle wrote: > > On 12/31/18 1:56 AM, Conrad Meyer wrote: > > Rust has many of the exact same problems C++ has. Sure, it avoids a > > few classes of issue. But it doesn't fix the classic C++ problems of > > extremely slow build times (if you think C++ is bad, Rust is worse) > > and having a kitchen sink of language features that make Rust and C++ > > code difficult to grok. > > I would debate the kitchen sink claim. For one, Rust benefits from a > solid understanding of type systems that didn't exist when C++ was > created. Proper parameterized types are a significant improvement over > C++ templates (the same holds for Java's generics, but that's > tangential). This alone reduces the complexity of the language (and its > error messages) considerably. While I give C++ slack on the issue of > templates because Somebody Had To Go First, that doesn't mean I relish > the idea of writing C++ code. > > Beyond that, the C++ standardization process these days is seemingly > aiming at bringing everything under the sun into the language itself, > whereas Rust went for a syntax extension system and an overall language > design that avoids the need to graft everything into the language > itself. (Side note: as much as I loathe macros in programming > languages, Rust actually seems to have produced a reasonable macro-like > system) > From owner-freebsd-hackers@freebsd.org Mon Dec 31 22:27:10 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BDF6E141E252 for ; Mon, 31 Dec 2018 22:27:10 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 639A287EAE for ; Mon, 31 Dec 2018 22:27:09 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id wBVMRHLp097230 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 31 Dec 2018 23:27:17 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id wBVMRCMD097227; Mon, 31 Dec 2018 23:27:12 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Mon, 31 Dec 2018 23:27:12 +0100 (CET) From: Wojciech Puchar To: Rozhuk Ivan cc: Volker Lendecke , "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components In-Reply-To: <20181231221030.6471937e@rimwks> Message-ID: References: <20181231160738.j4gow437liu7urjy@sernet.de> <20181231221030.6471937e@rimwks> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 639A287EAE X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-1.56 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.84)[-0.844,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-0.83)[-0.834,0]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[puchar.net]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.43)[0.427,0]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[puchar.net]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[]; IP_SCORE(0.01)[country: PL(0.03)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 22:27:10 -0000 >> FreeBSD base components similar arguments would apply. You could ship >> the C output for the platforms that don't have native Rust. > > Rust is modern geeks toy by mozilla. > Just waste ot time, without any real profits. > > _______________________________________________ still it's quite fearful such discussion happens at all here. I still need some real usable unix system and will need in coming years so i'm feared. From owner-freebsd-hackers@freebsd.org Mon Dec 31 22:44:32 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7E1B8141EA11 for ; Mon, 31 Dec 2018 22:44:32 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 231DB888A5; Mon, 31 Dec 2018 22:44:32 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from [192.168.2.1] (unknown [IPv6:2620:0:2820:2:795b:61b7:2dc4:6168]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: gad/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 0169B1C3AC; Mon, 31 Dec 2018 22:44:31 +0000 (UTC) (envelope-from gad@FreeBSD.org) From: "Garance A Drosehn" To: "Alan Somers" Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components Date: Mon, 31 Dec 2018 17:44:29 -0500 X-Mailer: MailMate (1.12.3r5579) Message-ID: <5B476178-4D09-486F-AC58-47CB04965335@FreeBSD.org> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; format=flowed Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 231DB888A5 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_SHORT(-0.98)[-0.979,0]; NEURAL_HAM_LONG(-1.00)[-0.998,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 22:44:32 -0000 On 31 Dec 2018, at 11:52, Alan Somers wrote: > On Mon, Dec 31, 2018 at 12:17 AM Conrad Meyer wrote: >> >> Rust has many of the exact same problems C++ has. Sure, it avoids >> a few classes of issue. But it doesn't fix the classic C++ problems >> of extremely slow build times (if you think C++ is bad, Rust is >> worse) and having a kitchen sink of language features that make Rust >> and C++ code difficult to grok. > > Do you have any data to support the claim of slow build times? > I know it's very hard to do an apples-to-apples comparison of build > times between different languages, but I would be interested to see > somebody try. I know that it takes a very long time to build rust (the compiler itself) on my mac, and FreeBSD's buildworld always starts out by building the compilers that it needs. So adding rust to the base system is going to cause an immediate and noticeable increase in the time used by buildworld. (now maybe that means we should come up with some different ideas for handling the compilers in buildworld, but I digress...). On 31 Dec 2018, at 8:18, Jan Knepper wrote: > > What about D? > www.dlang.org > > ManiaC++ > Jan Knepper For what it's worth, I'm also interested in D-lang, and I know that the developers of D are paying attention to Rust, and trying to figure out what ideas from Rust could be added to D-lang without making a mess of things. And it's nice that there are three separate implementations of D-lang. ... but no, I would not include D-lang into the base system just yet. But getting back to Rust: On 31 Dec 2018, at 9:21, Igor Mozolevsky wrote: > > On Mon, 31 Dec 2018 at 05:42, Eric McCorkle = > wrote: >> >> Before I begin, I want to be clear that everything here is in the = >> realm >> of speculative, long-term discussion. My goal is to start a >> conversation, not to propose anything concrete right now. > > > Does the generated code size increase or decrease and does the > data-path get longer or shorter with switch from C to Rust with > all the "great features" of Rust? Are there any metrics for > these? If a CPU cache gets trashed repeatedly or data takes > massive detours that would be a significant downside, wouldn't it? I've been somewhat interested in Rust for awhile, although I haven't had the time to do much of anything with it. Part of the answer to your questions will depend on how good the programmers are. One advantage the BSD projects have by sticking with C is that we have spent a lot of time becoming good at that one language. We have a lot of developers who can look at an update to C code, and quickly notice some of the most-common problems which come up when writing C. But there is evidence that once you have decent experience with Rust, then you can write code which is as fast or even faster than what you would write in C. Lately Bryan Cantrill has been taking some deep dives into using Rust, and it's interesting to listen to his experiences. In particular his summer-project for rewriting one of his own programs (called = "Statemaps") into Rust, which went much better than he expected it to. Here are a few of his recent presentations where he's talked about Rust: https://www.youtube.com/watch?v=3DaWbGPMxs0AM - Statemaps in Rust https://www.youtube.com/watch?v=3D2wZ1pCpJUIM - Rust and other interestin= g = things https://www.youtube.com/watch?v=3DLjFM8vw3pbU - The Summer of Rust https://www.slideshare.net/bcantrill/is-it-time-to-rewrite-the-operating-= system-in-rust -- Title: "Is it time to rewrite the operating system in Rust?" -- "A talk given at QConSF in 2018. Video to come" -- Spoiler: The answer is "No" for *rewriting* an operating system, but it could be a good choice for writing new modules for an existing kernel. I think he's done a few other presentations wrt Rust, but I can't seem to find them right now. Maybe they're on Vimeo. I expect Rust could be very interesting for systems-programming in the future, but I also think we (FreeBSD developers) would need to have more experience with it before pulling it into the base system. -- = Garance Alistair Drosehn =3D drosih@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA From owner-freebsd-hackers@freebsd.org Mon Dec 31 22:51:38 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 365D5141EBFD for ; Mon, 31 Dec 2018 22:51:38 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id B101C88C14 for ; Mon, 31 Dec 2018 22:51:37 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id wBVMLtLG096492 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 31 Dec 2018 23:21:55 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id wBVMLoe4096489; Mon, 31 Dec 2018 23:21:50 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Mon, 31 Dec 2018 23:21:50 +0100 (CET) From: Wojciech Puchar To: Eric McCorkle cc: "freebsd-hackers@freebsd.org" Subject: Re: Speculative: Rust for base system components In-Reply-To: Message-ID: References: User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: B101C88C14 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.97 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.965,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 22:51:38 -0000 it's nothing wrong with C. no need for another modern language that "fixes" problems that doesn't exist when properly programming On Sun, 30 Dec 2018, Eric McCorkle wrote: > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > > > > I've talked at several conferences about the possibility of bringing the > Rust programming language into the base system, with the intent of > making it a viable implementation language for parts of the base system. > I believe the potential security and stability benefits of doing this > are *substantial*. This would obviously be a serious undertaking, but I > think the benefits are worth the cost. For the rest of this mail, I'll > outline my position and present the important facts that support it. > > I of course welcome any discussion, criticism, or input. > > = Why Rust? = > > Rust is a true systems programming language that incorporates results > from programming language research that took place in the late 90's and > 2000's, and can be viewed as a culmination of this work. (Specifically, > it draws on work on region types as well as substructural types, but > that's its own survey article). > > This manifests most clearly in Rust's lifetime type system, which is > able to perform quite sophisticated reasoning about memory allocation > and ownership. Rust programs do not require you to explicitly manage > memory, but neither do they use garbage collection. Memory management > is automatically tracked by the lifetime types and allocations/frees are > added during compilation. Moreover, threaded programs are able to use > the same type system features to track ownership. This effectively > prevents a large class of memory- and concurrency-related errors *at the > type system level*, resulting in dramatically safer programs. Rust > provides an "unsafe" language facility for accomplishing low-level > tasks, so you're not prevented from getting things done; however, almost > all programs can be implemented without relying on unsafe, and doing so > eliminates what has probably been the two worst classes of bugs in the > history of computing. > > Because this is done at the type system level, it has no cost at > runtime. This theme of "zero-cost abstractions" runs throughout the > language, which makes it suitable as a replacement for C in the long > term. It also incorporates features befitting a modern programming > language such as parameterized types (aka generics), pattern-matching, > and trait-based polymorphism. Finally, it can interface with C/C++ > binaries and libraries relatively easily, making it a suitable systems > implementation language. > > Because of these benefits, several projects (Mozilla and Tor) have begun > to reimplement their systems using Rust. Additionally, there is a > master's thesis about writing FreeBSD device drivers using Rust out > there somewhere (forgive me for not chasing it down). > > A secondary benefit is that Rust's packaging system, cargo, is built > around a more modern concept of modularity. This is in line with > FreeBSD's goals of modularizing the base system and reducing redundancy. > > = Downsides = > > There are a couple of downsides, which I'll outline briefly, and provide > some counterargumentation for them. > > * It's a big component > > Adding the entire Rust platform would add more to the buildworld time, > which is already quite long due to LLVM. OTOH, LLVM itself is a big > chunk of the rust build time, and we already build that as part of the > base system now. Moreover, it stands to reason that the compiler would > end up being the majority of an open-source operating system's build > time, with second place being the kernel itself. Compilers are an > active area of research with no signs of slowing down, and more hardware > platforms means more backends, which means the compiler ends up growing > over time, while most of the rest of the system doesn't. > > * The language is still evolving > > While this is true, the language has gotten *way* more mature in the > past year and a half, and I think it's ready to hold up major codebases > and production use, or at the very least it will be by the time we'd be > seriously looking at bringing it in. > > * Rust binaries are large > > This issue can be avoided with the proper use of build flags. The > default settings use static linking for everything, and bring in the > entire runtime library (which isn't necessary in most cases). See this > article: > https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html. > With LTO, the size can be cut down to that of a C++ binary, and with > dynamic linking, the executable size is comparable to a C program. If > we were seriously using rust, we would probably change the default flags > to use dynamic linking/LTO by default, in fact. > > > = Alternatives = > > There have been several alternatives that come up when I mention this. > I'll discuss the two big ones: go and C++ > > == C++ == > > C++ is already in the base system, of course. It could be brought into > the kernel with some effort and restrictions. The biggest argument for > Rust over C++ in my view is that Rust is a much simpler, cleaner > language. C++ at this point is bewilderingly complex as a language, and > has so many bells and whistles that it almost requires an effort to > decide which subset of the language will be used. This also tends to > slow down efforts to expand the language over time. > > Rust by comparison is much leaner. Its lifetime type system can be > intimidating, but the benefits are well worth getting used to it. To > sum it up, C++ certainly isn't going anywhere, but I think Rust has a > great deal more vitality as a language. > > == Go == > > Go is not really a "systems language" in the sense that C or Rust are. > It isn't a replacement for C so much as a replacement for python. > > What's more, it is almost universally disliked by people with a > background in programming languages (I am one of those). There's a > couple of reasons for this. First, it omits a number of features that > modern languages *really* should include, parameterized types (generics) > being one of the most glaring. Beyond that, it completely ignores > anything produced by modern PL research (unlike Rust, which benefits > from that work). Second, one of its main design parameters was "it > should compile fast". This as a design constraint basically guarantees > that you can't do anything interesting in compilation, which rules out > both advanced type systems as well as serious optimization. > > Unlike Rust, which offers substantial security and stability benefits > through its type system, Go would do little more than just change the > syntax of a bunch of code. Moreover, it's likely that there would be > performance consequences, given the design constraint of fast compilation. > > = Summary = > > Rust is a modern systems language with substantial benefits, and is > well-poised to become the heir apparent to C as the dominant systems > language going into the future. For this reason, I think we should > seriously consider it as a language for the base system at some point in > the future, when the time is right and after sufficient exploration and > experimentation. > > From owner-freebsd-hackers@freebsd.org Tue Jan 1 00:26:29 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2F4D14207EB for ; Tue, 1 Jan 2019 00:26:29 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 552B38BBCE; Tue, 1 Jan 2019 00:26:29 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from [192.168.2.1] (unknown [IPv6:2620:0:2820:2:795b:61b7:2dc4:6168]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: gad/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 1A5E91CE92; Tue, 1 Jan 2019 00:26:29 +0000 (UTC) (envelope-from gad@FreeBSD.org) From: "Garance A Drosehn" To: "Alan Somers" Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components Date: Mon, 31 Dec 2018 19:26:28 -0500 X-Mailer: MailMate (1.12.3r5579) Message-ID: <2C39D05E-E855-4FCE-82CF-83EA4AE9F84A@FreeBSD.org> In-Reply-To: <5B476178-4D09-486F-AC58-47CB04965335@FreeBSD.org> References: <5B476178-4D09-486F-AC58-47CB04965335@FreeBSD.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 552B38BBCE X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_LONG(-1.00)[-0.996,0]; NEURAL_HAM_SHORT(-0.99)[-0.987,0]; ASN(0.00)[asn:11403, ipnet:96.47.64.0/20, country:US] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 00:26:30 -0000 On 31 Dec 2018, at 17:44, Garance A Drosehn wrote: >> On Mon, Dec 31, 2018 at 12:17 AM Conrad Meyer wrote: >> >> Do you have any data to support the claim of slow build times? >> I know it's very hard to do an apples-to-apples comparison of build >> times between different languages, but I would be interested to see >> somebody try. > > I know that it takes a very long time to build rust (the compiler > itself) on my mac, and FreeBSD's buildworld always starts out by > building the compilers that it needs. So adding rust to the base > system is going to cause an immediate and noticeable increase in > the time used by buildworld. > On 31 Dec 2018, at 9:21, Igor Mozolevsky wrote: >> >> Does the generated code size increase or decrease and does the >> data-path get longer or shorter with switch from C to Rust with >> all the "great features" of Rust? Are there any metrics for >> these? If a CPU cache gets trashed repeatedly or data takes >> massive detours that would be a significant downside, wouldn't it? > > I've been somewhat interested in Rust for awhile, although I haven't > had the time to do much of anything with it. Part of the answer to > your questions will depend on how good the programmers are. There's two questions wrt performance. One is how long it takes to compile some program, and then the other is how fast the code is which is produced by the compiler. A note on both of those: Rust has the notion of "building for release", in which case the compile-time step takes *much* longer, but all that extra time goes into producing better code in the resulting program. So if you think the compiler is fast but that it's generating very slow programs, then it might be that you're not doing "a release build". There's one program written in rust which I use a lot, which is called 'ripgrep' (or 'rg' for short). It's one of the few programs which I install via pre-compiled pkgs, because I don't want to wait for all the time it takes to compile a release-build. But I'm very happy with how fast the program runs. -- Garance Alistair Drosehn = drosih@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA From owner-freebsd-hackers@freebsd.org Tue Jan 1 00:54:31 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A91D51421485 for ; Tue, 1 Jan 2019 00:54:31 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-ot1-f48.google.com (mail-ot1-f48.google.com [209.85.210.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9EE7B8CF15; Tue, 1 Jan 2019 00:54:30 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-ot1-f48.google.com with SMTP id f18so24310457otl.11; Mon, 31 Dec 2018 16:54:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=XyuIE1BpkOuCHCCpf1cqU2DXlsjxIutyceR97GlCoAU=; b=VJtdMqA5S6fO1VSDF9ROk2uuDbAaJtdiCcrhQu/O5d3a+EJcVTYWqJJkPW1f9dqXFF bzpWEF0z8qHQugZ7HcokKLsZhH2+BT7GWxSDtBxts076tVGco4Zn28JbqKUsHEZUkJjj 7npNml2ICVk6141YWIZbL7GmVZ2lRD1RXSMaZbVb9Ht12jzblFzF6odLRWs5KlZHAdkz DUA//nJVi3xKin22LPFXhD324rA03wI6Mx1Rlw/g0frwRTAJWgR6xWpXHdENvdqq1hcu kZ84dJzyXhuXfmSTBBw/rTJ9LoXWbrkY0t8q57mrwPZxNM9tfAbKQDLxRhpVLHi6nc64 30hw== X-Gm-Message-State: AJcUukcZHQbW40yR3FQ5rUo1F+O2yMbHcoOv/KXqXGQwikOPYGrGEJpQ 1mMilSOr6EwAuc/QoM97y0/e+SAsETFIjDJGoBxQTA== X-Google-Smtp-Source: ALg8bN7QHA8EVf0DOIxshhv6P7kr0pxBTT3SQl6LhW4Jysec0uAixDGakaj5llkHiTHMe2s3/bkBIdr5X0wIodmXNf4= X-Received: by 2002:a9d:225:: with SMTP id 34mr28541070otb.224.1546304064377; Mon, 31 Dec 2018 16:54:24 -0800 (PST) MIME-Version: 1.0 References: <5B476178-4D09-486F-AC58-47CB04965335@FreeBSD.org> <2C39D05E-E855-4FCE-82CF-83EA4AE9F84A@FreeBSD.org> In-Reply-To: <2C39D05E-E855-4FCE-82CF-83EA4AE9F84A@FreeBSD.org> From: Igor Mozolevsky Date: Tue, 1 Jan 2019 00:53:48 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Garance A Drosehn Cc: Alan Somers , Hackers freeBSD Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 9EE7B8CF15 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.210.48 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-4.01 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[hybrid-lab.co.uk]; NEURAL_HAM_LONG(-0.99)[-0.994,0]; IP_SCORE(-1.19)[ip: (-0.55), ipnet: 209.85.128.0/17(-3.76), asn: 15169(-1.56), country: US(-0.08)]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-0.82)[-0.822,0]; RCVD_IN_DNSWL_NONE(0.00)[48.210.85.209.list.dnswl.org : 127.0.5.0]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 00:54:31 -0000 On Tue, 1 Jan 2019 at 00:30, Garance A Drosehn wrote: > There's two questions wrt performance. One is how long it takes > to compile some program, and then the other is how fast the > code is which is produced by the compiler. A note on both of > those: Rust has the notion of "building for release", in which > case the compile-time step takes *much* longer, but all that > extra time goes into producing better code in the resulting > program. Quite frankly the compile time isn't really *that* important, and longer (if not much longer) build times might push toward a better modularisation and compartmentalisation of the OS and the kernel so a small change in the kernel, for example, doesn't require the recompilation of the whole damn thing when nothing else is affected. *However,* in my experience various language "freebies" never truly come "free," the cheese a mousetrap springs to mind. And some of the "for"-reasons don't make much sense:- take the no need to alloc/free memory, for example, the only way to guarantee that it is really free is for some static analysis to envisage every plausible path the code takes and insert the appropriate statements in the appropriate places... *BUT* if you can do that in a static analyser, why not just run the static analysed against c-code and let it flag up bugs instead? > There's one program written in rust which I use a lot, which is > called 'ripgrep' (or 'rg' for short). It's one of the few programs > which I install via pre-compiled pkgs, because I don't want to wait > for all the time it takes to compile a release-build. But I'm very > happy with how fast the program runs. And what metric is that against? I'm very happy with the speed jQuery is executed in my browser, but that's no reasonable metric to argue that JavaScript is a suitable language for the kernel... -- Igor M. From owner-freebsd-hackers@freebsd.org Tue Jan 1 01:13:32 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A58E2142190F for ; Tue, 1 Jan 2019 01:13:32 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 5E4BE8D695 for ; Tue, 1 Jan 2019 01:13:30 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id e8ZtgS5Es82Yce8ZvgDm9Q; Mon, 31 Dec 2018 18:10:45 -0700 X-Authority-Analysis: v=2.3 cv=NNSrBHyg c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=2ur7OfE09M0A:10 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=pG6RPKoiAAAA:8 a=CyCwk7iUxYivjhpceMkA:9 a=o-tF8-UF8R3il2vr:21 a=S3I6iYKmZ0x4TOtY:21 a=CjuIK1q_8ugA:10 a=cnbnG0Y_5wUA:10 a=gb4RiO8EpEbSdGF-l5UA:9 a=XIenpq_Jwqkl6auO:21 a=7MgdJodtX21N-Hn0:21 a=kSP82At57i-EVeqy:21 a=_W_S_7VecoQA:10 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 a=ltUpntDCF1yYaH9oTxHV:22 Received: from [25.170.88.176] (unknown [24.114.38.71]) by spqr.komquats.com (Postfix) with ESMTPSA id 6D6E818C5; Mon, 31 Dec 2018 17:10:38 -0800 (PST) MIME-Version: 1.0 From: Cy Schubert Subject: RE: Speculative: Rust for base system components Date: Mon, 31 Dec 2018 17:10:46 -0800 To: Wojciech Puchar , Eric McCorkle CC: "freebsd-hackers@freebsd.org" Message-Id: <20190101011038.6D6E818C5@spqr.komquats.com> X-CMAE-Envelope: MS4wfAfdgNpXyGA70hXeQkzN0GYlZblIGXxpl0oaWamQRa/lPWUkuKqJ1RFoCrFEiFhp2OJgIQrOdkkxZObkEsP3jMC35yX3xQ9JUUH8tqPsMu7tsAYub533 M9aK0XKFGWWe/vQHfXfHypXxYqvdFLhjEo/CGmKbM+UFMleg9fuULLZtJW2u0QyIdazr6L2eG+gtTlVoVBZGvqbfm6pYg/cZzoPYISRNhfs0UC7etsE8Jlyw iyfN8mGzi5fc3FxOF2cDNQ== X-Rspamd-Queue-Id: 5E4BE8D695 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-3.98 / 15.00]; ARC_NA(0.00)[]; FAKE_REPLY(1.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_TLS_LAST(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[spqr.komquats.com]; NEURAL_HAM_SHORT(-1.00)[-0.998,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[137.136.59.64.list.dnswl.org : 127.0.5.1]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; MIME_TRACE(0.00)[0:+,1:+]; IP_SCORE(-1.77)[ip: (-4.36), ipnet: 64.59.128.0/20(-2.44), asn: 6327(-1.95), country: CA(-0.09)]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 01:13:33 -0000 Unlikely I'll get to my computer, I'll reply more tersely. Agreed. Some thoughts/questions. Do we need another language in base when the same exists in ports? Can this= wait for pkg base? Are we not trying to reduce base bloat and the maintenance of questionable = software? Consider our current cull efforts. --- Sent using a tiny phone keyboard. Apologies for any typos and autocorrect. Also, this old phone only supports top post. Apologies. Cy Schubert or The need of the many outweighs the greed of the few. --- -----Original Message----- From: Wojciech Puchar Sent: 31/12/2018 14:53 To: Eric McCorkle Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components it's nothing wrong with C. no need for another modern language that=20 "fixes" problems that doesn't exist when properly programming On Sun, 30 Dec 2018, Eric McCorkle wrote: > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > > > > I've talked at several conferences about the possibility of bringing the > Rust programming language into the base system, with the intent of > making it a viable implementation language for parts of the base system. > I believe the potential security and stability benefits of doing this > are *substantial*. This would obviously be a serious undertaking, but I > think the benefits are worth the cost. For the rest of this mail, I'll > outline my position and present the important facts that support it. > > I of course welcome any discussion, criticism, or input. > > =3D Why Rust? =3D > > Rust is a true systems programming language that incorporates results > from programming language research that took place in the late 90's and > 2000's, and can be viewed as a culmination of this work. (Specifically, > it draws on work on region types as well as substructural types, but > that's its own survey article). > > This manifests most clearly in Rust's lifetime type system, which is > able to perform quite sophisticated reasoning about memory allocation > and ownership. Rust programs do not require you to explicitly manage > memory, but neither do they use garbage collection. Memory management > is automatically tracked by the lifetime types and allocations/frees are > added during compilation. Moreover, threaded programs are able to use > the same type system features to track ownership. This effectively > prevents a large class of memory- and concurrency-related errors *at the > type system level*, resulting in dramatically safer programs. Rust > provides an "unsafe" language facility for accomplishing low-level > tasks, so you're not prevented from getting things done; however, almost > all programs can be implemented without relying on unsafe, and doing so > eliminates what has probably been the two worst classes of bugs in the > history of computing. > > Because this is done at the type system level, it has no cost at > runtime. This theme of "zero-cost abstractions" runs throughout the > language, which makes it suitable as a replacement for C in the long > term. It also incorporates features befitting a modern programming > language such as parameterized types (aka generics), pattern-matching, > and trait-based polymorphism. Finally, it can interface with C/C++ > binaries and libraries relatively easily, making it a suitable systems > implementation language. > > Because of these benefits, several projects (Mozilla and Tor) have begun > to reimplement their systems using Rust. Additionally, there is a > master's thesis about writing FreeBSD device drivers using Rust out > there somewhere (forgive me for not chasing it down). > > A secondary benefit is that Rust's packaging system, cargo, is built > around a more modern concept of modularity. This is in line with > FreeBSD's goals of modularizing the base system and reducing redundancy. > > =3D Downsides =3D > > There are a couple of downsides, which I'll outline briefly, and provide > some counterargumentation for them. > > * It's a big component > > Adding the entire Rust platform would add more to the buildworld time, > which is already quite long due to LLVM. OTOH, LLVM itself is a big > chunk of the rust build time, and we already build that as part of the > base system now. Moreover, it stands to reason that the compiler would > end up being the majority of an open-source operating system's build > time, with second place being the kernel itself. Compilers are an > active area of research with no signs of slowing down, and more hardware > platforms means more backends, which means the compiler ends up growing > over time, while most of the rest of the system doesn't. > > * The language is still evolving > > While this is true, the language has gotten *way* more mature in the > past year and a half, and I think it's ready to hold up major codebases > and production use, or at the very least it will be by the time we'd be > seriously looking at bringing it in. > > * Rust binaries are large > > This issue can be avoided with the proper use of build flags. The > default settings use static linking for everything, and bring in the > entire runtime library (which isn't necessary in most cases). See this > article: > https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html= . > With LTO, the size can be cut down to that of a C++ binary, and with > dynamic linking, the executable size is comparable to a C program. If > we were seriously using rust, we would probably change the default flags > to use dynamic linking/LTO by default, in fact. > > > =3D Alternatives =3D > > There have been several alternatives that come up when I mention this. > I'll discuss the two big ones: go and C++ > > =3D=3D C++ =3D=3D > > C++ is already in the base system, of course. It could be brought into > the kernel with some effort and restrictions. The biggest argument for > Rust over C++ in my view is that Rust is a much simpler, cleaner > language. C++ at this point is bewilderingly complex as a language, and > has so many bells and whistles that it almost requires an effort to > decide which subset of the language will be used. This also tends to > slow down efforts to expand the language over time. > > Rust by comparison is much leaner. Its lifetime type system can be > intimidating, but the benefits are well worth getting used to it. To > sum it up, C++ certainly isn't going anywhere, but I think Rust has a > great deal more vitality as a language. > > =3D=3D Go =3D=3D > > Go is not really a "systems language" in the sense that C or Rust are. > It isn't a replacement for C so much as a replacement for python. > > What's more, it is almost universally disliked by people with a > background in programming languages (I am one of those). There's a > couple of reasons for this. First, it omits a number of features that > modern languages *really* should include, parameterized types (generics) > being one of the most glaring. Beyond that, it completely ignores > anything produced by modern PL research (unlike Rust, which benefits > from that work). Second, one of its main design parameters was "it > should compile fast". This as a design constraint basically guarantees > that you can't do anything interesting in compilation, which rules out > both advanced type systems as well as serious optimization. > > Unlike Rust, which offers substantial security and stability benefits > through its type system, Go would do little more than just change the > syntax of a bunch of code. Moreover, it's likely that there would be > performance consequences, given the design constraint of fast compilation= . > > =3D Summary =3D > > Rust is a modern systems language with substantial benefits, and is > well-poised to become the heir apparent to C as the dominant systems > language going into the future. For this reason, I think we should > seriously consider it as a language for the base system at some point in > the future, when the time is right and after sufficient exploration and > experimentation. > > _______________________________________________ freebsd-hackers@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" From owner-freebsd-hackers@freebsd.org Tue Jan 1 01:36:37 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CBDE14220C9 for ; Tue, 1 Jan 2019 01:36:37 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8A25A8E0F0 for ; Tue, 1 Jan 2019 01:36:36 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id e8yvgSAVM82Yce8ywgDp6E; Mon, 31 Dec 2018 18:36:35 -0700 X-Authority-Analysis: v=2.3 cv=NNSrBHyg c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=2ur7OfE09M0A:10 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=7Qk2ozbKAAAA:8 a=s1Xs-aBeAAAA:8 a=iQqyFwekEd0rDjR6F5oA:9 a=qSHSA_EsI6RiqerG:21 a=zjXkVx7VMbp_xoZ9:21 a=CjuIK1q_8ugA:10 a=ZK3BHR1trZCpg7l7RswA:9 a=n4_6MPySRyTP360E:21 a=AXNzXeuQqxEyRvdL:21 a=H_gT-g27Ybh9JRCe:21 a=_W_S_7VecoQA:10 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 a=1lyxoWkJIXJV6VJUPhuM:22 a=Ni4qwCKS2BbQ6fws8yIR:22 Received: from [25.170.88.176] (unknown [24.114.38.248]) by spqr.komquats.com (Postfix) with ESMTPSA id 72B15196B; Mon, 31 Dec 2018 17:36:32 -0800 (PST) MIME-Version: 1.0 From: Cy Schubert Subject: RE: Speculative: Rust for base system components Date: Mon, 31 Dec 2018 17:36:39 -0800 To: Warner Losh , Eric McCorkle CC: "freebsd-hackers@freebsd.org" Message-Id: <20190101013632.72B15196B@spqr.komquats.com> X-CMAE-Envelope: MS4wfLufW4y1lJsdaUorMbcO7Qu9Zlkx2Lr8KxvTXx5yAK+k0KbtVQgXq6FdVQrioRaBlm7zKxrtEiC0BXL+4tpwECKpGEpLzz6AdIHAWgyZ8A+kpbHcc0RR NLnVCXjNKdzjalyL0vd+lhOHnrlhWlznqCots83vE3uUrkXg5ixZ9MG/Qb+IX52Y44WMvetHeYYaRfLOaTU7tbfpDvXbqhWB9DHgf7/mGbZE9EtpUma5i4LC +qsfuzBOX/9IMzTVJOg30Q== X-Rspamd-Queue-Id: 8A25A8E0F0 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.89 / 15.00]; ARC_NA(0.00)[]; FAKE_REPLY(1.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; IP_SCORE(-1.69)[ip: (-3.98), ipnet: 64.59.128.0/20(-2.43), asn: 6327(-1.94), country: CA(-0.09)]; RCVD_VIA_SMTP_AUTH(0.00)[]; URI_COUNT_ODD(1.00)[1]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-1.00)[-0.997,0]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[138.136.59.64.list.dnswl.org : 127.0.5.1] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 01:36:37 -0000 If it requires rust it s/b in ports anyway. --- Sent using a tiny phone keyboard. Apologies for any typos and autocorrect. Also, this old phone only supports top post. Apologies. Cy Schubert or The need of the many outweighs the greed of the few. --- -----Original Message----- From: Warner Losh Sent: 31/12/2018 07:48 To: Eric McCorkle Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components On Mon, Dec 31, 2018 at 8:02 AM Warner Losh wrote: > > > On Sun, Dec 30, 2018 at 10:41 PM Eric McCorkle > wrote: > >> Before I begin, I want to be clear that everything here is in the realm >> of speculative, long-term discussion. My goal is to start a >> conversation, not to propose anything concrete right now. >> > > Today, this is a losing bid. The cost for rust is high (both in terms of > people and added compile time), it's not well supported on all our > architectures (and its robustness on the ones it does support has only be= en > tested in limited scenarios), and there's 0 software it enables from day > one. Plus, since it's a fast evolving language, we'll still need the port= s > to support those things that use it today since the likelihood of a versi= on > mismatch is high (and supporting 1 version would be a big stretch, multip= le > version is right out). So any sane cost / benefit analysis says: way more > cost than benefit, forget about it. We simply don't have the man-power to > maintain a high-cost, zero-benefit component in the tree. Lord knows we > have a lot of non-zero-cost-with-almost-zero-benefit things in the tree > today that we need to get rid of. > > In the future, when there are actual replacement things written, or there > are new features written, that will shift the cost / benefit equation. An= d > the circumstances about what makes up base will also have shifted, if we'= re > lucky, and we'll be able to have a conversation. We imported perl and tcl > on the speculative notion that people would build great things. That neve= r > really panned out, and they became a high-cost burden to keep modern for > only minor benefit. And version skew in Perl was terrible by the end. For= th > and Lua live in the tree because they have benefit (though Forth will be > departing, most likely by 13, and definitely by 14). They are also small > and easy to update to new versions. > > And we can't say, with certainty, that if a bunch of rust things show up > we'll use them in base. We'll have to see what they provide to benefit th= e > system. > > TBH, there's a stronger case for python than rust: there's actual python > scripts in the tree today that we have to install a port to use. And ther= e > the benefit, while not zero, is small and the effort is large compared to > just dragging it in as a port, so it hasn't been done. It's another fast > evolving language that requires multiple versions as well... > > So write something that everybody wants, that must be in base, and that > requires rust, and then we can have the conversation... > Just re-read this. It sounds a little more negative than I wanted to come off. I'd only wanted to say today the needle is on 'nope' and I hope people write enough cool stuff to justify moving the needle off 'nope' :) The last part of that message seems more muted than I wanted. Warner _______________________________________________ freebsd-hackers@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" From owner-freebsd-hackers@freebsd.org Tue Jan 1 01:56:00 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 895081422F08 for ; Tue, 1 Jan 2019 01:56:00 +0000 (UTC) (envelope-from bakul@bitblocks.com) Received: from mail.bitblocks.com (ns1.bitblocks.com [173.228.5.8]) by mx1.freebsd.org (Postfix) with ESMTP id 300EC8EC13 for ; Tue, 1 Jan 2019 01:55:58 +0000 (UTC) (envelope-from bakul@bitblocks.com) Received: from bitblocks.com (localhost [127.0.0.1]) by mail.bitblocks.com (Postfix) with ESMTP id A54DF156E410; Mon, 31 Dec 2018 17:55:29 -0800 (PST) From: Bakul Shah To: Steffen Nurpmeso cc: Rozhuk Ivan , "freebsd-hackers@freebsd.org" , Volker Lendecke Subject: Re: Speculative: Rust for base system components In-reply-to: Your message of "Mon, 31 Dec 2018 21:14:23 +0100." <20181231201423.mJwUS%steffen@sdaoden.eu> References: <20181231160738.j4gow437liu7urjy@sernet.de> <20181231221030.6471937e@rimwks> <20181231201423.mJwUS%steffen@sdaoden.eu> Comments: In-reply-to Steffen Nurpmeso message dated "Mon, 31 Dec 2018 21:14:23 +0100." MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <860.1546307729.1@bitblocks.com> Content-Transfer-Encoding: quoted-printable Date: Mon, 31 Dec 2018 17:55:29 -0800 Message-Id: <20190101015536.A54DF156E410@mail.bitblocks.com> X-Rspamd-Queue-Id: 300EC8EC13 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of bakul@bitblocks.com designates 173.228.5.8 as permitted sender) smtp.mailfrom=bakul@bitblocks.com X-Spamd-Result: default: False [-2.51 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.97)[-0.974,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:173.228.5.8/29]; NEURAL_HAM_LONG(-0.95)[-0.953,0]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[bitblocks.com]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: mail.bitblocks.com]; NEURAL_HAM_SHORT(-0.20)[-0.204,0]; IP_SCORE(-0.17)[asn: 46375(-0.79), country: US(-0.08)]; RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:46375, ipnet:173.228.0.0/20, country:US]; FREEMAIL_CC(0.00)[gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 01:56:00 -0000 On Mon, 31 Dec 2018 21:14:23 +0100 Steffen Nurpmeso w= rote: > Rozhuk Ivan wrote in <20181231221030.6471937e@rimwks>: > |On Mon, 31 Dec 2018 17:07:38 +0100 > |Volker Lendecke wrote: > | > |> Not being involved in FreeBSD but in Samba, I could see a migration = of > |> parts of Samba to Rust if it had a Rust->C translator. I think for > |> FreeBSD base components similar arguments would apply. You could shi= p > |> the C output for the platforms that don't have native Rust. > | > |Rust is modern geeks toy by mozilla. > |Just waste ot time, without any real profits. > > I vote for Nim (former Nimrod is no more). So do I but it doesn't make sense to add any new language to the base system without having a number of absolutely essential programs written in that language that must also be included in the base system. Even at that point, using any such language for writing kernel code is madness. There are millions of lines of C kernel code which are not going to benefit in any way from the new language. Remember that except for drivers the kernel is essentially a single binary. GC becomes much less of an issue for user programs. I'd rather see a much smaller base, with pkg install for various typical user types. From owner-freebsd-hackers@freebsd.org Tue Jan 1 02:46:38 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 26E361423F36 for ; Tue, 1 Jan 2019 02:46:38 +0000 (UTC) (envelope-from peter@rulingia.com) Received: from vtr.rulingia.com (vtr.rulingia.com [IPv6:2001:19f0:5801:ebe:5400:1ff:fe53:30fd]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vtr.rulingia.com", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 312748FEF5 for ; Tue, 1 Jan 2019 02:46:36 +0000 (UTC) (envelope-from peter@rulingia.com) Received: from server.rulingia.com (ppp59-167-167-3.static.internode.on.net [59.167.167.3]) by vtr.rulingia.com (8.15.2/8.15.2) with ESMTPS id x012kQLV041551 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 1 Jan 2019 13:46:32 +1100 (AEDT) (envelope-from peter@rulingia.com) X-Bogosity: Ham, spamicity=0.000000 Received: from server.rulingia.com (localhost.rulingia.com [127.0.0.1]) by server.rulingia.com (8.15.2/8.15.2) with ESMTPS id x012kKhD019896 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 1 Jan 2019 13:46:20 +1100 (AEDT) (envelope-from peter@server.rulingia.com) Received: (from peter@localhost) by server.rulingia.com (8.15.2/8.15.2/Submit) id x012kK6t019895; Tue, 1 Jan 2019 13:46:20 +1100 (AEDT) (envelope-from peter) Date: Tue, 1 Jan 2019 13:46:20 +1100 From: Peter Jeremy To: Igor Mozolevsky Cc: Hackers freeBSD Subject: Re: Speculative: Rust for base system components Message-ID: <20190101024620.GA19629@server.rulingia.com> References: <5B476178-4D09-486F-AC58-47CB04965335@FreeBSD.org> <2C39D05E-E855-4FCE-82CF-83EA4AE9F84A@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="SUOF0GtieIMvvwua" Content-Disposition: inline In-Reply-To: X-PGP-Key: http://www.rulingia.com/keys/peter.pgp User-Agent: Mutt/1.11.1 (2018-12-01) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 02:46:38 -0000 --SUOF0GtieIMvvwua Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2019-Jan-01 00:53:48 +0000, Igor Mozolevsky wrot= e: >Quite frankly the compile time isn't really *that* important, I disagree. FreeBSD seems to be heading back to the batch days - you submit your buildworld request and come back tomorrow to see if it worked. That is a significant hinderance to development and, based on various mailing list comments, is causing breakage because developers are cutting corners due to the pain involved in running "make universe" before they make a large change. >longer (if not much longer) build times might push toward a better >modularisation and compartmentalisation of the OS and the kernel so a >small change in the kernel, for example, doesn't require the >recompilation of the whole damn thing when nothing else is affected. Two problems here: 1) make doesn't seem to be sufficient to correctly describe a dependency tree to allow incremental/partial builds (at, everyone I'm aware of who has a successful incremental build system has started by migrating off make). This means that a significant part of the work will be re-writing the FreeBSD build system into something else like (eg) Bazel. 2) The bottleneck very quickly turns into the linker. --=20 Peter Jeremy --SUOF0GtieIMvvwua Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE7rKYbDBnHnTmXCJ+FqWXoOSiCzQFAlwq1HxfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEVF QjI5ODZDMzA2NzFFNzRFNjVDMjI3RTE2QTU5N0EwRTRBMjBCMzQACgkQFqWXoOSi CzRVBQ/9EgXTl657fef+6Bt2D2NZ7ZHmn6ZXafVEmLTmgylVVkpz1NWZj+xnPCay lalPaxTCXidAT5Urpb8hsd+/3QtvlLdZEzDvOho8gfmjkzLTGQnG6BHT2xLp3+Ke 676z+PGtuXhfOPwyxc0Rhnik2pHhp5GDLGGw9VfSTxZMk7uhNdBS92HRGtAWJQli GNz/LX42dxrYeZ4UHlDbo+je3SvTiwgiXA4e+1X4TY6ENLIjiVX/XzGV3J49QL/Q d8zbPYde1ZrOkJyeZ3oJ5zNhB1GQY5d9XEs8I4QU069klwDbE5+pUnxCtO9wit6R 9KHFa5nCT4wr4q3EbSM5kyfDJUx32cewN35cZMnzBj60whY6xDRVhMuOzQb0OKZH iId6s4bOklzqbbcB32k8pauXey4ImiPt9hE3c4uDsrkGaIm9XGbV0stTZtdbXiKJ 88DHlTHtETA0bizaNP2UQbuegckqZ3yV9OJ5NE6+O5aOcfYo2uOjo8Qe2zUw0Tlp HR00BqpB8Bs7uHHUZ7f+XYB/tlRQ+oF/b9PNI3aiC52dNN2/leuYtrYVVK650Oh/ NzsWlVnbBU1qsG1LDpipFypKXOcSsBitbZADWDVxHQJ1uvJtcZ67mZKTGX03C3HA K2PX5c1vg2RFIgLEqPZB2ipUyyDX+Txm2kvzqE0oAR4e9iRWnY8= =5C9r -----END PGP SIGNATURE----- --SUOF0GtieIMvvwua-- From owner-freebsd-hackers@freebsd.org Tue Jan 1 03:04:13 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3F0F2142533F for ; Tue, 1 Jan 2019 03:04:13 +0000 (UTC) (envelope-from brian@aceshardware.com) Received: from mail.aceshardware.com (mail.aceshardware.com [52.52.37.31]) (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 055E26A262 for ; Tue, 1 Jan 2019 03:04:11 +0000 (UTC) (envelope-from brian@aceshardware.com) Received: from [10.0.0.102] (unknown [71.145.208.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.aceshardware.com (Postfix) with ESMTPSA id EF12420130F for ; Tue, 1 Jan 2019 03:04:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aceshardware.com; s=dkim; t=1546311843; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UHsLWKt9ThU6IBD3Y3oOx7g/YDmN6hNq0ekpCQB9CfI=; b=gGGOrdh0vn+fpEfJQhcg2VyX9sUTRtLoiEX41rR1D1CSftEkXhED/1UZS9VwZVCxRGhXow FTk8bRFtGTZGCSVSy4w2jfivYnsA7/kex7GH2/FRs2DkDHf8aviqjCEK8J370Ud/ayi3KA nGgaqkoqsf+DRUVb4BgiP/U9XdBxG3Uad/OFNPZ3LZTVvp2j04uB8+x3OFwkbh3PuAqUOQ iEnOWwLkZ7c/dgla0rIkVGMoRh6nDp8wQepdRwIEmVhj3SGQyj1PN4qBVcKMA+FCDkN96N 7pRy4NUpd88MQWQgZ3lIDq+WH5S/UKSMTkB0cFvCQfb6VMSSmPdRFNzu5MolPg== Subject: Re: Speculative: Rust for base system components To: freebsd-hackers@freebsd.org References: From: Brian Neal Message-ID: <7d7bc47d-04cf-2f9b-00a3-e3d9d92b3623@aceshardware.com> Date: Mon, 31 Dec 2018 20:04:32 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Rspamd-Queue-Id: 055E26A262 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=aceshardware.com header.s=dkim header.b=gGGOrdh0; dmarc=pass (policy=none) header.from=aceshardware.com X-Spamd-Result: default: False [-3.96 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[aceshardware.com:s=dkim]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; DKIM_TRACE(0.00)[aceshardware.com:+]; DMARC_POLICY_ALLOW(-0.50)[aceshardware.com,none]; MX_GOOD(-0.01)[mail.aceshardware.com]; R_SPF_NA(0.00)[]; NEURAL_HAM_SHORT(-0.89)[-0.895,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; IP_SCORE(-0.26)[ipnet: 52.52.0.0/15(0.02), asn: 16509(-1.22), country: US(-0.08)]; ASN(0.00)[asn:16509, ipnet:52.52.0.0/15, country:US]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 03:04:13 -0000 This is a good read on some of the pitfalls of Rust: https://hackernoon.com/why-im-dropping-rust-fd1c32986c88 In terms of performance, take a look at Rust on godbolt...a quick test I just ran with a trivial program that sums up a sequence of odd numbers is 29 instructions in C on clang 7.0 and a whopping 137 (!!!) on rustc 1.31.0! Crazy... On 12/30/2018 6:18 PM, Eric McCorkle wrote: > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > > > > I've talked at several conferences about the possibility of bringing the > Rust programming language into the base system, with the intent of > making it a viable implementation language for parts of the base system. > I believe the potential security and stability benefits of doing this > are *substantial*. This would obviously be a serious undertaking, but I > think the benefits are worth the cost. For the rest of this mail, I'll > outline my position and present the important facts that support it. > > I of course welcome any discussion, criticism, or input. > > = Why Rust? = > > Rust is a true systems programming language that incorporates results > from programming language research that took place in the late 90's and > 2000's, and can be viewed as a culmination of this work. (Specifically, > it draws on work on region types as well as substructural types, but > that's its own survey article). > > This manifests most clearly in Rust's lifetime type system, which is > able to perform quite sophisticated reasoning about memory allocation > and ownership. Rust programs do not require you to explicitly manage > memory, but neither do they use garbage collection. Memory management > is automatically tracked by the lifetime types and allocations/frees are > added during compilation. Moreover, threaded programs are able to use > the same type system features to track ownership. This effectively > prevents a large class of memory- and concurrency-related errors *at the > type system level*, resulting in dramatically safer programs. Rust > provides an "unsafe" language facility for accomplishing low-level > tasks, so you're not prevented from getting things done; however, almost > all programs can be implemented without relying on unsafe, and doing so > eliminates what has probably been the two worst classes of bugs in the > history of computing. > > Because this is done at the type system level, it has no cost at > runtime. This theme of "zero-cost abstractions" runs throughout the > language, which makes it suitable as a replacement for C in the long > term. It also incorporates features befitting a modern programming > language such as parameterized types (aka generics), pattern-matching, > and trait-based polymorphism. Finally, it can interface with C/C++ > binaries and libraries relatively easily, making it a suitable systems > implementation language. > > Because of these benefits, several projects (Mozilla and Tor) have begun > to reimplement their systems using Rust. Additionally, there is a > master's thesis about writing FreeBSD device drivers using Rust out > there somewhere (forgive me for not chasing it down). > > A secondary benefit is that Rust's packaging system, cargo, is built > around a more modern concept of modularity. This is in line with > FreeBSD's goals of modularizing the base system and reducing redundancy. > > = Downsides = > > There are a couple of downsides, which I'll outline briefly, and provide > some counterargumentation for them. > > * It's a big component > > Adding the entire Rust platform would add more to the buildworld time, > which is already quite long due to LLVM. OTOH, LLVM itself is a big > chunk of the rust build time, and we already build that as part of the > base system now. Moreover, it stands to reason that the compiler would > end up being the majority of an open-source operating system's build > time, with second place being the kernel itself. Compilers are an > active area of research with no signs of slowing down, and more hardware > platforms means more backends, which means the compiler ends up growing > over time, while most of the rest of the system doesn't. > > * The language is still evolving > > While this is true, the language has gotten *way* more mature in the > past year and a half, and I think it's ready to hold up major codebases > and production use, or at the very least it will be by the time we'd be > seriously looking at bringing it in. > > * Rust binaries are large > > This issue can be avoided with the proper use of build flags. The > default settings use static linking for everything, and bring in the > entire runtime library (which isn't necessary in most cases). See this > article: > https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html. > With LTO, the size can be cut down to that of a C++ binary, and with > dynamic linking, the executable size is comparable to a C program. If > we were seriously using rust, we would probably change the default flags > to use dynamic linking/LTO by default, in fact. > > > = Alternatives = > > There have been several alternatives that come up when I mention this. > I'll discuss the two big ones: go and C++ > > == C++ == > > C++ is already in the base system, of course. It could be brought into > the kernel with some effort and restrictions. The biggest argument for > Rust over C++ in my view is that Rust is a much simpler, cleaner > language. C++ at this point is bewilderingly complex as a language, and > has so many bells and whistles that it almost requires an effort to > decide which subset of the language will be used. This also tends to > slow down efforts to expand the language over time. > > Rust by comparison is much leaner. Its lifetime type system can be > intimidating, but the benefits are well worth getting used to it. To > sum it up, C++ certainly isn't going anywhere, but I think Rust has a > great deal more vitality as a language. > > == Go == > > Go is not really a "systems language" in the sense that C or Rust are. > It isn't a replacement for C so much as a replacement for python. > > What's more, it is almost universally disliked by people with a > background in programming languages (I am one of those). There's a > couple of reasons for this. First, it omits a number of features that > modern languages *really* should include, parameterized types (generics) > being one of the most glaring. Beyond that, it completely ignores > anything produced by modern PL research (unlike Rust, which benefits > from that work). Second, one of its main design parameters was "it > should compile fast". This as a design constraint basically guarantees > that you can't do anything interesting in compilation, which rules out > both advanced type systems as well as serious optimization. > > Unlike Rust, which offers substantial security and stability benefits > through its type system, Go would do little more than just change the > syntax of a bunch of code. Moreover, it's likely that there would be > performance consequences, given the design constraint of fast compilation. > > = Summary = > > Rust is a modern systems language with substantial benefits, and is > well-poised to become the heir apparent to C as the dominant systems > language going into the future. For this reason, I think we should > seriously consider it as a language for the base system at some point in > the future, when the time is right and after sufficient exploration and > experimentation. > From owner-freebsd-hackers@freebsd.org Tue Jan 1 03:24:54 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 36D061425D64 for ; Tue, 1 Jan 2019 03:24:54 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-ot1-f41.google.com (mail-ot1-f41.google.com [209.85.210.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B6B986AF92 for ; Tue, 1 Jan 2019 03:24:53 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-ot1-f41.google.com with SMTP id n8so24460136otl.6 for ; Mon, 31 Dec 2018 19:24:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=P4MuWtXdUyGYcGhM5ek6SwkC4ogvfOYx1EhDjEXCNfY=; b=s2USp6UflEmgn6zfxngJvm1vkfsSIsasvr80Gg7iQ05kyherwAkKHKi9NAqIUD+IVf hkuYwdx3TB/gecxFyXqhdQjG1CRbDKVTQuiIq1FvqHaCEszN3/3xDV7BHG40YeyBK8D3 xtpz0WSDkTgUN3A7jK/xSkf4M644gSVzS7GEafWBYkWBnekIrtE1ZAjhUFwmrWicm08p VVtbiQNeOk6zMTgKn7v2PFg4R0vv/iQvC5kgHK7+kpH27h2PhwsGHuSxY66BhkSf8uIw GlQ2NWjB5dVrWbKux7Nm8WYtlft0vWxd4VbBmjCIC0V/mDWjgBbID5ZV3qdJHxg7CqED DVxA== X-Gm-Message-State: AJcUukesggXeGGB062ESc21ulf1xVXaLsVwnf5ITuEIN7dmE6WZmtzsc MC98BOsAhqcUD3WSbpjSb3jhSeKbUcLbN5LtlL8= X-Google-Smtp-Source: ALg8bN7l93UOCLo2FVFSEZ7B9/VcvMp9s3A1v0J+txmn2ZA7pGA5BkBWaxjyrzcgOWbP6U5VoJ9X+5zjnflw2GE6eAU= X-Received: by 2002:a9d:225:: with SMTP id 34mr28757474otb.224.1546312623450; Mon, 31 Dec 2018 19:17:03 -0800 (PST) MIME-Version: 1.0 References: <5B476178-4D09-486F-AC58-47CB04965335@FreeBSD.org> <2C39D05E-E855-4FCE-82CF-83EA4AE9F84A@FreeBSD.org> <20190101024620.GA19629@server.rulingia.com> In-Reply-To: <20190101024620.GA19629@server.rulingia.com> From: Igor Mozolevsky Date: Tue, 1 Jan 2019 03:16:27 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Peter Jeremy Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: B6B986AF92 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.98 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.975,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 03:24:54 -0000 On Tue, 1 Jan 2019 at 02:46, Peter Jeremy wrote: > > On 2019-Jan-01 00:53:48 +0000, Igor Mozolevsky wrote: > >Quite frankly the compile time isn't really *that* important, > > I disagree. FreeBSD seems to be heading back to the batch days - you > submit your buildworld request and come back tomorrow to see if it worked. In my book, that makes the submitter think about what they write, and not mindlessly write code hoping it would automagically compile. Throwing some code at a compiler to "see if it worked" is the equivalent of a builder throwing some bricks together to see if they would hold up as a house... I hope you'd expect far better from the people who build the place where you live, right, so why do not apply a similarly rigorous process to coding? What you're blaming is the messy architecture and the unnecessary re-parsing of the same files over and over, but that's a different problem to a slow code generation _after_ the source had been parsed, AFAIK any compiler's bottleneck is lexing and parsing [1]. 1. Joel on Software p13, AJ Spolsky, Apress, NYC (too late at night to do a proper reference) -- Igor M. From owner-freebsd-hackers@freebsd.org Tue Jan 1 03:31:52 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ED8DD1425FBA for ; Tue, 1 Jan 2019 03:31:51 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp9.server.rpi.edu (smtp9.server.rpi.edu [128.113.2.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "canit.localdomain", Issuer "canit.localdomain" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id DFD476B30B for ; Tue, 1 Jan 2019 03:31:50 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp-auth2.server.rpi.edu (route.canit.rpi.edu [128.113.2.232]) by smtp9.server.rpi.edu (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x013NVDP003991 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 31 Dec 2018 22:23:31 -0500 Received: from smtp-auth2.server.rpi.edu (localhost [127.0.0.1]) by smtp-auth2.server.rpi.edu (Postfix) with ESMTP id 5F8E518084; Mon, 31 Dec 2018 22:23:31 -0500 (EST) Received: from [192.168.2.33] (cpe-72-224-11-59.nycap.res.rr.com [72.224.11.59]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: drosih) by smtp-auth2.server.rpi.edu (Postfix) with ESMTPSA id 22DBB1805C; Mon, 31 Dec 2018 22:23:31 -0500 (EST) From: "Garance A Drosehn" To: "Brian Neal" Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components Date: Mon, 31 Dec 2018 22:23:30 -0500 X-Mailer: MailMate (1.12.3r5579) Message-ID: <72922F2C-9D27-47AA-BB1C-2DA8589CF008@rpi.edu> In-Reply-To: <7d7bc47d-04cf-2f9b-00a3-e3d9d92b3623@aceshardware.com> References: <7d7bc47d-04cf-2f9b-00a3-e3d9d92b3623@aceshardware.com> MIME-Version: 1.0 X-Virus-Scanned: ClamAV using ClamSMTP X-Bayes-Prob: 0.0001 (Score 0, tokens from: outgoing, @@RPTN) X-Spam-Score: 0.00 () [Hold at 10.10] HTML_MESSAGE:0.001 X-CanIt-Incident-Id: 02XiPnvgW X-CanIt-Geo: ip=72.224.11.59; country=US; region=New York; city=Troy; latitude=42.7495; longitude=-73.5951; http://maps.google.com/maps?q=42.7495,-73.5951&z=6 X-CanItPRO-Stream: outgoing X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.229 X-Rspamd-Queue-Id: DFD476B30B X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dmarc=pass (policy=none) header.from=rpi.edu; spf=pass (mx1.freebsd.org: domain of drosih@rpi.edu designates 128.113.2.229 as permitted sender) smtp.mailfrom=drosih@rpi.edu X-Spamd-Result: default: False [-3.59 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:128.113.2.225/28]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[229.2.113.128.list.dnswl.org : 127.0.11.2]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[rpi.edu,none]; MX_GOOD(-0.01)[mail.rpi.edu]; IP_SCORE(-0.02)[country: US(-0.08)]; NEURAL_HAM_SHORT(-0.56)[-0.564,0]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; ASN(0.00)[asn:91, ipnet:128.113.0.0/16, country:US]; MID_RHS_MATCH_FROM(0.00)[] Content-Type: text/plain; format=flowed X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 03:31:52 -0000 On 31 Dec 2018, at 23:04, Brian Neal wrote: > This is a good read on some of the pitfalls of Rust: > > https://hackernoon.com/why-im-dropping-rust-fd1c32986c88 > > In terms of performance, take a look at Rust on godbolt...a quick test > I just ran with a trivial program that sums up a sequence of odd > numbers is 29 instructions in C on clang 7.0 and a whopping 137 (!!!) > on rustc 1.31.0! > > Crazy... Did you compile your program as a "release build", or just as a standard (quick) build? -- Garance Alistair Drosehn = drosih@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA From owner-freebsd-hackers@freebsd.org Tue Jan 1 03:40:25 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 62A791426333 for ; Tue, 1 Jan 2019 03:40:25 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp9.server.rpi.edu (smtp9.server.rpi.edu [128.113.2.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "canit.localdomain", Issuer "canit.localdomain" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C6D326B7EF; Tue, 1 Jan 2019 03:40:24 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp-auth1.server.rpi.edu (route.canit.rpi.edu [128.113.2.231]) by smtp9.server.rpi.edu (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x013eL9E005207 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 31 Dec 2018 22:40:21 -0500 Received: from smtp-auth1.server.rpi.edu (localhost [127.0.0.1]) by smtp-auth1.server.rpi.edu (Postfix) with ESMTP id 53BDA58056; Mon, 31 Dec 2018 22:40:21 -0500 (EST) Received: from [192.168.2.33] (cpe-72-224-11-59.nycap.res.rr.com [72.224.11.59]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: drosih) by smtp-auth1.server.rpi.edu (Postfix) with ESMTPSA id B4C5C58048; Mon, 31 Dec 2018 22:40:20 -0500 (EST) From: "Garance A Drosehn" To: "Igor Mozolevsky" Cc: "Hackers freeBSD" Subject: Re: Speculative: Rust for base system components Date: Mon, 31 Dec 2018 22:40:19 -0500 X-Mailer: MailMate (1.12.3r5579) Message-ID: <3E0C78EF-FBCC-4E7B-BD39-8A27322CDA8C@rpi.edu> In-Reply-To: References: <5B476178-4D09-486F-AC58-47CB04965335@FreeBSD.org> <2C39D05E-E855-4FCE-82CF-83EA4AE9F84A@FreeBSD.org> MIME-Version: 1.0 X-Virus-Scanned: ClamAV using ClamSMTP X-Bayes-Prob: 0.0001 (Score 0, tokens from: outgoing, @@RPTN) X-Spam-Score: 0.01 () [Hold at 10.10] HTML_MESSAGE:0.001, T_TVD_MIME_NO_HEADERS:0.01 X-CanIt-Incident-Id: 02XiPEll7 X-CanIt-Geo: ip=72.224.11.59; country=US; region=New York; city=Troy; latitude=42.7495; longitude=-73.5951; http://maps.google.com/maps?q=42.7495,-73.5951&z=6 X-CanItPRO-Stream: outgoing X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.229 X-Rspamd-Queue-Id: C6D326B7EF X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dmarc=pass (policy=none) header.from=rpi.edu; spf=pass (mx1.freebsd.org: domain of drosih@rpi.edu designates 128.113.2.229 as permitted sender) smtp.mailfrom=drosih@rpi.edu X-Spamd-Result: default: False [-0.26 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; FROM_HAS_DN(0.00)[]; R_MISSING_CHARSET(2.50)[]; R_SPF_ALLOW(-0.20)[+ip4:128.113.2.225/28]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_LONG(-1.00)[-0.996,0]; NEURAL_SPAM_SHORT(0.06)[0.061,0]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[229.2.113.128.list.dnswl.org : 127.0.11.2]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[rpi.edu,none]; MX_GOOD(-0.01)[cached: mail.rpi.edu]; MIME_HTML_ONLY(0.20)[]; IP_SCORE(-0.02)[country: US(-0.08)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; ASN(0.00)[asn:91, ipnet:128.113.0.0/16, country:US]; FORGED_RECIPIENTS(0.00)[igor@hybrid-lab.co.uk ..,gad@FreeBSD.org ...]; MID_RHS_MATCH_FROM(0.00)[] Content-Type: text/plain X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 03:40:25 -0000 On 31 Dec 2018, at 19:53, Igor Mozolevsky wrote: > On Tue, 1 Jan 2019 at 00:30, Garance A Drosehn wrote: > >> There's one program written in rust which I use a lot, which is >> called 'ripgrep' (or 'rg' for short). It's one of the few programs >> which I install via pre-compiled pkgs, because I don't want to wait >> for all the time it takes to compile a release-build. But I'm very >> happy with how fast the program runs. > > And what metric is that against? I'm very happy with the speed jQuery > is executed in my browser, but that's no reasonable metric to argue > that JavaScript is a suitable language for the kernel... I mentioned that program so each person could test it for themselves, using whatever metric that they are comfortable with. It is a self-contained alternative for 'grep', so you can test this one program without pulling in a bunch of other dependencies (as long as you install the pre-compiled package). And it has some nice features which people might want to play with. So if someone *wanted* to see a useful program which happens to be written in rust, then this might be a good one to try. And it seems to me that 'grep' is a good example of the kind of base-system component which could be rewritten in rust. Note that 'grep' is not part of the kernel. I'm sure we'd need to have a *lot* more experience with rust (like, many years of experience) before we'd talk about rewriting the kernel in rust. (or in any other language). In case it isn't obvious, my position is that we need more developers who have real-world experience writing real programs in rust before we add it to the base system. IMO, we should not add rust and then "hope" someone will find a glorious use for it. However, I also think that rust is interesting enough that it would be good if some of us could spend some time (out of our copious spare time) to gain that experience. And a happy new year to all, with or without rust. -- Garance Alistair Drosehn = drosih@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA From owner-freebsd-hackers@freebsd.org Tue Jan 1 03:53:05 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0C3F1426A5F for ; Tue, 1 Jan 2019 03:53:04 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-oi1-f171.google.com (mail-oi1-f171.google.com [209.85.167.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A3DD86C145 for ; Tue, 1 Jan 2019 03:53:03 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-oi1-f171.google.com with SMTP id y23so22887035oia.4 for ; Mon, 31 Dec 2018 19:53:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=qulsCrqI5Tt5jWrtqeygn9+GfWQ1KczxZdYY8XdHzEo=; b=VUXqEaEM/z6Q8offFel7rAhMu7fA5O/tSUPIh5F8K0rJv4j//nxu+BjwS3AI2NNBsA 5oy1Gn4USXadNdDjkCVlTz+0vBcTHqBtDb/VjM+2k9Nmp5rLuNqNVxTmEZWXZcEm8WIg cKEssBYHAOTqznlqWWN73LgZZ0Tf22TG11RCfsu6uf7plknjdl/JRejeY7MLvl+ypF1z lbjhnpK/LDh47ghRdpw2TayQwZldyCJaEEJ8gxHn6t0DIG0bGd9vpJf50eSzXjE3VQsl ehMc9OdUE0+ngjiyfeJfIGIeCOm36grdl0l5JUMRo+WhLK3daJ3iy+G9vaiKJAPNz67Z 5xkg== X-Gm-Message-State: AA+aEWZWH5qJCsWiEvSku8e+ARZ3rc3rmGlJmhinBS2ar/PsCSszGuaC vcTH2hV7stxAjHolrUi+4oe6RYsgyoO6Gsss9SM= X-Google-Smtp-Source: AFSGD/U+AzCe24mBbd/ZaXudS+3+mZk0LoaVnr4GEu+dsg6xNLPhHvNDQKlhwL2Mg8Yqph2d/vxjC718BTxP/uZBjSE= X-Received: by 2002:aca:5987:: with SMTP id n129mr27120519oib.174.1546314460160; Mon, 31 Dec 2018 19:47:40 -0800 (PST) MIME-Version: 1.0 References: <5B476178-4D09-486F-AC58-47CB04965335@FreeBSD.org> <2C39D05E-E855-4FCE-82CF-83EA4AE9F84A@FreeBSD.org> <3E0C78EF-FBCC-4E7B-BD39-8A27322CDA8C@rpi.edu> In-Reply-To: <3E0C78EF-FBCC-4E7B-BD39-8A27322CDA8C@rpi.edu> From: Igor Mozolevsky Date: Tue, 1 Jan 2019 03:47:03 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Garance A Drosehn Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: A3DD86C145 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.167.171 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-4.03 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[hybrid-lab.co.uk]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[171.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.94)[-0.942,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; IP_SCORE(-1.08)[ipnet: 209.85.128.0/17(-3.77), asn: 15169(-1.56), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 03:53:05 -0000 On Tue, 1 Jan 2019 at 03:40, Garance A Drosehn wrote: > > On 31 Dec 2018, at 19:53, Igor Mozolevsky wrote: > > On Tue, 1 Jan 2019 at 00:30, Garance A Drosehn wrote: > > There's one program written in rust which I use a lot, which is > called 'ripgrep' (or 'rg' for short). It's one of the few programs > which I install via pre-compiled pkgs, because I don't want to wait > for all the time it takes to compile a release-build. But I'm very > happy with how fast the program runs. > > And what metric is that against? I'm very happy with the speed jQuery > is executed in my browser, but that's no reasonable metric to argue > that JavaScript is a suitable language for the kernel... > > I mentioned that program so each person could test it for themselves, > using whatever metric that they are comfortable with. I think you missed the point I was trying to make: you're comparing apples and oranges---sure, they are (for most part) round, but they're different! What you need is the implementation of the same algorithm in both C and Rust and then we can talk... Happy New Year! -- Igor M. From owner-freebsd-hackers@freebsd.org Tue Jan 1 04:56:50 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2D5921429B6E for ; Tue, 1 Jan 2019 04:56:50 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 468856E06F for ; Tue, 1 Jan 2019 04:56:49 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id eC6Zg2WSRMRX3eC6bgoJfO; Mon, 31 Dec 2018 21:56:42 -0700 X-Authority-Analysis: v=2.3 cv=TL87tGta c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=2ur7OfE09M0A:10 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=vvzosrtTAAAA:8 a=Ofe6fo_zVooZrGZRseMA:9 a=AJZMNjc9IcVIAMjZ:21 a=hd3Si3qSQCE92TGK:21 a=CjuIK1q_8ugA:10 a=IbAY260OsewNE5rVKrYA:9 a=OCSuzvj7zX-U5Q_V:21 a=WztyDnbMTeHV5Z1n:21 a=Hjx-5RhAHx5_kPDk:21 a=_W_S_7VecoQA:10 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 a=Yh4UkvJ32wUMdh-0CJ9c:22 Received: from [25.170.88.176] (unknown [24.114.39.231]) by spqr.komquats.com (Postfix) with ESMTPSA id D280E1F56; Mon, 31 Dec 2018 20:56:38 -0800 (PST) MIME-Version: 1.0 From: Cy Schubert Subject: RE: Speculative: Rust for base system components Date: Mon, 31 Dec 2018 20:56:46 -0800 To: Peter Jeremy , Igor Mozolevsky CC: Hackers freeBSD Message-Id: <20190101045638.D280E1F56@spqr.komquats.com> X-CMAE-Envelope: MS4wfHO0QRfS4W3++B2sY8ag8c85ejSrZfNOZIqd6eyUPPVW/ItyX7yzJpt3/LjDEir/OXLcYW5IL4bIuex+1dgkzvHNoyYEEcUONOhzUeCDIDfSCGxxRMkR MmV8/prruO7rlA6gmQUpS2y+FxqGFLoHy5deR+dYm1RyCY7UI6nuafgatDkGbAb+efYJDYwHVjftTgCo+qfFE7V8UI42TQur6oiqS+wXvz3YEDR0w/zJ8pV3 MqnfqqTh+bdNBoAATT8MGA== X-Rspamd-Queue-Id: 468856E06F X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.33 / 15.00]; ARC_NA(0.00)[]; FAKE_REPLY(1.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; IP_SCORE(-2.14)[ip: (-6.29), ipnet: 64.59.128.0/20(-2.40), asn: 6327(-1.92), country: CA(-0.09)]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.98)[-0.982,0]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[13.134.59.64.list.dnswl.org : 127.0.5.1] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 04:56:50 -0000 What would having another language in base buy us? This reminds me of a cou= ple of months ago at OpenHack Victoria someone was trying to convince me th= at the kernel needed a JavaVM. (Sure we each had a few beers) but the simil= arity of this discussion doesn't escape me. Kernel modules and functions wr= itten in java^H^H^H^H rust: why? --- Sent using a tiny phone keyboard. Apologies for any typos and autocorrect. Also, this old phone only supports top post. Apologies. Cy Schubert or The need of the many outweighs the greed of the few. --- -----Original Message----- From: Peter Jeremy Sent: 31/12/2018 18:48 To: Igor Mozolevsky Cc: Hackers freeBSD Subject: Re: Speculative: Rust for base system components On 2019-Jan-01 00:53:48 +0000, Igor Mozolevsky wrot= e: >Quite frankly the compile time isn't really *that* important, I disagree. FreeBSD seems to be heading back to the batch days - you submit your buildworld request and come back tomorrow to see if it worked. That is a significant hinderance to development and, based on various mailing list comments, is causing breakage because developers are cutting corners due to the pain involved in running "make universe" before they make a large change. >longer (if not much longer) build times might push toward a better >modularisation and compartmentalisation of the OS and the kernel so a >small change in the kernel, for example, doesn't require the >recompilation of the whole damn thing when nothing else is affected. Two problems here: 1) make doesn't seem to be sufficient to correctly describe a dependency tree to allow incremental/partial builds (at, everyone I'm aware of who has a successful incremental build system has started by migrating off make). This means that a significant part of the work will be re-writing the FreeBSD build system into something else like (eg) Bazel. 2) The bottleneck very quickly turns into the linker. --=20 Peter Jeremy From owner-freebsd-hackers@freebsd.org Tue Jan 1 06:16:56 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DD5F8148DF17 for ; Tue, 1 Jan 2019 06:16:55 +0000 (UTC) (envelope-from damjan.jov@gmail.com) Received: from mail-oi1-x229.google.com (mail-oi1-x229.google.com [IPv6:2607:f8b0:4864:20::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DF0FA812BA for ; Tue, 1 Jan 2019 06:16:54 +0000 (UTC) (envelope-from damjan.jov@gmail.com) Received: by mail-oi1-x229.google.com with SMTP id i6so22974012oia.6 for ; Mon, 31 Dec 2018 22:16:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=xSC0jbB4lgDxdP7JXyuwSnOAVESc0L37TeYLcxzdOps=; b=SDu6FZYxcU9fdJkvoLwU28pahGyORD6Vvb+Qy6oICPgmMTwh2eYG85zka1jli2Jeu2 IrRzpvE7Jj7C1J/4MW6n+VJU0sTCLQkosDX323/bjuofTEJYIGtGBlMQFrfVUOXT06lv lotYvAhauFlLraQuoKHjwoxfRGDopxheDg8l6e//BvvZaLfPhVjFVcPNvjbrRL8LTD5Q e1SN6cRWQnW/5o5qGeMlLfamJmjfMFO2aL7d7Dq4zdIO5JdmkTmfqUboQSpBvgkKhTyj M/Llz/p0si9IfEMLZLJIo5y9p4+Tu9Rj1Rt8M1HgnhdJRODEzaCco2fdq/oC95p1jYL0 e4NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=xSC0jbB4lgDxdP7JXyuwSnOAVESc0L37TeYLcxzdOps=; b=NARp6PCBJ1yRHfDxEYIDuzupLzXKSk5EHJcr2nVoG3nEFIQ/ABy0lttAT/s9uOJ9Fm 6h2vr6y5d8U6QLyX6CHErU6V7sQfWNs7o+oqXCsGkGwIR8e2YSinMfByi1Qi+nuurp7U z0piAAXz+7d7td2J5fJoQYvF9HpPK3ZSEnOTohNlIY1yqT9hv3YNm3mL41/j10FAKQVr H1MtGYUcp1arKKKYG1S8F1okScdTLuZeO9dP1J04nIrXEKK95U5ln/isz/+2ME2pqVGu AEmdZt8tv54cHPCpeVOLJV6hOHvwaAEZ9rJqEOeUYnAe3UNgSx8Ol4+1hVlGfe+eBrr/ r4IA== X-Gm-Message-State: AJcUukeoubmVd8L+Ey/+++nz2hDt2bdYbQ3VbF4igya9FFjrB1GV/Iy9 opTpfNb3QpxlwNr52c2HC4MlDwq14ljcoQWoW9/zUt7GgLL3GQ== X-Google-Smtp-Source: AFSGD/Xf1F8NfQdYPXXa6hSKYKR2JJi12g9Db6i875LcjcKF2XIJWFI7A2N3yTpJZDAwUo5B/u5sXxngipHiUdU50NQ= X-Received: by 2002:aca:e5cb:: with SMTP id c194mr25442526oih.175.1546323413867; Mon, 31 Dec 2018 22:16:53 -0800 (PST) MIME-Version: 1.0 References: <20190101045638.D280E1F56@spqr.komquats.com> In-Reply-To: <20190101045638.D280E1F56@spqr.komquats.com> From: Damjan Jovanovic Date: Tue, 1 Jan 2019 08:14:47 +0200 Message-ID: Subject: Re: Speculative: Rust for base system components To: Cy Schubert Cc: Hackers freeBSD X-Rspamd-Queue-Id: DF0FA812BA X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=SDu6FZYx; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of damjanjov@gmail.com designates 2607:f8b0:4864:20::229 as permitted sender) smtp.mailfrom=damjanjov@gmail.com X-Spamd-Result: default: False [-5.44 / 15.00]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.10)[0.100,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[9.2.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.53)[ip: (-9.03), ipnet: 2607:f8b0::/32(-1.96), asn: 15169(-1.57), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 06:16:56 -0000 Kernel modules in Rust might benefit from the better type checking and thus less memory leaks, less memory corruption, etc. but they are usually small anyway so it's probably not worth it. The bigger benefit of running Java applications (not device drivers) in the kernel is performance. If applications run in kernel mode, context switching between kernel threads is much faster than user threads, system calls just become function calls, etc. Unlike C, Java can be sandboxed (at least in theory), and lack of native pointers and memory safety ensure it cannot access hardware directly anyway, so the rest of the system is still protected. Around 2005, Microsoft Research made Singularity OS, which used such techniques to run safely C# applications in the kernel, and it was about 20% faster than C in user space. On Tue, Jan 1, 2019 at 6:59 AM Cy Schubert wrote: > What would having another language in base buy us? This reminds me of a > couple of months ago at OpenHack Victoria someone was trying to convince me > that the kernel needed a JavaVM. (Sure we each had a few beers) but the > similarity of this discussion doesn't escape me. Kernel modules and > functions written in java^H^H^H^H rust: why? > > --- > Sent using a tiny phone keyboard. > Apologies for any typos and autocorrect. > Also, this old phone only supports top post. Apologies. > > Cy Schubert > or > The need of the many outweighs the greed of the few. > --- > > -----Original Message----- > From: Peter Jeremy > Sent: 31/12/2018 18:48 > To: Igor Mozolevsky > Cc: Hackers freeBSD > Subject: Re: Speculative: Rust for base system components > > On 2019-Jan-01 00:53:48 +0000, Igor Mozolevsky > wrote: > >Quite frankly the compile time isn't really *that* important, > > I disagree. FreeBSD seems to be heading back to the batch days - you > submit your buildworld request and come back tomorrow to see if it worked. > That is a significant hinderance to development and, based on various > mailing list comments, is causing breakage because developers are cutting > corners due to the pain involved in running "make universe" before they > make a large change. > > >longer (if not much longer) build times might push toward a better > >modularisation and compartmentalisation of the OS and the kernel so a > >small change in the kernel, for example, doesn't require the > >recompilation of the whole damn thing when nothing else is affected. > > Two problems here: > 1) make doesn't seem to be sufficient to correctly describe a dependency > tree to allow incremental/partial builds (at, everyone I'm aware of who > has a successful incremental build system has started by migrating off > make). This means that a significant part of the work will be re-writing > the FreeBSD build system into something else like (eg) Bazel. > 2) The bottleneck very quickly turns into the linker. > > -- > Peter Jeremy > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" > From owner-freebsd-hackers@freebsd.org Tue Jan 1 06:31:43 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 37781148F07A for ; Tue, 1 Jan 2019 06:31:43 +0000 (UTC) (envelope-from brian@aceshardware.com) Received: from mail.aceshardware.com (mail.aceshardware.com [52.52.37.31]) (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 DE5318331D for ; Tue, 1 Jan 2019 06:31:41 +0000 (UTC) (envelope-from brian@aceshardware.com) Received: from [10.0.0.102] (unknown [71.145.208.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.aceshardware.com (Postfix) with ESMTPSA id E229F20130F; Tue, 1 Jan 2019 06:31:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aceshardware.com; s=dkim; t=1546324299; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vFciFHFEVwdxuVAE5dnDrhMhmzFOw5omiLWaWA7cJqQ=; b=V6yHyX3DoL8Cj6BAtnuuPSTmNFdQ785fOY7tjUcmXSHf2YD+waS3+Txtm6okzQxt7R5MyR QaWF8kMNjdjQC6cs5euiBw1hGfB9cnOnloWz8TsmZvHLrf7mWit/SOsGx8kpNzOCg82ZfT qcDaH+o8vTFdAC9uLAbrGF0GyfroV1/KDcW+NFzqE85hHra9gVI3J3F0QWBvIROKXZub6e tn0JAlK897tzhVDsp/iFKY7iVdnjR3No2aorB/NmClG4wHDGpqBuShIrdLEqvsLvA0YeD2 qw96wLE3GomB2MeThcpdD9k2kRcL6PfFRBu5j29XdeLPmCL03nhHbbMsoZ24dA== Subject: Re: Speculative: Rust for base system components To: Garance A Drosehn Cc: freebsd-hackers@freebsd.org References: <7d7bc47d-04cf-2f9b-00a3-e3d9d92b3623@aceshardware.com> <72922F2C-9D27-47AA-BB1C-2DA8589CF008@rpi.edu> From: Brian Neal Message-ID: <92bd5362-d898-aa12-8f3d-9fbe23f38e0c@aceshardware.com> Date: Mon, 31 Dec 2018 23:32:09 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.0 MIME-Version: 1.0 In-Reply-To: <72922F2C-9D27-47AA-BB1C-2DA8589CF008@rpi.edu> Content-Language: en-US X-Rspamd-Queue-Id: DE5318331D X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=aceshardware.com header.s=dkim header.b=V6yHyX3D; dmarc=pass (policy=none) header.from=aceshardware.com X-Spamd-Result: default: False [-3.05 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[aceshardware.com:s=dkim]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.04)[0.044,0]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[aceshardware.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[aceshardware.com,none]; MX_GOOD(-0.01)[cached: mail.aceshardware.com]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; IP_SCORE(-0.28)[ipnet: 52.52.0.0/15(-0.11), asn: 16509(-1.22), country: US(-0.08)]; ASN(0.00)[asn:16509, ipnet:52.52.0.0/15, country:US]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 06:31:43 -0000 It was a debug build with no optimization for either compiler. But we can easily run a variety of settings for comparison: Compiler              Flags                 Inst. Count Build Time ====================================================================== clang 7.0.0           none                           33 296ms                       -O3                            23 341ms rustc 1.31.0          none                          110 606ms                       -C opt-level=3                 67 643ms gcc 8.2               none                           37 211ms                       -O2                            24 249ms                       -O3                          119* 206ms * With -O3, gcc unrolled and vectorized the loop. The other compilers did not emit vectorized code at any of the standard optimization levels. So, essentially, double the build time and ~3 times the code for the same logic. On 12/31/2018 7:23 PM, Garance A Drosehn wrote: > > On 31 Dec 2018, at 23:04, Brian Neal wrote: > > This is a good read on some of the pitfalls of Rust: > > https://hackernoon.com/why-im-dropping-rust-fd1c32986c88 > > In terms of performance, take a look at Rust on godbolt...a quick > test I just ran with a trivial program that sums up a sequence of > odd numbers is 29 instructions in C on clang 7.0 and a whopping > 137 (!!!) on rustc 1.31.0! > > Crazy... > > Did you compile your program as a "release build", or just as a > standard (quick) build? > > -- > Garance Alistair Drosehn = drosih@rpi.edu > Senior Systems Programmer or gad@FreeBSD.org > Rensselaer Polytechnic Institute; Troy, NY; USA > From owner-freebsd-hackers@freebsd.org Tue Jan 1 08:00:30 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 566BA1421D70 for ; Tue, 1 Jan 2019 08:00:30 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 5318C89990 for ; Tue, 1 Jan 2019 08:00:29 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id eEyJgT7Fk82YceEyKgEK7p; Tue, 01 Jan 2019 01:00:21 -0700 X-Authority-Analysis: v=2.3 cv=NNSrBHyg c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=xfDLHkLGAAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=vvzosrtTAAAA:8 a=BSQElrNbAAAA:8 a=vUPWEWiMAAAA:8 a=JWQBLmsMjAVFHeIbQi4A:9 a=tNccYuw41oiB4F14:21 a=pXftPBHPoqHe86gL:21 a=x1R0UGTAkW6TYUu2:21 a=CjuIK1q_8ugA:10 a=IfaqVvZgccqrtc8gcwf2:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 a=Yh4UkvJ32wUMdh-0CJ9c:22 a=1qJf2DZE6a0S-owCXwfk:22 a=s3Yi14Of9AgBIP63TAoC:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 03D8B24F2; Tue, 1 Jan 2019 00:00:19 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x0180Ic8058671; Tue, 1 Jan 2019 00:00:18 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x0180Is3058668; Tue, 1 Jan 2019 00:00:18 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901010800.x0180Is3058668@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Damjan Jovanovic cc: Cy Schubert , Hackers freeBSD Subject: Re: Speculative: Rust for base system components In-Reply-To: Message from Damjan Jovanovic of "Tue, 01 Jan 2019 08:14:47 +0200." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 01 Jan 2019 00:00:18 -0800 X-CMAE-Envelope: MS4wfLjb7mmd+ybD5szyaBzGB+tsyZ2aRxWbGKCsJADo4PK2il3y7fLRGLZ7ipOX0n3mo22W5FBGhO4DH8SdrCpmACm2PaDEP3lr6DcIDqTjND87jAPLrbBZ UmphRLb539c6q0pOe9SPpOxwHXylHXZSvrY7U3DZMwMnYmlOfeFMz1co9fsvCvhavc3jAhpwQXVGvXfeWtZgYWuxfhQCBvnS3oyZl5+Wju4T818AovVr3AMS X-Rspamd-Queue-Id: 5318C89990 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-3.88 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; MV_CASE(0.50)[]; HAS_XAW(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.54)[-0.542,0]; FREEMAIL_TO(0.00)[gmail.com]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_LOW(-0.10)[139.136.59.64.list.dnswl.org : 127.0.5.1]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_COUNT_FIVE(0.00)[5]; REPLYTO_EQ_FROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_NA(0.00)[]; IP_SCORE(-1.62)[ip: (-3.69), ipnet: 64.59.128.0/20(-2.41), asn: 6327(-1.93), country: CA(-0.09)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 08:00:30 -0000 In message , Damjan Jovanovic writes: > --000000000000caa538057e5f7945 > Content-Type: text/plain; charset="UTF-8" > > Kernel modules in Rust might benefit from the better type checking and thus > less memory leaks, less memory corruption, etc. but they are usually small > anyway so it's probably not worth it. > > The bigger benefit of running Java applications (not device drivers) in the > kernel is performance. If applications run in kernel mode, context > switching between kernel threads is much faster than user threads, system > calls just become function calls, etc. Unlike C, Java can be sandboxed (at > least in theory), and lack of native pointers and memory safety ensure it > cannot access hardware directly anyway, so the rest of the system is still > protected. Around 2005, Microsoft Research made Singularity OS, which used > such techniques to run safely C# applications in the kernel, and it was > about 20% faster than C in user space. Microsoft renders fonts in the kernel too. Look at the (security) trouble that that's caused them. C++ exception handling (which can be "muted" and not recommended) isn't best practice for kernel programming. Are you sure you want C++, C#, Java, Javascript (also discussed at OpenHack), or rust in the kernel. Really? Not being rhetorical here but Microsoft isn't a great a example of we should strive for. I'm with Warner. No. Rust should remain in ports. Apps that depend on rust should be in ports. Optional kernel modules should also be in ports. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. > On Tue, Jan 1, 2019 at 6:59 AM Cy Schubert > wrote: > > > What would having another language in base buy us? This reminds me of a > > couple of months ago at OpenHack Victoria someone was trying to convince me > > that the kernel needed a JavaVM. (Sure we each had a few beers) but the > > similarity of this discussion doesn't escape me. Kernel modules and > > functions written in java^H^H^H^H rust: why? > > > > --- > > Sent using a tiny phone keyboard. > > Apologies for any typos and autocorrect. > > Also, this old phone only supports top post. Apologies. > > > > Cy Schubert > > or > > The need of the many outweighs the greed of the few. > > --- > > > > -----Original Message----- > > From: Peter Jeremy > > Sent: 31/12/2018 18:48 > > To: Igor Mozolevsky > > Cc: Hackers freeBSD > > Subject: Re: Speculative: Rust for base system components > > > > On 2019-Jan-01 00:53:48 +0000, Igor Mozolevsky > > wrote: > > >Quite frankly the compile time isn't really *that* important, > > > > I disagree. FreeBSD seems to be heading back to the batch days - you > > submit your buildworld request and come back tomorrow to see if it worked. > > That is a significant hinderance to development and, based on various > > mailing list comments, is causing breakage because developers are cutting > > corners due to the pain involved in running "make universe" before they > > make a large change. > > > > >longer (if not much longer) build times might push toward a better > > >modularisation and compartmentalisation of the OS and the kernel so a > > >small change in the kernel, for example, doesn't require the > > >recompilation of the whole damn thing when nothing else is affected. > > > > Two problems here: > > 1) make doesn't seem to be sufficient to correctly describe a dependency > > tree to allow incremental/partial builds (at, everyone I'm aware of who > > has a successful incremental build system has started by migrating off > > make). This means that a significant part of the work will be re-writing > > the FreeBSD build system into something else like (eg) Bazel. > > 2) The bottleneck very quickly turns into the linker. > > > > -- > > Peter Jeremy > > _______________________________________________ > > freebsd-hackers@freebsd.org mailing list > > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" > > > > --000000000000caa538057e5f7945 > Content-Type: text/html; charset="UTF-8" > Content-Transfer-Encoding: quoted-printable > >
Kernel modules in Rust might benefit from the better = > type checking and thus less memory leaks, less memory corruption, etc. but = > they are usually small anyway so it's probably not worth it.
<= > div>
The bigger benefit of running Java applications (not dev= > ice drivers) in the kernel is performance. If applications run in kernel mo= > de, context switching between kernel threads is much faster than user threa= > ds, system calls just become function calls, etc. Unlike C, Java can be san= > dboxed (at least in theory), and lack of native pointers and memory safety = > ensure it cannot access hardware directly anyway, so the rest of the system= > is still protected. Around 2005, Microsoft Research made Singularity OS, w= > hich used such techniques to run safely C# applications in the kernel, and = > it was about 20% faster than C in user space.

ail_quote">
On Tue, Jan 1, 2019 at 6:59 AM Cy Schubert <= > Cy.Schubert@cschubert.com&= > gt; wrote:
px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">What = > would having another language in base buy us? This reminds me of a couple o= > f months ago at OpenHack Victoria someone was trying to convince me that th= > e kernel needed a JavaVM. (Sure we each had a few beers) but the similarity= > of this discussion doesn't escape me. Kernel modules and functions wri= > tten in java^H^H^H^H rust: why?
>
> ---
> Sent using a tiny phone keyboard.
> Apologies for any typos and autocorrect.
> Also, this old phone only supports top post. Apologies.
>
> Cy Schubert
> <Cy.Schub= > ert@cschubert.com> or < =3D"_blank">cy@freebsd.org>
> The need of the many outweighs the greed of the few.
> ---
>
> -----Original Message-----
> From: Peter Jeremy
> Sent: 31/12/2018 18:48
> To: Igor Mozolevsky
> Cc: Hackers freeBSD
> Subject: Re: Speculative: Rust for base system components
>
> On 2019-Jan-01 00:53:48 +0000, Igor Mozolevsky < ybrid-lab.co.uk" target=3D"_blank">igor@hybrid-lab.co.uk> wrote:
> >Quite frankly the compile time isn't really *that* important,
>
> I disagree.=C2=A0 FreeBSD seems to be heading back to the batch days - you<= > br> > submit your buildworld request and come back tomorrow to see if it worked.<= > br> > That is a significant hinderance to development and, based on various
> mailing list comments, is causing breakage because developers are cutting r> > corners due to the pain involved in running "make universe" befor= > e they
> make a large change.
>
> >longer (if not much longer) build times might push toward a better
> >modularisation and compartmentalisation of the OS and the kernel so a r> > >small change in the kernel, for example, doesn't require the
> >recompilation of the whole damn thing when nothing else is affected. > >
> Two problems here:
> 1) make doesn't seem to be sufficient to correctly describe a dependenc= > y
> tree to allow incremental/partial builds (at, everyone I'm aware of who= >
> has a successful incremental build system has started by migrating off
> make).=C2=A0 This means that a significant part of the work will be re-writ= > ing
> the FreeBSD build system into something else like (eg) Bazel.
> 2) The bottleneck very quickly turns into the linker.
>
> --
> Peter Jeremy
> _______________________________________________
> freebsd-ha= > ckers@freebsd.org mailing list
> =3D"noreferrer" target=3D"_blank">https://lists.freebsd.org/mailman/listinf= > o/freebsd-hackers
> To unsubscribe, send any mail to " subscribe@freebsd.org" target=3D"_blank">freebsd-hackers-unsubscribe@freebs= > d.org"
>
> > --000000000000caa538057e5f7945-- From owner-freebsd-hackers@freebsd.org Tue Jan 1 11:24:49 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 443DE143A2DB for ; Tue, 1 Jan 2019 11:24:49 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id 3A2EF69E53 for ; Tue, 1 Jan 2019 11:24:47 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (unknown [192.168.55.3]) by phk.freebsd.dk (Postfix) with ESMTP id 96D8814837; Tue, 1 Jan 2019 11:24:40 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.15.2/8.15.2) with ESMTPS id x01BOdm4044612 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 1 Jan 2019 11:24:39 GMT (envelope-from phk@critter.freebsd.dk) Received: (from phk@localhost) by critter.freebsd.dk (8.15.2/8.15.2/Submit) id x01BOcXn044611; Tue, 1 Jan 2019 11:24:38 GMT (envelope-from phk) To: Cy Schubert cc: Damjan Jovanovic , Hackers freeBSD Subject: Re: Speculative: Rust for base system components In-reply-to: <201901010800.x0180Is3058668@slippy.cwsent.com> From: "Poul-Henning Kamp" References: <201901010800.x0180Is3058668@slippy.cwsent.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <44609.1546341878.1@critter.freebsd.dk> Content-Transfer-Encoding: quoted-printable Date: Tue, 01 Jan 2019 11:24:38 +0000 Message-ID: <44610.1546341878@critter.freebsd.dk> X-Rspamd-Queue-Id: 3A2EF69E53 X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [2.75 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_SPAM_SHORT(0.90)[0.903,0]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.dk]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.08)[0.076,0]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[phk.freebsd.dk]; NEURAL_SPAM_LONG(0.38)[0.376,0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; RCVD_NO_TLS_LAST(0.10)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:1835, ipnet:130.225.0.0/16, country:EU]; FROM_NEQ_ENVFROM(0.00)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; IP_SCORE(0.11)[asn: 1835(0.54), country: EU(-0.00)]; FREEMAIL_CC(0.00)[gmail.com] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 11:24:49 -0000 -------- In message <201901010800.x0180Is3058668@slippy.cwsent.com>, Cy Schubert wr= ites: >I'm with Warner. No. Rust should remain in ports. Apps that depend on = >rust should be in ports. Optional kernel modules should also be in = >ports. And we should get pkgbase pushed across the finish-line and split the most rarely used parts of src into ports as well. -- = Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe = Never attribute to malice what can adequately be explained by incompetence= . From owner-freebsd-hackers@freebsd.org Tue Jan 1 14:37:32 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2987F141A2BD for ; Tue, 1 Jan 2019 14:37:32 +0000 (UTC) (envelope-from jonathan@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C06E170D70; Tue, 1 Jan 2019 14:37:31 +0000 (UTC) (envelope-from jonathan@FreeBSD.org) Received: from [192.168.42.142] (CPE00fc8db75533-CM00fc8db75530.cpe.net.cable.rogers.com [174.114.26.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: jonathan) by smtp.freebsd.org (Postfix) with ESMTPSA id 2FDF52D7E; Tue, 1 Jan 2019 14:37:31 +0000 (UTC) (envelope-from jonathan@FreeBSD.org) From: "Jonathan Anderson" To: "Peter Jeremy" Cc: "Igor Mozolevsky" , "Hackers freeBSD" Subject: Re: Speculative: Rust for base system components Date: Tue, 01 Jan 2019 11:07:28 -0330 X-Mailer: MailMate (1.12.3r5579) Message-ID: In-Reply-To: <20190101024620.GA19629@server.rulingia.com> References: <5B476178-4D09-486F-AC58-47CB04965335@FreeBSD.org> <2C39D05E-E855-4FCE-82CF-83EA4AE9F84A@FreeBSD.org> <20190101024620.GA19629@server.rulingia.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-Rspamd-Queue-Id: C06E170D70 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.96 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.961,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 14:37:32 -0000 On 31 Dec 2018, at 23:16, Peter Jeremy wrote: > 1) make doesn't seem to be sufficient to correctly describe a > dependency > tree to allow incremental/partial builds (at, everyone I'm aware of > who > has a successful incremental build system has started by migrating off > make). This means that a significant part of the work will be > re-writing > the FreeBSD build system into something else like (eg) Bazel. Or Fabrique? :) https://fabriquer.github.io That page is a bit out of date with respect to the language as it currently stands, but the essentials (and the aspirations!) are still the same. Jon -- Jonathan Anderson jonathan@FreeBSD.org From owner-freebsd-hackers@freebsd.org Tue Jan 1 15:50:33 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 70AAA141E218 for ; Tue, 1 Jan 2019 15:50:33 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from mail.metricspace.net (mail.metricspace.net [IPv6:2001:470:1f11:617::107]) by mx1.freebsd.org (Postfix) with ESMTP id EDCF773BB2 for ; Tue, 1 Jan 2019 15:50:32 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from [172.16.0.55] (unknown [172.16.0.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: eric) by mail.metricspace.net (Postfix) with ESMTPSA id 2F23B289B for ; Tue, 1 Jan 2019 15:50:32 +0000 (UTC) Subject: Re: Speculative: Rust for base system components To: freebsd-hackers@freebsd.org References: <20190101045638.D280E1F56@spqr.komquats.com> From: Eric McCorkle Openpgp: preference=signencrypt Autocrypt: addr=eric@metricspace.net; prefer-encrypt=mutual; keydata= mDMEWue2FBYJKwYBBAHaRw8BAQdAP/qVPlXodV6pYO5b1Jw0eFyMhyDD7B5y5eFsciutEfS0 JEVyaWMgTWNDb3JrbGUgPGVyaWNAbWV0cmljc3BhY2UubmV0PoiWBBMWCAA+FiEEDxi/0rkj zd6Uc6cFCN/CKRbBwmwFAlrnthQCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA CgkQCN/CKRbBwmyGKAD/XTSBOItCKcYCPTlsaS1aQYVEwWXXFgdjWE+WsNdZUS8A/AhYAbQZ kNZNimE2rQLoklkfTA74qF/V257NuQi4QDcLuDgEWue2FBIKKwYBBAGXVQEFAQEHQKpZVyCG ync/xqejm2C1HKGXLJTUu38RvnrR3UYECz9nAwEIB4h+BBgWCAAmFiEEDxi/0rkjzd6Uc6cF CN/CKRbBwmwFAlrnthQCGwwFCQHhM4AACgkQCN/CKRbBwmyi2wEAmvaGt8QMjGELzm27gP4c jJGUi7oigsLmTiFPkpJqPz0A+QFBSCvxJaxCMyoVru/xB6bunpJ+Wtsj8HD1EuJOn4EJ Message-ID: Date: Tue, 1 Jan 2019 10:50:28 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <20190101045638.D280E1F56@spqr.komquats.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="tu7wwqLaLNvV59iK66RVuCN4u9LNuo2ra" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 15:50:33 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --tu7wwqLaLNvV59iK66RVuCN4u9LNuo2ra Content-Type: multipart/mixed; boundary="40zQJvQINjrS8i7U0w9C4z0duC53dUJgc"; protected-headers="v1" From: Eric McCorkle To: freebsd-hackers@freebsd.org Message-ID: Subject: Re: Speculative: Rust for base system components References: <20190101045638.D280E1F56@spqr.komquats.com> In-Reply-To: <20190101045638.D280E1F56@spqr.komquats.com> --40zQJvQINjrS8i7U0w9C4z0duC53dUJgc Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 12/31/18 11:56 PM, Cy Schubert wrote: > What would having another language in base buy us? This reminds me of a= couple of months ago at OpenHack Victoria someone was trying to convince= me that the kernel needed a JavaVM. (Sure we each had a few beers) but t= he similarity of this discussion doesn't escape me. Kernel modules and fu= nctions written in java^H^H^H^H rust: why? I don't think that's a fair comparison at all. Rust is a systems language built around zero-cost abstractions that is usable for developing real embedded code. Java is a completely different animal, and there is no reasonable case for a Java VM in the kernel/loader. I'm all for discussion and criticism of this, that's why I posted it, but I don't think these kinds of false equivalences are helpful. --40zQJvQINjrS8i7U0w9C4z0duC53dUJgc-- --tu7wwqLaLNvV59iK66RVuCN4u9LNuo2ra Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQPGL/SuSPN3pRzpwUI38IpFsHCbAUCXCuMRAAKCRAI38IpFsHC bHY3AQCDvPAHFbW1JT3DBWwCkudLd5Bntp3gY3ndp+1Teniu3wEA1A7EuCvvQHU5 7VijnVFjFc9awBL0qNGEtMTgIzGw+AM= =wwev -----END PGP SIGNATURE----- --tu7wwqLaLNvV59iK66RVuCN4u9LNuo2ra-- From owner-freebsd-hackers@freebsd.org Tue Jan 1 16:23:00 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2EE7A141F7BC for ; Tue, 1 Jan 2019 16:23:00 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 13F5275267 for ; Tue, 1 Jan 2019 16:22:58 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: by sdaoden.eu (Postfix, from userid 1000) id CEC781604A; Tue, 1 Jan 2019 17:22:56 +0100 (CET) Date: Tue, 01 Jan 2019 17:23:16 +0100 From: Steffen Nurpmeso To: Bakul Shah Cc: Rozhuk Ivan , "freebsd-hackers@freebsd.org" , Volker Lendecke Subject: Re: Speculative: Rust for base system components Message-ID: <20190101162316.wa1vN%steffen@sdaoden.eu> In-Reply-To: <20190101015536.A54DF156E410@mail.bitblocks.com> References: <20181231160738.j4gow437liu7urjy@sernet.de> <20181231221030.6471937e@rimwks> <20181231201423.mJwUS%steffen@sdaoden.eu> <20190101015536.A54DF156E410@mail.bitblocks.com> Mail-Followup-To: Bakul Shah , Rozhuk Ivan , "freebsd-hackers@freebsd.org" , Volker Lendecke User-Agent: s-nail v14.9.11-123-g49d1a5c2 OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. X-Rspamd-Queue-Id: 13F5275267 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of steffen@sdaoden.eu designates 217.144.132.164 as permitted sender) smtp.mailfrom=steffen@sdaoden.eu X-Spamd-Result: default: False [-0.13 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.90)[-0.899,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+a]; NEURAL_HAM_LONG(-0.75)[-0.746,0]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[sdaoden.eu]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.83)[0.827,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: sdaoden.eu]; MID_CONTAINS_FROM(1.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15987, ipnet:217.144.128.0/20, country:DE]; FREEMAIL_CC(0.00)[gmail.com]; IP_SCORE(-0.00)[country: DE(-0.01)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 16:23:00 -0000 Bakul Shah wrote in <20190101015536.A54DF156E410@mail.bitblocks.com>: |On Mon, 31 Dec 2018 21:14:23 +0100 Steffen Nurpmeso \ |wrote: |> Rozhuk Ivan wrote in <20181231221030.6471937e@rimwks>: |>|On Mon, 31 Dec 2018 17:07:38 +0100 |>|Volker Lendecke wrote: |>| |>|> Not being involved in FreeBSD but in Samba, I could see a migration of |>|> parts of Samba to Rust if it had a Rust->C translator. I think for |>|> FreeBSD base components similar arguments would apply. You could ship |>|> the C output for the platforms that don't have native Rust. |>| |>|Rust is modern geeks toy by mozilla. |>|Just waste ot time, without any real profits. |> |> I vote for Nim (former Nimrod is no more). | |So do I but it doesn't make sense to add any new language to |the base system without having a number of absolutely |essential programs written in that language that must also be |included in the base system. Even at that point, using any |such language for writing kernel code is madness. There are |millions of lines of C kernel code which are not going to |benefit in any way from the new language. Remember that except |for drivers the kernel is essentially a single binary. GC |becomes much less of an issue for user programs. Of course not (imho), why not?, kernel-me? no!, and bloats of undocumented sysctl knobs there too!, and a very large one! Yes, nim uses gc. It is converted to native C[/C++/JavaScript] and then compiled. Oh - i for one would wish that C++ would be nothing than a layer on top of the current ISO C standard (weird enough), and could be dispatched in a C++-preprocessed form, so that TinyCC, pcc and all the rest could be used to compile it. (Not on FreeBSD of course, where those are broken, or were once i last tried.) All i was saying is that Julia and Nim are good languages. I like the latter the most. It is for real-life programmers. |I'd rather see a much smaller base, with pkg install for |various typical user types. Things get damaged. Things get broken. And i am almost away. (I have no Phabricator account.) I shake my head often. Unforgotten for example the claim "multi-column layout seems to have never worked" from a core team member when some old but great document by some "danish dynamite" has been thrown away (to packages). I seem to remember it that way (sorry if false). I am not an administrator, and i am almost not using perl anymore for new things, there are not many of those, and if i try to go sh -> awk -> perl and seldom have the needs to reach the end of that pipeline. But perl is a text processing language with full Unicode support and no doubts is a helpful hand to many, take email and you find git send-email (not me however), spam checking, dkim and other such server side stuff. Log parsing. An admin needs something, you hack it out of the box, from within the box. Now as a package, i seemed to have understood the reasoning. About this thread: i would have understood on April 1st. Ciao, require the last for the things which i need to do Aren't there 100000 packages already? --End of <20190101015536.A54DF156E410@mail.bitblocks.com> --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) From owner-freebsd-hackers@freebsd.org Tue Jan 1 17:04:37 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2A29514213C7 for ; Tue, 1 Jan 2019 17:04:37 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-ot1-f44.google.com (mail-ot1-f44.google.com [209.85.210.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B114C761BD for ; Tue, 1 Jan 2019 17:04:36 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-ot1-f44.google.com with SMTP id v23so25179249otk.9 for ; Tue, 01 Jan 2019 09:04:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=QihDoYJC05pFnV6/+GJvarGIpHr6Km7Db1EvufDBohA=; b=V/HT9nR9yYFV1+5uuyXGXdqke/Vm14wGiT1XZolcSqqxjICtnlUb8/9XVbGcg9Wlae 7NoS30DxSeApJjMpdODKmUz+B/f+94L/l/WiuOEynuh5szbH5xl0I587UaF6Jv0b77C5 5QXhG5EydBSLRC75qfNnlBTghbJX2a7VB0RrXkQ08/A2HlyocfrbOMrccEHv6We0rjJx ps/q2XB/yHuvZheNGUJz397KTgU0HNbT9R6stOfzFUky2f+yrvjtfPCBhA8jaP3WYEO1 fIEooUSNbZBjFZT4NztBzpRmgJxojDiJ+LcD0zThClGOz+1MpZVovvy5e3jb88i1Gjm4 Fceg== X-Gm-Message-State: AJcUukcajNQ7X6zVUvod2XOAljSqU5QCb00FO4TCqJgudP0kMQ5TY4CN zWcdzdhY07VZhTNo/c00PU2g3Em+beRkCrrslVg= X-Google-Smtp-Source: ALg8bN7MdbCnIVqDulQFDozh9zLd8eVe/FTGsWQJAE46FV2Qy9AOcmLYXny167Qa19sOltoer4N/3UmrJF2YqgJM4GU= X-Received: by 2002:a9d:2603:: with SMTP id a3mr27037210otb.37.1546358462628; Tue, 01 Jan 2019 08:01:02 -0800 (PST) MIME-Version: 1.0 References: <20190101045638.D280E1F56@spqr.komquats.com> In-Reply-To: From: Igor Mozolevsky Date: Tue, 1 Jan 2019 16:00:26 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Eric McCorkle Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: B114C761BD X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.96 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; NEURAL_HAM_SHORT(-0.96)[-0.956,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 17:04:37 -0000 On Tue, 1 Jan 2019 at 15:54, Eric McCorkle wrote: > I don't think that's a fair comparison at all. Rust is a systems > language built around zero-cost abstractions that is usable for > developing real embedded code Brian's simple experiment [1] demonstrates that "zero-cost" is more of an aspiration (and a very long term one, perhaps) than a hard fact ;-) 1. https://lists.freebsd.org/pipermail/freebsd-hackers/2019-January/053837.html -- Igor M. From owner-freebsd-hackers@freebsd.org Tue Jan 1 17:04:37 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0919E14213C6 for ; Tue, 1 Jan 2019 17:04:37 +0000 (UTC) (envelope-from jhs@berklix.com) Received: from land.berklix.org (land.berklix.org [144.76.10.75]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "land.berklix.org", Issuer "land.berklix.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id E613A761BC for ; Tue, 1 Jan 2019 17:04:33 +0000 (UTC) (envelope-from jhs@berklix.com) Received: from mart.js.berklix.net (p2E52C0CB.dip0.t-ipconnect.de [46.82.192.203]) (authenticated bits=0) by land.berklix.org (8.15.2/8.15.2) with ESMTPSA id x01H4KXb053153 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 1 Jan 2019 17:04:24 GMT (envelope-from jhs@berklix.com) Received: from fire.js.berklix.net (fire.js.berklix.net [192.168.91.41]) by mart.js.berklix.net (8.14.3/8.14.3) with ESMTP id x01H4GYJ068021 for ; Tue, 1 Jan 2019 18:04:16 +0100 (CET) (envelope-from jhs@berklix.com) Received: from fire.js.berklix.net (localhost [127.0.0.1]) by fire.js.berklix.net (8.14.7/8.14.7) with ESMTP id x01H44OS090017 for ; Tue, 1 Jan 2019 18:04:16 +0100 (CET) (envelope-from jhs@berklix.com) Message-Id: <201901011704.x01H44OS090017@fire.js.berklix.net> To: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components From: "Julian H. Stacey" Organization: http://berklix.eu BSD Unix Linux Consultants, Munich Aachen Kent User-agent: EXMH on FreeBSD http://berklix.eu/free/ X-From: http://www.berklix.eu/~jhs/ In-reply-to: Your message "Tue, 01 Jan 2019 10:50:28 -0500." Date: Tue, 01 Jan 2019 18:04:04 +0100 X-Rspamd-Queue-Id: E613A761BC X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [2.84 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_SPAM_SHORT(0.91)[0.915,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_DN_NONE(0.00)[]; AUTH_NA(1.00)[]; RCPT_COUNT_ONE(0.00)[1]; HAS_ORG_HEADER(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; DMARC_NA(0.00)[berklix.com]; MX_GOOD(-0.01)[land.berklix.com,slim.berklix.com]; NEURAL_SPAM_LONG(0.37)[0.372,0]; NEURAL_SPAM_MEDIUM(0.58)[0.584,0]; R_SPF_NA(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[203.192.82.46.zen.spamhaus.org : 127.0.0.10]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:144.76.0.0/16, country:DE]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(0.08)[ipnet: 144.76.0.0/16(2.84), asn: 24940(-2.43), country: DE(-0.01)]; FROM_EQ_ENVFROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 17:04:37 -0000 I'm against rust being imported into src/, wasting hard bought space & build time. Src/ is still too big, (& obj/ monstrous compared to old days (clang I spose, shrug)), even though we've suffered much disruption, things being ripped out of src/ supposedly to save [sometime little] space. Let's not squander that hard bought space & time. Cheers, Julian -- Julian Stacey, Computer Consultant Sys.Eng. BSD Linux Unix, Munich Aachen Kent First referendum stole 700,000 votes from Brits in EU; 3,700,000 globaly. Lies criminal funded; jobs pound & markets down. 1.9M new voters 1.3M dead. Email MP: "A new referendum will buy UK & EU more time (Art 50.3), to avoid a hard crash, & consider all options." http://berklix.org/brexit/#mp From owner-freebsd-hackers@freebsd.org Tue Jan 1 19:16:10 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1629D1425AC9 for ; Tue, 1 Jan 2019 19:16:10 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E945B823BD for ; Tue, 1 Jan 2019 19:16:08 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: by sdaoden.eu (Postfix, from userid 1000) id 12AC71604A; Tue, 1 Jan 2019 20:16:07 +0100 (CET) Date: Tue, 01 Jan 2019 20:16:27 +0100 From: Steffen Nurpmeso To: "Julian H. Stacey" Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components Message-ID: <20190101191627.AFSkb%steffen@sdaoden.eu> In-Reply-To: <201901011704.x01H44OS090017@fire.js.berklix.net> References: <201901011704.x01H44OS090017@fire.js.berklix.net> Mail-Followup-To: "Julian H. Stacey" , freebsd-hackers@freebsd.org User-Agent: s-nail v14.9.11-123-g49d1a5c2 OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. X-Rspamd-Queue-Id: E945B823BD X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of steffen@sdaoden.eu designates 217.144.132.164 as permitted sender) smtp.mailfrom=steffen@sdaoden.eu X-Spamd-Result: default: False [0.03 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.85)[-0.854,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+a]; NEURAL_HAM_LONG(-0.63)[-0.627,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[sdaoden.eu]; NEURAL_SPAM_SHORT(0.83)[0.826,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: sdaoden.eu]; RCPT_COUNT_TWO(0.00)[2]; MID_CONTAINS_FROM(1.00)[]; IP_SCORE(-0.00)[country: DE(-0.01)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15987, ipnet:217.144.128.0/20, country:DE]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 19:16:10 -0000 Julian H. Stacey wrote in <201901011704.x01H44OS090017@fire.js.berklix.net>: |I'm against rust being imported into src/, wasting hard bought |space & build time. Src/ is still too big, (& obj/ monstrous compared |to old days (clang I spose, shrug)), even though we've suffered |much disruption, things being ripped out of src/ supposedly to save |[sometime little] space. Let's not squander that hard bought space & time. And not to forget the base system as such. Just last week (or the end of the week before that) i have tried to use the address sanitizer on a freshly installed 11.2 i386 FreeBSD. No (result unbelievable). Because of my very limited download budget i had to choose what i could download next to get a working installation, and have chosen to go for ArchLinux (even though i never had a workign memory sanitizers there, but address sanitizer i have used there many times) December/2018 and do the upgrade with all the stuff (still one GB+). I was right (in that it was not my fault). --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) From owner-freebsd-hackers@freebsd.org Tue Jan 1 19:50:24 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2A39314266DC for ; Tue, 1 Jan 2019 19:50:24 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from sonic308-11.consmr.mail.ne1.yahoo.com (sonic308-11.consmr.mail.ne1.yahoo.com [66.163.187.34]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8B8488326E for ; Tue, 1 Jan 2019 19:50:23 +0000 (UTC) (envelope-from pfg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1546372217; bh=tILV0o/lmkbR8PUnG6pweYdNIqBtnMqNMYPws5RxOzo=; h=To:From:Subject:Date:From:Subject; b=ktSRNXmlt3HR6A6l0fZcLeNOxsmSfQO4SWJDkPbQCwtbIgR7xvIjjOm7Kr7v8O/6zekTj+8WHBmFZwxQZbgA8pKoL1NmAtqxCmxgp5J3PmdAqurdAV1Mpsecair9KCsTHhfUq/mi1fh0bc/umBdw0+YEnA5CDHplzHyGhYRgBydcn99eHI7dNk7OaoppjvGAp+IttSeFhg36UTCXYhmhCunojWSU5SFiEUuHkwHsrVjOL5MXTJNNuwI5380cw1KRPXZQrPYEF4xP9nvRvZFWcu2nAHHcN2haa9KcwvnYuajIt/zk/bO3DlYXGumQpXwloW2BcXce4hAD3JYr7XVMSQ== X-YMail-OSG: wEPIxGsVM1lAPYqAYAPPbanGVRBZHiE0.2Wtv0v6_wUp5jwCzcLOwkwJeUj1F1f 8fIbXK9qGnfBt271L15rS49UyzO0PTTmZIb8Ub4f_gvO3dbe39EJ2TYzCVlEpQaRAoHz_m3kLyHW mfbCErj8kjB0SJGV_dLPYGyx8ZPc2vlQaFyUYz1kzwTXQYhKEUicg_D0hwnezGqqd8hho07mT0.w kTiCdOtWXRHbhKdrmBZp_RRLmQb5PxFKBe4HC9cV1e_F0VbIKI9aBAOp2TwhTgMwg74lp4SoJDpv W78u7Jef_ob.2VTihy3cK9rOF0wlTGc03hCEEOrtZaSvZ5G_zdAjVBOfxubqHn6nRM.a8sCy2H5x SiLeFkueBD4sRm2IRWL_Ue5VWuZMJ4uuwG.adIV4WDY6J5Ae4EvTakgcS6mKqA65DZ20Uw5sYwGB xidw7hHxpdxLasVfmoc6hNa7f_AOVkFjMezqlGOXR_nVHOdtiC7awPDstK.hc1TalL7aplmayGcD THduA0rQUlRDyYByULy6TFusi..LNPNeoQXWqsDninscloCupnaFdYWA1Tm89EHZiwgPc4u7.3Jr 9mmiekkYB0UXNb80LtkPw8nfsAecT56SWk4F5MrJuCKwrbPToFYJt95kqDTgheuwC19XKuKzWBh4 4.KS2_ROiA2Ugltvhu2hr4zUuzSaQ8kvdOL40pCvTVmqOvJ3w5EFPDnb3pc48hxpWtLVazKcrq4T rzAVEwqwsLRfxRT9UyqmBk0zFyrnbDT5G7g3doq3DkrVn0xDglVkQGG1ztqzkdD4WDRe0JwXv0no _4aA6IFOSZ2e854Ydo_lMQeHMnceefHodttmwQljdq0f1xGKwWb2I.I7dRTRmwMy9VlOFoi.KCaB JdkzqWi4uHSJUEseLSq8ZRc.iWM8tImccmiP4IEZ82A8OVJ4okNsK_YInAlahzzs81ZUgRqpkzA4 Dtpy6bVjzqz7md7Cj5CwUWNjK65ANblaFOKmHAMUJqaoQR0ccxQwNLrqygoy6npAz21Fu0mlpMBr 7zCghi3vqj3fHRI5Mb35tKwr5xUl3R5IipbxhK6YP Received: from sonic.gate.mail.ne1.yahoo.com by sonic308.consmr.mail.ne1.yahoo.com with HTTP; Tue, 1 Jan 2019 19:50:17 +0000 Received: from 181.52.72.201 (EHLO [192.168.0.5]) ([181.52.72.201]) by smtp428.mail.ne1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 920d1ad0b999ff826af155cdf692dd8b; Tue, 01 Jan 2019 19:40:08 +0000 (UTC) To: Eric McCorkle , "freebsd-hackers@freebsd.org" From: Pedro Giffuni Subject: Re: Speculative: Rust for base system components Message-ID: Date: Tue, 1 Jan 2019 14:40:08 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 Content-Language: en-US X-Rspamd-Queue-Id: 8B8488326E X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.99 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.99)[-0.990,0]; ASN(0.00)[asn:36646, ipnet:66.163.184.0/21, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 19:50:24 -0000 > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > > > > I've talked at several conferences about the possibility of bringing the > Rust programming language into the base system, with the intent of > making it a viable implementation language for parts of the base system. > I believe the potential security and stability benefits of doing this > are *substantial*. This would obviously be a serious undertaking, but I > think the benefits are worth the cost. For the rest of this mail, I'll > outline my position and present the important facts that support it. > FWIW, my take around this and similar proposals is ... Just go ahead and fork it on github and see how far it gets. Nowadays it is very easy to start a new project and explore the possibilities. If it seems to have a real future eventually people will ask for it to be merged, if it doesn't .. well at least you really explored the idea. Perhaps you may even end up merging it with redux-os :). Cheers, Pedro. From owner-freebsd-hackers@freebsd.org Tue Jan 1 20:36:45 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 820CC1429489; Tue, 1 Jan 2019 20:36:45 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1C80986E72; Tue, 1 Jan 2019 20:36:28 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: by mail-wr1-x42a.google.com with SMTP id p4so28788755wrt.7; Tue, 01 Jan 2019 12:36:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :mime-version:content-disposition:user-agent; bh=9/0EUg3KZIx+cWs1gGPNBgb8Y1zlbWg+FBWX2vC/PPw=; b=Mb2Kh92dTO2/jyEkZKod87XRXM9qLc9CZVltKCIS7nJLGnhlu8cxQuztrgbdtx+BbD tYisqpHbyifa/hwEZf8yg98Gpbz0uizJ4ofWZvYIKgVXEJ5qfnBpuZXH2egmkQ88C8Y6 /8azhuWsXpHXDvQ9uZXISiZDz9OBHjE5D8WIsSLKvoXym/RpHVOgkZ31KLq9g0UUj6Hv GyHH3aEErHT6NmM5EGCuctcF5Om/gTFFGs+olfB3EcMifqYjWmtIYMWGtFOWgSkFHLDy 3Ffd9y/dljSJowpyqGQF05KA5UxM35P/PKUFUtwvgZE4O2JLmfGbVqQbXkFJSLQyRdfS Yv0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:mime-version:content-disposition:user-agent; bh=9/0EUg3KZIx+cWs1gGPNBgb8Y1zlbWg+FBWX2vC/PPw=; b=BY18/uDHDLvWd9Ujyh6i7wx9zXSkLguiVq/FLrN7xQxXeCEQSlO2mHa7w8d32qia7W Cezmb8e4LvkCiOKvWbPWg6q4M89SJ5L1qqbVuYWvSimR/zASJvo+JTUoDtpbp7cNmjYr mrqiUOO8deGfRcCydNlhkhqfUWGAKx55BntSKLNZLsEr5iwayyetbd1XRCqlhzLqRJfJ fXmxrPjVmhXnrsNVfmdkCUaL9T5cjwQJYAHVkyIiHJNOyN/hf9ZIGaT0TcF1gNYN6Tke zoh+MIZCRpJoDMbLxMHGB4FR5Cc745jqQpdxP8B+ursKdn2z1LbvD/lADK9iG1FkyBSk 2l6w== X-Gm-Message-State: AJcUukcG6mrcJs2PIYRwNc+loZYrY/GrMmodQor3y58FIkM9aKgg/Xrk CKMew9e4OMRCA7wZIcTre5dTlz4H X-Google-Smtp-Source: ALg8bN6Dq4u7Unc0CFc21ago9ZfYhacgwCAwULPbsSAsStxr3taMzuoc968TXELoLiuhHF1VMLPP+Q== X-Received: by 2002:a5d:444a:: with SMTP id x10mr37852115wrr.162.1546374981644; Tue, 01 Jan 2019 12:36:21 -0800 (PST) Received: from v2 (cpc92302-cmbg19-2-0-cust461.5-4.cable.virginm.net. [82.1.209.206]) by smtp.gmail.com with ESMTPSA id x10sm40394346wrn.29.2019.01.01.12.36.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 01 Jan 2019 12:36:20 -0800 (PST) Sender: =?UTF-8?Q?Edward_Tomasz_Napiera=C5=82a?= Date: Sun, 30 Dec 2018 10:14:13 +0000 From: Edward Napierala To: freebsd-hackers Hackers Cc: freebsd-current Subject: Call for 2018Q4 quarterly status reports Message-ID: <20181230101413.GA2438@v2> Mail-Followup-To: freebsd-hackers Hackers , freebsd-current MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="XMCwj5IQnwKtuyBG" Content-Disposition: inline User-Agent: Mutt/1.11.1 (2018-12-01) X-Rspamd-Queue-Id: 1C80986E72 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=Mb2Kh92d; spf=pass (mx1.freebsd.org: domain of etnapierala@gmail.com designates 2a00:1450:4864:20::42a as permitted sender) smtp.mailfrom=etnapierala@gmail.com X-Spamd-Result: default: False [-6.43 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; SIGNED_PGP(-2.00)[]; FORGED_SENDER(0.30)[trasz@freebsd.org,etnapierala@gmail.com]; MIME_TRACE(0.00)[0:+,1:+,2:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[trasz@freebsd.org,etnapierala@gmail.com]; ARC_NA(0.00)[]; DATE_IN_PAST(1.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain]; DMARC_NA(0.00)[freebsd.org]; NEURAL_HAM_SHORT(-0.96)[-0.962,0]; IP_SCORE(-2.66)[ip: (-9.79), ipnet: 2a00:1450::/32(-1.81), asn: 15169(-1.60), country: US(-0.08)]; RCVD_IN_DNSWL_NONE(0.00)[a.2.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; MID_RHS_NOT_FQDN(0.50)[] X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 20:36:45 -0000 --XMCwj5IQnwKtuyBG Content-Type: multipart/mixed; boundary="ftEhullJWpWg/VHq" Content-Disposition: inline --ftEhullJWpWg/VHq Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Dear FreeBSD Community, The deadline for the next FreeBSD Quarterly Status update is January 31, 2019, for work done since the last round of Quarterly Reports: October, 2018 =E2=80=93 September, 2018. Status report submissions do not need to be very long. They may be about anything happening in the FreeBSD project and community, and provide a great way to inform FreeBSD users and developers about work that is underway and completed. Submission of reports is not restricted to committers; anyone doing anything interesting and FreeBSD related can -- and should -- write one! The preferred method is to follow the guidelines at the Quarterly GitHub repository: https://github.com/freebsd/freebsd-quarterly Alternatively you can fetch the Markdown template, fill it in, and email it to quarterly@FreeBSD.org. The template can be found at: https://raw.githubusercontent.com/freebsd/freebsd-quarterly/master/report-s= ample.md The old XML generator and templates are no longer used. We look forward to seeing your 2018Q4 reports! Thanks, Edward (on behalf of quarterly@) --ftEhullJWpWg/VHq Content-Disposition: inline MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" --ftEhullJWpWg/VHq-- --XMCwj5IQnwKtuyBG Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQGmBAEBCgCQFiEEbvjBe1hu6u1NeinjJCKD+Vwk/7oFAlwomnVfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDZF RjhDMTdCNTg2RUVBRUQ0RDdBMjlFMzI0MjI4M0Y5NUMyNEZGQkESHHRyYXN6QGZy ZWVic2Qub3JnAAoJECQig/lcJP+6QTIIAJpI/37B/anJ6izTB3SdZ5xzKPkRq4Ph nHMSHOc/JF5ZIMGps/G9tomULKce4HfqLA8dalsUH3jqgM7T37TTwBDXFdHqyJcm OlZVVsKjbZGdYy6VHJviYUlRY51O9+354+WwuXJNfMMO4Zt2Ma7ITPX55YZvdItX dnS4RFb0kjlEBuPYCvcykhOVDu36zso411LzebvlNBxEGkuDPMovR5m1y31kMYWb ebeCa+yxKX9m5P7+Ez9eQm+tcBIZ6nxNqaqRjDdA6jLota9ZDQMQZc7jJ0czGs9F 1F0gD3PejCL7xjfmXjZDM0XK1uVvAL/Ee7pti+Vk4fNSvdjndzN4Yf0= =o5PS -----END PGP SIGNATURE----- --XMCwj5IQnwKtuyBG-- From owner-freebsd-hackers@freebsd.org Tue Jan 1 20:47:34 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F3BCE142A18E; Tue, 1 Jan 2019 20:47:33 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: from mail-ot1-f43.google.com (mail-ot1-f43.google.com [209.85.210.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CDBE889DC7; Tue, 1 Jan 2019 20:44:29 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: by mail-ot1-f43.google.com with SMTP id v23so25413464otk.9; Tue, 01 Jan 2019 12:44:29 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=m51ZzkBAmaoSKp3VnKlha9idTW2OKsUCTeD0rR6ynQ4=; b=ec9ptaeYh0GXnjs79L+FKNbodC91RpmIgL3QEwAbqXk+JtwZ91psy+kSn3So1TFSZZ gIE2Jo3boksnKlHemG29RVyvpk4weeZja4EpiLguNGb4d+oRNTlB4PBaTGtDDO0OZmbI L4ySAoNbgkVsF9eRZSSN9Ak4DyR4bIResYAx7JsUao9tAfQeVGX2gJYjloEZNoKRxkzl zodlXyk7dhMCsDiWdCIdMbcjrDEf8/AIUekV4V8GGSiy3jQ3Sr5yJaaNbjEmUDlbhVME 1HbenIGry5o6oVWPrq2dd4cDsVBoxNUvSiauALkXOUXDFm/rjDNBziJ2VqBLDW5Sx1l5 U7RA== X-Gm-Message-State: AJcUukdGS5wis5LXDk67e20Awnbvplj7SdtlCe+FfYqBniZ5QDGLwR6S 0COIFBaj9pr1hGCtNUnShJBQF5uZZTDyxbaHncsbLA== X-Google-Smtp-Source: ALg8bN75FR6nrMKisG8ysOm//GzYOQm0RMrhHGv8o9WEOzzm63pzEOnFp1EVskFoSpTJXv4Q/pn5zthixVdXQ1QhRZA= X-Received: by 2002:a9d:19eb:: with SMTP id k98mr27337443otk.205.1546375463869; Tue, 01 Jan 2019 12:44:23 -0800 (PST) MIME-Version: 1.0 References: <20181230101413.GA2438@v2> In-Reply-To: <20181230101413.GA2438@v2> From: Edward Napierala Date: Tue, 1 Jan 2019 20:44:12 +0000 Message-ID: Subject: Re: Call for 2018Q4 quarterly status reports To: freebsd-hackers Hackers Cc: freebsd-current Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: CDBE889DC7 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of etnapierala@gmail.com designates 209.85.210.43 as permitted sender) smtp.mailfrom=etnapierala@gmail.com X-Spamd-Result: default: False [-3.93 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[freebsd.org]; NEURAL_HAM_LONG(-0.99)[-0.994,0]; IP_SCORE(-1.09)[ipnet: 209.85.128.0/17(-3.77), asn: 15169(-1.60), country: US(-0.08)]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[43.210.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.84)[-0.835,0]; FORGED_SENDER(0.30)[trasz@freebsd.org,etnapierala@gmail.com]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[trasz@freebsd.org,etnapierala@gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 20:47:34 -0000 wt., 1 sty 2019 o 20:36 Edward Napierala napisa=C5=82(a= ): > > Dear FreeBSD Community, [..] > We look forward to seeing your 2018Q4 reports! > > Thanks, > > Edward (on behalf of quarterly@) > Dear FreeBSD Community, > > The deadline for the next FreeBSD Quarterly Status update is October 31, > 2018, for work done since the last round of Quarterly Reports: October, > 2017 =E2=80=93 September, 2018. This latter part - a copy of the previous call for reports - obviously wasn= 't supposed to be there, sorry. From owner-freebsd-hackers@freebsd.org Tue Jan 1 23:16:24 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9B2FA142D7A9 for ; Tue, 1 Jan 2019 23:16:24 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp9.server.rpi.edu (smtp9.server.rpi.edu [128.113.2.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "canit.localdomain", Issuer "canit.localdomain" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C5A608F70A for ; Tue, 1 Jan 2019 23:16:23 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp-auth3.server.rpi.edu (route.canit.rpi.edu [128.113.2.233]) by smtp9.server.rpi.edu (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x01NGLOr031580 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 1 Jan 2019 18:16:22 -0500 Received: from smtp-auth3.server.rpi.edu (localhost [127.0.0.1]) by smtp-auth3.server.rpi.edu (Postfix) with ESMTP id A91E15802F for ; Tue, 1 Jan 2019 18:16:21 -0500 (EST) Received: from webmail1.server.rpi.edu (webmail1.server.rpi.edu [128.113.2.169]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: drosih) by smtp-auth3.server.rpi.edu (Postfix) with ESMTPSA id 9E9EF5802C for ; Tue, 1 Jan 2019 18:16:21 -0500 (EST) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Tue, 01 Jan 2019 18:16:21 -0500 From: drosih To: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components In-Reply-To: References: <20190101045638.D280E1F56@spqr.komquats.com> Message-ID: <4ea0612bbad08e61a15d495459b2bede@rpi.edu> X-Sender: drosih@rpi.edu User-Agent: Roundcube Webmail/0.9.5 X-Originating-IP: 128.113.124.17 X-Remote-Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.2 Safari/605.1.15 X-RoundCube-Server: 128.113.2.169 X-Virus-Scanned: ClamAV using ClamSMTP X-Bayes-Prob: 0.9999 (Score 5, tokens from: outgoing, @@RPTN) X-Spam-Score: 5.00 (*****) [Hold at 10.10] Bayes(0.9999:5.0) X-CanIt-Incident-Id: 02XjbglMx X-CanIt-Geo: ip=128.113.2.169; country=US; region=New York; city=Troy; latitude=42.7495; longitude=-73.5951; http://maps.google.com/maps?q=42.7495,-73.5951&z=6 X-CanItPRO-Stream: outgoing X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.229 X-Rspamd-Queue-Id: C5A608F70A X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dmarc=pass (policy=none) header.from=rpi.edu; spf=pass (mx1.freebsd.org: domain of drosih@rpi.edu designates 128.113.2.229 as permitted sender) smtp.mailfrom=drosih@rpi.edu X-Spamd-Result: default: False [-3.60 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:128.113.2.225/28]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; RCVD_COUNT_THREE(0.00)[4]; RCVD_TLS_LAST(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[229.2.113.128.list.dnswl.org : 127.0.11.2]; MX_GOOD(-0.01)[cached: mail.rpi.edu]; DMARC_POLICY_ALLOW(-0.50)[rpi.edu,none]; NEURAL_HAM_SHORT(-0.58)[-0.580,0]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; IP_SCORE(-0.02)[country: US(-0.08)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:91, ipnet:128.113.0.0/16, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 23:16:24 -0000 On 2019-01-01 11:00, Igor Mozolevsky wrote: > On Tue, 1 Jan 2019 at 15:54, Eric McCorkle wrote: > > > > > I don't think that's a fair comparison at all. Rust is a systems > > language built around zero-cost abstractions that is usable for > > developing real embedded code > > > > Brian's simple experiment [1] demonstrates that "zero-cost" is > more of an aspiration (and a very long term one, perhaps) than > a hard fact ;-) Brian's simple experiment is a simple experiment. It's interesting, but hardly the definitive word in evaluating a language. We need more real-world experience with serious programs before dismissing rust. But at the same time, we need much more real-world experience with writing rust before we can consider bringing it into the base system. We can't bring it into the base system and then hope that "magic happens" because it's sitting there. I thought the 'ripgrep' program seemed like an interesting one to look at. Compare how fast it works to how fast our grep works. (I have not done that comparison! I just take advantage of the extra features that 'ripgrep' has.) And 'ripgrep' works fine as a port. It does not need to be in the base system. It's just an example to look at, for those who might be interested in rust. Maybe other people know of other real-world useful programs which are written in rust, and which might be interesting to look at. So consider me a cheerleader for "Let's get some more experience!". (not that all of us can do that, but at least *some* of us!) -- garance alistair drosehn aka gad@FreeBSD.org -- senior systems programmer @rpi From owner-freebsd-hackers@freebsd.org Tue Jan 1 23:55:31 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C83AE142E20B for ; Tue, 1 Jan 2019 23:55:31 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lf1-f67.google.com (mail-lf1-f67.google.com [209.85.167.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8740169D83 for ; Tue, 1 Jan 2019 23:55:30 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lf1-f67.google.com with SMTP id l10so19997037lfh.9 for ; Tue, 01 Jan 2019 15:55:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=dgkyHIHDoJIKxFxEfsFnBH7APke492GiVCmcVugfr9M=; b=eOBDPAiD4ECxLm0rGSD43LxjHPDnYTRWBTBsaSDGvsL4EDuJtdy5mOQ9kWdngu9wcP VLQ0uS5iAwZoulLs0CbUR/l/BUlnpq6w5nNBue2qdwsJqbY5m8whjv0wOks96HRrjEZ0 ICA0E5xsA2rajW28xhN1G0RzFdeA2qsHji0HorohFuTP5rlFztg1qP5ZhO7A6DKAUed5 rgtgxypfFsxWdlHAaZbEkVhlwsNGQp/6WbN4B87yFI6tA0a94ta37Nvalptgkw3ozZf+ bA3psZG7zAPPH1vwg5dzo5ewI2aK8jqYH6Ih2LOgocI5Nmt7wT3zCrl+3ELnUfaKjfIy l4Kg== X-Gm-Message-State: AA+aEWaZ9n7mSGzDzKQjivY3giZJTx0H5aoWwSj7J2zym8COxR5dMeFK RdiCJaJS6B0FhFvOeETbK2iUM8hBRmM7GvDFSNs= X-Google-Smtp-Source: AFSGD/XnBScpl9P/Fx5ijzq+D89KkqAT+dPQPUwBU4Ohn6S5RJjgmpw2tFHaB8wzDHjbm1cb+JAX+g9CsaHpLjG9Zr0= X-Received: by 2002:a19:df41:: with SMTP id q1mr21680414lfj.25.1546386922936; Tue, 01 Jan 2019 15:55:22 -0800 (PST) MIME-Version: 1.0 References: <20190101045638.D280E1F56@spqr.komquats.com> <4ea0612bbad08e61a15d495459b2bede@rpi.edu> In-Reply-To: <4ea0612bbad08e61a15d495459b2bede@rpi.edu> From: Alan Somers Date: Tue, 1 Jan 2019 16:55:10 -0700 Message-ID: Subject: Re: Speculative: Rust for base system components To: drosih Cc: "freebsd-hackers@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 8740169D83 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.167.67 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-4.04 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[67.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.94)[-0.939,0]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; IP_SCORE(-1.09)[ipnet: 209.85.128.0/17(-3.77), asn: 15169(-1.60), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2019 23:55:32 -0000 On Tue, Jan 1, 2019 at 4:17 PM drosih wrote: > > On 2019-01-01 11:00, Igor Mozolevsky wrote: > > On Tue, 1 Jan 2019 at 15:54, Eric McCorkle wrote: > > > > > > > > > I don't think that's a fair comparison at all. Rust is a systems > > > language built around zero-cost abstractions that is usable for > > > developing real embedded code > > > > > > > > Brian's simple experiment [1] demonstrates that "zero-cost" is > > more of an aspiration (and a very long term one, perhaps) than > > a hard fact ;-) > > Brian's simple experiment is a simple experiment. It's interesting, > but hardly the definitive word in evaluating a language. We need > more real-world experience with serious programs before dismissing > rust. But at the same time, we need much more real-world experience > with writing rust before we can consider bringing it into the base > system. We can't bring it into the base system and then hope that > "magic happens" because it's sitting there. > > I thought the 'ripgrep' program seemed like an interesting one > to look at. Compare how fast it works to how fast our grep works. > (I have not done that comparison! I just take advantage of the > extra features that 'ripgrep' has.) And 'ripgrep' works fine as > a port. It does not need to be in the base system. It's just an > example to look at, for those who might be interested in rust. > > Maybe other people know of other real-world useful programs which > are written in rust, and which might be interesting to look at. Freshmeat knows of 38. Just look at the reverse dependencies for rust: https://www.freshports.org/lang/rust/ . Some interesting ones are alacritty (a fast terminal emulator), exa (ls replacement), fd (find replacement), suricata (IDS), xi (text editor), tokei (cloc replacement), sccache (like ccache but networked), and of course our favorite web browser. Also notable is libjail-rs, a jail(3) replacement written in Rust. https://github.com/fubarnetes/libjail-rs . -Alan > > So consider me a cheerleader for "Let's get some more experience!". > (not that all of us can do that, but at least *some* of us!) > > -- garance alistair drosehn aka gad@FreeBSD.org > -- senior systems programmer @rpi > > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" From owner-freebsd-hackers@freebsd.org Wed Jan 2 00:36:09 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9F717142F601 for ; Wed, 2 Jan 2019 00:36:09 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-it1-f182.google.com (mail-it1-f182.google.com [209.85.166.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A8DD26B3BD for ; Wed, 2 Jan 2019 00:36:08 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-it1-f182.google.com with SMTP id h65so37147473ith.3 for ; Tue, 01 Jan 2019 16:36:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc:content-transfer-encoding; bh=UHmCw3EmyDmySVTv+Pfdon9xFFb0opGe2SC7jutiNp8=; b=kWphM1V/SmNjHgD5wvomyAWlGKFBLaCjlwDzqEzV+1xYQ8abMBDyIylD82dIdBOnIv aF/VMnatE+46kTJUkG29TeH5QNLFW+4tsLkSCuFW0nZkGj35h/hkt9G2haIKBx/g+7pu o6bq4LTlP+4N+ffqfs++p1L45TqEKiOa0P3trsjXGEds9Cb0Z+Tj6XYIucfHpywL++XV lp39wF0dQi3b1YFSt+fqAgsX0mygZYwQTJ1ojmQUmpGETO02aAZytuGPpOojmp8Vzezb uaxzIUA7N9SnE4eHqGFyoeCYUH+yz1vMc7HX9L8P9YJ8ZJGJ/wNe5G4JKsK9i0aYfNTI B+Jw== X-Gm-Message-State: AA+aEWa7FK/eFTAK491tFwaKDQ4N/ypMWsLt4mF4tVEkTSVyHJRodyQD 09bq5kbkrOe4Ju7GNP67w34+qDj+ X-Google-Smtp-Source: AFSGD/WgyDWHcqQxTU3vaEZYGimIGk33J0TLUKfSSrpttzY5Ed8rCPQlaUQJ5TPEDXdn4UMsLsmLqw== X-Received: by 2002:a02:a15e:: with SMTP id m30mr28575845jah.143.1546389362053; Tue, 01 Jan 2019 16:36:02 -0800 (PST) Received: from mail-io1-f41.google.com (mail-io1-f41.google.com. [209.85.166.41]) by smtp.gmail.com with ESMTPSA id m10sm9545112ioq.25.2019.01.01.16.36.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Jan 2019 16:36:01 -0800 (PST) Received: by mail-io1-f41.google.com with SMTP id s22so23468961ioc.8 for ; Tue, 01 Jan 2019 16:36:01 -0800 (PST) X-Received: by 2002:a5e:8d04:: with SMTP id m4mr24566595ioj.233.1546389361000; Tue, 01 Jan 2019 16:36:01 -0800 (PST) MIME-Version: 1.0 References: <20190101045638.D280E1F56@spqr.komquats.com> <4ea0612bbad08e61a15d495459b2bede@rpi.edu> In-Reply-To: <4ea0612bbad08e61a15d495459b2bede@rpi.edu> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Tue, 1 Jan 2019 16:35:49 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Speculative: Rust for base system components To: drosih Cc: "freebsd-hackers@freebsd.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: A8DD26B3BD X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of csecem@gmail.com designates 209.85.166.182 as permitted sender) smtp.mailfrom=csecem@gmail.com X-Spamd-Result: default: False [-5.91 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[cem@freebsd.org]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; REPLYTO_ADDR_EQ_FROM(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.98)[-0.985,0]; FORGED_SENDER(0.30)[cem@freebsd.org,csecem@gmail.com]; IP_SCORE(-2.91)[ip: (-9.10), ipnet: 209.85.128.0/17(-3.77), asn: 15169(-1.60), country: US(-0.08)]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TAGGED_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_NEQ_ENVFROM(0.00)[cem@freebsd.org,csecem@gmail.com]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[182.166.85.209.list.dnswl.org : 127.0.5.0]; RCVD_TLS_LAST(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 00:36:09 -0000 Hi Garance, On Tue, Jan 1, 2019 at 3:18 PM drosih wrote: > Brian's simple experiment is a simple experiment. It's interesting, > but hardly the definitive word in evaluating a language. Sure, that's fair enough. On the other hand, it matches every other report of the compiler and language I've heard, even from advocates of the language. Compiler performance was on the Rust roadmap for 2017 (incremental rebuilds added during 2017) and 2018: https://blog.rust-lang.org/2017/02/06/roadmap.html https://blog.rust-lang.org/2018/03/12/roadmap.html In particular I think the Rust 2018 community survey (URL below) is informative. Scroll to the figure just above "Many non-users responded that they did want to learn Rust, but there were factors that slowed them down." Leading reasons for people who had used Rust but no longer did were: (1) Rust is too intimidating, too hard to learn, or too complicated; (3) Rust doesn't solve a problem for me; and (6) Switching to Rust would slow me down too much. One of the top 10 free-form comments for November 2018 is "improve compile times." It's still a problem. https://blog.rust-lang.org/2018/11/27/Rust-survey-2018.html > I thought the 'ripgrep' program seemed like an interesting one > to look at. Compare how fast it works to how fast our grep works. It's not a great comparison; our grep (either GNU grep 2.5.1 or BSDgrep) is just not very good and must conform to POSIX. 'ag' (pkg install the_silver_searcher) is a more interesting comparison, with similar ability to exclude files automatically. Both are source-code focused; by default, both .gitignore and similar files to exclude files and directories. Both share similar goals, probably inspired by 'ack' (which is slower than both): high real-world performance, threaded search, and fast, non-PCRE regular expressions by default. On the other hand, grep(1) must maintain POSIX compatibility, which makes for significantly slower defaults in many searches. This limits the impact of improving the performance of the internals on real-world, default-behavior search =E2=80=94 because excluding files is a huge boon for ag/rg. In my experience, ripgrep is much faster than our grep, but pretty similar to 'ag'. Both have a comparable feature set; if anything, ag has more features IME. The binary sizes are interesting: -r-xr-xr-x 3 root wheel 113640 Nov 4 15:47 /usr/bin/grep* -r-xr-xr-x 1 root wheel 89104 Oct 28 14:24 /usr/local/bin/ag* -rwxr-xr-x 1 root wheel 4284416 Oct 29 05:12 /usr/local/bin/rg* All are dynamically linked and stripped amd64 binaries. Ripgrep (Rust) is 48x the binary size of ag and 37x that of grep(1). Like grep(1), 'ag' is written in C. Of that 4 MB binary, 2805414 bytes of ripgrep are ".text". Other major contributors are .rodata, .eh_frame and .rela.dyn at 540kB, 300kB, and 240kB respectively. Of the 89 kB ag binary, 37 kB is ".text", 14kB is ".rodata," and 13kB is ".data". I think this difference is illustrative and reasonably representative. Best, Conrad From owner-freebsd-hackers@freebsd.org Wed Jan 2 01:56:18 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 447B214311D2 for ; Wed, 2 Jan 2019 01:56:18 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from smtp.digiware.nl (smtp.digiware.nl [IPv6:2001:4cb8:90:ffff::3]) (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 78E966D2AB; Wed, 2 Jan 2019 01:56:17 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from router.digiware.nl (localhost.digiware.nl [127.0.0.1]) by smtp.digiware.nl (Postfix) with ESMTP id AE6D3BABBF; Wed, 2 Jan 2019 02:56:13 +0100 (CET) X-Virus-Scanned: amavisd-new at digiware.com Received: from smtp.digiware.nl ([127.0.0.1]) by router.digiware.nl (router.digiware.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id l1ZDaoz__tMh; Wed, 2 Jan 2019 02:56:12 +0100 (CET) Received: from [192.168.11.152] (unknown [192.168.11.152]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.digiware.nl (Postfix) with ESMTPSA id C51F0BABB7; Wed, 2 Jan 2019 02:56:12 +0100 (CET) Subject: Re: Using kqueue with aio_read/write To: Alan Somers Cc: FreeBSD Hackers References: <8753521a-4555-ec2a-5efc-dee2660b4d9b@digiware.nl> From: Willem Jan Withagen Message-ID: <969d9a38-d3dd-78d0-c974-ba14ec4747db@digiware.nl> Date: Wed, 2 Jan 2019 02:56:13 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: nl X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 01:56:18 -0000 On 28/12/2018 02:47, Alan Somers wrote: > On Thu, Dec 27, 2018 at 6:15 PM Willem Jan Withagen wrote: >> Hi, >> >> Im trying to understand why I cannot get so code to work. >> This is the smallest extract I can make to show my problem. >> >> I would expect the kevent() call to return every timeo tick. >> Even if I tell it NOT to time-out I get these spurts of errors >> >> Since there is nothing to trigger the AIO-event, I would expect kqueue >> to hold indefinitly. >> >> But it does not generate anything other than errors >> And instead it repeatedly complains that there is a permission error: >> get_events_kevent: EV_Error(1) kevent(): Operation not permitted >> >> But I'm not getting where that would the case... >> >> Surely a pilot error, but I do overlook it al the time. >> So suggestions are welcome. >> >> Thanx, >> --WjW >> >> #include >> #include >> #include >> #include >> #include >> #include >> #include >> #include >> #include >> >> #define BUFFER_SIZE 512 >> #define MAX_EVENTS 32 >> >> #define FILENAME "/tmp/aio_test" >> char filename[256]; >> int fd; >> int done = 0; >> >> void get_events_kevent(int fd, int kq) >> { >> printf("get_events function fd = %d, kq = %d\n", fd, kq); >> int i = 0, errcnt = 0, err, ret, reterr, rev; >> int search = 1; >> >> int timeout_ms = 10; >> struct timespec timeo = { >> timeout_ms / 1000, >> (timeout_ms % 1000) * 1000 * 1000 >> }; >> struct kevent filter[16]; >> struct kevent changed[16]; >> >> EV_SET(&filter[0], fd, EVFILT_AIO, >> EV_ADD, >> 0, 0, 0 ); > > This is the first problem. There's no need to explicitly set > EVFILT_AIO on the kqueue. It gets set by the aio_read(2) or similar > syscall. And this invocation wouldn't be correct anyway, because for > AIO the ident field refers to the address of the struct aiocb, not the > file descriptor. If the only events you care about are AIO, then you > can pass NULL as the filter argument to kevent. I suspect this is the > cause of your problem. The kernel probably thinks you're trying to > register for an aiocb that's outside of your address space or > something like that. > > >> while (!done) { >> printf("+"); >> rev = kevent(kq, filter, 1, changed, 16, 0); //&timeo); >> if (rev < 0) { >> perror("kevent error"); >> } else if (rev == 0) { >> printf("T"); >> } else { >> printf("rev(%d)\n", rev); >> if (changed[0].flags == EV_ERROR) { >> errno = changed[0].data; >> printf( "%s: EV_Error(%d) kevent(): %s\n", __func__, errno, >> strerror(errno)); >> memset(&changed[0], 0, sizeof(struct kevent)); >> } else { >> err = aio_error((struct aiocb*)changed[0].udata); > > No need to call aio_error(2) after kevent(2) returns. You can go > straight to aio_return. aio_error shouldn't hurt, but it isn't > necessary. According to kevent(2) calling kevent can return errors on the called aio_calls. It then returns with EV_ERROR in flags, and errno is stored in the event.data. But what would be going on when the event's flag contains EV_ERROR but event's data is still 0??? the udata field still seems to point to the aio data that was passed into the aio block when calling aio_read(). Should I ignore this as a non-error? --WjW From owner-freebsd-hackers@freebsd.org Wed Jan 2 02:24:03 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC9F91431AA1 for ; Wed, 2 Jan 2019 02:24:02 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lf1-f66.google.com (mail-lf1-f66.google.com [209.85.167.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 646516DDBD for ; Wed, 2 Jan 2019 02:24:02 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lf1-f66.google.com with SMTP id a16so20139555lfg.3 for ; Tue, 01 Jan 2019 18:24:02 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vY74+7co0icbywgT7sxgby+Yz0DI6fqnZHGrdAWS17g=; b=IVdUz3WAKOjAiwjURPcbiI/I555OZS7dtEa/2bSX8RTpHPgDffMz7++rN2M+T5ZUEr 7I2ViQOxfo8bfv/0QuM6EsitPCiLYbCP1woFH/stfHZ+anEQloUKOhEb70MMZT/8gAO8 NTiauOGpmgvdgOJirO8AUKnz7g75a60HygFAoWsMookCotKtaB1ULNPLgZ6+BM1QfXLw IVWjbqAl7fIJHsLVmSEnDn1BvH9xdlL74bXp2q4EGHJhI7GVTMcHG8rI0kR3aZPlE7S6 rmpJUrwzXnBXqWg1GjeEDCiXmmKv3NrzzocOWiADbIP4Vf8CffnrryE7fRoU3h7xJKhC J76w== X-Gm-Message-State: AA+aEWZu8zbjSOlsV735IjAq1wI6ndqTx6k+zPWVKyf+Hz3x3veKArxM TRLOfhgsZhSF1zYX7QBooOlRoV6CiMrMxdn2KXtb7w== X-Google-Smtp-Source: AFSGD/X607UH9JitvEqYTY5c82SVaWcL1afuLN112Pho2wWdWhA+ulE1W03M43FlT4mFMPOFteQKW+7axRKEqm9MPCY= X-Received: by 2002:a19:c70a:: with SMTP id x10mr20372246lff.88.1546395834915; Tue, 01 Jan 2019 18:23:54 -0800 (PST) MIME-Version: 1.0 References: <8753521a-4555-ec2a-5efc-dee2660b4d9b@digiware.nl> <969d9a38-d3dd-78d0-c974-ba14ec4747db@digiware.nl> In-Reply-To: <969d9a38-d3dd-78d0-c974-ba14ec4747db@digiware.nl> From: Alan Somers Date: Tue, 1 Jan 2019 19:23:43 -0700 Message-ID: Subject: Re: Using kqueue with aio_read/write To: Willem Jan Withagen Cc: FreeBSD Hackers Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 646516DDBD X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.96 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.956,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 02:24:03 -0000 On Tue, Jan 1, 2019 at 6:56 PM Willem Jan Withagen wrote: > > On 28/12/2018 02:47, Alan Somers wrote: > > On Thu, Dec 27, 2018 at 6:15 PM Willem Jan Withagen wrote: > >> Hi, > >> > >> Im trying to understand why I cannot get so code to work. > >> This is the smallest extract I can make to show my problem. > >> > >> I would expect the kevent() call to return every timeo tick. > >> Even if I tell it NOT to time-out I get these spurts of errors > >> > >> Since there is nothing to trigger the AIO-event, I would expect kqueue > >> to hold indefinitly. > >> > >> But it does not generate anything other than errors > >> And instead it repeatedly complains that there is a permission error: > >> get_events_kevent: EV_Error(1) kevent(): Operation not permitted > >> > >> But I'm not getting where that would the case... > >> > >> Surely a pilot error, but I do overlook it al the time. > >> So suggestions are welcome. > >> > >> Thanx, > >> --WjW > >> > >> #include > >> #include > >> #include > >> #include > >> #include > >> #include > >> #include > >> #include > >> #include > >> > >> #define BUFFER_SIZE 512 > >> #define MAX_EVENTS 32 > >> > >> #define FILENAME "/tmp/aio_test" > >> char filename[256]; > >> int fd; > >> int done = 0; > >> > >> void get_events_kevent(int fd, int kq) > >> { > >> printf("get_events function fd = %d, kq = %d\n", fd, kq); > >> int i = 0, errcnt = 0, err, ret, reterr, rev; > >> int search = 1; > >> > >> int timeout_ms = 10; > >> struct timespec timeo = { > >> timeout_ms / 1000, > >> (timeout_ms % 1000) * 1000 * 1000 > >> }; > >> struct kevent filter[16]; > >> struct kevent changed[16]; > >> > >> EV_SET(&filter[0], fd, EVFILT_AIO, > >> EV_ADD, > >> 0, 0, 0 ); > > > > This is the first problem. There's no need to explicitly set > > EVFILT_AIO on the kqueue. It gets set by the aio_read(2) or similar > > syscall. And this invocation wouldn't be correct anyway, because for > > AIO the ident field refers to the address of the struct aiocb, not the > > file descriptor. If the only events you care about are AIO, then you > > can pass NULL as the filter argument to kevent. I suspect this is the > > cause of your problem. The kernel probably thinks you're trying to > > register for an aiocb that's outside of your address space or > > something like that. > > > > > >> while (!done) { > >> printf("+"); > >> rev = kevent(kq, filter, 1, changed, 16, 0); //&timeo); > >> if (rev < 0) { > >> perror("kevent error"); > >> } else if (rev == 0) { > >> printf("T"); > >> } else { > >> printf("rev(%d)\n", rev); > >> if (changed[0].flags == EV_ERROR) { > >> errno = changed[0].data; > >> printf( "%s: EV_Error(%d) kevent(): %s\n", __func__, errno, > >> strerror(errno)); > >> memset(&changed[0], 0, sizeof(struct kevent)); > >> } else { > >> err = aio_error((struct aiocb*)changed[0].udata); > > > > No need to call aio_error(2) after kevent(2) returns. You can go > > straight to aio_return. aio_error shouldn't hurt, but it isn't > > necessary. > > According to kevent(2) calling kevent can return errors on the called > aio_calls. > It then returns with EV_ERROR in flags, and errno is stored in the > event.data. > > But what would be going on when the event's flag contains EV_ERROR but > event's data is still 0??? > > the udata field still seems to point to the aio data that was passed > into the aio block when calling aio_read(). > > Should I ignore this as a non-error? > > --WjW Are you sure you bzero()ed your aiocb before initializing it? Any stack garbage that was present in its aio_sigevent.sigev_notify_kevent_flags field will be dutifully copied into the returned kevent. And in any case, the definitive way to get the final status of a completed aio operation is with aio_return. -Alan From owner-freebsd-hackers@freebsd.org Wed Jan 2 02:57:11 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 58D43143259C for ; Wed, 2 Jan 2019 02:57:11 +0000 (UTC) (envelope-from ml@vishwin.info) Received: from varun.vishwin.info (varun.vishwin.info [46.101.93.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "varun.vishwin.info", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5DCCA6EA5D for ; Wed, 2 Jan 2019 02:57:10 +0000 (UTC) (envelope-from ml@vishwin.info) Received: from varun.vishwin.info (fd35:9eae:7575::2 [IPv6:fd35:9eae:7575::2]) by varun.vishwin.info (OpenSMTPD) with ESMTP id 786cbdd5 for ; Tue, 1 Jan 2019 21:57:06 -0500 (EST) Received: from [IPv6:2001:470:8:6ca:cad7:19ff:fec0:a06d] (2001:470:8:6ca:cad7:19ff:fec0:a06d [IPv6:2001:470:8:6ca:cad7:19ff:fec0:a06d]) by varun.vishwin.info (OpenSMTPD) with ESMTPSA id b64b257c TLS version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO for ; Tue, 1 Jan 2019 21:57:06 -0500 (EST) From: Charlie Li Subject: Re: Speculative: Rust for base system components References: <20190101045638.D280E1F56@spqr.komquats.com> <4ea0612bbad08e61a15d495459b2bede@rpi.edu> To: freebsd-hackers@freebsd.org Openpgp: preference=signencrypt Autocrypt: addr=ml@vishwin.info; keydata= mQINBFt7iHUBEADCorTixbMGuHd9WYSKCELlv/TFcRtvpHUw/n9LtXzKixUUwl7iuMFMYTz3 QXePX0Twq4jCQYySfcxWbPkLsSYlPOkaGQ+XytfmIHoqG5ba4i1fp+F41is0oCtLt1+oL84j NKUd13em/JWd+PJeQbSTVnHbT2yaAi7vqWw5WKVaMExjfPGU5TArV46wSRU6Zuy1ZX66q0q5 dPzeBdeKYWJE8aGtyi3pYUpKUOX4gxiNetf6leDFZ4OsexWaRdU0n8fId5d1qwjAE3lOwV5z 0Ilt8t4iXtX3JL3DAQyLZIeXHIg9O3rrpPMXQWSp2/5g39PohNk7farbhcpIKxuDN+L5N6U9 OxNHBSCv9FGDO4R/mw3YwJCovDzsF7RSyXQDIY36yjdh2uTLZ0uD5Ci/DPmJUySFLRvpqWnQ M7V5cYhdqDfcElGpRbi8JZQVYRJjvI5Jj0byG98KeaD0YFxKqmmm+Oh+xWXE7xt/DsBoZeZJ BFP84LvFbwQqprvI+sg+1z2+JIgNbYwl8VaYzfyGnqTEXTOsQYEKTdKA9MODSAsN31MlQICe CIHZV+OwOqH1KQ/mZp59AnpXAmj4T94bnahE9yJtVW/qglX/nTeFNUdu5MyEgkeB0x7mx+t0 3hE20yp/NbyvG1T/o53NHwHiURC/8Fxd1NWPZ6n4X8npQn6iyQARAQABtDJDaGFybGllIExp IChtYWlsaW5nIGxpc3RzL0dNQU5FKSA8bWxAdmlzaHdpbi5pbmZvPokCTgQTAQgAOBYhBP9/ wqq+WvuNT2xG/o5weN7yA6tsBQJbe4q8AhsjBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJ EI5weN7yA6ts4z8P/jJ4Sb5i4hcC2yAdPv4UK6jT0NKbB8omp3Gha5le4+RzabPoUrhG1uOp 6gSmmBU1dgMOq6vCzeCx3tW0TJaBnjIYciYAnQYUIJlgDOHYz05tMqE89BZJFdiFoMpGYgzZ 02AWXaDXVRGViQlKKyopMIiJ5JPgjxuFWfSoH6qMvR4Vm8PrLkTiY0kea2lSXkE8I9hYdFST SSm6dxbaEGApawdFegz7eSTIefQ4K8y5/H0YtWmOObMYYX0aLN31OAdCot+1M2TT1OnEfLM+ sWpD3C3l5F2OWREHKrq+Ma3tI4MiZQDNvzRQ9mkpU3mZIHixRQfhsaMj5PmF7GC8aacYlbO0 b0o1xUlPqD8tKIscPO2E2iujs38g/3Dt7Oyhb95CyTjiVbORajUEisM01cKS+RjskvH2VW72 mIq+YjorwhTzikhqgWoEtKMrkac9KMYM26kNy6I4YtZp1aIIv8tx4Y3tV/h3e6jZM7oMQZC7 x0oFlxfApJKtLyQPtRBXC96GaBM/kuqtwHYdQScWeP+ujp0hjj6+SfaJcxlYs3cyoETzNIew mYNZ3PGBpJYsapXdbNqbQHFarhIH9B1pgrNLqe1sa/+3xoQ7SORK93g2bCvKzaakgsa2soYH y4CksAPZ9PYyVFuOXiiygcWwdqylzPxwXg8vp5QGXD4ZkJ7aZd5wuQINBFt7iHUBEADXZe2B xvCTsh2xGL/uxMUqzveqgUWr4NRbAxtK4g5pbDkn2dn6i+v2CReVrH7F/ffmEnSIi0HwuEDs P3APjCOuaYGOHAruNi+2CFvwEfowdYRYPkP3G3jsI7ijxWLWb8Xg6UrGgOoiEfqfreA15I1p fOoOlmhSwvrYpf6wopRR2P9f+jPdfBdYJv+sQiAAwxbtAVy5AEnOQeC7r2hRIiSLiPWaEAyI FsZ7F9LV1xN+ksCv166MM0c7DmvtojhwDyru6zxh8MtvLzuE+VKu1MpzGRtrCt0U2zoo2sS+ CCReFjEaqbhnQUieLFpq+WiKYF/WruS9UzQACCyaR155L/pPNufvVYG4RbRWARxJIFLV2/sN +CZ5B6JKa/QO/HaVm/k/ozhD+mVIDPuFVcvoQgqW3AlSNjxF7vMNs9/uMmVsSBZsvFGGUaHk zCs1dsy3orKANFwPI4+ePGDT4gJdtDI8qKruNljb9D/Hw/TzE3HyxQo9j5cToblBWiFB97ct P2zXkoz7VSvi/ceFt+0e1NbWJPrQeTJT2pEIkkLXU6AfvCt+K5wbf95AqAGC+x8oMPfqsmax CmQ7T+SSnpH4LMtvLdc+usVglMKvTx7lBYoo93I28CG7JCPbstvsSE3F7eGalX6WXHRpo323 Uz5Bnzx9qYw6AiWns2HW4Wv9zlYZlQARAQABiQI2BBgBCAAgFiEE/3/Cqr5a+41PbEb+jnB4 3vIDq2wFAlt7iHUCGwwACgkQjnB43vIDq2xMZw//asEi+B4qKyZlBCfuQk4fCCapeD83kCvA 8fd4ImbOY1lZQiU5nKUDYq1iGTNnkbeuwv8EyYy5hFRs8klS6RolKoV6nUToBZg8LxJ5qSG7 VlsrxrIEjgpmY/7c9BhLS0rIyXFf5C335L+1xCpLfWYyCZxWFWEqLwytaNj6DukX4uQFhxwe 42IY0hybyYw8dMgpTvYBGIbcO0etGDix/nCqA6LvbbvuMEd0MEbDRjusK8yxoabcbgawzCPh 7jsfo8AU5Yrs7r2a68ujnSgw3auQ+L70Ao+LxZyuKey2V4QbIQjKC5FqANCNk/mBf1eTm+RL r7EyAq3v6Tv4PeNYqVZHob1TQLIqZUmh42rAdR0ugUPeXLCPBP2+j5ypviBAqdmwDWyz9Y68 SngRo1JHskcU5jlfwA1CCI/EuGtsjsU8ZcrDdjucKlwiXMWmHpQv2OE1HC+hDcZ9nSwXQmCk BJ2tLg3cWae30vqVzeqsivEM+kONjBwMRQGXSyn+muOHeB0Leqz3FnRE1ZZ1Spya9G/ZIOSt UPDeJD1aExla5BgGYZoxWLKlrpauOOVVOOpl+1nKrK2cfC6jU8D+otwX+9RSfRAcU8gPHz/J NKqLD/FPA+44XHOceMlVvEQQbQfmuat6HVnRZ4zCxJuMLcQR/5kjf1CkXBUgbykPBcU4KV+G MXM= Message-ID: Date: Tue, 1 Jan 2019 21:57:04 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="WcKsHgXKWO2yIbTvi8yA91jjdXfmfKWTe" X-Rspamd-Queue-Id: 5DCCA6EA5D X-Spamd-Bar: -------- X-Spamd-Result: default: False [-8.46 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[vishwin.info:s=fuccboi12]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; TO_MATCH_ENVRCPT_ALL(0.00)[]; HAS_ATTACHMENT(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_DN_NONE(0.00)[]; MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[3]; IP_SCORE(-2.36)[ip: (-9.91), ipnet: 46.101.80.0/20(-4.96), asn: 14061(3.16), country: US(-0.08)]; DKIM_TRACE(0.00)[vishwin.info:+]; DMARC_POLICY_ALLOW(-0.50)[vishwin.info,reject]; MX_GOOD(-0.01)[cached: varun.vishwin.info]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_SHORT(-0.99)[-0.988,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:14061, ipnet:46.101.80.0/20, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 02:57:11 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --WcKsHgXKWO2yIbTvi8yA91jjdXfmfKWTe Content-Type: multipart/mixed; boundary="ZkkhvVCngdltyx1cT0zYa9dSu54DbNx3m"; protected-headers="v1" From: Charlie Li To: freebsd-hackers@freebsd.org Message-ID: Subject: Re: Speculative: Rust for base system components References: <20190101045638.D280E1F56@spqr.komquats.com> <4ea0612bbad08e61a15d495459b2bede@rpi.edu> In-Reply-To: --ZkkhvVCngdltyx1cT0zYa9dSu54DbNx3m Content-Type: text/plain; charset=utf-8 Content-Language: en-GB-large Content-Transfer-Encoding: quoted-printable On 01/01/2019 19:35, Conrad Meyer wrote: > The binary sizes are interesting: >=20 > -r-xr-xr-x 3 root wheel 113640 Nov 4 15:47 /usr/bin/grep* > -r-xr-xr-x 1 root wheel 89104 Oct 28 14:24 /usr/local/bin/ag* > -rwxr-xr-x 1 root wheel 4284416 Oct 29 05:12 /usr/local/bin/rg* >=20 > All are dynamically linked and stripped amd64 binaries. Ripgrep > (Rust) is 48x the binary size of ag and 37x that of grep(1). Like > grep(1), 'ag' is written in C. >=20 By default, the dynamic linking in rust binaries are limited to crt unless a non-default flag is passed to rustc. Thus, this is effectively static linking, albeit at an earlier stage like llvm-link(1). Rust is not alone; golang is almost identical in this regard, by default. ag also has next to no external dependencies at all, compared to ripgrep's laundry list of crates it uses. --=20 Charlie Li Can't think of a witty .sigline today=E2=80=A6 (This email address is for mailing list use only; replace local-part with vishwin for off-list communication) --ZkkhvVCngdltyx1cT0zYa9dSu54DbNx3m-- --WcKsHgXKWO2yIbTvi8yA91jjdXfmfKWTe Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE/3/Cqr5a+41PbEb+jnB43vIDq2wFAlwsKIEACgkQjnB43vID q2zCyxAAtTY4poLlcNBY0XCu/YsBf3Xf7A604XQgZu0K7QwPxYqv/BDr68AYBQw3 PHv9qne6r41gr0uam9tPoCu/p5uZ6bbtdLy0Cd7zlkJj0Jf727+5+WMqXLJXJCb8 MnZfo0bG+E+Czr6Du+tjK9W6JXLX2JCE0i50muctRKb8bZIoiVYJ68G+7ZuoyFxF vpfmdULj+t6lCQIz8+3RTX0fc4eVLtYS7KMySBUmm42j/jbqwC+ed3bo5G0qAFzN lY4H2n/WL2HHV1TrvrFpqL3yPBlB8mnRNP5JKW+HOyhI5CY/ovbQzI+CMaLDTTFp 3Orhx6dl47O9RuT6XhmN7Z1j1BgMZKZpxdkf3pOubAZmo2lt0dcSXZmIndsZ4X4e m9AfoWoFA0C9MtGbXKo4sTkx7RmhJ/fqxfz/37BnvqhZ3YqvEYd7mza3xaAyloZM 04h5SkbpKO+icZMf17HzoYxYskYuwAMI9glRg3tJxzCL+UiUyvvzbbofkhW+Rsk1 Q/KhKvtTNGQl6m3W5ER0yGxogvjCrhlDYahvvOcsBYzHblmpg1sUN0ph3aXCsURO 9bZcTP2VO3EQslY05jtnq5gvkYA1+PSLl0duIU63ns154Ck5Ur7N8xK5vDgcy2ml s/kpe/GOh37kiWC9A3ZxSgf/hNMgcrv1pLs1gDA6AnGvAqHerqo= =Kjxe -----END PGP SIGNATURE----- --WcKsHgXKWO2yIbTvi8yA91jjdXfmfKWTe-- From owner-freebsd-hackers@freebsd.org Wed Jan 2 11:06:22 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B5D2C143F08B for ; Wed, 2 Jan 2019 11:06:22 +0000 (UTC) (envelope-from johalun0@gmail.com) Received: from mail-ot1-x32f.google.com (mail-ot1-x32f.google.com [IPv6:2607:f8b0:4864:20::32f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 563248682A for ; Wed, 2 Jan 2019 11:06:21 +0000 (UTC) (envelope-from johalun0@gmail.com) Received: by mail-ot1-x32f.google.com with SMTP id w25so26354836otm.13 for ; Wed, 02 Jan 2019 03:06:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=PmfehenVJMKBU2SjtOEhs7tOrwvN2KC/aMrbXurrucI=; b=LqIyo4e9EEyj7Vm+qUvQ/7kMofgSzIu2Ed5VqxBw9wcjQ4sgL4IvZAikvzuur/F5+y NG4MT+ZOV2147hde0MSMQ0SGbFPFLgVdJZ1gevcYVTOP+6/z/Q8Zg8WFXPVBobUstWSI +8y90uI82eRsKhCP+UuOZHUdrVbabLDbr3e+tq4/rcY4R0mrv6Fb+5nWjnngk/zjLWo8 kXQVvUxk4lCbj+txP9uJP+wb8MvhfInGcda4+DjoayjygVbpLTCh6n3eUenBRFgW0dek NTe1JhwehYkjxNz5nfA+UwqpqXi3XmWsTsi+quQnmS2Dj6k19njCW+O/OLoAS44ghEd/ Xmag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=PmfehenVJMKBU2SjtOEhs7tOrwvN2KC/aMrbXurrucI=; b=GwEX4dfK9y8zSfMdiXH1bczdg0w3Ek9QQceGRqWv5XLgul5drBK1za8vyXSAM2S+I3 dWsX8dr2zf5ny0QXdQkgYeVlfA7rqdDMB0INRr539gy91bqT0USX/Vj4KHGqSDtyybSK CIx3Cg7GPbl02tPW37TmUMRgvFikL/r3jykOe+X4zScP7uT2nZX30pwNuW5BFeJ1JChu EjX8zZeboBwGwqYwxWz4eyqrWC0DzTHIrUq9H9JBX2TtoD0YO3jo6vDo5IC1c0CCaHeM Lcnj8vUBnEENQss8PU1FQ7jwdDblP9a/W1SusoB6xbSCkQRCXpwqRW6bFT1Z4ThY34Vs Sdnw== X-Gm-Message-State: AJcUukchmPTi4zk1BqXOPREzgFcPOI5CHysOYkl9Yw1rMrykP7ywZ31L yAPOqHaOl9xcRmFDuqVfj/v7WxDQ X-Google-Smtp-Source: ALg8bN6jbtPCD6lm26mCqzZSd6uM1COzV0fm2s0wKXvrK8I5HxmhmIx/ag2ZGBPVDdCIoZjjSUa9wA== X-Received: by 2002:a9d:6353:: with SMTP id y19mr30627046otk.336.1546427179948; Wed, 02 Jan 2019 03:06:19 -0800 (PST) Received: from [192.168.1.33] ([81.174.250.12]) by smtp.gmail.com with ESMTPSA id m131sm23065032oia.6.2019.01.02.03.06.18 for (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Wed, 02 Jan 2019 03:06:19 -0800 (PST) Subject: Re: Speculative: Rust for base system components To: freebsd-hackers@freebsd.org References: <20190101045638.D280E1F56@spqr.komquats.com> <4ea0612bbad08e61a15d495459b2bede@rpi.edu> From: Johannes Lundberg Message-ID: <804bd7ee-d9c3-08ba-031f-df0348860d35@gmail.com> Date: Wed, 2 Jan 2019 11:06:16 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Rspamd-Queue-Id: 563248682A X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=LqIyo4e9; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of johalun0@gmail.com designates 2607:f8b0:4864:20::32f as permitted sender) smtp.mailfrom=johalun0@gmail.com X-Spamd-Result: default: False [-6.48 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_NONE(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-0.91)[-0.914,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; IP_SCORE(-2.56)[ip: (-9.02), ipnet: 2607:f8b0::/32(-2.08), asn: 15169(-1.61), country: US(-0.08)]; RCVD_IN_DNSWL_NONE(0.00)[f.2.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 11:06:22 -0000 On 1/2/19 12:35 AM, Conrad Meyer wrote: > Hi Garance, > > On Tue, Jan 1, 2019 at 3:18 PM drosih wrote: >> Brian's simple experiment is a simple experiment. It's interesting, >> but hardly the definitive word in evaluating a language. > Sure, that's fair enough. On the other hand, it matches every other > report of the compiler and language I've heard, even from advocates of > the language. Compiler performance was on the Rust roadmap for 2017 > (incremental rebuilds added during 2017) and 2018: > > https://blog.rust-lang.org/2017/02/06/roadmap.html > https://blog.rust-lang.org/2018/03/12/roadmap.html > > In particular I think the Rust 2018 community survey (URL below) is > informative. Scroll to the figure just above "Many non-users > responded that they did want to learn Rust, but there were factors > that slowed them down." Leading reasons for people who had used Rust > but no longer did were: (1) Rust is too intimidating, too hard to > learn, or too complicated; (3) Rust doesn't solve a problem for me; > and (6) Switching to Rust would slow me down too much. One of the top > 10 free-form comments for November 2018 is "improve compile times." > It's still a problem. > > https://blog.rust-lang.org/2018/11/27/Rust-survey-2018.html > >> I thought the 'ripgrep' program seemed like an interesting one >> to look at. Compare how fast it works to how fast our grep works. > It's not a great comparison; our grep (either GNU grep 2.5.1 or > BSDgrep) is just not very good and must conform to POSIX. > > 'ag' (pkg install the_silver_searcher) is a more interesting > comparison, with similar ability to exclude files automatically. Both > are source-code focused; by default, both .gitignore and similar files > to exclude files and directories. Both share similar goals, probably > inspired by 'ack' (which is slower than both): high real-world > performance, threaded search, and fast, non-PCRE regular expressions > by default. > > On the other hand, grep(1) must maintain POSIX compatibility, which > makes for significantly slower defaults in many searches. This limits > the impact of improving the performance of the internals on > real-world, default-behavior search — because excluding files is a > huge boon for ag/rg. > > In my experience, ripgrep is much faster than our grep, but pretty > similar to 'ag'. Both have a comparable feature set; if anything, ag > has more features IME. > > The binary sizes are interesting: > > -r-xr-xr-x 3 root wheel 113640 Nov 4 15:47 /usr/bin/grep* > -r-xr-xr-x 1 root wheel 89104 Oct 28 14:24 /usr/local/bin/ag* > -rwxr-xr-x 1 root wheel 4284416 Oct 29 05:12 /usr/local/bin/rg* > > All are dynamically linked and stripped amd64 binaries. Ripgrep > (Rust) is 48x the binary size of ag and 37x that of grep(1). Like > grep(1), 'ag' is written in C. Hi Rust by default statically link everything in executable binaries. This is comparable to statically link in libc and all other dependencies in your C program. You can have Rust programs link against shared rust libraries (std, etc) and get the size down to basically same as C. If Rust is used in base and everything is built at the same time, with same version compiler, it would make sense to link dynamically I think. Switching topic a bit. Just wanted to also add my contribution, a simple sysctl Rust library https://github.com/johalun/sysctl-rs . Cheers > > Of that 4 MB binary, 2805414 bytes of ripgrep are ".text". Other > major contributors are .rodata, .eh_frame and .rela.dyn at 540kB, > 300kB, and 240kB respectively. > > Of the 89 kB ag binary, 37 kB is ".text", 14kB is ".rodata," and 13kB > is ".data". I think this difference is illustrative and reasonably > representative. > > Best, > Conrad > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" From owner-freebsd-hackers@freebsd.org Wed Jan 2 11:25:06 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 16794143FBC8 for ; Wed, 2 Jan 2019 11:25:06 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp10.server.rpi.edu (smtp10.server.rpi.edu [128.113.2.230]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "canit.localdomain", Issuer "canit.localdomain" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C4F0B8745B for ; Wed, 2 Jan 2019 11:25:04 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp-auth1.server.rpi.edu (smtp-auth1.server.rpi.edu [128.113.2.231]) by smtp10.server.rpi.edu (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x02BP1Lk021068 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 2 Jan 2019 06:25:02 -0500 Received: from smtp-auth1.server.rpi.edu (localhost [127.0.0.1]) by smtp-auth1.server.rpi.edu (Postfix) with ESMTP id D2C2D5802A; Wed, 2 Jan 2019 06:25:01 -0500 (EST) Received: from [192.168.2.22] (cpe-72-224-11-59.nycap.res.rr.com [72.224.11.59]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: drosih) by smtp-auth1.server.rpi.edu (Postfix) with ESMTPSA id A92035805D; Wed, 2 Jan 2019 06:25:01 -0500 (EST) From: "Garance A Drosehn" To: "Johannes Lundberg" Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components Date: Wed, 02 Jan 2019 06:28:50 -0500 X-Mailer: MailMate (1.11r5462) Message-ID: In-Reply-To: <804bd7ee-d9c3-08ba-031f-df0348860d35@gmail.com> References: <20190101045638.D280E1F56@spqr.komquats.com> <4ea0612bbad08e61a15d495459b2bede@rpi.edu> <804bd7ee-d9c3-08ba-031f-df0348860d35@gmail.com> MIME-Version: 1.0 X-Virus-Scanned: ClamAV using ClamSMTP X-Bayes-Prob: 0.0001 (Score 0, tokens from: outgoing, @@RPTN) X-Spam-Score: 0.00 () [Hold at 10.10] X-CanIt-Incident-Id: 03Xjnp2p8 X-CanIt-Geo: ip=72.224.11.59; country=US; region=New York; city=Troy; latitude=42.7495; longitude=-73.5951; http://maps.google.com/maps?q=42.7495,-73.5951&z=6 X-CanItPRO-Stream: outgoing X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.230 X-Rspamd-Queue-Id: C4F0B8745B X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dmarc=pass (policy=none) header.from=rpi.edu; spf=pass (mx1.freebsd.org: domain of drosih@rpi.edu designates 128.113.2.230 as permitted sender) smtp.mailfrom=drosih@rpi.edu X-Spamd-Result: default: False [-3.95 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:128.113.2.225/28]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_SHORT(-0.92)[-0.923,0]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[230.2.113.128.list.dnswl.org : 127.0.11.2]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[rpi.edu,none]; MX_GOOD(-0.01)[mail.rpi.edu]; IP_SCORE(-0.02)[country: US(-0.08)]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:91, ipnet:128.113.0.0/16, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 11:25:06 -0000 On 2 Jan 2019, at 6:06, Johannes Lundberg wrote: > On 1/2/19 12:35 AM, Conrad Meyer wrote: >> >> All are dynamically linked and stripped amd64 binaries. Ripgrep >> (Rust) is 48x the binary size of ag and 37x that of grep(1). Like >> grep(1), 'ag' is written in C. > > Rust by default statically link everything in executable binaries. > This is comparable to statically link in libc and all other > dependencies in your C program. You can have Rust programs link > against shared rust libraries (std, etc) and get the size down > to basically same as C. > > If Rust is used in base and everything is built at the same time, > with same version compiler, it would make sense to link dynamically > I think. > > Switching topic a bit. Just wanted to also add my contribution, > a simple sysctl Rust library > https://github.com/johalun/sysctl-rs . Personally I think it's interesting and helpful to see some more projects like this, so we can get a better understanding of how well the language works for systems-level programs. I'm going to take a look at this, just for my own curiosity. Thanks! -- Garance Alistair Drosehn = drosih@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA From owner-freebsd-hackers@freebsd.org Wed Jan 2 11:28:12 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E84E5143FE9C for ; Wed, 2 Jan 2019 11:28:11 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp10.server.rpi.edu (smtp10.server.rpi.edu [128.113.2.230]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "canit.localdomain", Issuer "canit.localdomain" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4DC968776F; Wed, 2 Jan 2019 11:28:11 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp-auth2.server.rpi.edu (route.canit.rpi.edu [128.113.2.232]) by smtp10.server.rpi.edu (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x02BK6g6020446 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 2 Jan 2019 06:20:06 -0500 Received: from smtp-auth2.server.rpi.edu (localhost [127.0.0.1]) by smtp-auth2.server.rpi.edu (Postfix) with ESMTP id 116ED180F0; Wed, 2 Jan 2019 06:20:06 -0500 (EST) Received: from [192.168.2.22] (cpe-72-224-11-59.nycap.res.rr.com [72.224.11.59]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: drosih) by smtp-auth2.server.rpi.edu (Postfix) with ESMTPSA id DDB19180EF; Wed, 2 Jan 2019 06:20:05 -0500 (EST) From: "Garance A Drosehn" To: "Conrad Meyer" Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components Date: Wed, 02 Jan 2019 06:23:49 -0500 X-Mailer: MailMate (1.11r5462) Message-ID: <8874AED6-3CA3-4D33-AECC-534B9E3417CB@rpi.edu> In-Reply-To: References: <20190101045638.D280E1F56@spqr.komquats.com> <4ea0612bbad08e61a15d495459b2bede@rpi.edu> MIME-Version: 1.0 Content-Type: text/plain; markup=markdown X-Virus-Scanned: ClamAV using ClamSMTP X-Bayes-Prob: 0.0002 (Score 0, tokens from: outgoing, @@RPTN) X-Spam-Score: 0.20 () [Hold at 10.10] PORN_RP_VIDEOS:0.2 X-CanIt-Incident-Id: 03Xjnk6oe X-CanIt-Geo: ip=72.224.11.59; country=US; region=New York; city=Troy; latitude=42.7495; longitude=-73.5951; http://maps.google.com/maps?q=42.7495,-73.5951&z=6 X-CanItPRO-Stream: outgoing X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.230 X-Rspamd-Queue-Id: 4DC968776F X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dmarc=pass (policy=none) header.from=rpi.edu; spf=pass (mx1.freebsd.org: domain of drosih@rpi.edu designates 128.113.2.230 as permitted sender) smtp.mailfrom=drosih@rpi.edu X-Spamd-Result: default: False [-3.44 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:128.113.2.225/28]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; RCVD_COUNT_THREE(0.00)[4]; IP_SCORE(-0.02)[country: US(-0.08)]; RCVD_IN_DNSWL_MED(-0.20)[230.2.113.128.list.dnswl.org : 127.0.11.2]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[rpi.edu,none]; MX_GOOD(-0.01)[cached: mail.rpi.edu]; NEURAL_HAM_SHORT(-0.41)[-0.415,0]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:91, ipnet:128.113.0.0/16, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 11:28:12 -0000 On 1 Jan 2019, at 19:35, Conrad Meyer wrote: > Hi Garance, > > On Tue, Jan 1, 2019 at 3:18 PM drosih wrote: >> Brian's simple experiment is a simple experiment. It's interesting, >> but hardly the definitive word in evaluating a language. > > Sure, that's fair enough. On the other hand, it matches every other > report of the compiler and language I've heard, even from advocates of > the language. Compiler performance was on the Rust roadmap for 2017 > (incremental rebuilds added during 2017) and 2018: > > https://blog.rust-lang.org/2017/02/06/roadmap.html > https://blog.rust-lang.org/2018/03/12/roadmap.html > > In particular I think the Rust 2018 community survey (URL below) is > informative. Scroll to the figure just above "Many non-users > responded that they did want to learn Rust, but there were factors > that slowed them down." Leading reasons for people who had used Rust > but no longer did were: (1) Rust is too intimidating, too hard to > learn, or too complicated; (3) Rust doesn't solve a problem for me; > and (6) Switching to Rust would slow me down too much. One of the top > 10 free-form comments for November 2018 is "improve compile times." > It's still a problem. > > https://blog.rust-lang.org/2018/11/27/Rust-survey-2018.html There was a lot of good information in this message, including the parts I have deleted just to keep this message reasonably short. Thanks! So my gut reaction to this is that it seems too early for the freebsd project to make any significant commitment to rust. Some of us could get more experience with it, and then maybe we could reconsider it in a year or two. It's frustrating that these things take so much time to evaluate, but that's just the way it is. It takes a lot of work (and thus a lot of time) for a new language to catch up with all the time which has been put into compilers for established languages. I've also found some of the videos for explaining Rust to be rather intimidating, even when done by developers in the Rust community. But I do think it's trying a lot of interesting new ideas for a systems-programming language, and thus I hope to gain some more experience with it for myself. Now I just need to find some copious spare time that I can devote to that! -- Garance Alistair Drosehn = drosih@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA From owner-freebsd-hackers@freebsd.org Wed Jan 2 08:39:33 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 99EE9143AAE6 for ; Wed, 2 Jan 2019 08:39:33 +0000 (UTC) (envelope-from Alexander@leidinger.net) Received: from mailgate.Leidinger.net (mailgate.leidinger.net [IPv6:2a00:1828:2000:313::1:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7569D8178B for ; Wed, 2 Jan 2019 08:39:30 +0000 (UTC) (envelope-from Alexander@leidinger.net) Date: Wed, 02 Jan 2019 09:39:24 +0100 Message-ID: <20190102093924.Horde.emgnGNrkrouphKMcRHe0yT5@webmail.leidinger.net> From: Alexander Leidinger To: Eric McCorkle Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components In-Reply-To: User-Agent: Horde Application Framework 5 Accept-Language: de,en Content-Type: multipart/signed; boundary="=_LMLhx6bqGIoXRUpfbSeuB-z"; protocol="application/pgp-signature"; micalg=pgp-sha1 MIME-Version: 1.0 X-Rspamd-Queue-Id: 7569D8178B X-Spamd-Bar: ------ X-Spamd-Result: default: False [-6.82 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[leidinger.net:s=outgoing-alex]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[leidinger.net:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[leidinger.net,quarantine]; MX_GOOD(-0.01)[mailgate.leidinger.net]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_SHORT(-0.99)[-0.988,0]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; IP_SCORE(-0.73)[asn: 34240(-3.61), country: DE(-0.01)]; ASN(0.00)[asn:34240, ipnet:2a00:1828::/32, country:DE]; RCVD_TLS_ALL(0.00)[] X-Mailman-Approved-At: Wed, 02 Jan 2019 11:29:52 +0000 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 08:39:33 -0000 This message is in MIME format and has been PGP signed. --=_LMLhx6bqGIoXRUpfbSeuB-z Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Quoting Eric McCorkle (from Sun, 30 Dec 2018=20=20 21:18:33=20-0500): > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > > > > I've talked at several conferences about the possibility of bringing the > Rust programming language into the base system, with the intent of > making it a viable implementation language for parts of the base system. > I believe the potential security and stability benefits of doing this > are *substantial*. This would obviously be a serious undertaking, but I > think the benefits are worth the cost. For the rest of this mail, I'll > outline my position and present the important facts that support it. After reading this thread I see several issues here. The suggestion from me here is to remove excuses. The issues I see (no particular order, and you can replace "rust" by anything which may or may not be better suited for the task): - chicken and egg problem (solution: make it possible to use it easily, e.g. bsd.rust.mk (name doesn't matter) as a port to try it, wiki page to explain how to make it possible + HOWTOs regarding where and how to use it (library/program/kernel module/...), links to code examples) - if all what you know is a hammer, then every problem looks like a nail (a lot of people seem to talk about things they have never seen... me included, solution: links to examples / snippets of how what we do currently can be done better with rust and descriptions about what rust is doing for people which learned C 20 years ago and never looked at something else and are not "language nerds") - performance matters, at the same time it doesn't if we want safe code (we don't talk about replacing everything with rust, time critical parts can stay in C, new items may benefit from rust... solution: show how to get (enough) speed, show how to reduce size (e.g. name this non-standard compiler option instead of having people talking about one), show that you get more (safety) with less (code)... this is overlapping with the previous item) You will not get a endorsement here, you will not get an approval here, and you should ignore people which talk down the benefits. If you believe in your opinion you need to remove excuses. Make a little item list of what is needed. Make it public (e.g. in the wiki). Start with providing possibilities. Mention what you have (When you have at least something) in the periodic status reports, get some people to join to try it, provide some interesting additions or replacements to let people evaluate it. Bye, Alexander. --=20 http://www.Leidinger.net=20Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF http://www.FreeBSD.org netchild@FreeBSD.org : PGP 0x8F31830F9F2772BF --=_LMLhx6bqGIoXRUpfbSeuB-z Content-Type: application/pgp-signature Content-Description: Digitale PGP-Signatur Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJcLHi7AAoJEBINsJsD+NiGFrMP/0BkYzfXZVALVdeHf4NxGl7+ RI0LShlDgvRAVXoCVJG8a6ZkIVFjxqSaSkEoNspU6BpMXrvNG56ugJAz46O2Tq9V ymY5s+nKFZzqxa0ri+9KnftYo4wQ0BQWc+y68be6kOsULlWpC7000lC9SZF+3HHA jkdjj3wr4Y+qok7wLRL+XMEMehejwxFqKmGY1bQY15e25XE9p3xswGm+bmAUozlq 7Vdcz++sj2sSa+nhuU+mVaqv5zEefPfO+Vx65TuSykttPC1PLfQJDDENQ1wXNbSG GAH1PXtyea8A1CyWuY3vfwUuRcLBCMi2+mnY8L/C5pBRo7zb54t2KonSXdQfpXtM VgV5E49B5IZKb3sTXakc7wfOFwfYJZ5X4mislDhxcXfqdxbZSCsO0ipQIPMHcy60 NtDCc9kaDZAQWELT1PYdgfv2rWJ1gxiQSrtcMH9hAl8fONd81hD9CXa3Ut/Xl3pC U9VMjqWTaWtDU9pgaKGTgFomNR5DlqvMy9UyFXnD7iWn63RwVKBqPeX1F5a8btWG O6+R6dgRXxmSPr469PsOXc1JxmbNAhDr575VuVI8gOFsXD1wVR7o5i/Akt2kLcL8 4wjm1cL3UJdA7r6mS1dcP8vEhcWKq+3TKC8aR3mo7zdt1uLYON8YsnLRZFDcjwK7 MDp8T7VDKVgQdUeP+Mb7 =NAN6 -----END PGP SIGNATURE----- --=_LMLhx6bqGIoXRUpfbSeuB-z-- From owner-freebsd-hackers@freebsd.org Wed Jan 2 11:40:56 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5726814408D1 for ; Wed, 2 Jan 2019 11:40:56 +0000 (UTC) (envelope-from johalun0@gmail.com) Received: from mail-oi1-x242.google.com (mail-oi1-x242.google.com [IPv6:2607:f8b0:4864:20::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 621F988498 for ; Wed, 2 Jan 2019 11:40:55 +0000 (UTC) (envelope-from johalun0@gmail.com) Received: by mail-oi1-x242.google.com with SMTP id c206so24900482oib.0 for ; Wed, 02 Jan 2019 03:40:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=4mS4uXtVieiBuyCpeomyy/AGZZOVM+Ln1+n34QmJIaM=; b=ssRjicYiLbJ6mPn0yXuPgBjVIkQx1wkRh/Ri7Ld/Azcp6pjZ9ibwI3xn5BPC3mXJLb mWF9wqiBhSxdeEtgtp25aI5hCXyB6oHexL6GHLrKXNmcoaQpPOXr0lZKr2oUA/LhtX2d UchTLWAqbPr19HNb58yAGBdUS6JhfWxXg5UcT2m/Gju77PBPUficE5C4AcAZS9exZ+dI VwAxi1U+dYE7ojTOeLhOoFEu5fHOnJ/7rE1mGEy6xYmTHPx26I3/kLBXi6+gq0cJ/Nja 0Hdb8GuFUA/PuGT4PL7sV0NlUC7uJghSt2XHIrg+NpSlFaI84u/WW5gmCuV1IUqMDyEV u5Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=4mS4uXtVieiBuyCpeomyy/AGZZOVM+Ln1+n34QmJIaM=; b=qlvd4bJWUEXh1tFZ/3ZuiO2/FDewRFENjXQh2xr5cUNVYvnUy3wSFaonr9WpbO+1j0 CUSXX1SX5wOZVPi2J8/BeE5HeQM3g9Lv0qlCLqskDi+I6PoUvDiDgaMOLJNF9/FPwMM7 /VHdAW+cV0du+XOpt+7Ybg+mZ08P+m5y9Q28SX/vsbRsH9SrXXpkBIqs8mHWY+IYiotY VSfTC5c+jofg0/3NhmogEq8O0qXUIjUJg+Zpo5yMG+ZhoLYkJ+mzwo+07uKHiK5Amoz9 XGoLa70iglMldFPviHnJBqeP7j3xxue8klcdtm8H7r65MyS9QWlGu4s+dEGUyYELcyQ+ FmdQ== X-Gm-Message-State: AA+aEWZ2ujeh2XO80oqa1Dlf09i+oICO96ogZKgZa/0p3j7/NpIuSZxv sKyLGN3dagz5Rz4B1/p66BIy/Blc X-Google-Smtp-Source: AFSGD/XzCf2fYk01qrOHa9ATpK7nsrl+UIj892buQcuBZNEwGqUiLh529edVdOa1AaxbAFqdqcFaSQ== X-Received: by 2002:aca:53cd:: with SMTP id h196mr30748461oib.355.1546429254359; Wed, 02 Jan 2019 03:40:54 -0800 (PST) Received: from [192.168.1.33] ([81.174.250.12]) by smtp.gmail.com with ESMTPSA id q128sm26050672oia.4.2019.01.02.03.40.53 (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Wed, 02 Jan 2019 03:40:53 -0800 (PST) Subject: Re: Speculative: Rust for base system components To: Garance A Drosehn Cc: freebsd-hackers@freebsd.org References: <20190101045638.D280E1F56@spqr.komquats.com> <4ea0612bbad08e61a15d495459b2bede@rpi.edu> <804bd7ee-d9c3-08ba-031f-df0348860d35@gmail.com> From: Johannes Lundberg Message-ID: Date: Wed, 2 Jan 2019 11:40:51 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Rspamd-Queue-Id: 621F988498 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=ssRjicYi; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of johalun0@gmail.com designates 2607:f8b0:4864:20::242 as permitted sender) smtp.mailfrom=johalun0@gmail.com X-Spamd-Result: default: False [-3.97 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-0.90)[-0.897,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2.4.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-0.06)[ip: (3.45), ipnet: 2607:f8b0::/32(-2.08), asn: 15169(-1.61), country: US(-0.08)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 11:40:56 -0000 On 1/2/19 11:28 AM, Garance A Drosehn wrote: > On 2 Jan 2019, at 6:06, Johannes Lundberg wrote: > >> On 1/2/19 12:35 AM, Conrad Meyer wrote: >>> All are dynamically linked and stripped amd64 binaries. Ripgrep >>> (Rust) is 48x the binary size of ag and 37x that of grep(1). Like >>> grep(1), 'ag' is written in C. >> Rust by default statically link everything in executable binaries. >> This is comparable to statically link in libc and all other >> dependencies in your C program. You can have Rust programs link >> against shared rust libraries (std, etc) and get the size down >> to basically same as C. >> >> If Rust is used in base and everything is built at the same time, >> with same version compiler, it would make sense to link dynamically >> I think. >> >> Switching topic a bit. Just wanted to also add my contribution, >> a simple sysctl Rust library >> https://github.com/johalun/sysctl-rs . > Personally I think it's interesting and helpful to see some more > projects like this, so we can get a better understanding of how > well the language works for systems-level programs. I'm going to > take a look at this, just for my own curiosity. Thanks! > You're welcome! Oh, I forgot my most recent tool: https://github.com/johalun/pperf It's similar to iperf and useful for simulating many clients making short connections to ranges of IP addresses. The source code is ridiculously short and simple, showing how powerful Rust is when writing (safe and bug free) multi-threaded programs (of course with the use of some 3rd party crates). From owner-freebsd-hackers@freebsd.org Wed Jan 2 12:53:09 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0191D141B84E for ; Wed, 2 Jan 2019 12:53:09 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from smtp.digiware.nl (smtp.digiware.nl [176.74.240.9]) (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 C846F8AD88; Wed, 2 Jan 2019 12:53:07 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from router.digiware.nl (localhost.digiware.nl [127.0.0.1]) by smtp.digiware.nl (Postfix) with ESMTP id 7FDA0A2D9E; Wed, 2 Jan 2019 13:53:00 +0100 (CET) X-Virus-Scanned: amavisd-new at digiware.com Received: from smtp.digiware.nl ([127.0.0.1]) by router.digiware.nl (router.digiware.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qnj-7ZeoAanv; Wed, 2 Jan 2019 13:52:59 +0100 (CET) Received: from [192.168.11.152] (unknown [192.168.11.152]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.digiware.nl (Postfix) with ESMTPSA id 19B62A2D9A; Wed, 2 Jan 2019 13:52:59 +0100 (CET) Subject: Re: Using kqueue with aio_read/write To: Alan Somers Cc: FreeBSD Hackers References: <8753521a-4555-ec2a-5efc-dee2660b4d9b@digiware.nl> <969d9a38-d3dd-78d0-c974-ba14ec4747db@digiware.nl> From: Willem Jan Withagen Message-ID: <016fda76-8f02-ca62-af7d-062262bd4a09@digiware.nl> Date: Wed, 2 Jan 2019 13:53:00 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: nl X-Rspamd-Queue-Id: C846F8AD88 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wjw@digiware.nl designates 176.74.240.9 as permitted sender) smtp.mailfrom=wjw@digiware.nl X-Spamd-Result: default: False [-4.18 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[digiware.nl]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[4]; IP_SCORE(-0.69)[asn: 28878(-3.46), country: NL(0.03)]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[9.240.74.176.list.dnswl.org : 127.0.9.2]; MX_GOOD(-0.01)[cached: smtp.digiware.nl]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.98)[-0.980,0]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:28878, ipnet:176.74.224.0/19, country:NL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 12:53:09 -0000 On 02/01/2019 03:23, Alan Somers wrote: > On Tue, Jan 1, 2019 at 6:56 PM Willem Jan Withagen wrote: >> On 28/12/2018 02:47, Alan Somers wrote: >>> On Thu, Dec 27, 2018 at 6:15 PM Willem Jan Withagen wrote: >>>> Hi, >>>> >>>> Im trying to understand why I cannot get so code to work. >>>> This is the smallest extract I can make to show my problem. >>>> >>>> I would expect the kevent() call to return every timeo tick. >>>> Even if I tell it NOT to time-out I get these spurts of errors >>>> >>>> Since there is nothing to trigger the AIO-event, I would expect kqueue >>>> to hold indefinitly. >>>> >>>> But it does not generate anything other than errors >>>> And instead it repeatedly complains that there is a permission error: >>>> get_events_kevent: EV_Error(1) kevent(): Operation not permitted >>>> >>>> But I'm not getting where that would the case... >>>> >>>> Surely a pilot error, but I do overlook it al the time. >>>> So suggestions are welcome. >>>> >>>> Thanx, >>>> --WjW >>>> >>>> #include >>>> #include >>>> #include >>>> #include >>>> #include >>>> #include >>>> #include >>>> #include >>>> #include >>>> >>>> #define BUFFER_SIZE 512 >>>> #define MAX_EVENTS 32 >>>> >>>> #define FILENAME "/tmp/aio_test" >>>> char filename[256]; >>>> int fd; >>>> int done = 0; >>>> >>>> void get_events_kevent(int fd, int kq) >>>> { >>>> printf("get_events function fd = %d, kq = %d\n", fd, kq); >>>> int i = 0, errcnt = 0, err, ret, reterr, rev; >>>> int search = 1; >>>> >>>> int timeout_ms = 10; >>>> struct timespec timeo = { >>>> timeout_ms / 1000, >>>> (timeout_ms % 1000) * 1000 * 1000 >>>> }; >>>> struct kevent filter[16]; >>>> struct kevent changed[16]; >>>> >>>> EV_SET(&filter[0], fd, EVFILT_AIO, >>>> EV_ADD, >>>> 0, 0, 0 ); >>> This is the first problem. There's no need to explicitly set >>> EVFILT_AIO on the kqueue. It gets set by the aio_read(2) or similar >>> syscall. And this invocation wouldn't be correct anyway, because for >>> AIO the ident field refers to the address of the struct aiocb, not the >>> file descriptor. If the only events you care about are AIO, then you >>> can pass NULL as the filter argument to kevent. I suspect this is the >>> cause of your problem. The kernel probably thinks you're trying to >>> register for an aiocb that's outside of your address space or >>> something like that. >>> >>> >>>> while (!done) { >>>> printf("+"); >>>> rev = kevent(kq, filter, 1, changed, 16, 0); //&timeo); >>>> if (rev < 0) { >>>> perror("kevent error"); >>>> } else if (rev == 0) { >>>> printf("T"); >>>> } else { >>>> printf("rev(%d)\n", rev); >>>> if (changed[0].flags == EV_ERROR) { >>>> errno = changed[0].data; >>>> printf( "%s: EV_Error(%d) kevent(): %s\n", __func__, errno, >>>> strerror(errno)); >>>> memset(&changed[0], 0, sizeof(struct kevent)); >>>> } else { >>>> err = aio_error((struct aiocb*)changed[0].udata); >>> No need to call aio_error(2) after kevent(2) returns. You can go >>> straight to aio_return. aio_error shouldn't hurt, but it isn't >>> necessary. >> According to kevent(2) calling kevent can return errors on the called >> aio_calls. >> It then returns with EV_ERROR in flags, and errno is stored in the >> event.data. >> >> But what would be going on when the event's flag contains EV_ERROR but >> event's data is still 0??? >> >> the udata field still seems to point to the aio data that was passed >> into the aio block when calling aio_read(). >> >> Should I ignore this as a non-error? >> >> --WjW > Are you sure you bzero()ed your aiocb before initializing it? Any > stack garbage that was present in its > aio_sigevent.sigev_notify_kevent_flags field will be dutifully copied > into the returned kevent. And in any case, the definitive way to get > the final status of a completed aio operation is with aio_return. That seems to help in getting things clear...    -13> 2019-01-02 13:32:31.834 dc15a80  1 bdev:327 paio get_next_completed processing event i = 0 aio_return(22) (22) Invalid argument Disadvantage is that it is not clear yet which of the many arguments that is? --WjW From owner-freebsd-hackers@freebsd.org Wed Jan 2 13:54:24 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 11BB4141FBF0 for ; Wed, 2 Jan 2019 13:54:24 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 833218D152 for ; Wed, 2 Jan 2019 13:54:22 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x02DsPW5074638 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 2 Jan 2019 14:54:25 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x02DsJ0i074635; Wed, 2 Jan 2019 14:54:20 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Wed, 2 Jan 2019 14:54:19 +0100 (CET) From: Wojciech Puchar To: drosih cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components In-Reply-To: <4ea0612bbad08e61a15d495459b2bede@rpi.edu> Message-ID: References: <20190101045638.D280E1F56@spqr.komquats.com> <4ea0612bbad08e61a15d495459b2bede@rpi.edu> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 833218D152 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.83 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[puchar.net]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; NEURAL_HAM_SHORT(-0.91)[-0.908,0]; IP_SCORE(-3.62)[ip: (-9.53), ipnet: 194.1.144.0/24(-4.77), asn: 43476(-3.81), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 13:54:24 -0000 >> >> >> Brian's simple experiment [1] demonstrates that "zero-cost" is >> more of an aspiration (and a very long term one, perhaps) than >> a hard fact ;-) > > Brian's simple experiment is a simple experiment. It's interesting, > but hardly the definitive word in evaluating a language. We need > more real-world experience with serious programs before dismissing wrong. you have to PROVE it's useful, not prove it's not useful. From owner-freebsd-hackers@freebsd.org Wed Jan 2 15:00:15 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F08014232F9 for ; Wed, 2 Jan 2019 15:00:15 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lf1-f65.google.com (mail-lf1-f65.google.com [209.85.167.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 250458F9A1 for ; Wed, 2 Jan 2019 15:00:14 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lf1-f65.google.com with SMTP id y14so2170830lfg.13 for ; Wed, 02 Jan 2019 07:00:14 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=6W8X90LMItygF6fH7t8PRTEaDElJ1va3s2EEg/o7Xfs=; b=D4/AVKVwuUHn2lfizjzj97/j8ExbBfluQcl10snvvXDXTOZTZ4mzarqIhqL9nB3prP 9wkPMoy9Nghl7uA+CmvphwmLewxjVrOVkdkNLFPGl4PPsVshBbSoIsGyqGmJYf3qzpcc 6NUByqT22ZmD3iQD1PpkDFb8khIvI8s+YzmjBXNjB4hWZze4KFe3EsnWX1c1exoVuB9h /Vdv+zb47GgTmKVxyr8d0KFt1abuyrsMmVwl1fhK6usIOfLBdjlkSDfqp+/DVIw+gcZH 9GkMJx6kPxOvIwHvaw2Dp5Q3+63bOMXxXFZ6cyz+mRqXPUL3el0msOrRaopOkRRtEmCs E0Cg== X-Gm-Message-State: AA+aEWZyrGY9TbYIbC+WoXkXRKpHlWzhQ7pOoyX+NtCmiPAzB+lLmiqO 8f7Po330yQT7ETQlmepHaeTwUP4hAQWjAw1lK20OfA== X-Google-Smtp-Source: AFSGD/U1aDBQ+94PZv5yyNcPX+tHj872DM0XAd2xuCUI+41HaTv/3axEO5ei7oDrwoly1MxTqKg7A6+oMJRr5UQa3GQ= X-Received: by 2002:a19:200b:: with SMTP id g11mr21163434lfg.58.1546441206752; Wed, 02 Jan 2019 07:00:06 -0800 (PST) MIME-Version: 1.0 References: <8753521a-4555-ec2a-5efc-dee2660b4d9b@digiware.nl> <969d9a38-d3dd-78d0-c974-ba14ec4747db@digiware.nl> <016fda76-8f02-ca62-af7d-062262bd4a09@digiware.nl> In-Reply-To: <016fda76-8f02-ca62-af7d-062262bd4a09@digiware.nl> From: Alan Somers Date: Wed, 2 Jan 2019 07:59:55 -0700 Message-ID: Subject: Re: Using kqueue with aio_read/write To: Willem Jan Withagen Cc: FreeBSD Hackers Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 250458F9A1 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.167.65 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-4.01 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[65.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.90)[-0.904,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.78), asn: 15169(-1.61), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 15:00:15 -0000 On Wed, Jan 2, 2019 at 5:53 AM Willem Jan Withagen wrote: > > On 02/01/2019 03:23, Alan Somers wrote: > > On Tue, Jan 1, 2019 at 6:56 PM Willem Jan Withagen wrote: > >> On 28/12/2018 02:47, Alan Somers wrote: > >>> On Thu, Dec 27, 2018 at 6:15 PM Willem Jan Withagen wrote: > >>>> Hi, > >>>> > >>>> Im trying to understand why I cannot get so code to work. > >>>> This is the smallest extract I can make to show my problem. > >>>> > >>>> I would expect the kevent() call to return every timeo tick. > >>>> Even if I tell it NOT to time-out I get these spurts of errors > >>>> > >>>> Since there is nothing to trigger the AIO-event, I would expect kqueue > >>>> to hold indefinitly. > >>>> > >>>> But it does not generate anything other than errors > >>>> And instead it repeatedly complains that there is a permission error: > >>>> get_events_kevent: EV_Error(1) kevent(): Operation not permitted > >>>> > >>>> But I'm not getting where that would the case... > >>>> > >>>> Surely a pilot error, but I do overlook it al the time. > >>>> So suggestions are welcome. > >>>> > >>>> Thanx, > >>>> --WjW > >>>> > >>>> #include > >>>> #include > >>>> #include > >>>> #include > >>>> #include > >>>> #include > >>>> #include > >>>> #include > >>>> #include > >>>> > >>>> #define BUFFER_SIZE 512 > >>>> #define MAX_EVENTS 32 > >>>> > >>>> #define FILENAME "/tmp/aio_test" > >>>> char filename[256]; > >>>> int fd; > >>>> int done = 0; > >>>> > >>>> void get_events_kevent(int fd, int kq) > >>>> { > >>>> printf("get_events function fd = %d, kq = %d\n", fd, kq); > >>>> int i = 0, errcnt = 0, err, ret, reterr, rev; > >>>> int search = 1; > >>>> > >>>> int timeout_ms = 10; > >>>> struct timespec timeo = { > >>>> timeout_ms / 1000, > >>>> (timeout_ms % 1000) * 1000 * 1000 > >>>> }; > >>>> struct kevent filter[16]; > >>>> struct kevent changed[16]; > >>>> > >>>> EV_SET(&filter[0], fd, EVFILT_AIO, > >>>> EV_ADD, > >>>> 0, 0, 0 ); > >>> This is the first problem. There's no need to explicitly set > >>> EVFILT_AIO on the kqueue. It gets set by the aio_read(2) or similar > >>> syscall. And this invocation wouldn't be correct anyway, because for > >>> AIO the ident field refers to the address of the struct aiocb, not the > >>> file descriptor. If the only events you care about are AIO, then you > >>> can pass NULL as the filter argument to kevent. I suspect this is the > >>> cause of your problem. The kernel probably thinks you're trying to > >>> register for an aiocb that's outside of your address space or > >>> something like that. > >>> > >>> > >>>> while (!done) { > >>>> printf("+"); > >>>> rev = kevent(kq, filter, 1, changed, 16, 0); //&timeo); > >>>> if (rev < 0) { > >>>> perror("kevent error"); > >>>> } else if (rev == 0) { > >>>> printf("T"); > >>>> } else { > >>>> printf("rev(%d)\n", rev); > >>>> if (changed[0].flags == EV_ERROR) { > >>>> errno = changed[0].data; > >>>> printf( "%s: EV_Error(%d) kevent(): %s\n", __func__, errno, > >>>> strerror(errno)); > >>>> memset(&changed[0], 0, sizeof(struct kevent)); > >>>> } else { > >>>> err = aio_error((struct aiocb*)changed[0].udata); > >>> No need to call aio_error(2) after kevent(2) returns. You can go > >>> straight to aio_return. aio_error shouldn't hurt, but it isn't > >>> necessary. > >> According to kevent(2) calling kevent can return errors on the called > >> aio_calls. > >> It then returns with EV_ERROR in flags, and errno is stored in the > >> event.data. > >> > >> But what would be going on when the event's flag contains EV_ERROR but > >> event's data is still 0??? > >> > >> the udata field still seems to point to the aio data that was passed > >> into the aio block when calling aio_read(). > >> > >> Should I ignore this as a non-error? > >> > >> --WjW > > Are you sure you bzero()ed your aiocb before initializing it? Any > > stack garbage that was present in its > > aio_sigevent.sigev_notify_kevent_flags field will be dutifully copied > > into the returned kevent. And in any case, the definitive way to get > > the final status of a completed aio operation is with aio_return. > That seems to help in getting things clear... > > -13> 2019-01-02 13:32:31.834 dc15a80 1 bdev:327 paio > get_next_completed processing event i = 0 aio_return(22) (22) Invalid > argument > > Disadvantage is that it is not clear yet which of the many arguments > that is? > > --WjW It could be failing for any reason that read(2) can fail. Or, the iocb might not be complete. aio_error(2) would tell you. One common problem is if you allocate the iocb on the stack and accidentally move it after calling aio_read(). That's bitten me before. -Alan From owner-freebsd-hackers@freebsd.org Wed Jan 2 15:18:40 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2DD461423F79 for ; Wed, 2 Jan 2019 15:18:40 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp10.server.rpi.edu (smtp10.server.rpi.edu [128.113.2.230]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "canit.localdomain", Issuer "canit.localdomain" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 63652909D9 for ; Wed, 2 Jan 2019 15:18:39 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp-auth1.server.rpi.edu (smtp-auth1.server.rpi.edu [128.113.2.231]) by smtp10.server.rpi.edu (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x02FIabZ001442 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 2 Jan 2019 10:18:37 -0500 Received: from smtp-auth1.server.rpi.edu (localhost [127.0.0.1]) by smtp-auth1.server.rpi.edu (Postfix) with ESMTP id B74C8580E2; Wed, 2 Jan 2019 10:18:36 -0500 (EST) Received: from [192.168.2.22] (cpe-72-224-11-59.nycap.res.rr.com [72.224.11.59]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: drosih) by smtp-auth1.server.rpi.edu (Postfix) with ESMTPSA id 88252580BE; Wed, 2 Jan 2019 10:18:36 -0500 (EST) From: "Garance A Drosehn" To: "Wojciech Puchar" Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components Date: Wed, 02 Jan 2019 10:22:25 -0500 X-Mailer: MailMate (1.11r5462) Message-ID: <93539AD0-4528-460E-9FC9-28EBA104DCE7@rpi.edu> In-Reply-To: References: <20190101045638.D280E1F56@spqr.komquats.com> <4ea0612bbad08e61a15d495459b2bede@rpi.edu> MIME-Version: 1.0 X-Virus-Scanned: ClamAV using ClamSMTP X-Bayes-Prob: 0.0001 (Score 0, tokens from: outgoing, @@RPTN) X-Spam-Score: 0.00 () [Hold at 10.10] X-CanIt-Incident-Id: 03XjriATS X-CanIt-Geo: ip=72.224.11.59; country=US; region=New York; city=Troy; latitude=42.7495; longitude=-73.5951; http://maps.google.com/maps?q=42.7495,-73.5951&z=6 X-CanItPRO-Stream: outgoing X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.230 X-Rspamd-Queue-Id: 63652909D9 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dmarc=pass (policy=none) header.from=rpi.edu; spf=pass (mx1.freebsd.org: domain of drosih@rpi.edu designates 128.113.2.230 as permitted sender) smtp.mailfrom=drosih@rpi.edu X-Spamd-Result: default: False [-3.16 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:128.113.2.225/28]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[230.2.113.128.list.dnswl.org : 127.0.11.2]; MX_GOOD(-0.01)[cached: mail.rpi.edu]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.14)[-0.139,0]; DMARC_POLICY_ALLOW(-0.50)[rpi.edu,none]; IP_SCORE(-0.02)[country: US(-0.08)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:91, ipnet:128.113.0.0/16, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 15:18:40 -0000 On 2 Jan 2019, at 8:54, Wojciech Puchar wrote: >>> >>> >>> Brian's simple experiment [1] demonstrates that "zero-cost" is >>> more of an aspiration (and a very long term one, perhaps) than >>> a hard fact ;-) >> >> Brian's simple experiment is a simple experiment. It's interesting, >> but hardly the definitive word in evaluating a language. We need >> more real-world experience with serious programs before dismissing > > wrong. you have to PROVE it's useful, not prove it's not useful. Please read the rest of my replies before getting yourself worked up over whatever it is that you think I am trying to prove. Note that I'm having some trouble with my email client over the last few days, so read all emails (no matter how oddly formatted) which are by either gad@FreeBSD.org or 'drosih@rpi.edu' (even if it doesn't include my first name in it). If you read them all, you'll hopefully realize that I am not trying to force anyone to do any specific thing, and thus I don't have to prove much of anything. -- Garance Alistair Drosehn = drosih@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA From owner-freebsd-hackers@freebsd.org Wed Jan 2 14:19:43 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0D19142224B for ; Wed, 2 Jan 2019 14:19:43 +0000 (UTC) (envelope-from matt.churchyard@userve.net) Received: from smtp-a.userve.net (smtp-outbound.userve.net [217.196.1.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.userve.net", Issuer "Thawte RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7DB1C8E759 for ; Wed, 2 Jan 2019 14:19:42 +0000 (UTC) (envelope-from matt.churchyard@userve.net) Received: from owa.usd-group.com (owa.usd-group.com [217.196.1.2]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp-a.userve.net (Postfix) with ESMTPS id B6656F6D for ; Wed, 2 Jan 2019 14:19:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=userve.net; s=201508; t=1546438773; bh=U1yOA7U1J5er3B+PmcxrYsDds/mNWYdV5MiPoJ0aXxo=; h=From:To:Subject:Date; b=IA2z4W+6MfwsZmEF5PaIyrXMv2mpj76pg5Y0gN0UZHakDqN/yO2aznQMQLGBy0+tZ rI+EHC/hMA4ujhcv9c4tMrKO0l/XssGQ/UnziiJxKZvMaVxJvxvsE15mI2qRiVuW8h d2Isuh+Hj5/X/UCUduhf1As0GhgSilH318Ag/VRs= Received: from SERVER.ad.usd-group.com (192.168.0.1) by SERVER.ad.usd-group.com (192.168.0.1) with Microsoft SMTP Server (TLS) id 15.0.847.32; Wed, 2 Jan 2019 14:19:33 +0000 Received: from SERVER.ad.usd-group.com ([fe80::b19d:892a:6fc7:1c9]) by SERVER.ad.usd-group.com ([fe80::b19d:892a:6fc7:1c9%12]) with mapi id 15.00.0847.030; Wed, 2 Jan 2019 14:19:33 +0000 From: Matt Churchyard To: "freebsd-hackers@freebsd.org" Subject: FreeBSD 12 log formats Thread-Topic: FreeBSD 12 log formats Thread-Index: AdSipZEJZ1EIppz+QAmQWArpuWdTqQ== Date: Wed, 2 Jan 2019 14:19:33 +0000 Message-ID: <0478636f9afd49d68a7d0c86d68c01e3@SERVER.ad.usd-group.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.0.10] MIME-Version: 1.0 X-Rspamd-Queue-Id: 7DB1C8E759 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=userve.net header.s=201508 header.b=IA2z4W+6 X-Spamd-Result: default: False [-2.30 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.96)[-0.962,0]; R_DKIM_ALLOW(-0.20)[userve.net:s=201508]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-0.96)[-0.959,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[userve.net]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_THREE(0.00)[4]; DKIM_TRACE(0.00)[userve.net:+]; MX_GOOD(-0.01)[av-smtp-in2.userve.net,av-smtp-in1.userve.net]; RCVD_IN_DNSWL_NONE(0.00)[22.1.196.217.list.dnswl.org : 127.0.10.0]; NEURAL_HAM_SHORT(-0.05)[-0.052,0]; TO_DN_EQ_ADDR_ALL(0.00)[]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:20652, ipnet:217.196.0.0/20, country:GB]; IP_SCORE(-0.02)[country: GB(-0.10)] X-Mailman-Approved-At: Wed, 02 Jan 2019 16:09:30 +0000 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 14:19:44 -0000 Hello, I asked this question on the freebsd-questions mailing list but didn't get = any response. I (and other users) have noticed that log messages have started appearing i= n a different format in FreeBSD 12 (although in my case only on one system,= and some logs are still the original format...). For me this caused issues with automated log parsers. It appears this is related to work for rfc5424 support, but as far as I can= see from the commit messages, this shouldn't be enabled without updating t= he flags for syslog? Jan 2 12:04:13 ftp 1 2019-01-02T12:04:13.584377+00:00 ftp.full.hostname pk= g 5522 - - php72-hash-7.2.13 installed "For people interested in using this, this feature can be enabled by adding the following line to /etc/rc.conf: syslogd_flags=3D"-s -O rfc5424" " Regards, Matt Churchyard From owner-freebsd-hackers@freebsd.org Wed Jan 2 16:37:36 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AF8361427A8D for ; Wed, 2 Jan 2019 16:37:36 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from smtp.digiware.nl (smtp.digiware.nl [IPv6:2001:4cb8:90:ffff::3]) (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 D8EB495029; Wed, 2 Jan 2019 16:37:35 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from router.digiware.nl (localhost.digiware.nl [127.0.0.1]) by smtp.digiware.nl (Postfix) with ESMTP id 137E8B14CE; Wed, 2 Jan 2019 17:37:32 +0100 (CET) X-Virus-Scanned: amavisd-new at digiware.com Received: from smtp.digiware.nl ([127.0.0.1]) by router.digiware.nl (router.digiware.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id y7RGpNdGIeqM; Wed, 2 Jan 2019 17:37:31 +0100 (CET) Received: from [192.168.11.152] (unknown [192.168.11.152]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.digiware.nl (Postfix) with ESMTPSA id 04B01B14C5; Wed, 2 Jan 2019 17:37:31 +0100 (CET) Subject: Re: Using kqueue with aio_read/write To: Alan Somers Cc: FreeBSD Hackers References: <8753521a-4555-ec2a-5efc-dee2660b4d9b@digiware.nl> <969d9a38-d3dd-78d0-c974-ba14ec4747db@digiware.nl> <016fda76-8f02-ca62-af7d-062262bd4a09@digiware.nl> From: Willem Jan Withagen Message-ID: <7847cb4f-5957-3145-7ffb-dc0b702f32fd@digiware.nl> Date: Wed, 2 Jan 2019 17:37:28 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-GB X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 16:37:37 -0000 On 02/01/2019 15:59, Alan Somers wrote: > On Wed, Jan 2, 2019 at 5:53 AM Willem Jan Withagen wrote: >> On 02/01/2019 03:23, Alan Somers wrote: >>> On Tue, Jan 1, 2019 at 6:56 PM Willem Jan Withagen wrote: >>>> On 28/12/2018 02:47, Alan Somers wrote: >>>>> On Thu, Dec 27, 2018 at 6:15 PM Willem Jan Withagen wrote: >>>>>> Hi, >>>>>> >>>>>> Im trying to understand why I cannot get so code to work. >>>>>> This is the smallest extract I can make to show my problem. >>>>>> >>>>>> I would expect the kevent() call to return every timeo tick. >>>>>> Even if I tell it NOT to time-out I get these spurts of errors >>>>>> >>>>>> Since there is nothing to trigger the AIO-event, I would expect kqueue >>>>>> to hold indefinitly. >>>>>> >>>>>> But it does not generate anything other than errors >>>>>> And instead it repeatedly complains that there is a permission error: >>>>>> get_events_kevent: EV_Error(1) kevent(): Operation not permitted >>>>>> >>>>>> But I'm not getting where that would the case... >>>>>> >>>>>> Surely a pilot error, but I do overlook it al the time. >>>>>> So suggestions are welcome. >>>>>> >>>>>> Thanx, >>>>>> --WjW >>>>>> >>>>>> #include >>>>>> #include >>>>>> #include >>>>>> #include >>>>>> #include >>>>>> #include >>>>>> #include >>>>>> #include >>>>>> #include >>>>>> >>>>>> #define BUFFER_SIZE 512 >>>>>> #define MAX_EVENTS 32 >>>>>> >>>>>> #define FILENAME "/tmp/aio_test" >>>>>> char filename[256]; >>>>>> int fd; >>>>>> int done = 0; >>>>>> >>>>>> void get_events_kevent(int fd, int kq) >>>>>> { >>>>>> printf("get_events function fd = %d, kq = %d\n", fd, kq); >>>>>> int i = 0, errcnt = 0, err, ret, reterr, rev; >>>>>> int search = 1; >>>>>> >>>>>> int timeout_ms = 10; >>>>>> struct timespec timeo = { >>>>>> timeout_ms / 1000, >>>>>> (timeout_ms % 1000) * 1000 * 1000 >>>>>> }; >>>>>> struct kevent filter[16]; >>>>>> struct kevent changed[16]; >>>>>> >>>>>> EV_SET(&filter[0], fd, EVFILT_AIO, >>>>>> EV_ADD, >>>>>> 0, 0, 0 ); >>>>> This is the first problem. There's no need to explicitly set >>>>> EVFILT_AIO on the kqueue. It gets set by the aio_read(2) or similar >>>>> syscall. And this invocation wouldn't be correct anyway, because for >>>>> AIO the ident field refers to the address of the struct aiocb, not the >>>>> file descriptor. If the only events you care about are AIO, then you >>>>> can pass NULL as the filter argument to kevent. I suspect this is the >>>>> cause of your problem. The kernel probably thinks you're trying to >>>>> register for an aiocb that's outside of your address space or >>>>> something like that. >>>>> >>>>> >>>>>> while (!done) { >>>>>> printf("+"); >>>>>> rev = kevent(kq, filter, 1, changed, 16, 0); //&timeo); >>>>>> if (rev < 0) { >>>>>> perror("kevent error"); >>>>>> } else if (rev == 0) { >>>>>> printf("T"); >>>>>> } else { >>>>>> printf("rev(%d)\n", rev); >>>>>> if (changed[0].flags == EV_ERROR) { >>>>>> errno = changed[0].data; >>>>>> printf( "%s: EV_Error(%d) kevent(): %s\n", __func__, errno, >>>>>> strerror(errno)); >>>>>> memset(&changed[0], 0, sizeof(struct kevent)); >>>>>> } else { >>>>>> err = aio_error((struct aiocb*)changed[0].udata); >>>>> No need to call aio_error(2) after kevent(2) returns. You can go >>>>> straight to aio_return. aio_error shouldn't hurt, but it isn't >>>>> necessary. >>>> According to kevent(2) calling kevent can return errors on the called >>>> aio_calls. >>>> It then returns with EV_ERROR in flags, and errno is stored in the >>>> event.data. >>>> >>>> But what would be going on when the event's flag contains EV_ERROR but >>>> event's data is still 0??? >>>> >>>> the udata field still seems to point to the aio data that was passed >>>> into the aio block when calling aio_read(). >>>> >>>> Should I ignore this as a non-error? >>>> >>>> --WjW >>> Are you sure you bzero()ed your aiocb before initializing it? Any >>> stack garbage that was present in its >>> aio_sigevent.sigev_notify_kevent_flags field will be dutifully copied >>> into the returned kevent. And in any case, the definitive way to get >>> the final status of a completed aio operation is with aio_return. >> That seems to help in getting things clear... >> >> -13> 2019-01-02 13:32:31.834 dc15a80 1 bdev:327 paio >> get_next_completed processing event i = 0 aio_return(22) (22) Invalid >> argument >> >> Disadvantage is that it is not clear yet which of the many arguments >> that is? >> >> --WjW > It could be failing for any reason that read(2) can fail. Or, the > iocb might not be complete. aio_error(2) would tell you. One common > problem is if you allocate the iocb on the stack and accidentally move > it after calling aio_read(). That's bitten me before. Well the main part that is biting here, is that it sort of has to be compatible with what Sage ea. have cooked up to manage the iov/iocb/aiocb  stuff. And I need to do it with keeping the Linux code working as well. And the real mess was to sort out get the correct pointer into the aio_write() and find it back in get_next_event() to finish that. But it looks like I've sorted that part now. Get_next_event() actually now finds the correct aiocb. and I can aio_return() without errors. Now the next trick is going to take it of the list off outstanding aio's in the ceph-list. That still asserts somewhere. But slowly getting there. Just running my head into a wall at some times. --WjW From owner-freebsd-hackers@freebsd.org Wed Jan 2 18:29:11 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F1F47142BE61 for ; Wed, 2 Jan 2019 18:29:10 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 93E756A615 for ; Wed, 2 Jan 2019 18:29:09 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id elGKgN6gcnBo4elGMgdwTc; Wed, 02 Jan 2019 11:29:07 -0700 X-Authority-Analysis: v=2.3 cv=J8fUEzvS c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=s1Xs-aBeAAAA:8 a=6I5d2MoRAAAA:8 a=BWvPGDcYAAAA:8 a=YxBL1-UpAAAA:8 a=TJ4FAKxvp3dUK_l3LRYA:9 a=CjuIK1q_8ugA:10 a=3eX8ohlDICUA:10 a=Ni4qwCKS2BbQ6fws8yIR:22 a=IjZwj45LgO3ly-622nXo:22 a=pxhY87DP9d2VeQe4joPk:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id A7DEE584E; Wed, 2 Jan 2019 10:29:04 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x02IT4EM064172; Wed, 2 Jan 2019 10:29:04 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x02IT4Kc064169; Wed, 2 Jan 2019 10:29:04 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901021829.x02IT4Kc064169@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Eric McCorkle cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components In-Reply-To: Message from Eric McCorkle of "Tue, 01 Jan 2019 10:50:28 -0500." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 02 Jan 2019 10:29:04 -0800 X-CMAE-Envelope: MS4wfC6Wuj+0r1qAkoVqubeTCaiyn3/aGfcyNbCIMcXaGsBuqIqRsvwAR+l/5lnLlyboCdyQtZiPbdCG9Zw9Z+7CuMgOfaYT1c1H0LMEJaJmaj1EoevwQ7Ki YuidQ9ewdfbRgpnCDN8wcMc9vcUjrltR6NDbQrFSHwD8ggwrNqmpeRHoBfWw9fP/N+1dVBUWRyx8hfDTWgkMxG7yfC2ESqukST9U71L5yRcFZAuHyex2geJS X-Rspamd-Queue-Id: 93E756A615 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.40 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.97)[-0.975,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-1.71)[ip: (-4.12), ipnet: 64.59.128.0/20(-2.42), asn: 6327(-1.94), country: CA(-0.09)]; RCVD_IN_DNSWL_LOW(-0.10)[138.136.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 18:29:11 -0000 In message , Eric McCorkl e writes: > This is an OpenPGP/MIME signed message (RFC 4880 and 3156) > --tu7wwqLaLNvV59iK66RVuCN4u9LNuo2ra > Content-Type: multipart/mixed; boundary="40zQJvQINjrS8i7U0w9C4z0duC53dUJgc"; > protected-headers="v1" > From: Eric McCorkle > To: freebsd-hackers@freebsd.org > Message-ID: > Subject: Re: Speculative: Rust for base system components > References: <20190101045638.D280E1F56@spqr.komquats.com> > In-Reply-To: <20190101045638.D280E1F56@spqr.komquats.com> > > --40zQJvQINjrS8i7U0w9C4z0duC53dUJgc > Content-Type: text/plain; charset=utf-8 > Content-Language: en-US > Content-Transfer-Encoding: quoted-printable > > On 12/31/18 11:56 PM, Cy Schubert wrote: > > What would having another language in base buy us? This reminds me of a= > couple of months ago at OpenHack Victoria someone was trying to convince= > me that the kernel needed a JavaVM. (Sure we each had a few beers) but t= > he similarity of this discussion doesn't escape me. Kernel modules and fu= > nctions written in java^H^H^H^H rust: why? > > I don't think that's a fair comparison at all. Rust is a systems > language built around zero-cost abstractions that is usable for > developing real embedded code. Java is a completely different animal, > and there is no reasonable case for a Java VM in the kernel/loader. What is the proposal then? Just to have another language in base? If it's just that, wouldn't the port suffice? > > I'm all for discussion and criticism of this, that's why I posted it, > but I don't think these kinds of false equivalences are helpful. Actually it is helpful. Without a solid proposal of a new feature or userland utility to be imported into base that requires the support of a language not already in base, the implication of the original email starting this thread was to rewrite FreeBSD using rust. There is equivalence as the argument that evening was, "there are more Java developers than C developers and replacing C with Java would benefit by adding to the pool of possible contributors." In reality we should rely more on ports. Over the years this business has become more fragmented. Each year we see new languages being developed and used. Importing new shiny objects into base is unsustainable. IMO the momentum is behind containerization, specifically kubernetes and docker-like containers. That is today. The next year or two will introduce new technologies and shiny objects which we will likely need to introduce here to remain relevant. We should be looking to reduce the footprint of base, introduce new technologies in ports (ports are much easier to build from scratch, maintain, and update than base). Additionally the idea of meta-ports that install groups of packages would make building purpose-built systems a breeze for our user base, similar to what anaconda does, like a FreeBSD based LAMP (FAMP) stack package that installs all the necessary bits with one pkg install command. In summary we should pair down base and use ports to our advantage. Unless the proposal is to add some feature written in rust that cannot live in ports or if the proposal is to rewrite FreeBSD into rust (which I vehemently disagree with), there is no reason to consider adding rust to base. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Thu Jan 3 01:21:15 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F17BC1437FC9 for ; Thu, 3 Jan 2019 01:21:14 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic306-22.consmr.mail.ne1.yahoo.com (sonic306-22.consmr.mail.ne1.yahoo.com [66.163.189.84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 19DEA823D9 for ; Thu, 3 Jan 2019 01:21:13 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: jqRshcYVM1nrDwOHBAxh0WajLYdNdgSiA1M5z5BblqWvmz2u2nR76lR0uetmNP5 4CkyBHh7pnFT9ckZyyBvTCfbpxPOc4Nna02_rGJrbPyxePvM2BVkX1xOE6bnIDrFAVd1oKy_2AbM 1H932YJQmeSi1zTEanA8jAfoILvZhBZJY.EiGO8bT8VGwK7vn2ZUNktSYUee_m03ZvUYns3eTI2X qyw0zmqMnRvC5W8hSrYq8iHz5pD5EO4lW0bme1.ALUTDV20q1UqcbDJwP6D7r0MVuKlY3ViCdcIK tE5X_wzcxTjGSfeTDT24o.pEwCJrZxhnspsu7ycKMh7eJ1hfUEYJ_tgH7C34IxRoI9VddF0oLx51 F8Rs1sn2Nsv16GXSiyK39uDMtYaCgZkLN3UBQ6GR2jLezjaFcn4L_QocVQTC7ytxLP_BLRkCe3Yy X3E4y2gl9OtqUUHjCRXAdPHr4O9vQD0f5XEpnjqzPy0bWeuFKfJBEUgTXCe6VTLb_ABjUzKE46vp 3O5N7whgzo.u3UoFQUYvZhXh3v5bMSVrEU8lI77X12CDCq6N8AW9xqREggbMeGr_00wjfyHOTAqZ CytuL9U6AQitQ_y5EXJO7JtKyvM1S.iM75kog6tKdbqNlqG3Tg_mU14YTPInTXLlKlGvhFMwNhvN YyRi7H8XDjz0z3O5JBAct4KirIytTFeWDrZn1UTn1A1eDgrdDS7Pg6LcQyueJw6BYx6KCeWdbhYx xEy_iZJEVdrZs5aG0NQviplqlp6YfKEa.WK.iSkXpvqLUoRC5dcsynObTfzjIWKGO7xBlU8vTYnR ckYm2SMZqtgCO3W_V3QVauwiazkTyn5OpaMdVv3vQ81qcMdTEyfDLRx_8Zz_5PTUs3_FT71Bw0kY QH_6ZKyvA3SN4cJciCQG6nkWnwbNGjV1l4Di09X1nGtSGVIU84rs5dyIjmJ4YCb_gCGN_ho6M7cT WFR62ocpBvZ4RiflDB1tvEUWulRvkDXL_jwSw7YBb95xASMXvp6EApP7a7hp1Z4lmUfgTLQ7IKDx nhlnbFdiqjmgo9lBuVxp5ZGOoA5hxAX99r2zf9wGZW.BtEPs7pDOxM__O3G0i Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.ne1.yahoo.com with HTTP; Thu, 3 Jan 2019 01:21:06 +0000 Received: from c-67-170-167-181.hsd1.or.comcast.net (EHLO [192.168.1.109]) ([67.170.167.181]) by smtp404.mail.ne1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID d2f90f80428317f6f117208ec5143403 for ; Thu, 03 Jan 2019 01:21:05 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\)) Subject: Code questions tied to a qemu-aarch64-static hang-up that I observe during a amd64->aarch64 poudriere-devel based bulk cross-build of some ports Message-Id: Date: Wed, 2 Jan 2019 17:21:03 -0800 To: freebsd-hackers Hackers X-Mailer: Apple Mail (2.3445.102.3) X-Rspamd-Queue-Id: 19DEA823D9 X-Spamd-Bar: / X-Spamd-Result: default: False [-0.81 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MV_CASE(0.50)[]; FREEMAIL_FROM(0.00)[yahoo.com]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: mta6.am0.yahoodns.net]; DKIM_TRACE(0.00)[yahoo.com:+]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-0.16)[-0.159,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36646, ipnet:66.163.184.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.60)[-0.597,0]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-0.54)[-0.536,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; IP_SCORE(0.99)[ip: (3.04), ipnet: 66.163.184.0/21(1.11), asn: 36646(0.88), country: US(-0.08)]; RCVD_IN_DNSWL_NONE(0.00)[84.189.163.66.list.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 01:21:15 -0000 The following code is from where I see a hang-up in qemu-aarch64-static: /* select(2) */ static inline abi_long do_freebsd_select(CPUArchState *env, int n, abi_ulong rfd_addr, abi_ulong wfd_addr, abi_ulong efd_addr, abi_ulong target_tv_addr) { . . . (omitted material . . . sigfillset(&mask); sigprocmask(SIG_BLOCK, &mask, &omask); if (ts->signal_pending) { . . . (omitted) . . . } else { ret =3D get_errno(pselect(n, rfds_ptr, wfds_ptr, efds_ptr, = ts_ptr, &omask)); sigprocmask(SIG_SETMASK, &omask, NULL); } So more directly for the path taken:, with some comments added that are tied to my question: // signals might not be blocked here sigfillset(&mask); sigprocmask(SIG_BLOCK, &mask, &omask); // so signals are blocked // but the below reneables them during waitin in pselect // (if they were not blocked before the sigprocmask call). ret =3D get_errno(pselect(n, rfds_ptr, wfds_ptr, efds_ptr, ts_ptr, &omask)); // signals are again blocked during parts of pselect // and here after returning. sigprocmask(SIG_SETMASK, &omask, NULL); // signals are no longer blocked Question Is there a reason for this code structure to be used? If so, what is it? I've another qeuestion based on what gdb reports and man pages say. (I extracted material from records of multiple gdb sessions.) (gdb) bt #0 _pselect () at _pselect.S:3 #1 0x00000000601da57f in __thr_pselect (count=3D12, = rfds=3D0x7ffffffe3650, wfds=3D0x0, efds=3D0x0, timo=3D0x0, = mask=3D0x7ffffffe3600) at /usr/src/lib/libthr/thread/thr_syscalls.c:378 #2 0x000000006004928d in do_freebsd_select (env=3D0x860edfb18, = n=3D, rfd_addr=3D140736934698744, wfd_addr=3D, efd_addr=3D0, target_tv_addr=3D0) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/freebsd/os-time.h:468 #3 do_freebsd_syscall (cpu_env=3D0x860edfb18, num=3D93, arg1=3D12, = arg2=3D140736934698744, arg3=3D0, arg4=3D0, arg5=3D0, arg6=3D274914043516,= arg7=3D274913946564, arg8=3D6579811) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/syscall.c:1106 #4 0x000000006003903c in target_cpu_loop (env=3D0x860edfb18) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/aarch64/target_arch_cpu.h:100 #5 0x0000000060038e09 in cpu_loop (env=3D0xc) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/main.c:121 #6 0x0000000060039ecb in main (argc=3D, = argv=3D0x7fffffffd360) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/main.c:513 Note the use of __thr_pselect . But I see in gdb's disass: 0x00000000600490ab <+33227>: callq 0x602b3b20 0x00000000600490b0 <+33232>: cmpl $0x0,0x19440(%r12) 0x00000000600490b9 <+33241>: je 0x60049262 = . . . 0x0000000060049262 <+33666>: mov -0x2f8(%rbp),%rsi 0x0000000060049269 <+33673>: mov -0x2f0(%rbp),%rdx 0x0000000060049270 <+33680>: mov -0x2e8(%rbp),%rcx 0x0000000060049277 <+33687>: lea -0x2e0(%rbp),%r9 0x000000006004927e <+33694>: mov -0x2b8(%rbp),%rdi 0x0000000060049285 <+33701>: mov %r14,%r8 0x0000000060049288 <+33704>: callq 0x601e1cb0 Yet:=20 = https://www.freebsd.org/cgi/man.cgi?query=3Dsigprocmask&apropos=3D0&sektio= n=3D2&manpath=3DFreeBSD+13-current&arch=3Ddefault&format=3Dhtml reports the following: QUOTE In threaded applications, pthread_sigmask(3) must be used instead of = sigprocmask(). END QUOTE But gdb shows use of 2 threads overall: (gdb) info threads Id Target Id Frame=20 * 1 LWP 100804 of process 89695 _pselect () at _pselect.S:3 2 LWP 101548 of process 89695 _umtx_op_err () at = /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37 So is the apparent use of sigprocmask valid in this context? For reference for where the hang-up happens for: configure:6844: checking whether // is distinct from / The result is: root 87913 0.0 0.0 12920 3668 0 I 13:29 0:00.06 | = | `-- sh: poudriere[FBSDFSSDjailCortexA57-default][01]: = build_pkg (texinfo-6.5_1,1) (sh) root 88869 0.0 0.0 12920 3660 0 I 13:29 0:00.00 | = | `-- sh: poudriere[FBSDFSSDjailCortexA57-default][01]: = build_pkg (texinfo-6.5_1,1) (sh) root 88870 0.0 0.0 10412 1848 0 IJ 13:29 0:00.01 | = | `-- /usr/bin/make -C /usr/ports/print/texinfo configure root 88974 0.0 0.0 10272 1812 0 IJ 13:30 0:00.00 | = | `-- /bin/sh -e -c (cd = /wrkdirs/usr/ports/print/texinfo/work/texinfo-6.5 && = _LATE_CONFIGURE_ARGS=3D"" ; if [=20 root 89283 0.0 0.0 11160 2108 0 IJ 13:30 0:00.10 | = | `-- /bin/sh ./configure --enable-nls = --prefix=3D/usr/local --localstatedir=3D/var --mandir=3D/usr/local/man = --di root 89692 0.0 0.0 227368 14504 0 IJ 13:30 0:00.03 | = | `-- /usr/local/bin/qemu-aarch64-static wc = //dev/null root 89694 0.0 0.0 227424 14596 0 IJ 13:30 0:00.01 | = | `-- /usr/local/bin/qemu-aarch64-static wc = //dev/null root 89695 0.0 0.0 227584 14720 0 IJ 13:30 0:00.01 | = | `-- wc: zygote (qemu-aarch64-static) wc (via qemu-aarch64-static) gets stuck in what apparently was a select = request that turned into a pselect use. (do_freebsd_pselect was not called.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar) From owner-freebsd-hackers@freebsd.org Thu Jan 3 10:14:08 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E39331423781 for ; Thu, 3 Jan 2019 10:14:07 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 846056E0E6 for ; Thu, 3 Jan 2019 10:14:06 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x03AE9TJ053880 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 3 Jan 2019 11:14:09 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x03AE4an053850; Thu, 3 Jan 2019 11:14:04 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Thu, 3 Jan 2019 11:14:04 +0100 (CET) From: Wojciech Puchar To: Cy Schubert cc: Eric McCorkle , freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components In-Reply-To: <201901021829.x02IT4Kc064169@slippy.cwsent.com> Message-ID: References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 846056E0E6 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.70 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; RCPT_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; FROM_HAS_DN(0.00)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.77)[-0.771,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.62)[ip: (-9.53), ipnet: 194.1.144.0/24(-4.77), asn: 43476(-3.81), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 10:14:08 -0000 > necessary bits with one pkg install command. > > In summary we should pair down base and use ports to our advantage. > Unless the proposal is to add some feature written in rust that cannot > live in ports or if the proposal is to rewrite FreeBSD into rust (which > I vehemently disagree with), Why do you disagree?! Let others do it, or even reimplement it in java or visual basic. But as a separate project. From owner-freebsd-hackers@freebsd.org Thu Jan 3 10:22:55 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CBA91423B22 for ; Thu, 3 Jan 2019 10:22:55 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-ot1-f43.google.com (mail-ot1-f43.google.com [209.85.210.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 84C7A6E590 for ; Thu, 3 Jan 2019 10:22:54 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-ot1-f43.google.com with SMTP id f18so28962014otl.11 for ; Thu, 03 Jan 2019 02:22:54 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GlY5mgd0qags6Z4+V4T3oHpeX59Q5nVGh6Gl0cr1NQA=; b=tX7/ih9IPyLKpM4uC232G3zs1ixzhd2HIWmwvt9lGtLsDZgmFZZXx6vqbxC10rSutP PM2QUyZBt3etTyube3L7XxsTN/ZqqNDSEde33Sp0hZiotkhf3uKsuiomIo/pwCbtvEmj XDIC2wmZ+gkJtheMZMyAG67xlPa1hVF6iC/L/NdET1hAeiR9uO3bIzMujZk/yukneHpi raS0sswXGBDrmLM8/vXnCzfGgXroxHF5gc871AVmjvt35jbmmN0CWQ7/uIKE+yL1emIi ORZrvOhQg8noZnX5N4vYuihgW9lpHi85JvxSFB+VO9vJ9+9TtDWzrgDDa9zJ6SzM8KAT NFPA== X-Gm-Message-State: AJcUukfIeiHbESKlOFY1ubAznR+mpwGk6LrxBF0NjUnG1HlMZoqXYpOG 3VvgXCDwaL7QNtBqgA4rPPrp8JB7VnyTHak4nM4= X-Google-Smtp-Source: ALg8bN7TKblm4b61MN1muQTkbAZ8l6RBXD/Tl42oU1Y0qcGsOtsj0+Npo4tY99hU1q7ZMs6pO5raaNXGKR4eSrZr9P8= X-Received: by 2002:a9d:6f95:: with SMTP id h21mr33444001otq.66.1546510968234; Thu, 03 Jan 2019 02:22:48 -0800 (PST) MIME-Version: 1.0 References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> In-Reply-To: From: Igor Mozolevsky Date: Thu, 3 Jan 2019 10:22:10 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Wojciech Puchar Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 84C7A6E590 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.210.43 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-3.50 / 15.00]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.40)[-0.400,0]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.985,0]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[hybrid-lab.co.uk]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[43.210.85.209.list.dnswl.org : 127.0.5.0]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.79), asn: 15169(-1.64), country: US(-0.08)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 10:22:55 -0000 On Thu, 3 Jan 2019 at 10:18, Wojciech Puchar wrote: > > > necessary bits with one pkg install command. > > > > In summary we should pair down base and use ports to our advantage. > > Unless the proposal is to add some feature written in rust that cannot > > live in ports or if the proposal is to rewrite FreeBSD into rust (which > > I vehemently disagree with), > > Why do you disagree?! Let others do it, or even reimplement it in java or > visual basic. > > But as a separate project. ... and call it RustyBSD or CRustyBSD (because there will still be C) :-)) -- Igor M. From owner-freebsd-hackers@freebsd.org Thu Jan 3 10:26:03 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0C0001423CBB for ; Thu, 3 Jan 2019 10:26:03 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4228C6E7C9 for ; Thu, 3 Jan 2019 10:26:02 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x03AQ9aA059399 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 3 Jan 2019 11:26:09 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x03AQ4Vb059396; Thu, 3 Jan 2019 11:26:04 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Thu, 3 Jan 2019 11:26:04 +0100 (CET) From: Wojciech Puchar To: Igor Mozolevsky cc: Wojciech Puchar , Hackers freeBSD Subject: Re: Speculative: Rust for base system components In-Reply-To: Message-ID: References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 4228C6E7C9 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.71 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.79)[-0.786,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.62)[ip: (-9.53), ipnet: 194.1.144.0/24(-4.77), asn: 43476(-3.81), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 10:26:03 -0000 >> >> Why do you disagree?! Let others do it, or even reimplement it in java or >> visual basic. >> >> But as a separate project. > > > ... and call it RustyBSD or CRustyBSD (because there will still be C) :-)) let they call it whatever they like. Just not try to turn FreeBSD upside down. From owner-freebsd-hackers@freebsd.org Thu Jan 3 12:47:03 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F6591429665 for ; Thu, 3 Jan 2019 12:47:03 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from mail.metricspace.net (mail.metricspace.net [IPv6:2001:470:1f11:617::107]) by mx1.freebsd.org (Postfix) with ESMTP id 2799073522 for ; Thu, 3 Jan 2019 12:47:03 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from [172.16.0.55] (unknown [172.16.0.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: eric) by mail.metricspace.net (Postfix) with ESMTPSA id 64B942C0C for ; Thu, 3 Jan 2019 12:47:02 +0000 (UTC) To: freebsd-hackers@freebsd.org References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> From: Eric McCorkle Openpgp: preference=signencrypt Autocrypt: addr=eric@metricspace.net; prefer-encrypt=mutual; keydata= mDMEWue2FBYJKwYBBAHaRw8BAQdAP/qVPlXodV6pYO5b1Jw0eFyMhyDD7B5y5eFsciutEfS0 JEVyaWMgTWNDb3JrbGUgPGVyaWNAbWV0cmljc3BhY2UubmV0PoiWBBMWCAA+FiEEDxi/0rkj zd6Uc6cFCN/CKRbBwmwFAlrnthQCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA CgkQCN/CKRbBwmyGKAD/XTSBOItCKcYCPTlsaS1aQYVEwWXXFgdjWE+WsNdZUS8A/AhYAbQZ kNZNimE2rQLoklkfTA74qF/V257NuQi4QDcLuDgEWue2FBIKKwYBBAGXVQEFAQEHQKpZVyCG ync/xqejm2C1HKGXLJTUu38RvnrR3UYECz9nAwEIB4h+BBgWCAAmFiEEDxi/0rkjzd6Uc6cF CN/CKRbBwmwFAlrnthQCGwwFCQHhM4AACgkQCN/CKRbBwmyi2wEAmvaGt8QMjGELzm27gP4c jJGUi7oigsLmTiFPkpJqPz0A+QFBSCvxJaxCMyoVru/xB6bunpJ+Wtsj8HD1EuJOn4EJ Subject: Re: Speculative: Rust for base system components Message-ID: Date: Thu, 3 Jan 2019 07:46:58 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <201901021829.x02IT4Kc064169@slippy.cwsent.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="YKca981aoJ0Qm45jGoNlRSLtrWQ79U2Uz" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 12:47:03 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --YKca981aoJ0Qm45jGoNlRSLtrWQ79U2Uz Content-Type: multipart/mixed; boundary="XYvkAQEoxZAJ3ICNi8mSi4WOZ7TL21rof"; protected-headers="v1" From: Eric McCorkle To: freebsd-hackers@freebsd.org Message-ID: Subject: Re: Speculative: Rust for base system components References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> In-Reply-To: <201901021829.x02IT4Kc064169@slippy.cwsent.com> --XYvkAQEoxZAJ3ICNi8mSi4WOZ7TL21rof Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 1/2/19 1:29 PM, Cy Schubert wrote: >> I'm all for discussion and criticism of this, that's why I posted it, >> but I don't think these kinds of false equivalences are helpful. >=20 > Actually it is helpful. Without a solid proposal of a new feature or=20 > userland utility to be imported into base that requires the support of = > a language not already in base, the implication of the original email=20 > starting this thread was to rewrite FreeBSD using rust. That doesn't represent what I wrote at all, and is bordering on a strawman argument. Nobody to my knowledge is suggesting rewriting everything, nor would that be possible. > In reality we should rely more on ports. Over the years this business=20 > has become more fragmented. Each year we see new languages being=20 > developed and used. Importing new shiny objects into base is=20 > unsustainable. IMO the momentum is behind containerization,=20 > specifically kubernetes and docker-like containers. That is today. The = > next year or two will introduce new technologies and shiny objects=20 > which we will likely need to introduce here to remain relevant. We=20 > should be looking to reduce the footprint of base, introduce new=20 > technologies in ports (ports are much easier to build from scratch,=20 > maintain, and update than base). Additionally the idea of meta-ports=20 > that install groups of packages would make building purpose-built=20 > systems a breeze for our user base, similar to what anaconda does, like= =20 > a FreeBSD based LAMP (FAMP) stack package that installs all the=20 > necessary bits with one pkg install command. And that seems to be the point of convergence in all this, which is fine by me. I was looking to discuss the options and figure out the best way forward. --XYvkAQEoxZAJ3ICNi8mSi4WOZ7TL21rof-- --YKca981aoJ0Qm45jGoNlRSLtrWQ79U2Uz Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQPGL/SuSPN3pRzpwUI38IpFsHCbAUCXC4EQgAKCRAI38IpFsHC bMPRAQChSF2bTSbOiwGk+G1staojbYANRO43piaeoY/rZ8m7fgEA/LBpFVKHSV8M ugt7YSbxsY8i74YER9MldbIxTCd9WwI= =yPFz -----END PGP SIGNATURE----- --YKca981aoJ0Qm45jGoNlRSLtrWQ79U2Uz-- From owner-freebsd-hackers@freebsd.org Thu Jan 3 16:22:36 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A752B142F35E for ; Thu, 3 Jan 2019 16:22:36 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com [IPv6:2607:f8b0:4864:20::436]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CAFF483B92 for ; Thu, 3 Jan 2019 16:22:35 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf1-x436.google.com with SMTP id 64so16894418pfr.9 for ; Thu, 03 Jan 2019 08:22:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=xNQ/hYuk3w/VJV0XKxeyr+ovzudynVlSfaofSHhUfGY=; b=vcNHSm7rtCI5nFoJ1n7DNN48mGxU/aAUS6ssohJdGjWUeoHb1dMORHIVc87Bu0+hKx 7DO+/Qv9VUMdavSM5IMX6W0h3BYet4sCxHZZm91PPK6AuQPnJxEx95DqzdDUb7tHRRvW aGIGTRe0j/XB4nCI4brGEebAH9vEN07c1PURJRtCtTLDrkSydCSShnxn1O6RT1xRMGy/ cZ2hCqSgC6FQE1ijLf05ycj6lOGBH6BdWf4AigjGDbYvG03K5vqQGK0sIR5yg4OWba/b fzc3tRzeMBW45czvl3x9MB+vvpS22U+mNsy56Zt+CmvRJ1jcsfYK4EWeHVlOSUA/yI4w odqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=xNQ/hYuk3w/VJV0XKxeyr+ovzudynVlSfaofSHhUfGY=; b=WI0AFHpkcsWde3bRamQy+5450zE1VMn0EFcEpVgmzbqtA8wKjVRtOEZQejveqxYIt8 ANYRrcd2IXLhZ77gTqHKAl7rBSNn2QnfepzI9KROqy3pj2WeCvZ6zekSrBlT0J5mxyln hl9WxWaonxdzivddZp2hebLKl4wAP7HdTc2jra8IT8Ap8Q4WfDYeewvFeZNaKe7pY0MF txVbY3nf0aymACqktS6SGNsFQztXxsEpp4fpaktelRzgwHbtHIi2UlgWbkssUswkcHqA pznaSA9CO+LaMNCH1eCc/AXItQg0p0VZromfhTvGJ1zVMRvZEdXr3R+IfyLm8ijO9w4A Ycpg== X-Gm-Message-State: AJcUukfRIxdFrQuyV2YDAuFbQ3E+Xh6AD+995RFUX394pfIq/InhTNop yOKABo/hvFBbZIOWsZkgJ6Nmo3G7 X-Google-Smtp-Source: ALg8bN7lNw/RqZp7AzotV21POrzCfVhYqQ9k2MrwCD1Rpt+gTni1YP/Nl5qqaeMyd9wybhsDVHZoJQ== X-Received: by 2002:a65:6645:: with SMTP id z5mr46031355pgv.351.1546532554306; Thu, 03 Jan 2019 08:22:34 -0800 (PST) Received: from ?IPv6:2607:fb90:8232:33:687e:8852:7f6e:cdc? ([2607:fb90:8232:33:687e:8852:7f6e:cdc]) by smtp.gmail.com with ESMTPSA id f64sm147744413pfh.0.2019.01.03.08.22.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Jan 2019 08:22:33 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: Speculative: Rust for base system components From: Enji Cooper X-Mailer: iPhone Mail (16C104) In-Reply-To: Date: Thu, 3 Jan 2019 08:22:32 -0800 Cc: freebsd-hackers@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> To: Eric McCorkle X-Rspamd-Queue-Id: CAFF483B92 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.95 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; NEURAL_HAM_SHORT(-0.96)[-0.956,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 16:22:36 -0000 > On Jan 3, 2019, at 04:46, Eric McCorkle wrote: >=20 > On 1/2/19 1:29 PM, Cy Schubert wrote: >=20 >>> I'm all for discussion and criticism of this, that's why I posted it, >>> but I don't think these kinds of false equivalences are helpful. >>=20 >> Actually it is helpful. Without a solid proposal of a new feature or=20 >> userland utility to be imported into base that requires the support of=20= >> a language not already in base, the implication of the original email=20 >> starting this thread was to rewrite FreeBSD using rust. >=20 > That doesn't represent what I wrote at all, and is bordering on a > strawman argument. Nobody to my knowledge is suggesting rewriting > everything, nor would that be possible. >=20 >> In reality we should rely more on ports. Over the years this business=20 >> has become more fragmented. Each year we see new languages being=20 >> developed and used. Importing new shiny objects into base is=20 >> unsustainable. IMO the momentum is behind containerization,=20 >> specifically kubernetes and docker-like containers. That is today. The=20= >> next year or two will introduce new technologies and shiny objects=20 >> which we will likely need to introduce here to remain relevant. We=20 >> should be looking to reduce the footprint of base, introduce new=20 >> technologies in ports (ports are much easier to build from scratch,=20 >> maintain, and update than base). Additionally the idea of meta-ports=20 >> that install groups of packages would make building purpose-built=20 >> systems a breeze for our user base, similar to what anaconda does, like=20= >> a FreeBSD based LAMP (FAMP) stack package that installs all the=20 >> necessary bits with one pkg install command. >=20 > And that seems to be the point of convergence in all this, which is fine > by me. I was looking to discuss the options and figure out the best way > forward. Going back to my previous statement, I think writing a service monitor (to w= ork alongside init and rc) in modern C++/rust would be a good item to undert= ake. I=E2=80=99d be willing to do this with someone else, as a research project/t= o demo how rust could be used. Given prior comments about rust binary sizes and the fact that the default l= inking option is mostly static, a =E2=80=9Cmission critical binary=E2=80=9D l= ike this (or rescue?) would be a good candidate for rust. Cheers, -Enji PS let=E2=80=99s call the discussion mostly closed and start working on prot= otypes instead of beating a dead horse further.= From owner-freebsd-hackers@freebsd.org Thu Jan 3 16:33:16 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7D919142F89A for ; Thu, 3 Jan 2019 16:33:16 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 90EE0843B9 for ; Thu, 3 Jan 2019 16:33:15 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-ot1-f47.google.com with SMTP id k98so29833984otk.3 for ; Thu, 03 Jan 2019 08:33:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=Z3IcK4KRg16Dzf5GSs52nbGsffYSTERHnf7/c+uYnr8=; b=tbCJx3NKoaxnLMNesk+lZ+YQNBxCNvsSRe5rGJRFZe7/3nQxn8RS3WyKV8ToGURvCA ZByK4Eo4TKQc/qb/dq74h+FnNlc7m4vxqEmFs5lzSFYiTRSpt+atNSLKwWeOWocxW3o8 0J7lEADTZ1NzA6xqTuS0v1fxi+Ydev8TmuFMhZkVbC0iiA1Vqdg4TqPFZsO9eNtZ4Vv1 3xdkWvRqZL62ATVocnHRVTHd+1yVfDRjr+qi29p9uIb8WsnLuJF2EYuL8+OlyVSJsFGk cGSzRQw3NtQLx1KAe0Xs+0sL3a/won3ZFka56n6x5sxcNAPGg7PV8sWLuCjnZprhBwIQ G8Cg== X-Gm-Message-State: AJcUukd1PvAr4tpI8W6le0sbW13fSY9BOsAw6eMUfgxVdNdfs4tnorXP rC0WUml/kt09yWIim9SNEWp8/fjry9f3E3ZLHrI= X-Google-Smtp-Source: ALg8bN7cjZHLHDtmbeg76nONERvAKU3g/Z9JMMkDrbI9YC6XGEHRG5JoJSjd90va5RnkjWYpjPNKTbLBWH0Od0QYiSk= X-Received: by 2002:a9d:4c01:: with SMTP id l1mr33900398otf.242.1546533188428; Thu, 03 Jan 2019 08:33:08 -0800 (PST) MIME-Version: 1.0 References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> In-Reply-To: <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> From: Igor Mozolevsky Date: Thu, 3 Jan 2019 16:32:31 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Enji Cooper Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 90EE0843B9 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.210.47 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-3.81 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.985,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[hybrid-lab.co.uk]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[47.210.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.71)[-0.712,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; FREEMAIL_TO(0.00)[gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.78), asn: 15169(-1.64), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 16:33:16 -0000 On Thu, 3 Jan 2019 at 16:26, Enji Cooper wrote: > PS let=E2=80=99s call the discussion mostly closed and start working on p= rototypes instead of beating a dead horse further. That's precisely how ideas that most people disagree with get *pushed* through by evangelists with confirmation bias! Like someone said earlier in the discussion: does Rust add anything? The answer is a resounding NO, save for bloat. --=20 Igor M. From owner-freebsd-hackers@freebsd.org Thu Jan 3 17:16:33 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2C1021430A87 for ; Thu, 3 Jan 2019 17:16:33 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 0154085CEA for ; Thu, 3 Jan 2019 17:16:31 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x03HGZXC014681 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 3 Jan 2019 18:16:35 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x03HGUhL014674; Thu, 3 Jan 2019 18:16:30 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Thu, 3 Jan 2019 18:16:30 +0100 (CET) From: Wojciech Puchar To: Igor Mozolevsky cc: Enji Cooper , Hackers freeBSD Subject: Re: Speculative: Rust for base system components In-Reply-To: Message-ID: References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 0154085CEA X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.84 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[puchar.net]; NEURAL_HAM_SHORT(-0.91)[-0.911,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.62)[ip: (-9.53), ipnet: 194.1.144.0/24(-4.77), asn: 43476(-3.81), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; FREEMAIL_CC(0.00)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 17:16:33 -0000 > > > That's precisely how ideas that most people disagree with get *pushed* > through by evangelists with confirmation bias! Like someone said > earlier in the discussion: does Rust add anything? The answer is a > resounding NO, save for bloat. > for all such "evangelists" it should be clear reaction: "start your fork". Instead of making long discussion. From owner-freebsd-hackers@freebsd.org Thu Jan 3 17:41:58 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 632271431A59 for ; Thu, 3 Jan 2019 17:41:58 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com [IPv6:2607:f8b0:4864:20::42d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 709C986D61 for ; Thu, 3 Jan 2019 17:41:57 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf1-x42d.google.com with SMTP id b7so16992467pfi.8 for ; Thu, 03 Jan 2019 09:41:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=av1l4Kuax1Wk0V0bpWPfaDgIbMi1AaOcuchpgkDaZi8=; b=gvMi3gF/kzO51kE2g1/7W2tLymWjoayBE7hOL0BDr53wOv2ZRlsgA19SXGFt2ne2n9 k+h/jdRD6FNk/8blXu2WsN6mAf/LtA0J6yjV8ERMh1AcUYwx+GwG1oqniIrurrZy1h2X 3JMvrHsEMtWQPy+CKIXW4hqEgtGv4iL6jHHbirbh7cuhWQo+MmyXpiAieM65ejXKVKxC N3aKS52BeS9UJZenXFKop5EDCA5Y2DhIhJTg5Y1dTsL8PyL+BTmm4MedYrDFPykn+tZx /58agCS7x6gN6VhFBFRjUiNd042IY+9LH5nitmsf3VNoGI169uRD3VwBQsnaAdQTVRvN tlcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=av1l4Kuax1Wk0V0bpWPfaDgIbMi1AaOcuchpgkDaZi8=; b=U65Q+sRTQNQhOwGxLiblZfgE0Vpp0fFw7aLQZYWs6HaFRvwE9sWITkFyjhAQhAZqun GsiXWGP//eFXOEgOwbTJ8UFZFC9krsik0ex/iFAS2UWhPBg79vIJHZFQ9oWFK3CNFHiT FTtiY35A/Lk3XG7ofCzVGVeX4Q0BcDiIl98tCg5T3BsM/yEKn9Hhqz7at1mTT7cKjQqG Xyn15l6KakO9yVlQEZnIbJfMOX9RcX3ZkioKEOFP+NkhXpobOcwxW69I96PSFhDLOXqn ni+IaQOEv3sntrCWmR4svPTCBbZGJvD/GI6e+Z+Ov6qsKpjjoSk3U3BFsgZ151Cp04XY AMhw== X-Gm-Message-State: AA+aEWY45TeGknJV6I1s1d97cMja6f6xf5OcWxkAu+/6Vax5ZC3v+pxL dQHPm6FhZ93L8EEyshRbRhuvDtZS X-Google-Smtp-Source: AFSGD/W6dlNWt47HlunU2tJIRRKD0Zj69HomAhRaZhUQZqRbe/wfaFYvd6jb8swr1mtwl3xKeVtTyQ== X-Received: by 2002:a62:7652:: with SMTP id r79mr50612671pfc.241.1546537315618; Thu, 03 Jan 2019 09:41:55 -0800 (PST) Received: from ?IPv6:2607:fb90:8232:33:687e:8852:7f6e:cdc? ([2607:fb90:8232:33:687e:8852:7f6e:cdc]) by smtp.gmail.com with ESMTPSA id c4sm114077909pfm.151.2019.01.03.09.41.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Jan 2019 09:41:54 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: Speculative: Rust for base system components From: Enji Cooper X-Mailer: iPhone Mail (16C104) In-Reply-To: Date: Thu, 3 Jan 2019 09:41:53 -0800 Cc: Hackers freeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> To: Igor Mozolevsky X-Rspamd-Queue-Id: 709C986D61 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=gvMi3gF/; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::42d as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com X-Spamd-Result: default: False [-6.09 / 15.00]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MV_CASE(0.50)[]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-1.00)[-0.995,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[d.2.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.59)[ip: (-9.09), ipnet: 2607:f8b0::/32(-2.14), asn: 15169(-1.64), country: US(-0.08)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 17:41:58 -0000 Igor, > On Jan 3, 2019, at 08:32, Igor Mozolevsky wrote: ... > That's precisely how ideas that most people disagree with get *pushed* > through by evangelists with confirmation bias! Like someone said > earlier in the discussion: does Rust add anything? The answer is a > resounding NO, save for bloat. And this is why one reason people say =E2=80=9CFreeBSD is dying=E2=80=9D. If we stuck with status quo, we wouldn=E2=80=99t have llvm, would use just P= owerPC/Intel architectures, libxo wouldn=E2=80=99t be a thing, we wouldn=E2=80= =99t have tests, etc. Calculated risks have value. But in order to prove their acceptance and use,= you need to provide prototypes to show their usefulness, provide measuremen= ts, and such. My point is to provide an existing service that I=E2=80=99ve seen implemente= d more than once by FreeBSD-integrators in an ugly way, using non-modern C/C= ++, or python 2.x: the former which is more difficult to maintain than moder= n C/C++, and frankly was a mess; the latter which was maintainable, but slow= (because JIT python) and didn=E2=80=99t use base system components, i.e., p= ython 2.x. Tl;Dr: if you don=E2=80=99t have anything constructive to say, please rethin= k your replies and provide constructive criticism. Constructive criticism is= welcome. Armchair nitpicking is not. Thanks, -Enji= From owner-freebsd-hackers@freebsd.org Thu Jan 3 19:30:36 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4054014344B5 for ; Thu, 3 Jan 2019 19:30:36 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D99C8B269 for ; Thu, 3 Jan 2019 19:30:35 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x03JUhBX041107 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 3 Jan 2019 20:30:43 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x03JUcRC041104; Thu, 3 Jan 2019 20:30:38 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Thu, 3 Jan 2019 20:30:38 +0100 (CET) From: Wojciech Puchar To: Enji Cooper cc: Igor Mozolevsky , Hackers freeBSD Subject: Re: Speculative: Rust for base system components In-Reply-To: <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> Message-ID: References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 X-Rspamd-Queue-Id: 4D99C8B269 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-5.80 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.992,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; CTYPE_MIXED_BOGUS(1.00)[]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; NEURAL_HAM_SHORT(-0.93)[-0.933,0]; IP_SCORE(-3.56)[ip: (-9.40), ipnet: 194.1.144.0/24(-4.70), asn: 43476(-3.76), country: PL(0.03)]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8BIT X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 19:30:36 -0000 >> That's precisely how ideas that most people disagree with get *pushed* >> through by evangelists with confirmation bias! Like someone said >> earlier in the discussion: does Rust add anything? The answer is a >> resounding NO, save for bloat. > > And this is why one reason people say “FreeBSD is dying”. > dying for whom? From owner-freebsd-hackers@freebsd.org Thu Jan 3 19:44:36 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1023F1434BD7 for ; Thu, 3 Jan 2019 19:44:36 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3608D8BC77 for ; Thu, 3 Jan 2019 19:44:35 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qk1-x734.google.com with SMTP id g125so20324052qke.4 for ; Thu, 03 Jan 2019 11:44:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=82MAUlK8szYRNSEHvDfyLFFbnDrLQyaTm4uu2QChS9o=; b=uQ6k/4voIttxbRlUY8BMZJMCNa2w0jCkF5rNb+JJVO93UPjWO3EvvfoIBuW/DHmU64 a8jj7x0SdrFDPC6/Nf+sl0ho+8FXgDUpValbxtbWYhZhQmNe66u75maC0XiMc0uczFih 8uyASG/gllpESxJO0yC8T7YSsabEJrIXZbM36gSGflzrrch5MMsEW6k1RhOhp1Zkhwre 7bTts7CHjaJfUKXm0vbLsQ8uGdmWCHszv1qCdxSOaxIF7Oz8aDYfS1bWDTbh3bLdDnB6 RqMQPu6+demvah3MYuGrHc7Rjw1w7QNAiXeokdBG6zaQFhp00162DGGOAPfKgdPtrtX+ Fozw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=82MAUlK8szYRNSEHvDfyLFFbnDrLQyaTm4uu2QChS9o=; b=b3j/qp792v3pYJNsJkOOfEaIJV+yMWwm77epYE6hJ+5c7n0Vhh7L5T0J2F/HguMAE6 eUn1Q29sKwX8Ypp0porESWvUeENYMhFGpGnSGIKNZljAH0banGjWUlCpbxSiwg9jski4 Qz+QqtK9nKuJ2DHGlunZFd0EOgxWka9KEfsTIsRZu3VzOioCvQQSejzKIvYOLRPJctrk ok9oN/6VD7bHncZM5Z4T4sW8/RW7r1SccZ1awsV3wP9eTLG0JeAS20amhyh6pqYfZvpU op33x/F/DaAxZMXKm/Urhf/VfGhy0nk70TzgZ84L8uY9Pq6d/4MezDgvvxQyWgM1Cdl/ G78g== X-Gm-Message-State: AJcUukcg1mz2hfvjV4THyoI03MuoKjMfiw0iKMDtmtXaNHo9ILSjBqp6 wf1oKEvgt/3iHHuqcJ7QUGXgZfIN6FqRXZ2xzvDafg== X-Google-Smtp-Source: ALg8bN7WDCf+t0ax2DxQKYdEphOAOIFOhCZ5arWYJVUsS1I+cvR8JO6XMTiLv/+g0B8SicEBWvoY4VWA9frX1QkiwBE= X-Received: by 2002:a37:9201:: with SMTP id u1mr46497444qkd.258.1546544673984; Thu, 03 Jan 2019 11:44:33 -0800 (PST) MIME-Version: 1.0 References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> In-Reply-To: From: Warner Losh Date: Thu, 3 Jan 2019 12:44:22 -0700 Message-ID: Subject: Re: Speculative: Rust for base system components To: Wojciech Puchar Cc: Enji Cooper , Hackers freeBSD , Igor Mozolevsky X-Rspamd-Queue-Id: 3608D8BC77 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=uQ6k/4vo X-Spamd-Result: default: False [-5.43 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; RCVD_COUNT_TWO(0.00)[2]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; MX_GOOD(-0.01)[cached: ALT1.aspmx.l.google.com]; RCVD_IN_DNSWL_NONE(0.00)[4.3.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.88)[-0.883,0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; IP_SCORE(-2.54)[ip: (-8.85), ipnet: 2607:f8b0::/32(-2.14), asn: 15169(-1.64), country: US(-0.08)]; FREEMAIL_CC(0.00)[gmail.com] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 19:44:36 -0000 On Thu, Jan 3, 2019 at 12:32 PM Wojciech Puchar wrote: > >> That's precisely how ideas that most people disagree with get *pushed* > >> through by evangelists with confirmation bias! Like someone said > >> earlier in the discussion: does Rust add anything? The answer is a > >> resounding NO, save for bloat. > > > > And this is why one reason people say =E2=80=9CFreeBSD is dying=E2=80= =9D. > > > dying for whom? > And who is getting punished? We're having an interesting discussion about a possible new technology to use and developing criteria to know when we will know if/when it's useful. Warner From owner-freebsd-hackers@freebsd.org Thu Jan 3 20:00:31 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E60E14356A8 for ; Thu, 3 Jan 2019 20:00:31 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com [209.85.167.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 945BC8CD33 for ; Thu, 3 Jan 2019 20:00:30 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-oi1-f174.google.com with SMTP id u18so28617095oie.10 for ; Thu, 03 Jan 2019 12:00:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=OUMwMCeaaTfkraNMW1B/3erj4jkXgPbKRleyIgWp4RQ=; b=gG9d+vVEqn29ulNzp0Y0/hy3mZ2J9hjpehSsKZjxzLEXnDzfkOvvyCK/TwbzZ9yp1I uyGIQ+yp78DtQYoTXdAvocTJYet//PmpV3NeHFtJb2vZ7hFYz3gXV9FRLbv2EE6RfHbF K0U6DK7J3ohX1riOWf20XRA/MakAJjqNIkJNWHd/P6FlukB20M+XZ6fO5lFKdhzL+laQ EL4ikkaazBbRf0Yar4pcbyS/ZG8ftr9l0X6pvV3bzv5yMPVX2Q0flLUOjg8u/YYdjCyV bP++ujCysX+1JKC9TM0Rrse7K2YFRTLg7ecQToyz47mK7Fx0hoowdInPlRh0CVrdmz2k Yxjg== X-Gm-Message-State: AJcUukdNicpeyu31S6bMLQahxsV5PNeUYtKGKmYE+C0ojCjhsP3g8VYJ ZQQQW0M4MFvfvlfXOOh2GnB3kLacf+UZDGhBkPoJOcnz X-Google-Smtp-Source: ALg8bN7um4ATRtJljXB6p7Rk5BgoctF2RgL1pXkcGL75o94Lz0AVvFdKuH/Ccsj1ZhiOJ2dBViGlMQ8kozonEhs3k+A= X-Received: by 2002:a54:4713:: with SMTP id k19mr5610093oik.241.1546545623899; Thu, 03 Jan 2019 12:00:23 -0800 (PST) MIME-Version: 1.0 References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> In-Reply-To: From: Igor Mozolevsky Date: Thu, 3 Jan 2019 19:59:46 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Warner Losh Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 945BC8CD33 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.167.174 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-3.82 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.988,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[hybrid-lab.co.uk]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[174.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.73)[-0.727,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.78), asn: 15169(-1.64), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 20:00:31 -0000 On Thu, 3 Jan 2019 at 19:44, Warner Losh wrote: > And who is getting punished? We're having an interesting discussion about= a possible new technology to use and developing criteria to know when we w= ill know if/when it's useful. "Call[ing] the discussion mostly closed," and calling to get on implementing in CRust is pushing, if it isn't, then I don't know what is:- On Thu, 3 Jan 2019 at 16:26, Enji Cooper wrote: > PS let=E2=80=99s call the discussion mostly closed and start working on p= rototypes instead of beating a dead horse further. From owner-freebsd-hackers@freebsd.org Thu Jan 3 20:18:16 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2C21A1435CF0 for ; Thu, 3 Jan 2019 20:18:16 +0000 (UTC) (envelope-from mark@exonetric.com) Received: from relay.exonetric.net (relay0.exonetric.net [178.250.72.161]) by mx1.freebsd.org (Postfix) with ESMTP id 40CF58D9E6 for ; Thu, 3 Jan 2019 20:18:14 +0000 (UTC) (envelope-from mark@exonetric.com) Received: from imac.localdomain (90.69.187.81.in-addr.arpa [81.187.69.90]) by relay.exonetric.net (Postfix) with ESMTPSA id 70FB42B152; Thu, 3 Jan 2019 20:18:08 +0000 (GMT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\)) Subject: Re: Speculative: Rust for base system components From: Mark Blackman In-Reply-To: Date: Thu, 3 Jan 2019 20:18:06 +0000 Cc: Enji Cooper , Hackers freeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <6DF138FB-E730-477A-A992-8FE1944DDE94@exonetric.com> References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> To: Igor Mozolevsky X-Mailer: Apple Mail (2.3445.102.3) X-Rspamd-Queue-Id: 40CF58D9E6 X-Spamd-Bar: ++++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [4.20 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; MV_CASE(0.50)[]; IP_SCORE(0.18)[ipnet: 178.250.72.0/21(0.96), asn: 12290(0.02), country: GB(-0.10)]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[exonetric.com]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.87)[0.874,0]; NEURAL_SPAM_SHORT(0.83)[0.825,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: exonetric.com.in.heluna.com]; NEURAL_SPAM_LONG(0.83)[0.830,0]; R_SPF_NA(0.00)[]; RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:12290, ipnet:178.250.72.0/21, country:GB]; FREEMAIL_CC(0.00)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 20:18:16 -0000 > On 3 Jan 2019, at 16:32, Igor Mozolevsky = wrote: >=20 > On Thu, 3 Jan 2019 at 16:26, Enji Cooper wrote: >=20 > >=20 >> PS let=E2=80=99s call the discussion mostly closed and start working = on prototypes instead of beating a dead horse further. >=20 >=20 > That's precisely how ideas that most people disagree with get *pushed* > through by evangelists with confirmation bias! Like someone said > earlier in the discussion: does Rust add anything? The answer is a > resounding NO, save for bloat. Technically, I thought it was clear what Rust adds and that is = =E2=80=9Csafety=E2=80=9D, the cost of that =E2=80=9Csafety=E2=80=9D and = the comprehensiveness of that =E2=80=9Csafety=E2=80=9D are debatable,=20 but the proposed benefit seemed pretty clear to me - Mark= From owner-freebsd-hackers@freebsd.org Thu Jan 3 20:18:24 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 466801435D02 for ; Thu, 3 Jan 2019 20:18:24 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com [IPv6:2607:f8b0:4864:20::835]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 67DC48D9F0 for ; Thu, 3 Jan 2019 20:18:23 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x835.google.com with SMTP id l11so38285499qtp.0 for ; Thu, 03 Jan 2019 12:18:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hXQqSMPozQ6u7eHK/lTCjPf4YW3s/Av3rUaWA/xnmrc=; b=KTVbRsl9H/UAfNi4kqDClopBactkrNBfi5ZRYKTbbzPkoh6tLRYjxHY6ADpBNlzS+V XhsVNf80T0DEOV1etcDIsvOFK+6STKt6IJLQMOuVjwUFmxj4vxv6PmIHJlUI8zIXXRiS /2EQhM42SGFis74mAawENQ8VK/Tm3Ct9Cnz8F5D8e1Sh4GZXrLNYp//smnx6QazVevyG /N+JAjrVJE1epYp3WFVSL73o7tOOJwOfYvLKYiB1EgJwmpH/Vkdbbe1OoraJTRzvxvkh 7Mp5lJ+hvbN+npgrXuHIWRZKxRdQKO0ecTXbcqQWsGomQHGiNfkhsPYWpqMLTHAKdAsS U8kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hXQqSMPozQ6u7eHK/lTCjPf4YW3s/Av3rUaWA/xnmrc=; b=PxDVeRUD5BDGMO87fofOs50PKlsFfdZoo80graV7cqdRdLs6eAKorA3wmtrBm28hfX xinV7NSqY7yWqHFgZs/ADV44xoAcb4u7RtMoE96N3X80J4kK2SO2+z8DCkaFHSTQqByK 3P4woyQCi0D6nyl1//qTrU86CNNC3rzdP3AvEvrZ4uOgbw2nR7iBvQYGEIitY9rvAifb 69xcHV3V/sswhMjGFm4r2Bp+bgekVwVM2qSsRMYz162aSSg9cmsiVkFI8POhalwfO53y TpWNgxB0qdpZD8q61Rw/lAoAdIPuSk1bbwYz9c2OwaUWKWR3CVXTh8U4JL7PmHOS3d1N 4E1w== X-Gm-Message-State: AJcUukeRR2i51Ck74/hU53DkbjIJdh7ferip0JDKR2s5vkDbFPUlmVpw xWLO9Q64MQtJOiODY9zEBRZxv6WsoSUyrRQlxM4exegL X-Google-Smtp-Source: ALg8bN5Fvs5aoTRFDSYIVzMNAurOvHN1XpL/ZfmhJWIwzJgVzvw+9FIRGwksNgkqOAS26DlMfyQ67mn36BKwlnoE+Sk= X-Received: by 2002:a0c:f143:: with SMTP id y3mr48871795qvl.21.1546546702775; Thu, 03 Jan 2019 12:18:22 -0800 (PST) MIME-Version: 1.0 References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> In-Reply-To: From: Warner Losh Date: Thu, 3 Jan 2019 13:18:11 -0700 Message-ID: Subject: Re: Speculative: Rust for base system components To: Igor Mozolevsky Cc: Hackers freeBSD X-Rspamd-Queue-Id: 67DC48D9F0 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=KTVbRsl9 X-Spamd-Result: default: False [-5.30 / 15.00]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCPT_COUNT_TWO(0.00)[2]; MX_GOOD(-0.01)[cached: ALT1.aspmx.l.google.com]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_SHORT(-0.83)[-0.832,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[5.3.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE(-2.47)[ip: (-8.47), ipnet: 2607:f8b0::/32(-2.14), asn: 15169(-1.64), country: US(-0.08)] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 20:18:24 -0000 On Thu, Jan 3, 2019 at 1:00 PM Igor Mozolevsky wrote: > On Thu, 3 Jan 2019 at 19:44, Warner Losh wrote: > > > > > And who is getting punished? We're having an interesting discussion > about a possible new technology to use and developing criteria to know when > we will know if/when it's useful. > > > "Call[ing] the discussion mostly closed," and calling to get on > implementing in CRust is pushing, if it isn't, then I don't know what > is:- > that's putting an end-cap on the productive part of the discussion, something we've been terrible as a project at doing. There's no punishment here. That's merely a summary of the more-or-less consensus view that this might be interesting someday, but isn't today. We really can't take the discussion farther than that right now. Warner From owner-freebsd-hackers@freebsd.org Thu Jan 3 20:25:08 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E822E14362A4 for ; Thu, 3 Jan 2019 20:25:07 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-oi1-f177.google.com (mail-oi1-f177.google.com [209.85.167.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 074488E48D for ; Thu, 3 Jan 2019 20:25:06 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-oi1-f177.google.com with SMTP id x202so28685231oif.13 for ; Thu, 03 Jan 2019 12:25:06 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=7k/I0z3xQp4zVVif4rQsE/aKvi7CHj1awL2Vc+nkzvk=; b=AzYn1sufeizwL6BB16o3kQeELLU/kTUMPk2vAIapHoQHsHcxTLi+biFoHNjNYHphOO /k9nitLFiLlQgNkw7PLPxOJ6WR4vKXpJbw/2Nl2j3SHsuNV7eiY9v1ophjZzmgRNNuzK VL/iBB1J7npNbbw8YZ1TWmGCSqBSMrB1klPjhs5QrtysyHji1d0K2KoAAi89Ac+i8qPJ MlD/R3zqXc9/Vy/+gjiRk3MqgoA5Gf/A3gCxZ3l5ZFbofO06J0bM3vYDwUTwDEOz5dqD +aIigAQ30gkT5AchPaulRkUSTRCJcjQkDRuA/N+ojdRpJoMlB8LFyMVeB8mN8Th4OSMs pBSw== X-Gm-Message-State: AA+aEWYb25nrp2kknpV7RBhtRzU9y3HjX1PQobERdXJ8Qi7f3q4zcLhz EaTjxJRoA+tgxlw71sGkWgYq8MxVq1v5kbAogB/DmpeP X-Google-Smtp-Source: AFSGD/XtpqEU0QZCeGhnVtLZVg8F5ZVtd+Q5ucA1UpYeejnwDTHuQGDh/fFYod7d8/ghW1C99VR7OsyHvgEOP04zJ4Q= X-Received: by 2002:aca:c382:: with SMTP id t124mr34181424oif.220.1546547105485; Thu, 03 Jan 2019 12:25:05 -0800 (PST) MIME-Version: 1.0 References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <6DF138FB-E730-477A-A992-8FE1944DDE94@exonetric.com> In-Reply-To: <6DF138FB-E730-477A-A992-8FE1944DDE94@exonetric.com> From: Igor Mozolevsky Date: Thu, 3 Jan 2019 20:24:28 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Mark Blackman Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 074488E48D X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.167.177 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-4.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.994,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[hybrid-lab.co.uk]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[177.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.89)[-0.893,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.78), asn: 15169(-1.64), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 20:25:08 -0000 On Thu, 3 Jan 2019 at 20:18, Mark Blackman wrote: > > > On 3 Jan 2019, at 16:32, Igor Mozolevsky wrote: > > > > On Thu, 3 Jan 2019 at 16:26, Enji Cooper wrote: > > > > > > > >> PS let=E2=80=99s call the discussion mostly closed and start working o= n prototypes instead of beating a dead horse further. > > > > > > That's precisely how ideas that most people disagree with get *pushed* > > through by evangelists with confirmation bias! Like someone said > > earlier in the discussion: does Rust add anything? The answer is a > > resounding NO, save for bloat. > > Technically, I thought it was clear what Rust adds and that is =E2=80=9Cs= afety=E2=80=9D, the cost of that =E2=80=9Csafety=E2=80=9D and the comprehen= siveness of that =E2=80=9Csafety=E2=80=9D are debatable, > but the proposed benefit seemed pretty clear to me And by what metric is that "safety" measured, how does one measure "safety" objectively? To me, that sounds like a techie version of virtue-signalling... Even the Rust-clan seem to be rather confused about it: https://doc.rust-lang.org/nomicon/meet-safe-and-unsafe.html Btw, Java is "safe" too, and it's been around for *much* longer! --=20 Igor M. From owner-freebsd-hackers@freebsd.org Thu Jan 3 20:53:21 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7385D1436E42 for ; Thu, 3 Jan 2019 20:53:21 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-oi1-f180.google.com (mail-oi1-f180.google.com [209.85.167.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 909E78F52A for ; Thu, 3 Jan 2019 20:53:20 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-oi1-f180.google.com with SMTP id x202so28747141oif.13 for ; Thu, 03 Jan 2019 12:53:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=zHqEFfR+inOVg9GxIba8Tm4Vh06cMjjCxD57HUKIISI=; b=VSnj0ASe32bik1V7nt8aOT5fVQV6SAMvNE9fhoKYPGyRwIpfIoOWick1aHFeL3tyt8 el6u+uUfPTFzJu/nkszOAk2A7UxQZhOUSsLYIpCbnNP+K+fU94yddDQVt7igMAc2KRyP j6rMbLgmUMg+lKmSSiDlHixpGvzU4QCyGAD7eQTzgB23IvIt1uvmtqu9+ocSU7o/PXMB QYdQ4YFieAbuS51Ozd8fejfM2IzSSlQ57seDLmIIp7ftK1QVpnJQJG0LpcBPaFJPrEJh S6NlCal9TIUDaAbrflhEC8cRZzwFGj+kH7Xv2DVTBPYjX+BzWdjsRnXN9eIHXCWFDtgz EbvA== X-Gm-Message-State: AA+aEWY9ziK4ckIv4yVdSmuUk3kAFZoc7m+YytlmN9fjlsDFRToNQd3h kCITaaJLadgYg8JogtrJsvZnlhZCaxt0xkfzMwCdJTZo X-Google-Smtp-Source: AFSGD/VeHX93tsMvmgUi0rWdr5vIHwkGEt9XhyOi3swFFrYUrtCGtn13C+t0ml8hbE4Z1WXMfMqaUgrmYabvKtkmFmo= X-Received: by 2002:aca:c382:: with SMTP id t124mr33927740oif.220.1546539678117; Thu, 03 Jan 2019 10:21:18 -0800 (PST) MIME-Version: 1.0 References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> In-Reply-To: <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> From: Igor Mozolevsky Date: Thu, 3 Jan 2019 18:20:40 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Enji Cooper Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 909E78F52A X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.167.180 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-4.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.995,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[hybrid-lab.co.uk]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[180.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.90)[-0.896,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; FREEMAIL_TO(0.00)[gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.78), asn: 15169(-1.64), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 20:53:21 -0000 On Thu, 3 Jan 2019 at 17:41, Enji Cooper wrote: > > Igor, > > > On Jan 3, 2019, at 08:32, Igor Mozolevsky wrote: > > > > That's precisely how ideas that most people disagree with get *pushed* > > through by evangelists with confirmation bias! Like someone said > > earlier in the discussion: does Rust add anything? The answer is a > > resounding NO, save for bloat. > > And this is why one reason people say =E2=80=9CFreeBSD is dying=E2=80=9D. > > If we stuck with status quo, we wouldn=E2=80=99t have llvm, would use jus= t PowerPC/Intel architectures, libxo wouldn=E2=80=99t be a thing, we wouldn= =E2=80=99t have tests, etc. > > Calculated risks have value. But in order to prove their acceptance and u= se, you need to provide prototypes to show their usefulness, provide measur= ements, and such. Really, FreeBSD is dying because people don't want to experiment with "new toys" that have *not* been proven to be effective at what they claim to do while having been proven to be a bloat? Really, that's your argument? Well, like And there I was thinking it way dying because of long-term "issues" like this one: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D203874 that prevent me (and I suspect many many others) from virtualising FreeBSD and causing a switch to the various flavours of Linux! Like Wojciech said, absolutely nothing prevents you from forking off a branch and even re-writing the entire code in Rust, just don't turn around and say "I spend X amount of time on it therefore it must be integrated into FreeBSD-proper regardless of the numerous shortfalls"! As it stands the base install is too large as it is, and I have recompile the whole thing with a whole bunch of WITHOUTs already, and you're saying more bloatware should be added. > My point is to provide an existing service that I=E2=80=99ve seen impleme= nted more than once by FreeBSD-integrators in an ugly way, using non-modern= C/C++, or python 2.x: the former which is more difficult to maintain than = modern C/C++, and frankly was a mess; the latter which was maintainable, bu= t slow (because JIT python) and didn=E2=80=99t use base system components, = i.e., python 2.x. Maintainability is not about code, it's about people's skills and documentation, if one is inept at C, or Python, what on Earth makes you think they would write amazing code in Rust? Your argument simply doesn't follow there at all. > Tl;Dr: if you don=E2=80=99t have anything constructive to say, please ret= hink your replies and provide constructive criticism. Constructive criticis= m is welcome. Armchair nitpicking is not. Here's my constructive criticism: don't waste resources on an unproven and still-evolving language; if you have *that* much free time on your hand= s start working through BugZilla. -- Igor M. From owner-freebsd-hackers@freebsd.org Thu Jan 3 21:07:44 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4ADBA1437818 for ; Thu, 3 Jan 2019 21:07:44 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 352A568046 for ; Thu, 3 Jan 2019 21:07:43 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x03L7pkr057776 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 3 Jan 2019 22:07:51 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x03L7kHl057773; Thu, 3 Jan 2019 22:07:46 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Thu, 3 Jan 2019 22:07:46 +0100 (CET) From: Wojciech Puchar To: Igor Mozolevsky cc: Enji Cooper , Hackers freeBSD Subject: Re: Speculative: Rust for base system components In-Reply-To: Message-ID: References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 352A568046 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.83 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.96)[-0.955,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.57)[ip: (-9.41), ipnet: 194.1.144.0/24(-4.70), asn: 43476(-3.76), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; FREEMAIL_CC(0.00)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 21:07:44 -0000 > Like Wojciech said, absolutely nothing prevents you from forking off a > branch and even re-writing the entire code in Rust, just don't turn > around and say "I spend X amount of time on it therefore it must be > integrated into FreeBSD-proper regardless of the numerous shortfalls"! "it must" really means --- I (the all knowing) order FreeBSD programmers to do this because I decided it's good. --- Instead of this it's much better to simply write "the right way" own software. Discussing with trolls doesn't make sense. From owner-freebsd-hackers@freebsd.org Thu Jan 3 21:26:47 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3BC191437ED7 for ; Thu, 3 Jan 2019 21:26:47 +0000 (UTC) (envelope-from woodsb02@gmail.com) Received: from mail-vs1-xe36.google.com (mail-vs1-xe36.google.com [IPv6:2607:f8b0:4864:20::e36]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5C0976A05C; Thu, 3 Jan 2019 21:26:46 +0000 (UTC) (envelope-from woodsb02@gmail.com) Received: by mail-vs1-xe36.google.com with SMTP id e7so21576174vsc.2; Thu, 03 Jan 2019 13:26:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Imkvo1RGKx2li+huiUsYHjHfiPIvxyV1uczkGmUKkxY=; b=Dmzz/w1lDKAaV2gAdy1z2FXnb3ac4IB5ErpS/CMpilh1rpN7wtnwjFUKB2fA6K7MCz OfOU8q0B43sND8oEQ1qJbsDfCDfdx46kYqn32S3iu01QCCH7LfIW1nIEKFPtWd47UKG5 ECEIRyvvTQs/kYE1BbOZRQg0JoMKBwY/qLfqdT93KBDAbgAy1nz3D7BJQRaDOprqX8Qq 86Bqc8zLxsnY3K3oyXgV9lhmZ3yVnfSWTXRw014G2bakcfoiAM7kle2Lz6DhMbYHCSb8 vOgv2/V1r+uLl1We30eWT0up9AC7x2lg6544TixvgBnyj5cmc8xmTNZfAsVHEXQXw+ug ZsYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Imkvo1RGKx2li+huiUsYHjHfiPIvxyV1uczkGmUKkxY=; b=X/1fPf/lYtZbAyZnoxWyHcVn5LsAVJgCyw0Mo7O20pmdRUUaSHZGymAPACjWNeCFre KoBcW9hhzzj6k9+wb8ZGuDUcJPfwdax3BeOwRUCjXiOvbFzbZEnezrXxqEDdDqR0f7lq Pn3NszlfWLdSq3wdbpYEdWvlsZnLXITU6yZfxBkPvVBIGpBLRSWCk5eR6agkYCgshcXm gGc2Ti9V9FC0ANDHqtAbxmWYTDW57BOlTGJTJajqJ/kZSOw9GFnSxk21puhKnm8W9Nsx Ar7v6Wl3UoJ/MRoRQ70Oq+PplenDwwjVWPmGgPbWNDdUtxKvHsgDDMZTGphhd/lHeKCB CCdA== X-Gm-Message-State: AJcUukdrcjOe2gc5GV9aX1b/Is0HFKjYQvA2RV3Zow9HnyewA1aG3Cvl 8CNGosBmo+6ErwfH0qVyqHlt2tOJkIj9PyAdj5GiMg== X-Google-Smtp-Source: AFSGD/V5xK0zzJWROUEeqGWlYfaFq4bmJKbcPFbcK8ufj/sCeqUzL8bruECr+tUisC15WFy3oOkmz8tR72wO/UUYyQ4= X-Received: by 2002:a67:3e12:: with SMTP id l18mr20133138vsa.53.1546550805537; Thu, 03 Jan 2019 13:26:45 -0800 (PST) MIME-Version: 1.0 References: <0478636f9afd49d68a7d0c86d68c01e3@SERVER.ad.usd-group.com> In-Reply-To: <0478636f9afd49d68a7d0c86d68c01e3@SERVER.ad.usd-group.com> From: Ben Woods Date: Fri, 4 Jan 2019 08:26:34 +1100 Message-ID: Subject: Re: FreeBSD 12 log formats To: Matt Churchyard , "ed@freebsd.org" Cc: "freebsd-hackers@freebsd.org" X-Rspamd-Queue-Id: 5C0976A05C X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=Dmzz/w1l; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of woodsb02@gmail.com designates 2607:f8b0:4864:20::e36 as permitted sender) smtp.mailfrom=woodsb02@gmail.com X-Spamd-Result: default: False [-6.69 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[6.3.e.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; IP_SCORE(-2.75)[ip: (-9.86), ipnet: 2607:f8b0::/32(-2.15), asn: 15169(-1.64), country: US(-0.08)]; NEURAL_HAM_SHORT(-0.94)[-0.940,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 21:26:47 -0000 On Thu, 3 Jan 2019 at 3:12 am, Matt Churchyard wrote: > I (and other users) have noticed that log messages have started appearing > in a different format in FreeBSD 12 (although in my case only on one > system, and some logs are still the original format...). > ... > > Jan 2 12:04:13 ftp 1 2019-01-02T12:04:13.584377+00:00 ftp.full.hostname > pkg 5522 - - php72-hash-7.2.13 installed > Hi Matt, That log message has both the old and new formats combined - I believe that will occur when you are using an old syslog daemon with the new libc syslog(3) code. By =E2=80=9Cold=E2=80=9D daemon, I mean one that has not be= en updated to expect the /var/run/log[priv] sockets to contain RFC5424 style logs. Are there any jails involved with the above log message, or was it simply running =E2=80=9Cpkg install ...=E2=80=9D on the FreeBSD 12 host? If you are using rsyslog or syslog-ng, the UPDATING entry for this change (linked below) includes instructions required to make them work with the new libc code: https://svnweb.freebsd.org/base/head/UPDATING?r1=3D332100&r2=3D332099&pathr= ev=3D332100 Regards, Ben --=20 -- From: Benjamin Woods woodsb02@gmail.com From owner-freebsd-hackers@freebsd.org Thu Jan 3 21:37:27 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C299514382C7 for ; Thu, 3 Jan 2019 21:37:27 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8426D6A7DE for ; Thu, 3 Jan 2019 21:37:25 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id fAfwgVOMdnBo4fAfygilbb; Thu, 03 Jan 2019 14:37:17 -0700 X-Authority-Analysis: v=2.3 cv=J8fUEzvS c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=heTAvR70AAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=d5f_LoeZEGOWeCIKERQA:9 a=CjuIK1q_8ugA:10 a=UrJ2pwYPfabwj1STkZPu:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 37F6C161E; Thu, 3 Jan 2019 13:37:12 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x03LbBWZ014700; Thu, 3 Jan 2019 13:37:11 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x03LbBmZ014697; Thu, 3 Jan 2019 13:37:11 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901032137.x03LbBmZ014697@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Wojciech Puchar cc: Cy Schubert , Eric McCorkle , freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components In-Reply-To: Message from Wojciech Puchar of "Thu, 03 Jan 2019 11:14:04 +0100." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 03 Jan 2019 13:37:11 -0800 X-CMAE-Envelope: MS4wfPCDud2LeiMQ3uwPZcykK++LsCsBMwmhzNd2HtfuSGkEFke2c/ft33DowOCm/nQz7fJov/QNGUvDEdGBP8YhPnZhwls/Aq/6DkpBqywwVIwXHsRQAsAx q6g77Hrphbkii8MO4zHz3KWEq7P52aFq0GKhSNzpyLPbs2VHAQdOvNxXKdEaVVo9+9CK/Oihb+QcV0dwiKRILT80J9gvKElkQmJibxZAl80vfjsEbMYeLtzw 96Wh8gguLX0phn1q3+1Lvw== X-Rspamd-Queue-Id: 8426D6A7DE X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.47 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; MV_CASE(0.50)[]; IP_SCORE(-1.76)[ip: (-4.23), ipnet: 64.59.128.0/20(-2.49), asn: 6327(-1.99), country: CA(-0.09)]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[spqr.komquats.com]; NEURAL_HAM_SHORT(-1.00)[-0.997,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[137.136.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 21:37:28 -0000 In message , Wojciech Puchar wr ites: > > necessary bits with one pkg install command. > > > > In summary we should pair down base and use ports to our advantage. > > Unless the proposal is to add some feature written in rust that cannot > > live in ports or if the proposal is to rewrite FreeBSD into rust (which > > I vehemently disagree with), > > Why do you disagree?! Let others do it, or even reimplement it in java or > visual basic. > > But as a separate project. Exactly! Fork. If it's good and becomes generally adopted, import. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Thu Jan 3 22:29:05 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AA3F4143979B for ; Thu, 3 Jan 2019 22:29:05 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id B76806C341 for ; Thu, 3 Jan 2019 22:29:04 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id fBU5gVhOGnBo4fBU6gizlk; Thu, 03 Jan 2019 15:29:03 -0700 X-Authority-Analysis: v=2.3 cv=J8fUEzvS c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=8nJEP1OIZ-IA:10 a=3JhidrIBZZsA:10 a=heTAvR70AAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=I7F1wgOpnFDDHfCoevcA:9 a=wPNLvfGTeEIA:10 a=UrJ2pwYPfabwj1STkZPu:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id ECE9016F6; Thu, 3 Jan 2019 14:29:00 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x03MT0jg087948; Thu, 3 Jan 2019 14:29:00 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x03MSxkq087945; Thu, 3 Jan 2019 14:28:59 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901032228.x03MSxkq087945@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Wojciech Puchar cc: Enji Cooper , Hackers freeBSD , Igor Mozolevsky Subject: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message from Wojciech Puchar of "Thu, 03 Jan 2019 20:30:38 +0100." Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Date: Thu, 03 Jan 2019 14:28:59 -0800 X-CMAE-Envelope: MS4wfD1dnn4H2v1bsaR5LjR/tQjXljENkIvU1pBSqEcd/u/pJ9BmhBJWMhMrdCtnIjHQrwKK5Sjkey7rBUIhKptFEQ4/RF2GSSDIGqmGY9sS/QJCaTYSWW0B SdCEciPz17dR4zHHivYzmoWIk5MUL/mnKqeH3yZ5uapIeb7hW8ZsqSfLlXRA0BtHxRaYEHbrvtV2cDzEppp4m2PlxPkY5kgevzHxU8++eGSq145f8TGAd76I 2e1YwN2HnKtQ5i861YI0Zl6DqfgITRoXivDdJRtIOfdb6cx93tJjaOMYS1PvVv+K X-Rspamd-Queue-Id: B76806C341 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.44 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; MV_CASE(0.50)[]; HAS_XAW(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-1.00)[-0.997,0]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_LOW(-0.10)[137.136.59.64.list.dnswl.org : 127.0.5.1]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_COUNT_FIVE(0.00)[5]; REPLYTO_EQ_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(-1.73)[ip: (-4.10), ipnet: 64.59.128.0/20(-2.48), asn: 6327(-1.99), country: CA(-0.09)]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_NA(0.00)[]; FREEMAIL_CC(0.00)[gmail.com]; RCVD_TLS_LAST(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 22:29:06 -0000 In message , Wojciech Puchar wr ites: > >> That's precisely how ideas that most people disagree with get *pushed* > >> through by evangelists with confirmation bias! Like someone said > >> earlier in the discussion: does Rust add anything? The answer is a > >> resounding NO, save for bloat. > > > > And this is why one reason people say “FreeBSD is dying”. > > > dying for whom? Not to answer this question but to think strategically: I come from the corporate/government environment, having spent most of my time there. Large datacentres (Canadian spelling), large machines, large networks of machines, large networks. In this environment, today, virtualization in all forms are the platforms of business. Migrations from physical platforms running AIX, Solaris and Linux to either Linux on VMware or Linux containers is where they are putting 100% of their effort. The language of choice is mostly Java. Much of the Java is canned too. What used to be implemented on LAMP stacks is now being implemented using microservices. The platform of choice for microservices is Linux. Stripped down Linux primarily capable of supporting microservices. And now at $JOB we're talking about running microservices on Linux VMs -- virtualization on virtualization, on a virtual network (NSX). My customers are working on microservices and containers that can be migrated from their private cloud to the public cloud and back again easily. Even Microsoft is working on a container strategy. The future is containers. The desktop platform isn't nearly as important any more. And, the physical server, its location, what it runs on and who runs it are also less important. What is important is the speed and cost effectiveness of standing up applications. IMO we have strengths that can immediately be capitalized on, like the Linuxulator. If anything could be in base it might be go, the language Kubernetes is written in -- don't get me wrong, I'm not advocating importing go into base. Having said that, transforming FreeBSD into a PaaS platform, tying it all together using Kubernetes would position FreeBSD for the future to come. Maybe I'm talking myself into go and Kubernetes in base but maybe this could just as easily be done in ports. Think about this: Kubernetes in base or ports, using the Linuxulator and jails (or an implementation of cgroups and namespaces constructs in addition to jails). Bhyve and jails provide the enterprise with other virtualization options such that a FreeBSD host could host Linux or FreeBSD containers, Windows or other VMs, and FreeBSD jails, all on one or a cluster of FreeBSD hosts, possibly part of a heterogeneous cluster. This IMO would position FreeBSD for the future. Maybe go and Kubernetes? Let's not be left behind. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Thu Jan 3 22:51:50 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2EF4C143A443 for ; Thu, 3 Jan 2019 22:51:50 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 544646D580 for ; Thu, 3 Jan 2019 22:51:49 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lj1-f175.google.com with SMTP id n18-v6so31029794lji.7 for ; Thu, 03 Jan 2019 14:51:49 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=1GTJeCyNwwwYm/daiG45rJaXVTfojsruQ+CIZdgzIp8=; b=nu6apVYz7unmVbpUt8rS1PngTiPpiUBdPHbUrACxGLU/yIjpLtjboXxL1U/iuoVjnQ 4yT6NyTXKNoyOhgtl7k0g52BKSi6gMvrSUsVAaoq8vKJMsaEgzk6XUfVeZ0/9GpVKHz1 bccpxypzs70C8BHVL1aucsbMd3/LRmsb2L3oi1St1c/LOTNdqXyJfvWSGw3b3brrWTas BjAtLhiAVh4iA5ogWCKjt5WSscO35GeoWPTBxCNitej7cLejMS11xNHLzbl1DrbZ+MnF S1XT0MB7C06PacN6raRDt4BpEfAKaRDvYxd+Q/BPuTM+XgnxpECZAwcdLP3e60NQbzs2 3YSQ== X-Gm-Message-State: AJcUukc6U3rmwY87XQI9VxsmvVDVhScyw3mZxFMwoDDVxilD79Ty3UFm HAW6Xql45nlRXHHcTk5S5Zf7rGVJ+b32XoHyzpk= X-Google-Smtp-Source: ALg8bN4YZ7jGDdYXgKCwAXIw+/yZCEYEHSSfxy4Hh1vUQGA4N8/i7gCmzTGh9kctB7BgqyEe9U+3GjsL7l8XmseNbdg= X-Received: by 2002:a2e:45d:: with SMTP id 90-v6mr27823092lje.110.1546555901526; Thu, 03 Jan 2019 14:51:41 -0800 (PST) MIME-Version: 1.0 References: <201901032228.x03MSxkq087945@slippy.cwsent.com> In-Reply-To: <201901032228.x03MSxkq087945@slippy.cwsent.com> From: Alan Somers Date: Thu, 3 Jan 2019 15:51:29 -0700 Message-ID: Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) To: Cy Schubert Cc: Wojciech Puchar , Hackers freeBSD , Igor Mozolevsky , Enji Cooper Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 544646D580 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.208.175 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-4.07 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_FIVE(0.00)[5]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[175.208.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.97)[-0.968,0]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.77), asn: 15169(-1.64), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 22:51:50 -0000 On Thu, Jan 3, 2019 at 3:29 PM Cy Schubert wrot= e: > > In message , Wojciech > Puchar wr > ites: > > >> That's precisely how ideas that most people disagree with get *pushe= d* > > >> through by evangelists with confirmation bias! Like someone said > > >> earlier in the discussion: does Rust add anything? The answer is a > > >> resounding NO, save for bloat. > > > > > > And this is why one reason people say =C3=A2=E2=82=AC=C5=93FreeBSD is= dying=C3=A2=E2=82=AC . > > > > > dying for whom? > > Not to answer this question but to think strategically: > > I come from the corporate/government environment, having spent most of > my time there. Large datacentres (Canadian spelling), large machines, > large networks of machines, large networks. In this environment, today, > virtualization in all forms are the platforms of business. Migrations > from physical platforms running AIX, Solaris and Linux to either Linux > on VMware or Linux containers is where they are putting 100% of their > effort. The language of choice is mostly Java. Much of the Java is > canned too. What used to be implemented on LAMP stacks is now being > implemented using microservices. The platform of choice for > microservices is Linux. Stripped down Linux primarily capable of > supporting microservices. And now at $JOB we're talking about running > microservices on Linux VMs -- virtualization on virtualization, on a > virtual network (NSX). My customers are working on microservices and > containers that can be migrated from their private cloud to the public > cloud and back again easily. > > Even Microsoft is working on a container strategy. The future is > containers. The desktop platform isn't nearly as important any more. > And, the physical server, its location, what it runs on and who runs it > are also less important. What is important is the speed and cost > effectiveness of standing up applications. > > IMO we have strengths that can immediately be capitalized on, like the > Linuxulator. If anything could be in base it might be go, the language > Kubernetes is written in -- don't get me wrong, I'm not advocating > importing go into base. Having said that, transforming FreeBSD into a > PaaS platform, tying it all together using Kubernetes would position > FreeBSD for the future to come. Maybe I'm talking myself into go and > Kubernetes in base but maybe this could just as easily be done in ports. > > Think about this: Kubernetes in base or ports, using the Linuxulator > and jails (or an implementation of cgroups and namespaces constructs in > addition to jails). Bhyve and jails provide the enterprise with other > virtualization options such that a FreeBSD host could host Linux or > FreeBSD containers, Windows or other VMs, and FreeBSD jails, all on one > or a cluster of FreeBSD hosts, possibly part of a heterogeneous cluster. > > This IMO would position FreeBSD for the future. > > Maybe go and Kubernetes? Let's not be left behind. > > > -- > Cheers, > Cy Schubert > FreeBSD UNIX: Web: http://www.FreeBSD.org > > The need of the many outweighs the greed of the few. FreeBSD support in Kubernetes would be great, but I don't think there's any reason to put it into base. The interesting thing about Rust is that it's so good at low-level work. As we discussed, Johannes Lundberg has written a device driver in Rust. And Fabian Freyer is working on jail(3) and jail(8) replacements in Rust. Enji is thinking about writing an rc(8) replacement in Rust. These are the kind of projects that make sense to do in base, apart from the language barrier. Go, I think, would be just fine remaining in ports. If I were to pick any language other than Rust to add to the base system, it might be Lua. Though high level, its embeddable and nicely complements C and Rust. That's why it's used internally in Kyua, and it even in the NetBSD kernel. -Alan From owner-freebsd-hackers@freebsd.org Thu Jan 3 23:10:19 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 26C09143AB6E for ; Thu, 3 Jan 2019 23:10:19 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 220476E05E; Thu, 3 Jan 2019 23:10:18 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id fC7tgVw6pnBo4fC7ugjB3K; Thu, 03 Jan 2019 16:10:10 -0700 X-Authority-Analysis: v=2.3 cv=J8fUEzvS c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=pGLkceISAAAA:8 a=YxBL1-UpAAAA:8 a=heTAvR70AAAA:8 a=6I5d2MoRAAAA:8 a=LBi_h4Cvtbnk1Ul9H7UA:9 a=CjuIK1q_8ugA:10 a=UJ0tAi3fqDAA:10 a=Ia-lj3WSrqcvXOmTRaiG:22 a=UrJ2pwYPfabwj1STkZPu:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id AB3BF13B; Thu, 3 Jan 2019 15:10:08 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x03NA83V099061; Thu, 3 Jan 2019 15:10:08 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x03NA8W2099058; Thu, 3 Jan 2019 15:10:08 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901032310.x03NA8W2099058@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Alan Somers cc: Cy Schubert , Wojciech Puchar , Hackers freeBSD , Igor Mozolevsky , Enji Cooper Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Your message of "Thu, 03 Jan 2019 15:51:29 -0700." MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <99056.1546557008.1@slippy> Content-Transfer-Encoding: quoted-printable Date: Thu, 03 Jan 2019 15:10:08 -0800 X-CMAE-Envelope: MS4wfG/T0bSt0gWQVSyww2jdZXQdQ3TXgaPTNG0Oht90lc5xEuZIUT5m2I6nOIRjcUiQdFTD7KC3GP4GJ3QeNvZGapPXweQEgwDNh68cFeoTr4ehwc/wd5Vr f8t1nQAGjIT+oQa1A+aV1y+Hl5ZN1eD3kScJkMJ6K0yU5QLJqG+SVtblLBKnkSNH1jVSqwAXvQWT8HTGpo9VnKCwPQZKLk0LBcCYb03JdqlV1dsd+ixsWyyl D4Crv+R+GjJCfH4a7ns2vS3aXesspD2M0hqXYkExADa9sEw0EXMPdhRwFG+1aQtZmXwQrfMfTOsNAJza30uwCA== X-Rspamd-Queue-Id: 220476E05E X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.99 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCPT_COUNT_FIVE(0.00)[6]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.99)[-0.994,0]; R_SPF_NA(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[138.136.59.64.list.dnswl.org : 127.0.5.1]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-1.79)[ip: (-4.36), ipnet: 64.59.128.0/20(-2.50), asn: 6327(-2.00), country: CA(-0.09)]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 23:10:19 -0000 In message , Alan Somers writes: > On Thu, Jan 3, 2019 at 3:29 PM Cy Schubert w= rote: > > > > In message , Wojciech > > Puchar wr > > ites: > > > >> That's precisely how ideas that most people disagree with get *pu= shed* > > > >> through by evangelists with confirmation bias! Like someone said > > > >> earlier in the discussion: does Rust add anything? The answer is = a > > > >> resounding NO, save for bloat. > > > > > > > > And this is why one reason people say FreeBSD is dying. > > > > > > > dying for whom? > > > > Not to answer this question but to think strategically: > > > > I come from the corporate/government environment, having spent most of > > my time there. Large datacentres (Canadian spelling), large machines, > > large networks of machines, large networks. In this environment, today= , > > virtualization in all forms are the platforms of business. Migrations > > from physical platforms running AIX, Solaris and Linux to either Linux > > on VMware or Linux containers is where they are putting 100% of their > > effort. The language of choice is mostly Java. Much of the Java is > > canned too. What used to be implemented on LAMP stacks is now being > > implemented using microservices. The platform of choice for > > microservices is Linux. Stripped down Linux primarily capable of > > supporting microservices. And now at $JOB we're talking about running > > microservices on Linux VMs -- virtualization on virtualization, on a > > virtual network (NSX). My customers are working on microservices and > > containers that can be migrated from their private cloud to the public > > cloud and back again easily. > > > > Even Microsoft is working on a container strategy. The future is > > containers. The desktop platform isn't nearly as important any more. > > And, the physical server, its location, what it runs on and who runs i= t > > are also less important. What is important is the speed and cost > > effectiveness of standing up applications. > > > > IMO we have strengths that can immediately be capitalized on, like the > > Linuxulator. If anything could be in base it might be go, the language > > Kubernetes is written in -- don't get me wrong, I'm not advocating > > importing go into base. Having said that, transforming FreeBSD into a > > PaaS platform, tying it all together using Kubernetes would position > > FreeBSD for the future to come. Maybe I'm talking myself into go and > > Kubernetes in base but maybe this could just as easily be done in port= s. > > > > Think about this: Kubernetes in base or ports, using the Linuxulator > > and jails (or an implementation of cgroups and namespaces constructs i= n > > addition to jails). Bhyve and jails provide the enterprise with other > > virtualization options such that a FreeBSD host could host Linux or > > FreeBSD containers, Windows or other VMs, and FreeBSD jails, all on on= e > > or a cluster of FreeBSD hosts, possibly part of a heterogeneous cluste= r. > > > > This IMO would position FreeBSD for the future. > > > > Maybe go and Kubernetes? Let's not be left behind. > > > > > > -- > > Cheers, > > Cy Schubert > > FreeBSD UNIX: Web: http://www.FreeBSD.org > > > > The need of the many outweighs the greed of the few. > > FreeBSD support in Kubernetes would be great, but I don't think > there's any reason to put it into base. The interesting thing about > Rust is that it's so good at low-level work. As we discussed, > Johannes Lundberg has written a device driver in Rust. And Fabian > Freyer is working on jail(3) and jail(8) replacements in Rust. Enji > is thinking about writing an rc(8) replacement in Rust. These are the > kind of projects that make sense to do in base, apart from the > language barrier. Go, I think, would be just fine remaining in ports. > If I were to pick any language other than Rust to add to the base > system, it might be Lua. Though high level, its embeddable and nicely > complements C and Rust. That's why it's used internally in Kyua, and > it even in the NetBSD kernel. I didn't specifically suggest it had to be in base, hence "or ports." (My preference is almost always ports.) My point was, let's step back and lay out a roadmap. If rust is in the roadmap, fine. Rust, which is already in ports, and other things we might want should align with that direction. Meta ports such as a PaaS, OpenShift, or cloud-server metaports could tie it all together for users. pkgbase would add flexability and in so doing solve some issues too. > > -Alan > Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Thu Jan 3 23:21:09 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF008143B151 for ; Thu, 3 Jan 2019 23:21:09 +0000 (UTC) (envelope-from rb@gid.co.uk) Received: from mx0.gid.co.uk (mx0.gid.co.uk [194.32.164.250]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A1C8A6E686 for ; Thu, 3 Jan 2019 23:20:58 +0000 (UTC) (envelope-from rb@gid.co.uk) Received: from [194.32.164.30] ([194.32.164.30]) by mx0.gid.co.uk (8.14.2/8.14.2) with ESMTP id x03NCgvo009829; Thu, 3 Jan 2019 23:12:42 GMT (envelope-from rb@gid.co.uk) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: Speculative: Rust for base system components From: Bob Bishop In-Reply-To: Date: Thu, 3 Jan 2019 23:12:42 +0000 Cc: Enji Cooper , Hackers freeBSD Content-Transfer-Encoding: quoted-printable Message-Id: References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> To: Igor Mozolevsky X-Mailer: Apple Mail (2.3273) X-Rspamd-Queue-Id: A1C8A6E686 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of rb@gid.co.uk designates 194.32.164.250 as permitted sender) smtp.mailfrom=rb@gid.co.uk X-Spamd-Result: default: False [-1.58 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.64)[-0.641,0]; MX_INVALID(0.50)[greylisted]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+mx]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[gid.co.uk]; NEURAL_HAM_LONG(-0.59)[-0.589,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; NEURAL_HAM_SHORT(-0.77)[-0.768,0]; RCVD_IN_DNSWL_NONE(0.00)[250.164.32.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-0.28)[asn: 42831(-1.31), country: GB(-0.10)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:42831, ipnet:194.32.164.0/24, country:GB]; FREEMAIL_CC(0.00)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 23:21:09 -0000 Hi, > On 3 Jan 2019, at 18:20, Igor Mozolevsky = wrote: >=20 > [trimmed] >=20 >> Tl;Dr: if you don=E2=80=99t have anything constructive to say, please = rethink your replies and provide constructive criticism. Constructive = criticism is welcome. Armchair nitpicking is not. >=20 > Here's my constructive criticism: don't waste resources on an unproven > and still-evolving language; if you have *that* much free time on your = hands > start working through BugZilla. +lots Ditto earlier comments on the build system. > -- > Igor M. > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to = "freebsd-hackers-unsubscribe@freebsd.org" -- Bob Bishop rb@gid.co.uk From owner-freebsd-hackers@freebsd.org Thu Jan 3 23:26:32 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C35D2143B4A7 for ; Thu, 3 Jan 2019 23:26:32 +0000 (UTC) (envelope-from woodsb02@gmail.com) Received: from mail-vs1-xe31.google.com (mail-vs1-xe31.google.com [IPv6:2607:f8b0:4864:20::e31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 991FB6EB94; Thu, 3 Jan 2019 23:26:31 +0000 (UTC) (envelope-from woodsb02@gmail.com) Received: by mail-vs1-xe31.google.com with SMTP id t17so21746924vsc.8; Thu, 03 Jan 2019 15:26:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=YhEqtie5irOpMDGbq1NFr2YgryvAjFbNC2HED0Z5j4I=; b=ZGplgTJ/65mlPHBESZ0hGXb7diOcL3TRqaFQVAVnLeJ8SKdM9QEYdQckTR6Mj1JhQj iiejRD3UOLlTNF2KgUSOlkaL5vB2Iz2O7YP7Ym3JnCT0nsI3tu0D5TuDqRk56SULrXNb c5i7X16rmsH4MjsG8NU0gtH6mB1YghbxtqeYiFVA2VAlD0HeYXCF4RtZQi7J7dRxwWZF K+9F/6o8XSTQXiCYMfShzU9tJaJEztiqCunhCP4IuAUIQQBbA76yDUg56vJsUcapW6s4 vWibEzvLBL24H38Xjb54r34dvtuLMUFN72oENcaj2qXw8Zi3fMWbLK9P/8M/BFxz13LB wOTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=YhEqtie5irOpMDGbq1NFr2YgryvAjFbNC2HED0Z5j4I=; b=AaUpwC3PlRbLgo47J7z193PUskjf4cBmdn53vSE5zKgrfu+wQOPLZHi+Jzewf+f//2 Bcw1ooFimHwESeis9BQMc6ikATj1yM5fTFtO7BbR7JgIps0DGl9ykZ/zC4l1tJ3ET6h6 n6qyzuMCwvxhZJa4qOMkaTWxsxfxUX5ty6OzuOxM4Ry8y6l/S/siWOr1y8JUNFrY6v5P JgaMWJUB3MaMRAsIi5vNXjLOP//sKJkc/XM06K/HD2lmbEZv1utPTSKXWBZrTI7+XW2d SPQjOmwOD3mJE670ztcqtB0SPliUUnEzWWmcEfPpdlAzif9QFXP7eTC7Kt45mwysWLrm /mhg== X-Gm-Message-State: AA+aEWYLxCEdOfjhfQFUnSZTYWejWenFPeK9FEsBjUdZu3lIiE5p62l6 njVbhhVZgYBx2xkRFOjCNUTOi4wetwFp65ZgEHLVSQ== X-Google-Smtp-Source: AFSGD/UN8fpBJ0l7fwPIJocKBfDkOTa4qJ4EwD/XZe56JEXgPFSYU1l/DoUffC+TCz3aUMcfGUROhKhgp+rUNAvGO7g= X-Received: by 2002:a67:1505:: with SMTP id 5mr17531034vsv.20.1546557990766; Thu, 03 Jan 2019 15:26:30 -0800 (PST) MIME-Version: 1.0 References: <0478636f9afd49d68a7d0c86d68c01e3@SERVER.ad.usd-group.com> In-Reply-To: <0478636f9afd49d68a7d0c86d68c01e3@SERVER.ad.usd-group.com> From: Ben Woods Date: Fri, 4 Jan 2019 10:26:19 +1100 Message-ID: Subject: Re: FreeBSD 12 log formats To: Matt Churchyard , "ed@freebsd.org" Cc: "freebsd-hackers@freebsd.org" X-Rspamd-Queue-Id: 991FB6EB94 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=ZGplgTJ/; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of woodsb02@gmail.com designates 2607:f8b0:4864:20::e31 as permitted sender) smtp.mailfrom=woodsb02@gmail.com X-Spamd-Result: default: False [-6.74 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[1.3.e.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; IP_SCORE(-2.75)[ip: (-9.86), ipnet: 2607:f8b0::/32(-2.15), asn: 15169(-1.64), country: US(-0.08)]; NEURAL_HAM_SHORT(-0.98)[-0.984,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 23:26:33 -0000 On Thu, 3 Jan 2019 at 3:12 am, Matt Churchyard wrote: > Hello, > > I asked this question on the freebsd-questions mailing list but didn't get > any response. > I (and other users) have noticed that log messages have started appearing > in a different format in FreeBSD 12 (although in my case only on one > system, and some logs are still the original format...). Hi Matt, Given that you are only experiencing this on 1 of your FreeBSD 12 systems, and it was upgraded from a FreeBSD 11 system - could this be a result of an incomplete upgrade? How did you go about upgrading (src or binary)? Did you finish all of the steps, including the SECOND issuance of the following command? # freebsd-update install Refer to the upgrade instructions below which explain the need to run that command a SECOND time: https://www.freebsd.org/doc/handbook/updating-upgrading-freebsdupdate.html Regards, Ben > -- -- From: Benjamin Woods woodsb02@gmail.com From owner-freebsd-hackers@freebsd.org Fri Jan 4 00:42:59 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AB042143CD29 for ; Fri, 4 Jan 2019 00:42:58 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9D65570F0B for ; Fri, 4 Jan 2019 00:42:57 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x831.google.com with SMTP id l11so38925152qtp.0 for ; Thu, 03 Jan 2019 16:42:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=YpFmwknHRBOXRRMw/sougMgSWY/yvwjT14exLmgF9Uo=; b=P2anVl1ZbTxb8Ugk2Vz3iGeg5sfZ+MfoF1fs0MpT8c3Y8CU923Qu11y4mUH+g/2bVe 0QKCcQqUnS9GFlMpWqpHjF5FyDlIBgPRcupHzuSXPTiXYHZKANoijEgz3pw7qmJ92xe0 ezJeonNnbj28TBBz08dzqv/nuYCx4u2alHk4dUBkCzMDxsAhod6eUMSvt+aRmqDHwgMc gYRSz6qMiB7QDcjMwW5zfqyQiLlEMcAV3dHRpZqWPLUfh67PtZ7Omj96p1uzbgxcs1Lt g+Dl7akv59BLBoZ9UV6YIunRaH7PYqUlBXQwuiYdRDcGgQkSRsGh5cvdop6J7oa5WJSW FczA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=YpFmwknHRBOXRRMw/sougMgSWY/yvwjT14exLmgF9Uo=; b=EfRtl3oVvG8LtAnyHGDdywq5fHtTHzSQ6llJo6Esjgx0Ul/QKsgdUqRaR4A6a5EXIk 3OR7cEWLXnh+lYcDOGDLnN5iJQ8EHmdvyMXv1Xp+IiYtzOOVyAdP/W7eFEgunZ43HEbJ IIVALzikfC0xK4URzM5TWtt7io1hiWH7ed4qVJLMmRsvDXTls/KyveMJGGxD4AEeZKqM YPisBktl1gV3+bZ83Uzh1J2Qogo9iqIXrPjLhGK/8jerS3QrIndFZXkyMhHJhecjSSHg 8WbGfHmPcXlY6ymNTcZugRxEPOj9R+RNl2CDuy0odpVKP5jmJtVj31Qb7y1mma0UxVZ9 5M8A== X-Gm-Message-State: AJcUukec9qniJeFGdMpkRJ2fBtpJw+ibd7p/ZMPgq+Py9HO4ST+gR8Lo 9dNK5s5QENrWaKR9pSyDdlXLlwSoD+8XscrI2AGLFX+f X-Google-Smtp-Source: ALg8bN7TI2zRJxAFQoN+dmmy/wCwfW1gxhmJhZ+gn95T+XRvesBS/GoOq4LDdO0/Ydyj1pJ8QTZjVGoEpnNp8sp7Nkc= X-Received: by 2002:a0c:9549:: with SMTP id m9mr49488869qvm.214.1546562576870; Thu, 03 Jan 2019 16:42:56 -0800 (PST) MIME-Version: 1.0 References: <201901032228.x03MSxkq087945@slippy.cwsent.com> In-Reply-To: From: Warner Losh Date: Thu, 3 Jan 2019 17:42:44 -0700 Message-ID: Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) To: Alan Somers Cc: Cy Schubert , FreeBSD Hackers , Enji Cooper , Igor Mozolevsky , Wojciech Puchar X-Rspamd-Queue-Id: 9D65570F0B X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=P2anVl1Z X-Spamd-Result: default: False [-5.34 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; RCPT_COUNT_FIVE(0.00)[6]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; MX_GOOD(-0.01)[cached: ALT1.aspmx.l.google.com]; RCVD_IN_DNSWL_NONE(0.00)[1.3.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.77)[-0.772,0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; IP_SCORE(-2.56)[ip: (-8.93), ipnet: 2607:f8b0::/32(-2.15), asn: 15169(-1.64), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 00:42:59 -0000 On Thu, Jan 3, 2019, 3:53 PM Alan Somers On Thu, Jan 3, 2019 at 3:29 PM Cy Schubert > wrote: > > > > In message , Wojciech > > Puchar wr > > ites: > > > >> That's precisely how ideas that most people disagree with get > *pushed* > > > >> through by evangelists with confirmation bias! Like someone said > > > >> earlier in the discussion: does Rust add anything? The answer is a > > > >> resounding NO, save for bloat. > > > > > > > > And this is why one reason people say =C3=A2=E2=82=AC=C5=93FreeBSD = is dying=C3=A2=E2=82=AC . > > > > > > > dying for whom? > > > > Not to answer this question but to think strategically: > > > > I come from the corporate/government environment, having spent most of > > my time there. Large datacentres (Canadian spelling), large machines, > > large networks of machines, large networks. In this environment, today, > > virtualization in all forms are the platforms of business. Migrations > > from physical platforms running AIX, Solaris and Linux to either Linux > > on VMware or Linux containers is where they are putting 100% of their > > effort. The language of choice is mostly Java. Much of the Java is > > canned too. What used to be implemented on LAMP stacks is now being > > implemented using microservices. The platform of choice for > > microservices is Linux. Stripped down Linux primarily capable of > > supporting microservices. And now at $JOB we're talking about running > > microservices on Linux VMs -- virtualization on virtualization, on a > > virtual network (NSX). My customers are working on microservices and > > containers that can be migrated from their private cloud to the public > > cloud and back again easily. > > > > Even Microsoft is working on a container strategy. The future is > > containers. The desktop platform isn't nearly as important any more. > > And, the physical server, its location, what it runs on and who runs it > > are also less important. What is important is the speed and cost > > effectiveness of standing up applications. > > > > IMO we have strengths that can immediately be capitalized on, like the > > Linuxulator. If anything could be in base it might be go, the language > > Kubernetes is written in -- don't get me wrong, I'm not advocating > > importing go into base. Having said that, transforming FreeBSD into a > > PaaS platform, tying it all together using Kubernetes would position > > FreeBSD for the future to come. Maybe I'm talking myself into go and > > Kubernetes in base but maybe this could just as easily be done in ports= . > > > > Think about this: Kubernetes in base or ports, using the Linuxulator > > and jails (or an implementation of cgroups and namespaces constructs in > > addition to jails). Bhyve and jails provide the enterprise with other > > virtualization options such that a FreeBSD host could host Linux or > > FreeBSD containers, Windows or other VMs, and FreeBSD jails, all on one > > or a cluster of FreeBSD hosts, possibly part of a heterogeneous cluster= . > > > > This IMO would position FreeBSD for the future. > > > > Maybe go and Kubernetes? Let's not be left behind. > > > > > > -- > > Cheers, > > Cy Schubert > > FreeBSD UNIX: Web: http://www.FreeBSD.org > > > > The need of the many outweighs the greed of the few. > > FreeBSD support in Kubernetes would be great, but I don't think > there's any reason to put it into base. The interesting thing about > Rust is that it's so good at low-level work. As we discussed, > Johannes Lundberg has written a device driver in Rust. And Fabian > Freyer is working on jail(3) and jail(8) replacements in Rust. Enji > is thinking about writing an rc(8) replacement in Rust. These are the > kind of projects that make sense to do in base, apart from the > language barrier. Go, I think, would be just fine remaining in ports. > If I were to pick any language other than Rust to add to the base > system, it might be Lua. Though high level, its embeddable and nicely > complements C and Rust. That's why it's used internally in Kyua, and > it even in the NetBSD kernel. > We already have. The boot loader uses the latest, almost stock version. ZFS uses it's weird, hacked version to send down config programs. The build glue to get a luac is pretty small at this point :) Warner > > -Alan > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org= " > From owner-freebsd-hackers@freebsd.org Fri Jan 4 02:13:05 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BC3AF143ED33 for ; Fri, 4 Jan 2019 02:13:05 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9EC0E7379D for ; Fri, 4 Jan 2019 02:13:04 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lj1-f182.google.com with SMTP id s5-v6so31280689ljd.12 for ; Thu, 03 Jan 2019 18:13:04 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=17dHiy/4dAgrFDiaNIok2mxyyE0zPX5Ge0X6vq7ihhI=; b=S8ecHK7xi4YoX/7xGv0HZx9UtIy8kpwgpSv8P8tfivRCNAYmd/YdFx8XrVjLQZ0eJp Wv21hK/ModvGcYQpTusSDRpZnm/SeHLuGRKwVjWURT21lEtqICwcf6qvo52IBjljXeC9 EE4PKaExjndrMjKP41g7R6/h2tvOVqbmz2F7To/5QVkNCfocOtED5J4uee2K3UVMRjCC dGFdIW8RAo1H5sb3Tqx6bcXHraTggMV0luyjUkaDB3Jeq5PuLP2AOa5bnDmH9A5pg2BK 5Ny8EgOl0PzVrlf8Gle4RFBc/JgHM6Kb5P5hUgAGPmTInFkz/UFm0Ucbd5Rz0QGk2lKw vmCw== X-Gm-Message-State: AJcUukcHab1pKbDcxGbn5mfYbSReg9x793FkR1oG0wvxyfME9p7F6iwu 9YYS4X2M3d36JPC/aIKTh7WWi2rNH0fUsH8kUQU= X-Google-Smtp-Source: ALg8bN4hBOTG8bJxhDT1U8Y/PMEzzNFfLTIdUfUlF8UQUJapxmCMiNVc22pVqppx+4ABl9YFbzlNE5V5y5jNH1hFTlY= X-Received: by 2002:a2e:b00a:: with SMTP id y10-v6mr11842271ljk.109.1546567982779; Thu, 03 Jan 2019 18:13:02 -0800 (PST) MIME-Version: 1.0 References: <201901032228.x03MSxkq087945@slippy.cwsent.com> In-Reply-To: From: Alan Somers Date: Thu, 3 Jan 2019 19:12:50 -0700 Message-ID: Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) To: Warner Losh Cc: Cy Schubert , FreeBSD Hackers , Enji Cooper , Igor Mozolevsky , Wojciech Puchar Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 9EC0E7379D X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.208.182 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-3.75 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_FIVE(0.00)[6]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[182.208.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.65)[-0.654,0]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.76), asn: 15169(-1.64), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 02:13:06 -0000 On Thu, Jan 3, 2019 at 5:43 PM Warner Losh wrote: > > > > On Thu, Jan 3, 2019, 3:53 PM Alan Somers > >> On Thu, Jan 3, 2019 at 3:29 PM Cy Schubert w= rote: >> > >> > In message , Wojciech >> > Puchar wr >> > ites: >> > > >> That's precisely how ideas that most people disagree with get *pu= shed* >> > > >> through by evangelists with confirmation bias! Like someone said >> > > >> earlier in the discussion: does Rust add anything? The answer is = a >> > > >> resounding NO, save for bloat. >> > > > >> > > > And this is why one reason people say =C3=A2=E2=82=AC=C5=93FreeBSD= is dying=C3=A2=E2=82=AC . >> > > > >> > > dying for whom? >> > >> > Not to answer this question but to think strategically: >> > >> > I come from the corporate/government environment, having spent most of >> > my time there. Large datacentres (Canadian spelling), large machines, >> > large networks of machines, large networks. In this environment, today= , >> > virtualization in all forms are the platforms of business. Migrations >> > from physical platforms running AIX, Solaris and Linux to either Linux >> > on VMware or Linux containers is where they are putting 100% of their >> > effort. The language of choice is mostly Java. Much of the Java is >> > canned too. What used to be implemented on LAMP stacks is now being >> > implemented using microservices. The platform of choice for >> > microservices is Linux. Stripped down Linux primarily capable of >> > supporting microservices. And now at $JOB we're talking about running >> > microservices on Linux VMs -- virtualization on virtualization, on a >> > virtual network (NSX). My customers are working on microservices and >> > containers that can be migrated from their private cloud to the public >> > cloud and back again easily. >> > >> > Even Microsoft is working on a container strategy. The future is >> > containers. The desktop platform isn't nearly as important any more. >> > And, the physical server, its location, what it runs on and who runs i= t >> > are also less important. What is important is the speed and cost >> > effectiveness of standing up applications. >> > >> > IMO we have strengths that can immediately be capitalized on, like the >> > Linuxulator. If anything could be in base it might be go, the language >> > Kubernetes is written in -- don't get me wrong, I'm not advocating >> > importing go into base. Having said that, transforming FreeBSD into a >> > PaaS platform, tying it all together using Kubernetes would position >> > FreeBSD for the future to come. Maybe I'm talking myself into go and >> > Kubernetes in base but maybe this could just as easily be done in port= s. >> > >> > Think about this: Kubernetes in base or ports, using the Linuxulator >> > and jails (or an implementation of cgroups and namespaces constructs i= n >> > addition to jails). Bhyve and jails provide the enterprise with other >> > virtualization options such that a FreeBSD host could host Linux or >> > FreeBSD containers, Windows or other VMs, and FreeBSD jails, all on on= e >> > or a cluster of FreeBSD hosts, possibly part of a heterogeneous cluste= r. >> > >> > This IMO would position FreeBSD for the future. >> > >> > Maybe go and Kubernetes? Let's not be left behind. >> > >> > >> > -- >> > Cheers, >> > Cy Schubert >> > FreeBSD UNIX: Web: http://www.FreeBSD.org >> > >> > The need of the many outweighs the greed of the few. >> >> FreeBSD support in Kubernetes would be great, but I don't think >> there's any reason to put it into base. The interesting thing about >> Rust is that it's so good at low-level work. As we discussed, >> Johannes Lundberg has written a device driver in Rust. And Fabian >> Freyer is working on jail(3) and jail(8) replacements in Rust. Enji >> is thinking about writing an rc(8) replacement in Rust. These are the >> kind of projects that make sense to do in base, apart from the >> language barrier. Go, I think, would be just fine remaining in ports. >> If I were to pick any language other than Rust to add to the base >> system, it might be Lua. Though high level, its embeddable and nicely >> complements C and Rust. That's why it's used internally in Kyua, and >> it even in the NetBSD kernel. > > > We already have. The boot loader uses the latest, almost stock version. Z= FS uses it's weird, hacked version to send down config programs. The build = glue to get a luac is pretty small at this point :) > > Warner Wow, I'm way behind then. Maybe I'll actually need to learn it. -Alan From owner-freebsd-hackers@freebsd.org Fri Jan 4 10:34:53 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AEBCC1424D31 for ; Fri, 4 Jan 2019 10:34:53 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id A73088A447 for ; Fri, 4 Jan 2019 10:34:52 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x04AYscV046993 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 4 Jan 2019 11:34:54 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x04AYncO046990; Fri, 4 Jan 2019 11:34:49 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Fri, 4 Jan 2019 11:34:49 +0100 (CET) From: Wojciech Puchar To: Cy Schubert cc: Wojciech Puchar , Enji Cooper , Hackers freeBSD , Igor Mozolevsky Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: <201901032228.x03MSxkq087945@slippy.cwsent.com> Message-ID: References: <201901032228.x03MSxkq087945@slippy.cwsent.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: A73088A447 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.77 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.89)[-0.888,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.57)[ip: (-9.42), ipnet: 194.1.144.0/24(-4.71), asn: 43476(-3.77), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 10:34:53 -0000 > > I come from the corporate/government environment, having spent most of > my time there. Large datacentres (Canadian spelling), large machines, > large networks of machines, large networks. In this environment, today, > virtualization in all forms are the platforms of business. Migrations > from physical platforms running AIX, Solaris and Linux to either Linux > on VMware or Linux containers is where they are putting 100% of their > effort. The language of choice is mostly Java. Much of the Java is > canned too. What used to be implemented on LAMP stacks is now being > implemented using microservices. The platform of choice for > microservices is Linux. Stripped down Linux primarily capable of Just as fashion changes. > > IMO we have strengths that can immediately be capitalized on, like the > Linuxulator. If anything could be in base it might be go, the language What do you mean "capitalized"? FreeBSD already allow to do all mentioned things, but anyway someone who use FreeBSD is usually smart enough to not blidnly copy what is now trendy. From owner-freebsd-hackers@freebsd.org Fri Jan 4 11:02:33 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3E8BF1425E4E for ; Fri, 4 Jan 2019 11:02:33 +0000 (UTC) (envelope-from unledev@gmail.com) Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5CF0E8B30E for ; Fri, 4 Jan 2019 11:02:32 +0000 (UTC) (envelope-from unledev@gmail.com) Received: by mail-qt1-x831.google.com with SMTP id l11so39987792qtp.0 for ; Fri, 04 Jan 2019 03:02:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hDoD4rmA6MgF9sxWF6llqsR8QC2QYU3lUQv78IO+tGc=; b=SpGdRwVrrspAX83OMhurIngReWUCptshdZzpHB8++7a5bdtrjirYoSBpoqhcitfzSb VbeYlCO9VLdSY7stKjhnP2IGK0whB5orWG0ldyxDQhx/LxPyN96xnGiT//YvpYweXJn0 6RNIbfMPhvlxB695nsmAUzzCgZkoORbiboe3XU/R63jqtLJl8QHVTjRFIHquYb9Y6C0r 3cUjLH0KUjnRpRgvuRJQLFonipt/0UjNuzUCyAcF2OZ2D2bzMDO9a3Dc7RQMvOET7B6q TNgvlevORwe3MFfTwIrwXC768buKjFq/we0XEpBTPZoUd9a7sG9tHpVHJKyirEa239PS Jpfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hDoD4rmA6MgF9sxWF6llqsR8QC2QYU3lUQv78IO+tGc=; b=lrMwm8/4i8SQ5J2skuX3lX9zTuLotwEPY5RMGifqVmU5dTGEqcUcyXw/ojsnEP5zNL bPc04a4s3NWpL/KCDkyaNwT6a4ARgT57qWqb/K4QxI8tdQJ1Or0ny7GCJ0HLvSwqdXJG 7isNMMKkU3z6O4PCV5kZkMvILycWt2rUjvuNicuWYGfzGBCQKo8FgI/dbeX1LRGtg4HZ dIcQjNUMohqaqh68hqKIYp3QQ6aWMMFUxBndho5wV39xpYChV/0BVzPUw1AIl6QaMlsb Cl6obHrRoNT8Ztns2eJR0jQEkezZpSvEF/8COpkyfFmuae6gYX5z7USrIB1CyyIsLzcF ubrw== X-Gm-Message-State: AJcUukdG2/uy/RpbpFMKhgtx7G+rfOMTMx43GQUwACSg1jGHkdKsj8Fu 3R6BogMBCjkX4s3pe8R++sC9gtfBEYE9rmB6RmU= X-Google-Smtp-Source: ALg8bN6LROuHIZSPJYxNYkXPXGtHewhtvnaW2etQRihrYgdahN0xg8q9vr7umHXnm/OoCj1de0XzsGvUR9U+FzWxf0Y= X-Received: by 2002:a0c:b48d:: with SMTP id c13mr49164974qve.91.1546599751893; Fri, 04 Jan 2019 03:02:31 -0800 (PST) MIME-Version: 1.0 References: <7d7bc47d-04cf-2f9b-00a3-e3d9d92b3623@aceshardware.com> <72922F2C-9D27-47AA-BB1C-2DA8589CF008@rpi.edu> <92bd5362-d898-aa12-8f3d-9fbe23f38e0c@aceshardware.com> In-Reply-To: <92bd5362-d898-aa12-8f3d-9fbe23f38e0c@aceshardware.com> From: Alejandro Martinez Date: Fri, 4 Jan 2019 11:02:18 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Brian Neal Cc: Garance A Drosehn , freebsd-hackers@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 5CF0E8B30E X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=SpGdRwVr; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of unledev@gmail.com designates 2607:f8b0:4864:20::831 as permitted sender) smtp.mailfrom=unledev@gmail.com X-Spamd-Result: default: False [-6.45 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[1.3.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_SHORT(-0.86)[-0.859,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE(-2.59)[ip: (-9.02), ipnet: 2607:f8b0::/32(-2.17), asn: 15169(-1.65), country: US(-0.08)]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 11:02:33 -0000 Hi Brian, On Tue, Jan 1, 2019 at 7:02 AM Brian Neal wrote: > > It was a debug build with no optimization for either compiler. But we > can easily run a variety of settings for comparison: > > Compiler Flags Inst. Count Build Time > ====================================================================== > clang 7.0.0 none 33 296ms > -O3 23 341ms > rustc 1.31.0 none 110 606ms > -C opt-level=3 67 643ms > gcc 8.2 none 37 211ms > -O2 24 249ms > -O3 119* 206ms > > * With -O3, gcc unrolled and vectorized the loop. The other compilers > did not emit vectorized code at any of the standard optimization levels. > > So, essentially, double the build time and ~3 times the code for the > same logic. Can you share your exact tests so others can replicate? Thanks, Alex From owner-freebsd-hackers@freebsd.org Fri Jan 4 09:12:38 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BFC121422530 for ; Fri, 4 Jan 2019 09:12:38 +0000 (UTC) (envelope-from matt.churchyard@userve.net) Received: from smtp-a.userve.net (smtp-outbound.userve.net [217.196.1.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.userve.net", Issuer "Thawte RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 990C887D1B for ; Fri, 4 Jan 2019 09:12:37 +0000 (UTC) (envelope-from matt.churchyard@userve.net) Received: from owa.usd-group.com (owa.usd-group.com [217.196.1.2]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp-a.userve.net (Postfix) with ESMTPS id 9CDC5707; Fri, 4 Jan 2019 09:12:29 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=userve.net; s=201508; t=1546593149; bh=uYTEvkPdDqa9prPJsqE6XbtwtvaRdjbCv4Oa9P+YBzs=; h=From:To:CC:Subject:Date:References:In-Reply-To; b=T3R6A6L2ltS+9kH5+RRMWB7WKnda/CfTMs42pibTCTZG8s4dBsGwvp/U28xZuG+yY gfR8Qcn44F7WkyUOCn5ChOrr5qOgZssorejhc5hWuSltwZCrmun0tu0yNPckkBp5K5 so1tNgQKICzj22BY6G3d+XFPxlWA9NJ8Q7rIeqhM= Received: from SERVER.ad.usd-group.com (192.168.0.1) by SERVER.ad.usd-group.com (192.168.0.1) with Microsoft SMTP Server (TLS) id 15.0.847.32; Fri, 4 Jan 2019 09:12:29 +0000 Received: from SERVER.ad.usd-group.com ([fe80::b19d:892a:6fc7:1c9]) by SERVER.ad.usd-group.com ([fe80::b19d:892a:6fc7:1c9%12]) with mapi id 15.00.0847.030; Fri, 4 Jan 2019 09:12:29 +0000 From: Matt Churchyard To: Ben Woods CC: "freebsd-hackers@freebsd.org" Subject: RE: FreeBSD 12 log formats Thread-Topic: FreeBSD 12 log formats Thread-Index: AdSipZEJZ1EIppz+QAmQWArpuWdTqQBFinWAABQ8lYA= Date: Fri, 4 Jan 2019 09:12:28 +0000 Message-ID: <971da285e1b640f591dcfe04942a1fdc@SERVER.ad.usd-group.com> References: <0478636f9afd49d68a7d0c86d68c01e3@SERVER.ad.usd-group.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.0.10] MIME-Version: 1.0 X-Rspamd-Queue-Id: 990C887D1B X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=userve.net header.s=201508 header.b=T3R6A6L2 X-Spamd-Result: default: False [-2.08 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_ALLOW(-0.20)[userve.net:s=201508]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.94)[-0.943,0]; NEURAL_HAM_LONG(-0.99)[-0.987,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_NA(0.00)[userve.net]; NEURAL_SPAM_SHORT(0.07)[0.075,0]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[userve.net:+]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[22.1.196.217.list.dnswl.org : 127.0.10.0]; MX_GOOD(-0.01)[av-smtp-in1.userve.net,av-smtp-in2.userve.net]; MIME_BASE64_TEXT(0.10)[]; R_SPF_NA(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:20652, ipnet:217.196.0.0/20, country:GB]; IP_SCORE(-0.02)[country: GB(-0.10)] X-Mailman-Approved-At: Fri, 04 Jan 2019 11:30:08 +0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 09:12:39 -0000 T24gVGh1LCAzIEphbiAyMDE5IGF0IDM6MTIgYW0sIE1hdHQgQ2h1cmNoeWFyZCA8bWF0dC5jaHVy Y2h5YXJkQHVzZXJ2ZS5uZXQ8bWFpbHRvOm1hdHQuY2h1cmNoeWFyZEB1c2VydmUubmV0Pj4gd3Jv dGU6DQpIZWxsbywNCg0KSSBhc2tlZCB0aGlzIHF1ZXN0aW9uIG9uIHRoZSBmcmVlYnNkLXF1ZXN0 aW9ucyBtYWlsaW5nIGxpc3QgYnV0IGRpZG4ndCBnZXQgYW55IHJlc3BvbnNlLg0KSSAoYW5kIG90 aGVyIHVzZXJzKSBoYXZlIG5vdGljZWQgdGhhdCBsb2cgbWVzc2FnZXMgaGF2ZSBzdGFydGVkIGFw cGVhcmluZyBpbiBhIGRpZmZlcmVudCBmb3JtYXQgaW4gRnJlZUJTRCAxMiAoYWx0aG91Z2ggaW4g bXkgY2FzZSBvbmx5IG9uIG9uZSBzeXN0ZW0sIGFuZCBzb21lIGxvZ3MgYXJlIHN0aWxsIHRoZSBv cmlnaW5hbCBmb3JtYXQuLi4pLg0KDQoNCj5IaSBNYXR0LA0KDQo+R2l2ZW4gdGhhdCB5b3UgYXJl IG9ubHkgZXhwZXJpZW5jaW5nIHRoaXMgb24gMSBvZiB5b3VyIEZyZWVCU0QgMTIgc3lzdGVtcywg YW5kIGl0IHdhcyB1cGdyYWRlZCBmcm9tIGEgRnJlZUJTRCAxMSBzeXN0ZW0gLSBjb3VsZCB0aGlz IGJlIGEgcmVzdWx0IG9mIGFuIGluY29tcGxldGUgdXBncmFkZT8NCg0KPkhvdyBkaWQgeW91IGdv IGFib3V0IHVwZ3JhZGluZyAoc3JjIG9yIGJpbmFyeSk/ICBEaWQgeW91IGZpbmlzaCBhbGwgb2Yg dGhlIHN0ZXBzLCBpbmNsdWRpbmcgdGhlIFNFQ09ORCBpc3N1YW5jZSBvZiB0aGUgZm9sbG93aW5n IGNvbW1hbmQ/DQo+IyBmcmVlYnNkLXVwZGF0ZSBpbnN0YWxsDQoNCj5SZWZlciB0byB0aGUgdXBn cmFkZSBpbnN0cnVjdGlvbnMgYmVsb3cgd2hpY2ggZXhwbGFpbiB0aGUgbmVlZCB0byBydW4gdGhh dCBjb21tYW5kIGEgU0VDT05EIHRpbWU6DQo+aHR0cHM6Ly93d3cuZnJlZWJzZC5vcmcvZG9jL2hh bmRib29rL3VwZGF0aW5nLXVwZ3JhZGluZy1mcmVlYnNkdXBkYXRlLmh0bWwNCg0KSG1tLCBMb29r cyBsaWtlIGl0IG1pZ2h0IGJlIGEgZmFsc2UgYWxhcm0uDQpUaGUgZnVsbCB1cGdyYWRlIHByb2Nl c3Mgd2FzIGZvbGxvd2VkLCBob3dldmVyIGR1ZSB0byB0aGUgd2F5IHRoZSBzeXNsb2cgY2hhbmdl cyBoYXZlIGJlZW4gbWFkZSBpdCBsb29rcyBsaWtlIGFuIGFkZGl0aW9uYWwgcmVib290IGlzIHJl cXVpcmVkIGFmdGVyIHRoZSBzZWNvbmQgcGFydCBvZiB0aGUgdXBncmFkZS4gQmFzZWQgb24geW91 ciBsYXN0IGVtYWlsLCBpdCBzZWVtcyB0aGUgb2xkIGRhZW1vbiBpcyBydW5uaW5nLCBhbmQgYW55 IG5ld2x5IHN0YXJ0ZWQgcHJvY2Vzc2VzIGVuZCB1cCB3cml0aW5nIGluIHRoZSBuZXcgZm9ybWF0 LiBUaGlzIHdvdWxkIGV4cGxhaW4gd2h5IG15IG1haWxsb2cgd2FzIHN0aWxsIHRoZSBvbGQgZm9y bWF0IGFzIHRoYXQgcHJvY2VzcyB3b3VsZCBub3Qgb2YgYmVlbiByZXN0YXJ0ZWQuIEkgdXN1YWxs eSByZXN0YXJ0IHN5c3RlbXMgYWZ0ZXIgYW4gdXBncmFkZSBldmVuIHRob3VnaCBpdOKAmXMgbm90 IG1lbnRpb25lZCB0byBtYWtlIHN1cmUgZXZlcnl0aGluZyBzdGFydHMgb2sgYWx0aG91Z2ggb2J2 aW91c2x5IGRpZG7igJl0IHRoaXMgdGltZeKApg0KDQpUaGFua3MNCk1hdHQNCg0KPlJlZ2FyZHMs DQo+QmVuDQotLQ0KDQotLQ0KRnJvbTogQmVuamFtaW4gV29vZHMNCndvb2RzYjAyQGdtYWlsLmNv bTxtYWlsdG86d29vZHNiMDJAZ21haWwuY29tPg0K From owner-freebsd-hackers@freebsd.org Fri Jan 4 14:44:38 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 78257142E038 for ; Fri, 4 Jan 2019 14:44:38 +0000 (UTC) (envelope-from damjan.jov@gmail.com) Received: from mail-ot1-x330.google.com (mail-ot1-x330.google.com [IPv6:2607:f8b0:4864:20::330]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 346D36C2A1 for ; Fri, 4 Jan 2019 14:44:37 +0000 (UTC) (envelope-from damjan.jov@gmail.com) Received: by mail-ot1-x330.google.com with SMTP id 40so32238512oth.4 for ; Fri, 04 Jan 2019 06:44:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:cc; bh=N/eHNtMnUxKjhYa7JdDdMp30teDYqW3AECRn0NIX+z0=; b=X5DDJAFjPU1wFXR+qHjfkpkrIE4G5otMGsIs+AkMDrbDoZ9xW71Fu1nqYYv1gZ3NrT +vYaHEO7dYAdJTj3H+ssvl6FpawdY/hTQwf3nL6Ks5RJECXvUbMmIv9joj7Xtri6wcmI I3MFPvTDcSocfWaa8GvHUUoX+u5v/mFzqASkBYgcBDzAmzqpLWHkb7Bm8zCAimtq+8/W yDg6ilOADmXfnIXNaJgkXkjEfuTySGmqSuT6uY6fzXXmAB9uqPEE5gyLNivvtgInlv5V cnfXYgx9hDgLU4ZOKXjnrxfrWCxbA+SXxrhIqEuGegoIUaWDCNxeliF//dNKZHq9wnew VbWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:cc; bh=N/eHNtMnUxKjhYa7JdDdMp30teDYqW3AECRn0NIX+z0=; b=CRGRzVLWx6FW85YRglzVO502xAo5RAzYAVuEC6YzfkVhMF9JfkRH3txjHEVDmjQyWZ 1Sf3Ggerw4iTJolwPTBK1DWgwqzMbFiy68kyqfT0XHpXP5/2TFXquAHBAWLs64DmbsUN iZs3yg3AklnIxEzDWDNBeBikMDmHIrbaW/9StNShoU+tUpJAOZIxgCP5IK8ajheO+alG s9nvq894q2Ovv6XF13sEsYup3q5ccbIBk6v9oQ8BOMa//SXOOLBl4lA+sABQJwiJL4Ki pl1ngRaFelPP8wY2liQ4yK88rbhb3LW1CPLK41Lffwi1peYq3MckicxBDNFby1lipXyc s/8g== X-Gm-Message-State: AJcUukddA3dEInFh+OsUDjO47ZMTSppFBLsjHpudZm1k/d5/MOFbdj7h FMl2Hn52TYaAV4Wdk2lRxoXoiDPI1MM+8XQdlyZ6sVNcHug= X-Google-Smtp-Source: ALg8bN5ilkrsy+bcGpfOcwAeT1MQRwlSY2ZNHj+cAEwb4lL/rWZnTaveISZ02ZY/7LsKVzDnoR5CtzsigJntFwxgoic= X-Received: by 2002:a05:6830:1507:: with SMTP id k7mr13759868otp.158.1546613075975; Fri, 04 Jan 2019 06:44:35 -0800 (PST) MIME-Version: 1.0 References: <201901032228.x03MSxkq087945@slippy.cwsent.com> In-Reply-To: From: Damjan Jovanovic Date: Fri, 4 Jan 2019 16:44:25 +0200 Message-ID: Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) Cc: Hackers freeBSD X-Rspamd-Queue-Id: 346D36C2A1 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=X5DDJAFj; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of damjanjov@gmail.com designates 2607:f8b0:4864:20::330 as permitted sender) smtp.mailfrom=damjanjov@gmail.com X-Spamd-Result: default: False [-2.06 / 15.00]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MISSING_TO(2.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.91)[-0.910,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-0.97)[-0.971,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_SHORT(-0.38)[-0.381,0]; IP_SCORE(-0.78)[ipnet: 2607:f8b0::/32(-2.18), asn: 15169(-1.66), country: US(-0.08)]; RCVD_IN_DNSWL_NONE(0.00)[0.3.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 14:44:38 -0000 On Fri, Jan 4, 2019 at 12:37 PM Wojciech Puchar wrote: > > > > I come from the corporate/government environment, having spent most of > > my time there. Large datacentres (Canadian spelling), large machines, > > large networks of machines, large networks. In this environment, today, > > virtualization in all forms are the platforms of business. Migrations > > from physical platforms running AIX, Solaris and Linux to either Linux > > on VMware or Linux containers is where they are putting 100% of their > > effort. The language of choice is mostly Java. Much of the Java is > > canned too. What used to be implemented on LAMP stacks is now being > > implemented using microservices. The platform of choice for > > microservices is Linux. Stripped down Linux primarily capable of > > Just as fashion changes. > > > > IMO we have strengths that can immediately be capitalized on, like the > > Linuxulator. If anything could be in base it might be go, the language > > What do you mean "capitalized"? > > FreeBSD already allow to do all mentioned things, but anyway someone > who use FreeBSD is usually smart enough to not blidnly copy what is now > trendy. > > +1000 There is way too much fashion in IT nowdays. Maybe one of the reasons that many software stacks lately make statically linked binaries (eg. Go and Rust), and containers that embed every dependency are becoming popular, is that Linux has no base system and only distro-specific packages, and thus poor API/ABI compatibility between distros and distro versions, so it really needs these features? From owner-freebsd-hackers@freebsd.org Fri Jan 4 16:50:22 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3F8621431408 for ; Fri, 4 Jan 2019 16:50:22 +0000 (UTC) (envelope-from brian@aceshardware.com) Received: from mail.aceshardware.com (mail.aceshardware.com [52.52.37.31]) (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 1A6FC703D0 for ; Fri, 4 Jan 2019 16:50:21 +0000 (UTC) (envelope-from brian@aceshardware.com) Received: from [10.132.25.68] (mobile-166-171-249-146.mycingular.net [166.171.249.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.aceshardware.com (Postfix) with ESMTPSA id C17C920130F; Fri, 4 Jan 2019 16:50:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aceshardware.com; s=dkim; t=1546620612; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eAPF+1fkoB9dKw1+XA83BQ/Jd/ZiOJGTQcIPS9d8U+s=; b=F+prYnSxuFJlf/KTu/88hHUeoJ59vPhnLCHm7WG4Qo5PfEN2myEJZTCiBGvZKJiwm6RNVc lvZTFXyWtASMAtAH0MAmB74OF+E1jEeewh6d9DSqwvm5VZGURsJSnN5baoWBXa8pmrpd4b RrDDt4r69c5zZXaT4bYvxfJU5DMwSDWb3ZalaHFmCjjyFVfTTnYLe03T/uhfXQKI0+n0EC NJZYhk9EEHFJKbPzC9y4Yxd261C908rbKG/4zAC3uMVgTHhvnJifuH8UuwASqWsU60Qq4O L0IaEqr4o7bqV+B9VsBiozqElK6oUZ25BoTiQzh6GsJQQ5BIR7v5QZf5NTkBlA== Content-Type: multipart/signed; boundary=Apple-Mail-2C9A0CE4-97A1-49AD-84CE-7509CFF418D9; protocol="application/pkcs7-signature"; micalg=sha-256 Mime-Version: 1.0 (1.0) Subject: Re: Speculative: Rust for base system components From: Brian Neal X-Mailer: iPhone Mail (16C101) In-Reply-To: Date: Fri, 4 Jan 2019 08:50:10 -0800 Cc: freebsd-hackers@freebsd.org, Garance A Drosehn Content-Transfer-Encoding: 7bit Message-Id: References: <7d7bc47d-04cf-2f9b-00a3-e3d9d92b3623@aceshardware.com> <72922F2C-9D27-47AA-BB1C-2DA8589CF008@rpi.edu> <92bd5362-d898-aa12-8f3d-9fbe23f38e0c@aceshardware.com> To: Alejandro Martinez X-Rspamd-Queue-Id: 1A6FC703D0 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=aceshardware.com header.s=dkim header.b=F+prYnSx; dmarc=pass (policy=none) header.from=aceshardware.com X-Spamd-Result: default: False [-5.55 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; HAS_ATTACHMENT(0.00)[]; DKIM_TRACE(0.00)[aceshardware.com:+]; DMARC_POLICY_ALLOW(-0.50)[aceshardware.com,none]; MX_GOOD(-0.01)[mail.aceshardware.com]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; IP_SCORE(-0.39)[ipnet: 52.52.0.0/15(-0.62), asn: 16509(-1.24), country: US(-0.08)]; ASN(0.00)[asn:16509, ipnet:52.52.0.0/15, country:US]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.993,0]; R_DKIM_ALLOW(-0.20)[aceshardware.com:s=dkim]; FROM_HAS_DN(0.00)[]; SIGNED_SMIME(-2.00)[]; NEURAL_HAM_SHORT(-0.76)[-0.761,0]; RCPT_COUNT_THREE(0.00)[3]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 16:50:22 -0000 --Apple-Mail-2C9A0CE4-97A1-49AD-84CE-7509CFF418D9 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Sure! Just go to http://godbolt.org/ and type a small program in each language, en= ter the appropriate compilation flags and compare the output. The function I= used took a count as a parameter, iterated through the count, summed up odd= numbers and returned the sum. Cheers, -Brian Sent from my iPhone > On Jan 4, 2019, at 3:02 AM, Alejandro Martinez wrote: >=20 > Hi Brian, >=20 >> On Tue, Jan 1, 2019 at 7:02 AM Brian Neal wrote:= >>=20 >> It was a debug build with no optimization for either compiler. But we >> can easily run a variety of settings for comparison: >>=20 >> Compiler Flags Inst. Count Build Time >> =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 >> clang 7.0.0 none 33 296ms >> -O3 23 341ms >> rustc 1.31.0 none 110 606ms >> -C opt-level=3D3 67 643ms >> gcc 8.2 none 37 211ms >> -O2 24 249ms >> -O3 119* 206ms >>=20 >> * With -O3, gcc unrolled and vectorized the loop. The other compilers >> did not emit vectorized code at any of the standard optimization levels. >>=20 >> So, essentially, double the build time and ~3 times the code for the >> same logic. >=20 > Can you share your exact tests so others can replicate? >=20 > Thanks, > Alex > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"= --Apple-Mail-2C9A0CE4-97A1-49AD-84CE-7509CFF418D9 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Disposition: attachment; filename=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCBfMw ggXvMIIE16ADAgECAhBAAWIlyeWHXiIZxzH/ofDPMA0GCSqGSIb3DQEBCwUAMDoxCzAJBgNVBAYT AlVTMRIwEAYDVQQKEwlJZGVuVHJ1c3QxFzAVBgNVBAMTDlRydXN0SUQgQ0EgQTEyMB4XDTE4MDMx NDE4MzMzMVoXDTE5MDMxNDE4MzMzMVowgYkxLzAtBgNVBAsMJlZlcmlmaWVkIEVtYWlsOiBicmlh bkBhY2VzaGFyZHdhcmUuY29tMSUwIwYJKoZIhvcNAQkBFhZicmlhbkBhY2VzaGFyZHdhcmUuY29t MS8wLQYKCZImiZPyLGQBARMfQTAxNDI3RDAwMDAwMTYyMjVDOUU1NEMwMDAxNzJGMTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBALhyBKgQXz2NuGB7Bzr5WREwCvKCHPzM3k+4ETElnThi eDR5lnB3DvOpQOY/WWC2GmHCe0OQPp75JSbDXq7OiuRcU4TikJ4Lh0X00FtWqh8SiwmqyY20jojA PACJAhvKU8FKWfVZ6OiSkZDTwhwGfl70YJZNtPOSUeMJtY0g9ffJpQOfl4mzbU3qX2WcFI6hGM+x Kvl9BCezllYpxGPjaEzBl4lhx2y9y/nZs3DdsR/hx0kKwYFF9d3vzV5tYDXS/Xi2yQCLdfgOzJ3r +mHhGo7CfCyvJGXzxh19KYLsk5tkP+99EBvOgxYZkx2KVAV7BEnqroVqiDVfKGwIiXiOkykCAwEA AaOCAp8wggKbMA4GA1UdDwEB/wQEAwIFoDCBhAYIKwYBBQUHAQEEeDB2MDAGCCsGAQUFBzABhiRo dHRwOi8vY29tbWVyY2lhbC5vY3NwLmlkZW50cnVzdC5jb20wQgYIKwYBBQUHMAKGNmh0dHA6Ly92 YWxpZGF0aW9uLmlkZW50cnVzdC5jb20vY2VydHMvdHJ1c3RpZGNhYTEyLnA3YzAfBgNVHSMEGDAW gBSkc9rvaTWKdcygGXsIMvhrieRC7DAJBgNVHRMEAjAAMIIBLAYDVR0gBIIBIzCCAR8wggEbBgtg hkgBhvkvAAYLATCCAQowSgYIKwYBBQUHAgEWPmh0dHBzOi8vc2VjdXJlLmlkZW50cnVzdC5jb20v Y2VydGlmaWNhdGVzL3BvbGljeS90cy9pbmRleC5odG1sMIG7BggrBgEFBQcCAjCBrhqBq1RoaXMg VHJ1c3RJRCBDZXJ0aWZpY2F0ZSBoYXMgYmVlbiBpc3N1ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIApJ ZGVuVHJ1c3QncyBUcnVzdElEIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL3Nl Y3VyZS5pZGVudHJ1c3QuY29tL2NlcnRpZmljYXRlcy9wb2xpY3kvdHMvaW5kZXguaHRtbDBFBgNV HR8EPjA8MDqgOKA2hjRodHRwOi8vdmFsaWRhdGlvbi5pZGVudHJ1c3QuY29tL2NybC90cnVzdGlk Y2FhMTIuY3JsMCEGA1UdEQQaMBiBFmJyaWFuQGFjZXNoYXJkd2FyZS5jb20wHQYDVR0OBBYEFBgK MyeLKbLzjyTWuYz7VdJKoHB8MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDANBgkqhkiG 9w0BAQsFAAOCAQEA0WwXTVjWeVNWZFh5MGDxyAgd7JyLf/SO/dRyNpI1l5ddODm1P1YwYhB6M/i1 8cdO45UHBpzeNwMdSoeBnHEQwjwDMiGL4+BMYHuo+ygrTlKJkTLfNRUJZWRrYLk2Y3KxroVf96Mp avIlsZDHgjUM2jCIcsfjQ/HapK9S8n1TvMloDFmByBAB4Eo5/1YOXEHh8Ifcsvrwqan8Vblt+e3t aGkppF58osSp3B7/G4vn3kGv/UvH3dfAx9hgku+HDGMkO3ACo0DXsossN3vXCQklVvimCqzZQtGC W+ff6D9TtCiEI/P80e9DQ7oyc6Z6w7jYjjKtssKPRi7ioBvFeHSfljGCAqYwggKiAgEBME4wOjEL MAkGA1UEBhMCVVMxEjAQBgNVBAoTCUlkZW5UcnVzdDEXMBUGA1UEAxMOVHJ1c3RJRCBDQSBBMTIC EEABYiXJ5YdeIhnHMf+h8M8wDQYJYIZIAWUDBAIBBQCgggEpMBgGCSqGSIb3DQEJAzELBgkqhkiG 9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE5MDEwNDE2NTAxMFowLwYJKoZIhvcNAQkEMSIEIAHcjjCF FWPQtrMPGCKJgSa5n/4YJSc7ZFaDf+zcdYQDMF0GCSsGAQQBgjcQBDFQME4wOjELMAkGA1UEBhMC VVMxEjAQBgNVBAoTCUlkZW5UcnVzdDEXMBUGA1UEAxMOVHJ1c3RJRCBDQSBBMTICEEABYiXJ5Yde IhnHMf+h8M8wXwYLKoZIhvcNAQkQAgsxUKBOMDoxCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlJZGVu VHJ1c3QxFzAVBgNVBAMTDlRydXN0SUQgQ0EgQTEyAhBAAWIlyeWHXiIZxzH/ofDPMA0GCSqGSIb3 DQEBAQUABIIBAHfdRIenUeLlnA7wheRrrxNBkUFRT/8mehsYDOTm5szFuA+8UPFWVlyYYtpthaCb d7WYjVNq1ZmzMmFrlVCdka1koRJOEUOOCQCqUxlB4qt4Ab9UiNgR+r5fR7cH2c2yvvj/muwfSRGr GE1lxp9S6GewCNThkUJXc3lxctVG7GwumMYm4UbuDQjCLnpZmqQrkIBZddmVVKd5fOvuFDbh4pT9 dEjvrh5MsmyVg6saOM2QRyN0uquIjgTXlikKVgP03Geu57Ad8ccAposJvfrU66G81L8MnniG7E4V FKUsPdwMFJuiw1GrDKZ7nAEKaonh1CRKXwATUPMejJQVN6HdidEAAAAAAAA= --Apple-Mail-2C9A0CE4-97A1-49AD-84CE-7509CFF418D9-- From owner-freebsd-hackers@freebsd.org Fri Jan 4 17:34:57 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B77541433379 for ; Fri, 4 Jan 2019 17:34:57 +0000 (UTC) (envelope-from alfix86@gmail.com) Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A4D4B73093 for ; Fri, 4 Jan 2019 17:34:56 +0000 (UTC) (envelope-from alfix86@gmail.com) Received: by mail-wm1-x32d.google.com with SMTP id r24so1538651wmh.0 for ; Fri, 04 Jan 2019 09:34:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:subject:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=u4y81ehbjNF1UqhqI1+aoF2m8jfJ+U+tRg3VLg1SKEI=; b=J6nihOKPxDc3eIscgn+1huBsMnnlMXGwC7yZS4oKChNLPAc+e3q2FuvRtR2kgSUcqY nZE8QGOmTyDkpMJJIHIM3AsnWJnpZfmtDgcXNmGNBQ40+8fgt4UYT06iFpcTZSZfRPgC N1zcWQyPRBUopWZNW/CV/DOOgMWfyhg79gAn4WdpqF8/N8QzwmfdgQmo0BRLvN49TKql G4hU+rjRqjBsHX2eat8Pt7E0tNpXkaifd/8xqwQ6W+tw3NZpl1ySW9YBXg5lpdRoHlR0 xndpynrYn7FGxG2lkSeFxwoZvO0JgR87YqUBGOGTnBG6PMFmSsKXMpqMSnUSTmcJIw+t 86GQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=u4y81ehbjNF1UqhqI1+aoF2m8jfJ+U+tRg3VLg1SKEI=; b=Oi68a3UIP4kCXhgBBrujO0d5hEagc+pYNDWoRnJb+bKoGTisWThazmXCZpFlzLedMd bjcE9oRX/F6ZprA9GK4WScyQ+335KaMGXtX2yKL6jvJdB0NiL0oz0mdXdtUr+VNBa2RE tXRPts4D90IIdWZzInxq5sD3XKNPpTYAL0L5HuIcrpPMphUlf+fi2NqnDcj5+k+vbDMk SfSjjKiKAhY4NnLJPTYExWffaCHQ6nSV9OQCZ/XumhBzMlZlevEdbkN/Z9FYr8Yj5Ajf F4CYRuCbsl3Vp77lzKxk/5EJbx/MNSNUg313BcqxraRJNSvja9nAQaAYuGGI47UJ9k6l 6NzQ== X-Gm-Message-State: AJcUukeUlaTkHDFbxkWWJZJCjFK7iED8UI7PYObpwofo3D3gtVseum6f Rmmouj9Pfz4OscUN2NR0E2CJwk9r X-Google-Smtp-Source: ALg8bN4lrlZG7juOXq6JRJ1YaaxpzuvmsS8yxy65GQxBQFJRs8MO3/+na1DoV9MqfM7z9R36/t+9ug== X-Received: by 2002:a1c:1f54:: with SMTP id f81mr2126585wmf.6.1546623294847; Fri, 04 Jan 2019 09:34:54 -0800 (PST) Received: from alfdeb (host249-154-dynamic.20-87-r.retail.telecomitalia.it. [87.20.154.249]) by smtp.gmail.com with ESMTPSA id w16sm41527762wrp.1.2019.01.04.09.34.53 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 04 Jan 2019 09:34:54 -0800 (PST) Date: Fri, 4 Jan 2019 18:34:53 +0100 From: Alfonso Siciliano To: freebsd-hackers@freebsd.org Subject: Re: libsysctl: a C API for sysctl-mib-tree Message-Id: <20190104183453.4066d087bc9e0070e27bc179@gmail.com> In-Reply-To: <20181222202228.95f48408c8e2ebe9c40d9d75@gmail.com> References: <20181222202228.95f48408c8e2ebe9c40d9d75@gmail.com> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: A4D4B73093 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=J6nihOKP; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of alfix86@gmail.com designates 2a00:1450:4864:20::32d as permitted sender) smtp.mailfrom=alfix86@gmail.com X-Spamd-Result: default: False [-6.09 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; MV_CASE(0.50)[]; TO_DN_NONE(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-0.99)[-0.987,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; IP_SCORE(-2.59)[ip: (-9.34), ipnet: 2a00:1450::/32(-1.88), asn: 15169(-1.66), country: US(-0.08)]; RCVD_IN_DNSWL_NONE(0.00)[d.2.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 17:34:58 -0000 Hello, > I' m currently working on a library called "libsysctl" which will > provide a C API to wrap kern_sysctl.c undocumented interface, build > mib-entry, entries-list and mib-tree in userspace and then to do > the work that /sbin/sysctl currently does. > I could submit a patch to reviews.freebsd.org to solicit feedback Review: https://reviews.freebsd.org/D18696 (reviewers are welcome) > and write a wiki page. Wiki: https://wiki.freebsd.org/AlfonsoSiciliano/libsysctl > Overview http://gitlab.com/alfix/libsysctl/blob/master/README.md > manuals *.3 in libsysctl/doc/ are 'work in progress'. Manual: https://gitlab.com/alfix/libsysctl/blob/master/libsysctl.txt Regards, Alfonso Siciliano From owner-freebsd-hackers@freebsd.org Fri Jan 4 19:02:51 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A01FE1435B30 for ; Fri, 4 Jan 2019 19:02:51 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8AB7B76CDA for ; Fri, 4 Jan 2019 19:02:50 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id fUjsgRd7IMRX3fUjtg09Ln; Fri, 04 Jan 2019 12:02:42 -0700 X-Authority-Analysis: v=2.3 cv=TL87tGta c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=heTAvR70AAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=ZjUcAa5iGLNgYiPoHmIA:9 a=CjuIK1q_8ugA:10 a=UrJ2pwYPfabwj1STkZPu:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 900CA1012; Fri, 4 Jan 2019 11:02:35 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x04J2ZhO026390; Fri, 4 Jan 2019 11:02:35 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x04J2WMb026379; Fri, 4 Jan 2019 11:02:33 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901041902.x04J2WMb026379@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Wojciech Puchar cc: Cy Schubert , Enji Cooper , Hackers freeBSD , Igor Mozolevsky Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message from Wojciech Puchar of "Fri, 04 Jan 2019 11:34:49 +0100." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 04 Jan 2019 11:02:32 -0800 X-CMAE-Envelope: MS4wfKJiswe/yX1yVljnPV1NU78ncSc7ulFrcv1C+3c0/BI3NVh+CUv4aJ9ljVIEiC6onTJey7AnKHlm/sktjaTK3Ij8R/zNk05nW74FlkkHGHIyy6gkGprl 0cF1ZvVMzV9PHms9j6PlCfNC4QvLveOkXvbMiqmK28LyEO2JYsukn/lq3Lkx1POb/A76FjOEhyuxCgN2FBdtSVfcldq5iUO46Rfi+7PHn/PZ0Q3dbL6B63nK PfidaSuNYgED5TJRpwFJGewxtuhZNR+F00QIRskTQEMEbKrPFpkFhstdXdRUi4xb X-Rspamd-Queue-Id: 8AB7B76CDA X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.83 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_HAS_DN(0.00)[]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; RCPT_COUNT_FIVE(0.00)[5]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.99)[-0.990,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-2.13)[ip: (-6.03), ipnet: 64.59.128.0/20(-2.51), asn: 6327(-2.00), country: CA(-0.09)]; RCVD_IN_DNSWL_LOW(-0.10)[12.134.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 19:02:51 -0000 In message , Wojciech Puchar wr ites: > > > > I come from the corporate/government environment, having spent most of > > my time there. Large datacentres (Canadian spelling), large machines, > > large networks of machines, large networks. In this environment, today, > > virtualization in all forms are the platforms of business. Migrations > > from physical platforms running AIX, Solaris and Linux to either Linux > > on VMware or Linux containers is where they are putting 100% of their > > effort. The language of choice is mostly Java. Much of the Java is > > canned too. What used to be implemented on LAMP stacks is now being > > implemented using microservices. The platform of choice for > > microservices is Linux. Stripped down Linux primarily capable of > > Just as fashion changes. Every seven years (approximately) the shift between centralization to decentralization and back occurs. It started out with reimplementation of applications once on the mainframe on the PC. It centralized back to large UNIX servers, back to thick clients, then thin clients, now back to the cloud. However there is a distinct path by which technology is evolving. Currently the shift to microservices is making the operating system irrelevant. The Linux-specific API and ABI is winning. I predicted this to my management at $JOB almost ten years ago, telling them the operating system will become a stub. And, here we are. My points were: A) FreeBSD needs to become a platform that can host current and evolving virtualization technologies. B) FreeBSD should be able to play in the container space similarly to Linux. Unfortunately I believe that this horse has left the barn and it may be too late. Then again maybe there is something we can redeem. > > > > IMO we have strengths that can immediately be capitalized on, like the > > Linuxulator. If anything could be in base it might be go, the language > > What do you mean "capitalized"? Made use of. > > FreeBSD already allow to do all mentioned things, but anyway someone > who use FreeBSD is usually smart enough to not blidnly copy what is now > trendy. Kind of but we need to play in that space. Look at some of the other *BSDs, Solaris and AIX. One BSD failed to embrace SMP like we did. They also failed to embrace vritualization to the degree we did. Except for a small niche for which they are well known they are a two bit player. Blindly copy? No. But be able to play somewhere in the space, most definitely. We have very good technology. The reason we are where we are is thanks to a large part in our adoption of strategic technologies. Rust IMO is not strategic. Sure fork FreeBSD and if it's of benefit import it back. (Even a project branch.) I think we need to focus our efforts on more productive endeavours. Endeavours that help maintain the relevance we still have and preferably build on it. Importing rust will cause a fair bit of churn consuming already meager developer resources (which is why the cull is planned and in progress), even of those not directly participating in the project. If we're looking for work there is a lot out there that will help build on our market share -- which in turn will increase adoption, which in the long run will hopefully keep FreeBSD relevant for the long haul. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Fri Jan 4 19:24:52 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 206481436D13 for ; Fri, 4 Jan 2019 19:24:52 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 651C1802B2 for ; Fri, 4 Jan 2019 19:24:49 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x04JOmsg022732 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 4 Jan 2019 20:24:48 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x04JOhYq022729; Fri, 4 Jan 2019 20:24:43 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Fri, 4 Jan 2019 20:24:43 +0100 (CET) From: Wojciech Puchar To: Cy Schubert cc: Wojciech Puchar , Igor Mozolevsky , Enji Cooper , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: <201901041902.x04J2WMb026379@slippy.cwsent.com> Message-ID: References: <201901041902.x04J2WMb026379@slippy.cwsent.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 651C1802B2 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.80 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[puchar.net]; NEURAL_HAM_SHORT(-0.92)[-0.915,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.57)[ip: (-9.42), ipnet: 194.1.144.0/24(-4.71), asn: 43476(-3.77), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 19:24:53 -0000 > > My points were: > > A) FreeBSD needs to become a platform that can host current and > evolving virtualization technologies. > > B) FreeBSD should be able to play in the container space similarly to > Linux. Unfortunately I believe that this horse has left the barn and it > may be too late. Then again maybe there is something we can redeem. C) Make FreeBSD like others. So why making FreeBSD? Not everyone needs the same. From owner-freebsd-hackers@freebsd.org Fri Jan 4 19:52:01 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 536DE1437AF7 for ; Fri, 4 Jan 2019 19:52:01 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 64831814FB for ; Fri, 4 Jan 2019 19:52:00 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id fVVXgRxHFMRX3fVVZg0Kj0; Fri, 04 Jan 2019 12:51:53 -0700 X-Authority-Analysis: v=2.3 cv=TL87tGta c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=heTAvR70AAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=rvQz1gdAMq8sn9p4rQwA:9 a=CjuIK1q_8ugA:10 a=UrJ2pwYPfabwj1STkZPu:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id C14DC10E9; Fri, 4 Jan 2019 11:51:51 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x04JppHQ029489; Fri, 4 Jan 2019 11:51:51 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x04Jppo2029486; Fri, 4 Jan 2019 11:51:51 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901041951.x04Jppo2029486@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Wojciech Puchar cc: Cy Schubert , Igor Mozolevsky , Enji Cooper , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message from Wojciech Puchar of "Fri, 04 Jan 2019 20:24:43 +0100." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 04 Jan 2019 11:51:51 -0800 X-CMAE-Envelope: MS4wfOzIvONbGyrPevIJS6XVxtWux42gL/kQAO+dFZPL6ipmm0sDuIjvmeJXpyJ9s655xvFvoqj2s3LWUyPFPr/tEEU/dbiO2FDLQywudrk6hyOS69TUBgxR 7Oo/ywEKvGFQ1xHvUHyTPK9EzHxVkJ9DgDUI0kuYQO0AvtuEVfrOnvpUenyRJRzjBPg6MHr9mjSm9V/pQw5uANhxwqaSZGJQS+XaXsW0kXHGq0nkVTtZeDRI +dWPkmbp9DvuRptagGBqOh8WJkfGKj2sNIKqHdPsaq8ES1a+0qy30U3RW8hLGRK5 X-Rspamd-Queue-Id: 64831814FB X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.62 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_HAS_DN(0.00)[]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; RCPT_COUNT_FIVE(0.00)[5]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.98)[-0.984,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-1.93)[ip: (-5.07), ipnet: 64.59.128.0/20(-2.49), asn: 6327(-2.00), country: CA(-0.09)]; RCVD_IN_DNSWL_LOW(-0.10)[9.134.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 19:52:01 -0000 In message , Wojciech Puchar wr ites: > > > > My points were: > > > > A) FreeBSD needs to become a platform that can host current and > > evolving virtualization technologies. > > > > B) FreeBSD should be able to play in the container space similarly to > > Linux. Unfortunately I believe that this horse has left the barn and it > > may be too late. Then again maybe there is something we can redeem. > > C) Make FreeBSD like others. So why making FreeBSD? Because we offer some technologies the others do not. Unfortunately inferior and incompatible approaches (similarly: VHS vs BETA, Blue Ray vs HD) have left us on the outside. Try porting Kubernetes to FreeBSD. The technologies used today are more than just fads. They are building blocks onto which future technologies will be built. > > Not everyone needs the same. Niche. We should be more than simply a desktop O/S (which BTW I use as my primary desktop) and we should be more than a simple bare metal O/S. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Fri Jan 4 20:05:36 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 00DC514380F8 for ; Fri, 4 Jan 2019 20:05:36 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-oi1-f172.google.com (mail-oi1-f172.google.com [209.85.167.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 155E181DD7 for ; Fri, 4 Jan 2019 20:05:34 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-oi1-f172.google.com with SMTP id t204so31285652oie.7 for ; Fri, 04 Jan 2019 12:05:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=G1fV4LpljeSKQK/ERvLu3OkypCpiLkllQPwhBzYXgNM=; b=UiFnlZyd66pcHH7MtdjU/6DiFvH8D4CYe0HqLnVH0NhXJ++FKxKRE9j9Nod7p3JrX3 QaWKF7WIEpE4J5u41G6yCQYNqie2kZYLERSeVrn85vdLURRl4g7HGcclADNpW/1UhuWs grpXtKRHOZP1N3AXfxRdjXXQ7jyI97zVi/ZJ7PvaTU9zLfbqq/9y1H1hScYnElNLNu8O cPmsIfwbm4N2sg1Be5UAzRAmR1JnBEZBUPdDKyCWjTTd0gwlM1dwWsInexspQMmuqy9j z/R/dEMpb/Njp+fEL+ikl8sTay6pKVYLpkJyEb+vvd3BPfmVGCBfmMc5ikmiKS0QOWHR Fs7Q== X-Gm-Message-State: AJcUukclTdJl0HFqHPwxk3k+yFlNeWLopXa2KE+GvrohY/62KgvxPsP1 iJ81MuOMw5nzoTmixVuZY2no39vWp9TGuhZ6rpSMuA== X-Google-Smtp-Source: ALg8bN4OeG0bWe3Lml7bvS4dPWFDVynT8okPxGgZDjjVDtHVDhNwOsneciiVrmTs5/YqM2w/z9DWX9ee7SrR2jKQAck= X-Received: by 2002:aca:3c06:: with SMTP id j6mr1903625oia.126.1546632328439; Fri, 04 Jan 2019 12:05:28 -0800 (PST) MIME-Version: 1.0 References: <201901041951.x04Jppo2029486@slippy.cwsent.com> In-Reply-To: <201901041951.x04Jppo2029486@slippy.cwsent.com> From: Igor Mozolevsky Date: Fri, 4 Jan 2019 20:04:52 +0000 Message-ID: Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) To: Cy Schubert Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 155E181DD7 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.167.172 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-3.85 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.995,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[hybrid-lab.co.uk]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[172.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.75)[-0.751,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.76), asn: 15169(-1.66), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 20:05:36 -0000 On Fri, 4 Jan 2019 at 19:51, Cy Schubert wrote: > Niche. We should be more than simply a desktop O/S (which BTW I use as > my primary desktop) and we should be more than a simple bare metal O/S. Interesting, back in the 90s I went for FreeBSD (and stuck with it) for the exact opposite reasons: it was a no thrills bare metal OS that didn't try to be "everything" like Linux distros were! :-)) -- Igor M. From owner-freebsd-hackers@freebsd.org Fri Jan 4 20:10:03 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7414A14383DA for ; Fri, 4 Jan 2019 20:10:03 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id E664E8212E for ; Fri, 4 Jan 2019 20:10:01 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (unknown [192.168.55.3]) by phk.freebsd.dk (Postfix) with ESMTP id D49EE14884; Fri, 4 Jan 2019 20:09:54 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.15.2/8.15.2) with ESMTPS id x04K9rGq078895 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 4 Jan 2019 20:09:53 GMT (envelope-from phk@critter.freebsd.dk) Received: (from phk@localhost) by critter.freebsd.dk (8.15.2/8.15.2/Submit) id x04K9pCN078894; Fri, 4 Jan 2019 20:09:51 GMT (envelope-from phk) To: Cy Schubert cc: Wojciech Puchar , Enji Cooper , Igor Mozolevsky , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-reply-to: <201901041951.x04Jppo2029486@slippy.cwsent.com> From: "Poul-Henning Kamp" References: <201901041951.x04Jppo2029486@slippy.cwsent.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <78892.1546632591.1@critter.freebsd.dk> Content-Transfer-Encoding: quoted-printable Date: Fri, 04 Jan 2019 20:09:51 +0000 Message-ID: <78893.1546632591@critter.freebsd.dk> X-Rspamd-Queue-Id: E664E8212E X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [2.73 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.52)[0.517,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.dk]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.05)[0.049,0]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[phk.freebsd.dk]; NEURAL_SPAM_LONG(0.77)[0.770,0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; RCVD_NO_TLS_LAST(0.10)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:1835, ipnet:130.225.0.0/16, country:EU]; FROM_NEQ_ENVFROM(0.00)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; IP_SCORE(0.11)[asn: 1835(0.53), country: EU(-0.00)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 20:10:03 -0000 -------- In message <201901041951.x04Jppo2029486@slippy.cwsent.com>, Cy Schubert wr= ites: >The technologies used today are more than just fads. They are building = >blocks onto which future technologies will be built. Or has history has repeatedly taught people who thought they were home free: Rapidly replaced when somebody gets a better idea. Both as far as containers and systemd, there is a LOT of room for improvem= ent. FreeBSD should aim for that room, rather than become "Linux-sans-GPL" -- = Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe = Never attribute to malice what can adequately be explained by incompetence= . From owner-freebsd-hackers@freebsd.org Fri Jan 4 21:42:27 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 45A31143B085 for ; Fri, 4 Jan 2019 21:42:27 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id BF8B68603A for ; Fri, 4 Jan 2019 21:42:25 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id fXESgSf5BMRX3fXEUg0iRX; Fri, 04 Jan 2019 14:42:23 -0700 X-Authority-Analysis: v=2.3 cv=TL87tGta c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=VxmjJ2MpAAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=9lzkAnwe8qGU7EF3zGMA:9 a=CjuIK1q_8ugA:10 a=f6j5uXxwnY4A:10 a=7gXAzLPJhVmCkEl4_tsf:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 97C34126B; Fri, 4 Jan 2019 13:42:20 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x04LgKMb045888; Fri, 4 Jan 2019 13:42:20 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x04LgKkQ045885; Fri, 4 Jan 2019 13:42:20 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901042142.x04LgKkQ045885@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: "Poul-Henning Kamp" cc: Cy Schubert , Wojciech Puchar , Enji Cooper , Igor Mozolevsky , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message from "Poul-Henning Kamp" of "Fri, 04 Jan 2019 20:09:51 +0000." <78893.1546632591@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 04 Jan 2019 13:42:20 -0800 X-CMAE-Envelope: MS4wfAzfhdMb2GOzVKPyltenpf2sVd5eZxcUknyRbfLIr42umzvGw2H2oHetgSopEaUCBjHJqcfnfvUURfAT0ynIxxc6l1Mf8kpPrfdMg1ZYvjBE+Un/KolD /qMTlgzqIlk7Y1oP5RcNoE3ETaBbQ5rSnQudPohFnodhhs9vIrSUy0YEST4GAXMFJvRs5ZcgLssmiFiMdsg/S/+H8Hj7cY0o/WFjXKnFv6LnhvmGh1TX1O59 XQPDSIrei8mJv89qWNlHKIbKN0lbQF1DfaLuPhG325mW2rSFYpZCv/tnPcE6WOZ6Aiwk1tzF+KwtXnuU2T633w== X-Rspamd-Queue-Id: BF8B68603A X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.60 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; FROM_HAS_DN(0.00)[]; MV_CASE(0.50)[]; IP_SCORE(-1.90)[ip: (-4.93), ipnet: 64.59.128.0/20(-2.48), asn: 6327(-1.99), country: CA(-0.09)]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_FIVE(0.00)[6]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[spqr.komquats.com]; NEURAL_HAM_SHORT(-0.99)[-0.989,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[9.134.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 21:42:27 -0000 In message <78893.1546632591@critter.freebsd.dk>, "Poul-Henning Kamp" writes: > -------- > In message <201901041951.x04Jppo2029486@slippy.cwsent.com>, Cy Schubert write > s: > > >The technologies used today are more than just fads. They are building > >blocks onto which future technologies will be built. > > Or has history has repeatedly taught people who thought they were > home free: Rapidly replaced when somebody gets a better idea. > > Both as far as containers and systemd, there is a LOT of room for improvement > . > > FreeBSD should aim for that room, rather than become "Linux-sans-GPL" We should try to fit into the datacentre. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Fri Jan 4 22:02:53 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1AE34143B687 for ; Fri, 4 Jan 2019 22:02:53 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id E32E8868C4 for ; Fri, 4 Jan 2019 22:02:51 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (unknown [192.168.55.3]) by phk.freebsd.dk (Postfix) with ESMTP id E15141484F; Fri, 4 Jan 2019 22:02:49 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.15.2/8.15.2) with ESMTPS id x04M2mhl079363 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 4 Jan 2019 22:02:48 GMT (envelope-from phk@critter.freebsd.dk) Received: (from phk@localhost) by critter.freebsd.dk (8.15.2/8.15.2/Submit) id x04M2lLe079362; Fri, 4 Jan 2019 22:02:47 GMT (envelope-from phk) To: Cy Schubert cc: Wojciech Puchar , Enji Cooper , Igor Mozolevsky , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-reply-to: <201901042142.x04LgKkQ045885@slippy.cwsent.com> From: "Poul-Henning Kamp" References: <201901042142.x04LgKkQ045885@slippy.cwsent.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <79360.1546639367.1@critter.freebsd.dk> Content-Transfer-Encoding: quoted-printable Date: Fri, 04 Jan 2019 22:02:47 +0000 Message-ID: <79361.1546639367@critter.freebsd.dk> X-Rspamd-Queue-Id: E32E8868C4 X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [2.95 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.75)[0.755,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.dk]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.04)[0.041,0]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: phk.freebsd.dk]; NEURAL_SPAM_LONG(0.76)[0.765,0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; RCVD_NO_TLS_LAST(0.10)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:1835, ipnet:130.225.0.0/16, country:EU]; FROM_NEQ_ENVFROM(0.00)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; IP_SCORE(0.10)[asn: 1835(0.52), country: EU(-0.00)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 22:02:53 -0000 -------- In message <201901042142.x04LgKkQ045885@slippy.cwsent.com>, Cy Schubert wr= ites: >> FreeBSD should aim for that room, rather than become "Linux-sans-GPL" > >We should try to fit into the datacentre. ... and RPi's, access-points, NAS devices, routers, televisions, photocopi= ers, sewage-treatment-plant-monitoring, high-voltage-switching, stock-trading, air-traffic-control, scientific super-computing, antiproliferation-monitoring, laptops, desktops and ... I hope you get the point ? -- = Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe = Never attribute to malice what can adequately be explained by incompetence= . From owner-freebsd-hackers@freebsd.org Fri Jan 4 22:17:46 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 05A45143BAE7 for ; Fri, 4 Jan 2019 22:17:46 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 25A3586E59 for ; Fri, 4 Jan 2019 22:17:44 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id fXmXgcmqPnBo4fXmZgmqat; Fri, 04 Jan 2019 15:17:37 -0700 X-Authority-Analysis: v=2.3 cv=J8fUEzvS c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=VxmjJ2MpAAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=dPiI7YywnjmKNVTW9dEA:9 a=CjuIK1q_8ugA:10 a=bF4xC1gaFcMA:10 a=7gXAzLPJhVmCkEl4_tsf:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 91B2812A7; Fri, 4 Jan 2019 14:17:33 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x04MHWlU046241; Fri, 4 Jan 2019 14:17:32 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x04MHWaE046238; Fri, 4 Jan 2019 14:17:32 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901042217.x04MHWaE046238@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: "Poul-Henning Kamp" cc: Cy Schubert , Wojciech Puchar , Enji Cooper , Igor Mozolevsky , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message from "Poul-Henning Kamp" of "Fri, 04 Jan 2019 22:02:47 +0000." <79361.1546639367@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 04 Jan 2019 14:17:32 -0800 X-CMAE-Envelope: MS4wfJ72nLbBaqtn9mHDFSA+gTjg5hTWUoZufPZCiKP7Y3fGDQUlfaui+A5dqE3Dis4xfAjwFO6PX60RX32irTLTtXec+5VUQHRQhlF1fkzbOle/sEbBqgSt 8HZ8D549bck12bcCTGeV3XilcNqlgKTsBIqQAS0q7kSd5I2xAFmCUUdPzDDrZ0ToGLLGZO4XqbNpWttAJiPuRonaC3oXR1HMFdhCwfKkR9e/DVlKSmXhl65U /jnLGY7+Ox7jG8hl+vbMeUo1m7ErG8DgBAHz94/FaHxLyUqAutCaEEqeuBbcteLicAuaFPorU+69V7lMrk7lsQ== X-Rspamd-Queue-Id: 25A3586E59 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.32 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_HAS_DN(0.00)[]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; RCPT_COUNT_FIVE(0.00)[6]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.99)[-0.988,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-1.62)[ip: (-3.58), ipnet: 64.59.128.0/20(-2.47), asn: 6327(-1.98), country: CA(-0.09)]; RCVD_IN_DNSWL_LOW(-0.10)[139.136.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 22:17:46 -0000 In message <79361.1546639367@critter.freebsd.dk>, "Poul-Henning Kamp" writes: > -------- > In message <201901042142.x04LgKkQ045885@slippy.cwsent.com>, Cy Schubert write > s: > > >> FreeBSD should aim for that room, rather than become "Linux-sans-GPL" > > > >We should try to fit into the datacentre. > > ... and RPi's, access-points, NAS devices, routers, televisions, photocopiers > , > sewage-treatment-plant-monitoring, high-voltage-switching, > stock-trading, air-traffic-control, scientific super-computing, > antiproliferation-monitoring, laptops, desktops and ... > > I hope you get the point ? That's exactly my point. What subset of things can and should we focus on? Adding or replacing a language or languages in base should be consistent with the long-term direction of The Project. What is that? Getting back to why this sub-thread was spawned off the main thread in the first place: Is it strategic to add rust to base? (Remember when Perl was in base?) -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Fri Jan 4 22:19:49 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 955C9143BC16 for ; Fri, 4 Jan 2019 22:19:49 +0000 (UTC) (envelope-from freebsd-rwg@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 82BCC86FB2 for ; Fri, 4 Jan 2019 22:19:48 +0000 (UTC) (envelope-from freebsd-rwg@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id x04MJf9D085380; Fri, 4 Jan 2019 14:19:42 -0800 (PST) (envelope-from freebsd-rwg@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd-rwg@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id x04MJf4w085379; Fri, 4 Jan 2019 14:19:41 -0800 (PST) (envelope-from freebsd-rwg) From: "Rodney W. Grimes" Message-Id: <201901042219.x04MJf4w085379@pdx.rh.CN85.dnsmgr.net> Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: <79361.1546639367@critter.freebsd.dk> To: Poul-Henning Kamp Date: Fri, 4 Jan 2019 14:19:41 -0800 (PST) CC: Cy Schubert , Hackers freeBSD , Igor Mozolevsky , Enji Cooper , Wojciech Puchar X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 82BCC86FB2 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [0.36 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.26)[-0.263,0]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.41)[0.407,0]; NEURAL_HAM_LONG(-0.66)[-0.661,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[dnsmgr.net]; AUTH_NA(1.00)[]; RCPT_COUNT_FIVE(0.00)[6]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: pdx.rh.CN85.dnsmgr.net]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US]; MID_RHS_MATCH_FROM(0.00)[]; IP_SCORE(-0.01)[ip: (0.03), ipnet: 69.59.192.0/19(0.01), asn: 13868(-0.03), country: US(-0.08)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 22:19:49 -0000 > -------- > In message <201901042142.x04LgKkQ045885@slippy.cwsent.com>, Cy Schubert writes: > > >> FreeBSD should aim for that room, rather than become "Linux-sans-GPL" > > > >We should try to fit into the datacentre. > > ... and RPi's, access-points, NAS devices, routers, televisions, photocopiers, > sewage-treatment-plant-monitoring, high-voltage-switching, > stock-trading, air-traffic-control, scientific super-computing, > antiproliferation-monitoring, laptops, desktops and ... As far as I am concerned Linux can have the datacenter... I find this list much more interesting :-) > I hope you get the point ? :-) > > -- > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > phk@FreeBSD.ORG | TCP/IP since RFC 956 > FreeBSD committer | BSD since 4.3-tahoe > Never attribute to malice what can adequately be explained by incompetence. > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" > -- Rod Grimes rgrimes@freebsd.org From owner-freebsd-hackers@freebsd.org Fri Jan 4 22:30:08 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 87818143C07B for ; Fri, 4 Jan 2019 22:30:08 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F2C6F87530; Fri, 4 Jan 2019 22:30:07 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.codepro.be", Issuer "Let's Encrypt Authority X3" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id C6EBC3DB7; Fri, 4 Jan 2019 22:30:07 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from [100.67.82.121] (122-56-232-0.mobile.spark.co.nz [122.56.232.0]) (Authenticated sender: kp) by venus.codepro.be (Postfix) with ESMTPSA id 02C2F8CCD; Fri, 4 Jan 2019 23:30:05 +0100 (CET) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: Speculative: Rust for base system components From: Kristof Provost X-Mailer: iPhone Mail (16C101) In-Reply-To: <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> Date: Sat, 5 Jan 2019 11:29:55 +1300 Cc: Eric McCorkle , freebsd-hackers@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <4867C05A-BCEF-4F1C-965D-84056092D70C@FreeBSD.org> References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> To: Enji Cooper X-Rspamd-Queue-Id: F2C6F87530 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_SHORT(-0.97)[-0.966,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 22:30:08 -0000 > On 4 Jan 2019, at 05:22, Enji Cooper wrote: >=20 >=20 >> On Jan 3, 2019, at 04:46, Eric McCorkle wrote: >>=20 >> On 1/2/19 1:29 PM, Cy Schubert wrote: >>=20 >>>> I'm all for discussion and criticism of this, that's why I posted it, >>>> but I don't think these kinds of false equivalences are helpful. >>>=20 >>> Actually it is helpful. Without a solid proposal of a new feature or=20 >>> userland utility to be imported into base that requires the support of=20= >>> a language not already in base, the implication of the original email=20= >>> starting this thread was to rewrite FreeBSD using rust. >>=20 >> That doesn't represent what I wrote at all, and is bordering on a >> strawman argument. Nobody to my knowledge is suggesting rewriting >> everything, nor would that be possible. >>=20 >>> In reality we should rely more on ports. Over the years this business=20= >>> has become more fragmented. Each year we see new languages being=20 >>> developed and used. Importing new shiny objects into base is=20 >>> unsustainable. IMO the momentum is behind containerization,=20 >>> specifically kubernetes and docker-like containers. That is today. The=20= >>> next year or two will introduce new technologies and shiny objects=20 >>> which we will likely need to introduce here to remain relevant. We=20 >>> should be looking to reduce the footprint of base, introduce new=20 >>> technologies in ports (ports are much easier to build from scratch,=20 >>> maintain, and update than base). Additionally the idea of meta-ports=20 >>> that install groups of packages would make building purpose-built=20 >>> systems a breeze for our user base, similar to what anaconda does, like=20= >>> a FreeBSD based LAMP (FAMP) stack package that installs all the=20 >>> necessary bits with one pkg install command. >>=20 >> And that seems to be the point of convergence in all this, which is fine >> by me. I was looking to discuss the options and figure out the best way >> forward. >=20 > Going back to my previous statement, I think writing a service monitor (to= work alongside init and rc) in modern C++/rust would be a good item to unde= rtake. >=20 > I=E2=80=99d be willing to do this with someone else, as a research project= /to demo how rust could be used. I think that=E2=80=99s an excellent idea, and would be interested in trying t= o help out with it.=20 Regards, Kristof= From owner-freebsd-hackers@freebsd.org Fri Jan 4 22:42:02 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EDBBE143C6F0 for ; Fri, 4 Jan 2019 22:42:01 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id D2C1587F9E for ; Fri, 4 Jan 2019 22:42:00 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (unknown [192.168.55.3]) by phk.freebsd.dk (Postfix) with ESMTP id 88BF81484F; Fri, 4 Jan 2019 22:41:59 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.15.2/8.15.2) with ESMTPS id x04MfwGJ079532 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 4 Jan 2019 22:41:58 GMT (envelope-from phk@critter.freebsd.dk) Received: (from phk@localhost) by critter.freebsd.dk (8.15.2/8.15.2/Submit) id x04Mfw5H079531; Fri, 4 Jan 2019 22:41:58 GMT (envelope-from phk) To: Cy Schubert cc: Wojciech Puchar , Enji Cooper , Igor Mozolevsky , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-reply-to: <201901042217.x04MHWaE046238@slippy.cwsent.com> From: "Poul-Henning Kamp" References: <201901042217.x04MHWaE046238@slippy.cwsent.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <79529.1546641718.1@critter.freebsd.dk> Content-Transfer-Encoding: quoted-printable Date: Fri, 04 Jan 2019 22:41:58 +0000 Message-ID: <79530.1546641718@critter.freebsd.dk> X-Rspamd-Queue-Id: D2C1587F9E X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [2.94 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.75)[0.755,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.dk]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.03)[0.031,0]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: phk.freebsd.dk]; NEURAL_SPAM_LONG(0.76)[0.762,0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; RCVD_NO_TLS_LAST(0.10)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:1835, ipnet:130.225.0.0/16, country:EU]; FROM_NEQ_ENVFROM(0.00)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; IP_SCORE(0.10)[asn: 1835(0.51), country: EU(-0.00)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 22:42:02 -0000 -------- In message <201901042217.x04MHWaE046238@slippy.cwsent.com>, Cy Schubert wr= ites: >In message <79361.1546639367@critter.freebsd.dk>, "Poul-Henning Kamp" = >writes: >That's exactly my point. What subset of things can and should we focus on= ? Whatever you as a contributor needs and enjoys. >Adding or replacing a language or languages in base should be = >consistent with the long-term direction of The Project. Forget adding new botique languages to base: That's not happening any time soon, if ever, for all the reasons already enumerated. Until somebody comes up with an AbsolutelyMustHaveBeforePackagesCanBeInstalled program written in $Language, $LanguageCompiler stays in ports where it belongs. -- = Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe = Never attribute to malice what can adequately be explained by incompetence= . From owner-freebsd-hackers@freebsd.org Fri Jan 4 22:42:34 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E6D0A143C723 for ; Fri, 4 Jan 2019 22:42:33 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id 3A7F88805F for ; Fri, 4 Jan 2019 22:42:33 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (unknown [192.168.55.3]) by phk.freebsd.dk (Postfix) with ESMTP id A7A7C14884; Fri, 4 Jan 2019 22:42:32 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.15.2/8.15.2) with ESMTPS id x04MgWHS079547 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 4 Jan 2019 22:42:32 GMT (envelope-from phk@critter.freebsd.dk) Received: (from phk@localhost) by critter.freebsd.dk (8.15.2/8.15.2/Submit) id x04MgVkh079546; Fri, 4 Jan 2019 22:42:31 GMT (envelope-from phk) To: "Rodney W. Grimes" cc: Wojciech Puchar , Enji Cooper , Igor Mozolevsky , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-reply-to: <201901042219.x04MJf4w085379@pdx.rh.CN85.dnsmgr.net> From: "Poul-Henning Kamp" References: <201901042219.x04MJf4w085379@pdx.rh.CN85.dnsmgr.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <79544.1546641751.1@critter.freebsd.dk> Content-Transfer-Encoding: quoted-printable Date: Fri, 04 Jan 2019 22:42:31 +0000 Message-ID: <79545.1546641751@critter.freebsd.dk> X-Rspamd-Queue-Id: 3A7F88805F X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [2.92 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.75)[0.750,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.dk]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.03)[0.027,0]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: phk.freebsd.dk]; NEURAL_SPAM_LONG(0.76)[0.757,0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; RCVD_NO_TLS_LAST(0.10)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:1835, ipnet:130.225.0.0/16, country:EU]; FROM_NEQ_ENVFROM(0.00)[phk@phk.freebsd.dk,phk@critter.freebsd.dk]; IP_SCORE(0.10)[asn: 1835(0.51), country: EU(-0.00)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 22:42:34 -0000 -------- In message <201901042219.x04MJf4w085379@pdx.rh.CN85.dnsmgr.net>, "Rodney W= . Grimes" writes: >> ... and RPi's, access-points, NAS devices, routers, televisions, photoc= opiers, >> sewage-treatment-plant-monitoring, high-voltage-switching, >> stock-trading, air-traffic-control, scientific super-computing, >> antiproliferation-monitoring, laptops, desktops and ... > >As far as I am concerned Linux can have the datacenter... >I find this list much more interesting :-) Me too. Data-centers are booooring! -- = Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe = Never attribute to malice what can adequately be explained by incompetence= . From owner-freebsd-hackers@freebsd.org Sat Jan 5 15:07:11 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0FDC1149D936 for ; Sat, 5 Jan 2019 15:07:11 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 858C385C33 for ; Sat, 5 Jan 2019 15:07:09 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x05F7C0e000620 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 5 Jan 2019 16:07:12 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x05F76pE000611; Sat, 5 Jan 2019 16:07:06 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Sat, 5 Jan 2019 16:07:06 +0100 (CET) From: Wojciech Puchar To: Cy Schubert cc: Wojciech Puchar , Igor Mozolevsky , Enji Cooper , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: <201901041951.x04Jppo2029486@slippy.cwsent.com> Message-ID: References: <201901041951.x04Jppo2029486@slippy.cwsent.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 858C385C33 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.66 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.77)[-0.775,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.58)[ip: (-9.43), ipnet: 194.1.144.0/24(-4.71), asn: 43476(-3.77), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 15:07:11 -0000 >>> A) FreeBSD needs to become a platform that can host current and >>> evolving virtualization technologies. >>> >>> B) FreeBSD should be able to play in the container space similarly to >>> Linux. Unfortunately I believe that this horse has left the barn and it >>> may be too late. Then again maybe there is something we can redeem. >> >> C) Make FreeBSD like others. So why making FreeBSD? > > Because we offer some technologies the others do not. Unfortunately > inferior and incompatible approaches (similarly: VHS vs BETA, Blue Ray > vs HD) have left us on the outside. Try porting Kubernetes to FreeBSD. no need to. > > The technologies used today are more than just fads. They are building > blocks onto which future technologies will be built. > and this is really sad. >> >> Not everyone needs the same. > > Niche. We should be more than simply a desktop O/S (which BTW I use as > my primary desktop) and we should be more than a simple bare metal O/S. Simple bare metal O/S is what is really needed. From owner-freebsd-hackers@freebsd.org Sat Jan 5 15:08:20 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7570B149D997 for ; Sat, 5 Jan 2019 15:08:20 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id AB31085CEF for ; Sat, 5 Jan 2019 15:08:19 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x05F8RWE001257 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 5 Jan 2019 16:08:27 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x05F8M5a001254; Sat, 5 Jan 2019 16:08:22 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Sat, 5 Jan 2019 16:08:22 +0100 (CET) From: Wojciech Puchar To: Igor Mozolevsky cc: Cy Schubert , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message-ID: References: <201901041951.x04Jppo2029486@slippy.cwsent.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: AB31085CEF X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.66 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.77)[-0.767,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.58)[ip: (-9.44), ipnet: 194.1.144.0/24(-4.72), asn: 43476(-3.77), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 15:08:20 -0000 > >> Niche. We should be more than simply a desktop O/S (which BTW I use as >> my primary desktop) and we should be more than a simple bare metal O/S. > > Interesting, back in the 90s I went for FreeBSD (and stuck with it) > for the exact opposite reasons: it was a no thrills bare metal OS that > didn't try to be "everything" like Linux distros were! :-)) And that's the reason i use it for everything. I don't need to do fashionable things, as large corporations do this en masse for dumb masses, and few others blidnly repeating the same. From owner-freebsd-hackers@freebsd.org Sat Jan 5 15:15:25 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DBA3A149DEFA for ; Sat, 5 Jan 2019 15:15:25 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 244AF8657F for ; Sat, 5 Jan 2019 15:15:25 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x05FFVMN002376 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 5 Jan 2019 16:15:31 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x05FFQQD002371; Sat, 5 Jan 2019 16:15:26 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Sat, 5 Jan 2019 16:15:26 +0100 (CET) From: Wojciech Puchar To: "David \"Sid\" Olofsson" cc: wojtek@puchar.net, Cy.Schubert@cschubert.com, freebsd-hackers@freebsd.org, yaneurabeya@gmail.com, igor@hybrid-lab.co.uk Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message-ID: References: <201901041902.x04J2WMb026379@slippy.cwsent.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 244AF8657F X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.66 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCPT_COUNT_FIVE(0.00)[6]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.77)[-0.773,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.58)[ip: (-9.44), ipnet: 194.1.144.0/24(-4.72), asn: 43476(-3.78), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 15:15:26 -0000 > I agree. I find that FreeBSD's jail system is the best virtualization available now and don't see the reason to start poking around > with Docker and similar. Agree. You don't have directories named with random hex numbers. you simply know what is where. While i've used jails a lot i recently use it rarely. Because i found that usually they are not needed. Standard unix protection mechanisms (processes, users, groups) are just fine. For example apache runs just fine as user. I completely don't understand why the fashionable microservices (which are not bad idea as they should have dependencies) needs jail-like environments, instead of simply running a process in a separate user account. What is wrong in ALL systems today are shared libraries or languages (like python or perl) that depends on millions of files. Getting rid of them will make "microservice" idea the right way. Simply having static executable to be run. Or multiple static executables communicating by pipes. So "microservices" means rediscovering 1980-style (and earlier) way of writing programs. Rediscovering but with of course messy way. From owner-freebsd-hackers@freebsd.org Sat Jan 5 15:16:17 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CAD9E149DF96 for ; Sat, 5 Jan 2019 15:16:17 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C13A586668 for ; Sat, 5 Jan 2019 15:16:16 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x05FGKC0002504 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 5 Jan 2019 16:16:20 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x05FGFao002501; Sat, 5 Jan 2019 16:16:15 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Sat, 5 Jan 2019 16:16:15 +0100 (CET) From: Wojciech Puchar To: Poul-Henning Kamp cc: Cy Schubert , Hackers freeBSD , Igor Mozolevsky , Enji Cooper , Wojciech Puchar Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: <78893.1546632591@critter.freebsd.dk> Message-ID: References: <201901041951.x04Jppo2029486@slippy.cwsent.com> <78893.1546632591@critter.freebsd.dk> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: C13A586668 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.66 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCPT_COUNT_FIVE(0.00)[6]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.76)[-0.763,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.58)[ip: (-9.45), ipnet: 194.1.144.0/24(-4.72), asn: 43476(-3.78), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 15:16:18 -0000 > home free: Rapidly replaced when somebody gets a better idea. > > Both as far as containers and systemd, there is a LOT of room for improvement. as of systemd the best "room for improvement" is deleting it. > FreeBSD should aim for that room, rather than become "Linux-sans-GPL" Definitely not systemd alike. Current mechanisms are fine. From owner-freebsd-hackers@freebsd.org Sat Jan 5 15:16:38 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C6E13149E000 for ; Sat, 5 Jan 2019 15:16:38 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 9F97986699 for ; Sat, 5 Jan 2019 15:16:37 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x05FGiDr002605 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 5 Jan 2019 16:16:44 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x05FGdCq002602; Sat, 5 Jan 2019 16:16:39 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Sat, 5 Jan 2019 16:16:39 +0100 (CET) From: Wojciech Puchar To: Cy Schubert cc: Poul-Henning Kamp , Hackers freeBSD , Igor Mozolevsky , Enji Cooper , Wojciech Puchar Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: <201901042142.x04LgKkQ045885@slippy.cwsent.com> Message-ID: References: <201901042142.x04LgKkQ045885@slippy.cwsent.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 9F97986699 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.67 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCPT_COUNT_FIVE(0.00)[6]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.78)[-0.779,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.59)[ip: (-9.45), ipnet: 194.1.144.0/24(-4.73), asn: 43476(-3.78), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 15:16:38 -0000 >> . >> >> FreeBSD should aim for that room, rather than become "Linux-sans-GPL" > > We should try to fit into the datacentre. > To whose gain? From owner-freebsd-hackers@freebsd.org Sat Jan 5 15:18:38 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 09ACF149E117 for ; Sat, 5 Jan 2019 15:18:38 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 2408F867ED; Sat, 5 Jan 2019 15:18:37 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x05FIkvf002911 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 5 Jan 2019 16:18:46 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x05FIfxb002908; Sat, 5 Jan 2019 16:18:41 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Sat, 5 Jan 2019 16:18:41 +0100 (CET) From: Wojciech Puchar To: Kristof Provost cc: Enji Cooper , Eric McCorkle , freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components In-Reply-To: <4867C05A-BCEF-4F1C-965D-84056092D70C@FreeBSD.org> Message-ID: References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <4867C05A-BCEF-4F1C-965D-84056092D70C@FreeBSD.org> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 X-Rspamd-Queue-Id: 2408F867ED X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-5.45 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.989,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; CTYPE_MIXED_BOGUS(1.00)[]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; NEURAL_HAM_SHORT(-0.60)[-0.603,0]; IP_SCORE(-3.55)[ip: (-9.36), ipnet: 194.1.144.0/24(-4.68), asn: 43476(-3.74), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; FREEMAIL_CC(0.00)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[] Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8BIT X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 15:18:38 -0000 >>> forward. >> >> Going back to my previous statement, I think writing a service monitor (to work alongside init and rc) in modern C++/rust would be a good item to undertake. >> >> I’d be willing to do this with someone else, as a research project/to demo how rust could be used. > > > I think that’s an excellent idea, and would be interested in trying to help out with it. > Great. So do it, just don't try to push FreeBSD to use it in base. Of course add a port to FreeBSD when done :) From owner-freebsd-hackers@freebsd.org Sat Jan 5 15:20:54 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CAD57149E2FD for ; Sat, 5 Jan 2019 15:20:54 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D503C86A88 for ; Sat, 5 Jan 2019 15:20:53 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-oi1-f181.google.com with SMTP id y1so32663784oie.12 for ; Sat, 05 Jan 2019 07:20:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TRuUHC3HugM3Ovs+52p7hEEYqxQulvVew4Ud2YxUywA=; b=m0P04CpnxV5crQ9SsMZ6yZEIzQ+EvuWwbebBK4RK+YP0kLC6760D7LoninMNkW6N01 Omv/ep1skdvBAXnE3wl/7aDwN+IvSpgz5ItRtyoRBZWINo+JalXIWjMCwbbmHJlcS+x7 FRFKlC8XTaWSl7Sz4bLf8pRo8TrwuXgmeeQ4/24MAVHbU8Crmjrt6RKOx6q7GiZ0DmM9 lWvuQpl6I2mAQm4teErcAs/hqm7g4GIVPDU2QLgoqElQN6fo2v75f7SnMxMM065sKV/t Gf9Dkt1ni1s+TnMmvoayaNEyzavo4lLxkZwAl0N4jZMEOqqn8EHmTdVwV/nokL2ZiSNZ IYsQ== X-Gm-Message-State: AJcUuke7fKddicgLGhFr0WI6lrxQjtYaUXJzc+woj47xRxWCgPLkl787 Z4uA72S9aIrvE5PpCaLtOeyzJh9xoY5upl/a/SIx8g== X-Google-Smtp-Source: ALg8bN7jqHsiFHub8FI8UC5mC8rlToViINMAbHER4CfO++aFD+0yYS20DoD4MyZuPcB+w6oiWOYze1eHwRlW4Dqk358= X-Received: by 2002:aca:bc42:: with SMTP id m63mr3569318oif.323.1546701646648; Sat, 05 Jan 2019 07:20:46 -0800 (PST) MIME-Version: 1.0 References: <201901041902.x04J2WMb026379@slippy.cwsent.com> In-Reply-To: From: Igor Mozolevsky Date: Sat, 5 Jan 2019 15:20:09 +0000 Message-ID: Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) To: Wojciech Puchar Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: D503C86A88 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.167.181 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-3.67 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.995,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.998,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[hybrid-lab.co.uk]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[181.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.56)[-0.558,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.77), asn: 15169(-1.67), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 15:20:55 -0000 On Sat, 5 Jan 2019 at 15:15, Wojciech Puchar wrote: > What is wrong in ALL systems today are shared libraries or languages > (like python or perl) that depends on millions of files. Getting rid of > them will make "microservice" idea the right way. > > Simply having static executable to be run. Or multiple static executables > communicating by pipes. Couldn't agree more: when I did run jails, I would just compile a static binary and jail that process (of course devd made that a bit of a pain, but eventually you can figure out what's needed to have a single statically-linked binary jail without the bloat). -- Igor M. From owner-freebsd-hackers@freebsd.org Sat Jan 5 15:32:48 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 590FE149EA5C for ; Sat, 5 Jan 2019 15:32:48 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: from puchar.net (puchar.net [194.1.144.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "puchar.net", Issuer "puchar.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 9809187442 for ; Sat, 5 Jan 2019 15:32:47 +0000 (UTC) (envelope-from wojtek@puchar.net) Received: Received: from 127.0.0.1 (localhost [127.0.0.1]) by puchar.net (8.15.2/8.15.2) with ESMTPS id x05FWtCj005110 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 5 Jan 2019 16:32:55 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Received: from localhost (puchar-wojtek@localhost) by puchar.net (8.15.2/8.15.2/Submit) with ESMTP id x05FWo3Y005107; Sat, 5 Jan 2019 16:32:50 +0100 (CET) (envelope-from puchar-wojtek@puchar.net) Date: Sat, 5 Jan 2019 16:32:50 +0100 (CET) From: Wojciech Puchar To: Igor Mozolevsky cc: Wojciech Puchar , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message-ID: References: <201901041902.x04J2WMb026379@slippy.cwsent.com> User-Agent: Alpine 2.20 (BSF 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 9809187442 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of wojtek@puchar.net designates 194.1.144.90 as permitted sender) smtp.mailfrom=wojtek@puchar.net X-Spamd-Result: default: False [-6.67 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[puchar.net]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: puchar.net]; NEURAL_HAM_SHORT(-0.80)[-0.803,0]; RCVD_IN_DNSWL_NONE(0.00)[90.144.1.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-3.55)[ip: (-9.37), ipnet: 194.1.144.0/24(-4.68), asn: 43476(-3.75), country: PL(0.03)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:43476, ipnet:194.1.144.0/24, country:PL]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 15:32:48 -0000 >> (like python or perl) that depends on millions of files. Getting rid of >> them will make "microservice" idea the right way. >> >> Simply having static executable to be run. Or multiple static executables >> communicating by pipes. > > Couldn't agree more: when I did run jails, I would just compile a > static binary and jail that process (of course devd made that a bit of > a pain, but eventually you can figure out what's needed to have a > single statically-linked binary jail without the bloat). i usually don't run devd. Why can't you run your static binary simply as user? From owner-freebsd-hackers@freebsd.org Sat Jan 5 16:30:54 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 03FE014A0302 for ; Sat, 5 Jan 2019 16:30:54 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-oi1-f177.google.com (mail-oi1-f177.google.com [209.85.167.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9F7FA89665 for ; Sat, 5 Jan 2019 16:30:52 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-oi1-f177.google.com with SMTP id v6so32746972oif.2 for ; Sat, 05 Jan 2019 08:30:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=BdfanAN5oj2TUw3Ym2wnwdtxBmx361qsotYiBOLqEP4=; b=NUnvDU36xT+1JajqDdwVXAND0/XkgA5NaOKRt4pklOqNn0nPUoRcOMuEWIQ3Y7NoIg kQ9N5xSM5C6veD4HT3MdhPl8JMjoIS1lRL1u/7T38cWcoM/VvEpA+lt6yVx3mvjuO7C2 bsC9uCCgGmWrjlFKgCyBdtkZ2xQklQvwja11nyxOlybtf7iTr/o6Jr/TN2YLUy+1dd7S YrRdeDqrL0R3A5rk0lqlqqhX4+WFtVD4j+PCRQ4XAKPxBgOlwysxyHAhTxUvQ4FfLoBj KHWvklOTBlDyxt25gKDmNhFx65J/yVV7RC9S3Bmxt//YuTaf2H6ZyDDcQHnTmXdAxgCS 7UlQ== X-Gm-Message-State: AJcUukcu0uqJXJABxIH7GUpkucfAn+DKuC6tSSOzrAhMfDVaCSruGtVT 5x1aaeo/q8HU5DYzWGK+6q171L6/mW+X4yGP1DE= X-Google-Smtp-Source: ALg8bN6zeWHP1iagyxcTEq56AglyHHQQsCyOPb9PXh9oZQXkOBpAX5u+jTN+u6HLL0MS+1eQOsxpvkGAQyhS1/DDwZ0= X-Received: by 2002:aca:c382:: with SMTP id t124mr4082163oif.220.1546705846059; Sat, 05 Jan 2019 08:30:46 -0800 (PST) MIME-Version: 1.0 References: <201901041902.x04J2WMb026379@slippy.cwsent.com> In-Reply-To: From: Igor Mozolevsky Date: Sat, 5 Jan 2019 16:30:09 +0000 Message-ID: Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) To: Wojciech Puchar Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 9F7FA89665 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.167.177 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-3.87 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[hybrid-lab.co.uk]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[177.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.76)[-0.759,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.77), asn: 15169(-1.67), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 16:30:54 -0000 On Sat, 5 Jan 2019 at 15:32, Wojciech Puchar wrote: > Why can't you run your static binary simply as user? I'm sure there was a good reason for doing so, but it was over a decade ago and for the life of me I can't remember what that reason was... -- Igor M. From owner-freebsd-hackers@freebsd.org Sat Jan 5 17:48:04 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A199714A1F1E for ; Sat, 5 Jan 2019 17:48:04 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 88D828BACB for ; Sat, 5 Jan 2019 17:48:03 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id fq35g4UBl8uQmfq37gfaSu; Sat, 05 Jan 2019 10:47:56 -0700 X-Authority-Analysis: v=2.3 cv=XKpOtjpE c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=heTAvR70AAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=Bn_8IDCwR5dZza0Xe58A:9 a=b65MY-mRNaXUlA2V:21 a=Mmb3Dga4NR0Rdmxd:21 a=CjuIK1q_8ugA:10 a=UrJ2pwYPfabwj1STkZPu:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 070AE4457; Sat, 5 Jan 2019 09:47:51 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x05HlorQ062001; Sat, 5 Jan 2019 09:47:50 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x05Hln6a061998; Sat, 5 Jan 2019 09:47:49 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901051747.x05Hln6a061998@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Wojciech Puchar cc: Cy Schubert , Poul-Henning Kamp , Hackers freeBSD , Igor Mozolevsky , Enji Cooper Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message from Wojciech Puchar of "Sat, 05 Jan 2019 16:16:39 +0100." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 05 Jan 2019 09:47:49 -0800 X-CMAE-Envelope: MS4wfBBTUzPBa3BNhw/em5v4hYFNz7dYM227oIljEVIYfD41kkeqe/L+WZ8m+yH3nuTblVPBJqF0JsZWcLmx5/BpgGKlDzUEyN2uV3M3VZ0TQYHhP/Cfm/Cg 62tLpUeTfnXWIEf/CO1R1M2bqgalvN6j+hCKKAL+0lG0aSoeHMLs1rBeoYpv10AEBnfUAsaLAOtbIflGM9wROIt/3H+TPJHR59ct33QxOZ1FXrTiT7kNE6ka ghK+Iz3ZvegPgFdj/oRWzmqlgDF7zuTmjQBrQRs3DzSuDmZXKdUeN3YgAbxkMrkL1hYB4X2eXpHm0HGJiHr63g== X-Rspamd-Queue-Id: 88D828BACB X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.81 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; RCPT_COUNT_FIVE(0.00)[6]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.96)[-0.956,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[13.134.59.64.list.dnswl.org : 127.0.5.1]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-2.14)[ip: (-6.15), ipnet: 64.59.128.0/20(-2.48), asn: 6327(-1.98), country: CA(-0.09)]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 17:48:04 -0000 In message , Wojciech Puchar wr ites: > >> . > >> > >> FreeBSD should aim for that room, rather than become "Linux-sans-GPL" > > > > We should try to fit into the datacentre. > > > To whose gain? To our gain. Look at illumos, a hobbyists O/S. Do we want to become that? We should aim for the broadest base possible. The desktop is not enough. Neither is a tinkerers toy either. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Sat Jan 5 18:30:17 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 31B55141A5D7 for ; Sat, 5 Jan 2019 18:30:17 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 53C6C8D31E for ; Sat, 5 Jan 2019 18:30:16 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id fqi2guLo382Ycfqi3gSFRA; Sat, 05 Jan 2019 11:30:14 -0700 X-Authority-Analysis: v=2.3 cv=NNSrBHyg c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=heTAvR70AAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=dPRBdm7T7n0FhSEKSKAA:9 a=CjuIK1q_8ugA:10 a=UrJ2pwYPfabwj1STkZPu:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 942854509; Sat, 5 Jan 2019 10:30:09 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x05IU9iw062304; Sat, 5 Jan 2019 10:30:09 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x05IU8Jh062301; Sat, 5 Jan 2019 10:30:09 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901051830.x05IU8Jh062301@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Wojciech Puchar cc: Cy Schubert , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message from Wojciech Puchar of "Sat, 05 Jan 2019 16:07:06 +0100." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 05 Jan 2019 10:30:08 -0800 X-CMAE-Envelope: MS4wfDX7Fw1E/3wWkDfvKObIK1H3MEAsAaCzVVS5p8XccpnA3/DTroJOcBZWpWI/6E9vKQtrxwpbm2SuoXtMirl1Nc6lzcIHyMirr5ht/T0SRcrM8o9KDkMs 5RqCSd4wqvuYw6B8vM/ktbYXaBKJZrX2K2Ky60wMhpCJnutz1b/fWcOPHsTHVOFj8nMFJh5ZqTmPr3SWVhmaFXVHowBJgB398HLxwe1PfgrdM/zaw+GOeW9R X-Rspamd-Queue-Id: 53C6C8D31E X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.31 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.94)[-0.944,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-1.66)[ip: (-3.75), ipnet: 64.59.128.0/20(-2.47), asn: 6327(-1.97), country: CA(-0.09)]; RCVD_IN_DNSWL_LOW(-0.10)[139.136.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 18:30:17 -0000 In message , Wojciech Puchar wr ites: > >>> A) FreeBSD needs to become a platform that can host current and > >>> evolving virtualization technologies. > >>> > >>> B) FreeBSD should be able to play in the container space similarly to > >>> Linux. Unfortunately I believe that this horse has left the barn and it > >>> may be too late. Then again maybe there is something we can redeem. > >> > >> C) Make FreeBSD like others. So why making FreeBSD? > > > > Because we offer some technologies the others do not. Unfortunately > > inferior and incompatible approaches (similarly: VHS vs BETA, Blue Ray > > vs HD) have left us on the outside. Try porting Kubernetes to FreeBSD. > no need to. > > > > > The technologies used today are more than just fads. They are building > > blocks onto which future technologies will be built. > > > and this is really sad. Sure. What is really sad is that the world has moved on. I would love to still do kernel programming on the IBM mainframe. That's not possible. There used to be half a dozen IBM mainframe datacentres in my home town and two in the city I currently live in when I moved here. Now there are none in both places. We can cry the blues that life isn't what it used to be or we can move on. One person I once worked with attempted suicide because his beloved mainframe here was no more. Old technologies aren't as relevant as they used to be. Nostalgia for days gone by isn't going to make those days come back. Only supporting old hardware and only maintaining old paradigms will announce, FreeBSD is dying. Do you want that? Get over it and move on. > > >> > >> Not everyone needs the same. > > > > Niche. We should be more than simply a desktop O/S (which BTW I use as > > my primary desktop) and we should be more than a simple bare metal O/S. > > Simple bare metal O/S is what is really needed. They all do that. What else can we bring to the table? One of the questions to be answered is where do we want to be in five years? Stuck in the past? This sub-thread was meant to have us consider importing rust in the bigger scheme of things. My point is, before we do anything, like add a shiny new feature or cull some old code, does this align with where we want to be in two or five years? -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Sat Jan 5 18:38:32 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B047E141A99F for ; Sat, 5 Jan 2019 18:38:32 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CB3A98D7B6 for ; Sat, 5 Jan 2019 18:38:31 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pl1-x632.google.com with SMTP id w4so18919524plz.1 for ; Sat, 05 Jan 2019 10:38:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=pDoMrgNwnWsPnH+sTUWdQkeRt95oEO1JmIfenbyoHFw=; b=Rixn8yyl/KSxehk4viy9O9JBB4caN19Wczp9GfglEuI1BIa6MmP2PA6zWzZjcTYRJC ISwLP3jcfYUtn+v2h0a3wCpvnVWIGtMgFspsAhSKeyDG0FloNIW0n9Eq7FioUAVNma20 Ac9ClUJr6Ok2kN25r3CZal6aktVqhE71d+H2DXTRBMcGjubKylRYRiK3DjkxgagGbyjd cl9H4evQ9m7IbDUT52nz6Jt3ys/+YXCzvJGjdjEjt/O0mF8/Gkea62Kyq5vhG46cc91L 4NuP+Ta5PCQQWDmM2QrvvqzxWU6HEgYCrKYYgu8lQD+Xa9axhP3RFEyINc7YtWnUJrMM RPqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=pDoMrgNwnWsPnH+sTUWdQkeRt95oEO1JmIfenbyoHFw=; b=RdrKEtIr4POsSypy4bTx/j5ZJHh+M+orfkEC4fOAkzw2dC9fCfX8IFyWVEk+pxAjE5 /U/dSKL9lJU1oMMN0N3PTu08RWUNKSOPWWHrudHmrQYbUYz3722L5mLQExA/CxiDpJg+ 9sY+kgch9CuZbyqu1Y8iVLybArWB5Nk6PXUS104B0CT0ZqpVE7HHHOGGqvLLAAI+9xB1 Gzqwj2RJUYGkZ9IORm+Tn6WK7uzBE8JOiDOHI5KFW/7/73gbI59qKkLGHoO29ZXwVDxE I7sX1lH2znBVHOleOh2hS1+cPWm1b7VQYbqtnyOgKOB1m9jFfzUmGsiI7aCMFCWE9GYJ VclQ== X-Gm-Message-State: AJcUukccwdichpFBwveSqU5mJ6pH5Ckr1AT5ZC5wz01dcXHqAZ16Q4p0 oQFK4LIeOuDhZzWIS0SfRlWf/yiB X-Google-Smtp-Source: ALg8bN6VrgQzjmcHan8vOq/YPhmu0f5jpYhOq5jUxyI72KFUXF+hzTzBxFWmv0lBW9V9/Eroo6tolg== X-Received: by 2002:a17:902:6bc9:: with SMTP id m9mr54749579plt.173.1546713510012; Sat, 05 Jan 2019 10:38:30 -0800 (PST) Received: from ?IPv6:2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9? ([2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9]) by smtp.gmail.com with ESMTPSA id v70sm104177842pfa.152.2019.01.05.10.38.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 05 Jan 2019 10:38:29 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) From: Enji Cooper X-Mailer: iPhone Mail (16C104) In-Reply-To: Date: Sat, 5 Jan 2019 10:38:27 -0800 Cc: Cy Schubert , Igor Mozolevsky , Hackers freeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <0EB517DF-376E-435A-B24D-A4964D0F148F@gmail.com> References: <201901041951.x04Jppo2029486@slippy.cwsent.com> To: Wojciech Puchar X-Rspamd-Queue-Id: CB3A98D7B6 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=Rixn8yyl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::632 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com X-Spamd-Result: default: False [-3.98 / 15.00]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MV_CASE(0.50)[]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-0.68)[-0.680,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2.3.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-0.79)[ipnet: 2607:f8b0::/32(-2.19), asn: 15169(-1.67), country: US(-0.08)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 18:38:33 -0000 On Jan 5, 2019, at 07:07, Wojciech Puchar wrote: >>>> A) FreeBSD needs to become a platform that can host current and >>>> evolving virtualization technologies. >>>>=20 >>>> B) FreeBSD should be able to play in the container space similarly to >>>> Linux. Unfortunately I believe that this horse has left the barn and it= >>>> may be too late. Then again maybe there is something we can redeem. >>>=20 >>> C) Make FreeBSD like others. So why making FreeBSD? >>=20 >> Because we offer some technologies the others do not. Unfortunately >> inferior and incompatible approaches (similarly: VHS vs BETA, Blue Ray >> vs HD) have left us on the outside. Try porting Kubernetes to FreeBSD. > no need to. Actually, not having Docker/Kubernetes support makes it more difficult to ri= de the CI/distributed system wave, requiring FreeBSD to reinvent the wheel t= o do CI, and force various groups to write their own homegrown distributed s= ystems infrastructures instead of leveraging existing technologies. >> The technologies used today are more than just fads. They are building >> blocks onto which future technologies will be built. >>=20 > and this is really sad. Not really. It=E2=80=99s a sign of maturity as most things now run on a =E2=80= =9Ccloud based=E2=80=9D infrastructure, or small embedded OSes running embed= ded Linux (not FreeBSD). >>> Not everyone needs the same. >>=20 >> Niche. We should be more than simply a desktop O/S (which BTW I use as >> my primary desktop) and we should be more than a simple bare metal O/S. >=20 > Simple bare metal O/S is what is really needed. Not really. As Cy pointed out, in order to ensure that FreeBSD is well-suppo= rted by large companies (Dell, Facebook via WhatsApp, Juniper, and Sony were= some of the large contributors over the past couple years, along with a hos= t of other smaller storage companies), so it continues to exist in a healthy= way, it needs to be dynamic and customizable to meet the needs from embedde= d development up to large-scale distributed systems. A number of these compa= nies have considered switching away from FreeBSD to Linux because FreeBSD is= niche (see Microsoft with Hotmail, Yahoo, etc). Let=E2=80=99s not give deve= lopers willing to make the switch more ammunition to do so. Cheers, -Enji= From owner-freebsd-hackers@freebsd.org Sat Jan 5 18:52:55 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 18C8A141B13E for ; Sat, 5 Jan 2019 18:52:55 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg1-x544.google.com (mail-pg1-x544.google.com [IPv6:2607:f8b0:4864:20::544]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D40778E267; Sat, 5 Jan 2019 18:52:53 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg1-x544.google.com with SMTP id g189so18889832pgc.5; Sat, 05 Jan 2019 10:52:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=sJu9KVyu9BTdkkCiZeKnbepLw6Zk3Jsn8mydhpfRgzI=; b=U0tamfDv61SqQjj2aZ3EBawYWvhJxA2fBPjG9zGmttSrfAE54Xr37Za0d1OtLFViY5 tygsRje1jrrq0oCZvtsDX39vExHc6oHpVsz6+gQmJzpAGt/SH5jmcXaPE3ICJMEnQIuc UT22msAPbciBcdyZxz36NLXz0C7spz270vjRFEJioYOCWBz9Vsk6WGay66OGH0DZ4Km5 hEJ9dtqD+2dCGpWC+HT9UrzeIQEHC9/AHOnG112GZ+kpIs2aWcYIy08Lu2Hh1qnVLpAm OF2MiWmfz94szJ3onLQ4Mojv1GLSh5GFe1MF35B4GVbuurqeNfAlaP4qs6SFf/zNdl3a 91Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=sJu9KVyu9BTdkkCiZeKnbepLw6Zk3Jsn8mydhpfRgzI=; b=lqcr1Raj+6H12X61tcZO1IYCF/8nAqNxqrWyKG7JrkxzAgdON47KMWY00EaNZH9vQh nCf6q1VmJ+WsMJwpFzIDNPTlO8bq2Sv6iHsrJCbe8xzCFobC2cmEOPLmEb2EACFUS5wt JDUZOnTWIYnQIccyHNemht6vhydOKuRmcDZkkC8ddOOACKKIJ06Jlg5DAk1YyyUCn4pk 2mXQH7FW6LzJb4CX2GkZ9Zav1ULny4vIxrB06B41nnrp9RqHBeHUuVQzeFj9rLx4g5Qy 2YbK//lwK76FvpreI79zvEL9k/eveIb37AMbEfX2Q1pjlOo9kzYmwUQkrzkinwcFxNXH b+tA== X-Gm-Message-State: AJcUukdSwOKNoWQ2IVdpJOgJK7vUOOtcKrBR63E+qTRp6yOCl5nTaFeV QH23OE5xhXbvCftD5tpHeNDEmILl X-Google-Smtp-Source: ALg8bN6rKNO9c11jZ2MxUAM1yLfUt22MVG6b+zuAdAA7+hz97cmX9zBkBOhPsBMHpYfZb/t4itQV3Q== X-Received: by 2002:a63:3c58:: with SMTP id i24mr36364209pgn.284.1546714372552; Sat, 05 Jan 2019 10:52:52 -0800 (PST) Received: from ?IPv6:2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9? ([2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9]) by smtp.gmail.com with ESMTPSA id d11sm84271952pgi.25.2019.01.05.10.52.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 05 Jan 2019 10:52:51 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) From: Enji Cooper X-Mailer: iPhone Mail (16C104) In-Reply-To: Date: Sat, 5 Jan 2019 10:52:50 -0800 Cc: Cy Schubert , Wojciech Puchar , Hackers freeBSD , Igor Mozolevsky Content-Transfer-Encoding: quoted-printable Message-Id: References: <201901032228.x03MSxkq087945@slippy.cwsent.com> To: Alan Somers X-Rspamd-Queue-Id: D40778E267 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=U0tamfDv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::544 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com X-Spamd-Result: default: False [-0.35 / 15.00]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MV_CASE(0.50)[]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.33)[-0.326,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.95)[0.951,0]; NEURAL_HAM_LONG(-0.71)[-0.709,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(0.24)[ip: (5.13), ipnet: 2607:f8b0::/32(-2.19), asn: 15169(-1.67), country: US(-0.08)]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[4.4.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 18:52:55 -0000 > On Jan 3, 2019, at 14:51, Alan Somers wrote: >=20 >> On Thu, Jan 3, 2019 at 3:29 PM Cy Schubert wr= ote: >>=20 >> In message , Wojciech >> Puchar wr >> ites: >>>>> That's precisely how ideas that most people disagree with get *pushed*= >>>>> through by evangelists with confirmation bias! Like someone said >>>>> earlier in the discussion: does Rust add anything? The answer is a >>>>> resounding NO, save for bloat. >>>>=20 >>>> And this is why one reason people say =C3=A2=E2=82=AC=C5=93FreeBSD is d= ying=C3=A2=E2=82=AC . >>>>=20 >>> dying for whom? >>=20 >> Not to answer this question but to think strategically: >>=20 >> I come from the corporate/government environment, having spent most of >> my time there. Large datacentres (Canadian spelling), large machines, >> large networks of machines, large networks. In this environment, today, >> virtualization in all forms are the platforms of business. Migrations >> from physical platforms running AIX, Solaris and Linux to either Linux >> on VMware or Linux containers is where they are putting 100% of their >> effort. The language of choice is mostly Java. Much of the Java is >> canned too. What used to be implemented on LAMP stacks is now being >> implemented using microservices. The platform of choice for >> microservices is Linux. Stripped down Linux primarily capable of >> supporting microservices. And now at $JOB we're talking about running >> microservices on Linux VMs -- virtualization on virtualization, on a >> virtual network (NSX). My customers are working on microservices and >> containers that can be migrated from their private cloud to the public >> cloud and back again easily. >>=20 >> Even Microsoft is working on a container strategy. The future is >> containers. The desktop platform isn't nearly as important any more. >> And, the physical server, its location, what it runs on and who runs it >> are also less important. What is important is the speed and cost >> effectiveness of standing up applications. >>=20 >> IMO we have strengths that can immediately be capitalized on, like the >> Linuxulator. If anything could be in base it might be go, the language >> Kubernetes is written in -- don't get me wrong, I'm not advocating >> importing go into base. Having said that, transforming FreeBSD into a >> PaaS platform, tying it all together using Kubernetes would position >> FreeBSD for the future to come. Maybe I'm talking myself into go and >> Kubernetes in base but maybe this could just as easily be done in ports. >>=20 >> Think about this: Kubernetes in base or ports, using the Linuxulator >> and jails (or an implementation of cgroups and namespaces constructs in >> addition to jails). Bhyve and jails provide the enterprise with other >> virtualization options such that a FreeBSD host could host Linux or >> FreeBSD containers, Windows or other VMs, and FreeBSD jails, all on one >> or a cluster of FreeBSD hosts, possibly part of a heterogeneous cluster. >>=20 >> This IMO would position FreeBSD for the future. >>=20 >> Maybe go and Kubernetes? Let's not be left behind. >>=20 >>=20 >> -- >> Cheers, >> Cy Schubert >> FreeBSD UNIX: Web: http://www.FreeBSD.org >>=20 >> The need of the many outweighs the greed of the few. >=20 > FreeBSD support in Kubernetes would be great, but I don't think > there's any reason to put it into base. +1. Kubernetes should remain as a port, given the development process that Fa= cebook and Google use being out of step with the BSDs (backwards compatibili= ty to the degree that BSD wants is generally a lower priority item). > The interesting thing about > Rust is that it's so good at low-level work. As we discussed, > Johannes Lundberg has written a device driver in Rust. And Fabian > Freyer is working on jail(3) and jail(8) replacements in Rust. Enji > is thinking about writing an rc(8) replacement in Rust. Sidenote: not wanting to do an rc(8) replacement. More like a system monitor= of sorts, paralleling what devd does with device events and such. > These are the > kind of projects that make sense to do in base, apart from the > language barrier. Go, I think, would be just fine remaining in ports. > If I were to pick any language other than Rust to add to the base > system, it might be Lua. Lua=E2=80=99s already in base =E2=80=94 the bootloader is being rewritten fr= om forth to Lua. > Though high level, its embeddable and nicely > complements C and Rust. That's why it's used internally in Kyua, and > it even in the NetBSD kernel. And Linux kernel for that matter, iirc. It=E2=80=99s a wonderful, stripped d= own language. It=E2=80=99s just a bit awkward to write because its lexicogra= phy/grammar matches pure mathematics as opposed to many other C-like languag= es. Thanks :), -Enji= From owner-freebsd-hackers@freebsd.org Sat Jan 5 18:58:34 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E3953141B34D for ; Sat, 5 Jan 2019 18:58:33 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com [IPv6:2607:f8b0:4864:20::432]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CB4E78E418 for ; Sat, 5 Jan 2019 18:58:32 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf1-x432.google.com with SMTP id i12so19840401pfo.7 for ; Sat, 05 Jan 2019 10:58:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=rN9om0wXXZFVoT0R6kN6UZrjUtC6sF0FDNFkyIE1fnI=; b=pPaBdrTfZ3loO/vOdnA5HmyUfWPFLIbQOvEnwcoKuOeTiv0FLvX4UooMLFp7qTnGzI uG/GlT2aRdhbnE/Y3ijKZNg3/V5M4yDkZ2O0InpLB6IK82Vnx2iCb7ujNPpXU9G5iFwp /YIH+pNWOg7FSMMibgFYMti0vDWreA5lYwU5OFaz+NRa7+XaWiV69bgoApFVjvqWXCRO Ejg6TOmCIf/kM46VXoApLum3VcTnmVcm4ungZdGGWVWTORQMyk1xEv83HdwK5CASeaWL cRfp850EJEz6uLgu9IbTw0qXwxa2/x2WyJ8uN0N7ndh2D4oFOnhDqnwrjxl+Q6zCNm8U IbTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=rN9om0wXXZFVoT0R6kN6UZrjUtC6sF0FDNFkyIE1fnI=; b=tQicr0ei4pncn4KPqI7HkoEM6AvhgWRubUrGmWhzJXIkwGqGS9qEV5TAx1Iz62LTpJ fyTuRUpMDS9P9aQhYFZm6hb5Ix53iKiRVyk9S+hTAJR31Qr8U64ztFCg5rsu0mptZV56 aCOwYGIj7C/5LQTu80HOQGkY+F75aiJLaDhRxmv9NOUS46+Mdml8KBZFqx/59F84OguE 7OeIXpZc/nk659xqKkyNGdGZfQysDRlql0Bl2RcOOdMUOj/lIj1Ae+hAplNAu0kInNga oHdkAn6nC2cecwe0arOkqbp+i6w1sgijysryNwrKzwNuZ03dKeR0TTt4VP+SmMQ20Hva zBaA== X-Gm-Message-State: AJcUukfgRx1QxTpGMYU3KS2vpyEqwZGn4DrgAg99AZ/lpUPWDixZeB1T Z6bBAH9qA9+wQdlJq3vaiQ09un0b X-Google-Smtp-Source: ALg8bN51JBxi57hrYIRxLz6IOhsxZbJ0KIULFSdUYQl6fkKtlPZaHQSjZdj7QxxaNOcE3khEcwiMIw== X-Received: by 2002:a62:8d4f:: with SMTP id z76mr58726776pfd.2.1546714711248; Sat, 05 Jan 2019 10:58:31 -0800 (PST) Received: from ?IPv6:2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9? ([2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9]) by smtp.gmail.com with ESMTPSA id k186sm48246940pge.13.2019.01.05.10.58.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 05 Jan 2019 10:58:30 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) From: Enji Cooper X-Mailer: iPhone Mail (16C104) In-Reply-To: Date: Sat, 5 Jan 2019 10:58:29 -0800 Cc: Cy Schubert , Poul-Henning Kamp , Hackers freeBSD , Igor Mozolevsky Content-Transfer-Encoding: quoted-printable Message-Id: <1CEA5490-C284-4178-9B00-6C96BAC512E0@gmail.com> References: <201901042142.x04LgKkQ045885@slippy.cwsent.com> To: Wojciech Puchar X-Rspamd-Queue-Id: CB4E78E418 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=pPaBdrTf; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::432 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com X-Spamd-Result: default: False [-5.80 / 15.00]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MV_CASE(0.50)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-0.93)[-0.928,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2.3.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.36)[ip: (-7.88), ipnet: 2607:f8b0::/32(-2.19), asn: 15169(-1.67), country: US(-0.08)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 18:58:34 -0000 On Jan 5, 2019, at 07:16, Wojciech Puchar wrote: >>> . >>>=20 >>> FreeBSD should aim for that room, rather than become "Linux-sans-GPL" >>=20 >> We should try to fit into the datacentre. >>=20 > To whose gain? See my previous reply: Dell (Isilon, etc), Juniper, Panasas (sp?), Sandvine,= WhatsApp (Facebook), etc. Example: Facebook has toyed around with converting their entire WhatsApp fle= et away from FreeBSD in the datacenter to FB Linux. Let=E2=80=99s give them l= ess ammo to do so. They were a major financial contributor to the FreeBSD pr= oject back a couple years ago, so like it or not, having FreeBSD be a compel= ling project is helping finance your =E2=80=9Chobby OS=E2=80=9D. Cheers, -Enji= From owner-freebsd-hackers@freebsd.org Sat Jan 5 19:10:17 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22794141B826 for ; Sat, 5 Jan 2019 19:10:17 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 160368EA2C for ; Sat, 5 Jan 2019 19:10:15 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id frKgguXiR82YcfrKigSLIj; Sat, 05 Jan 2019 12:10:09 -0700 X-Authority-Analysis: v=2.3 cv=NNSrBHyg c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=8nJEP1OIZ-IA:10 a=3JhidrIBZZsA:10 a=pGLkceISAAAA:8 a=heTAvR70AAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=igypgfcmWe3ZOfgu-YAA:9 a=wPNLvfGTeEIA:10 a=lJIPGLpbTLIA:10 a=UrJ2pwYPfabwj1STkZPu:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 4482645C7; Sat, 5 Jan 2019 11:10:06 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x05JA5JN075714; Sat, 5 Jan 2019 11:10:05 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x05JA4nI075610; Sat, 5 Jan 2019 11:10:05 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901051910.x05JA4nI075610@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Enji Cooper cc: Wojciech Puchar , Cy Schubert , Igor Mozolevsky , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message from Enji Cooper of "Sat, 05 Jan 2019 10:38:27 -0800." <0EB517DF-376E-435A-B24D-A4964D0F148F@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Date: Sat, 05 Jan 2019 11:10:04 -0800 X-CMAE-Envelope: MS4wfPcQefBB8rME9OrIydELaWrDYm9N8LN8bG0n8p9cYNIdMAkCJ0NOWrBmdmSvWw/OvCPGk0yziHD6P9H0ydQg6j5ZahUkYNa4RCcv3L8pQ1+UZA3Lj/Td QoFiwbMTWRA9L83jjM+YPFXl3XaMKe/EbKIo9JlDFcGcmNWWve+zrhgJaY8XucBIZ5Wrl5fblKQyGd6kTShDF6YRlbrRt1BRSIOw/EXg3ruDHZ+cpvUTGnSt CSQt/lxJHvnJNIBdWMvvlX5OKS5CK0/vy58yetEGAAVStNkZXEWsYvaCWCliaD5G X-Rspamd-Queue-Id: 160368EA2C X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.36 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; MV_CASE(0.50)[]; HAS_XAW(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.95)[-0.948,0]; FREEMAIL_TO(0.00)[gmail.com]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; IP_SCORE(-1.70)[ip: (-3.98), ipnet: 64.59.128.0/20(-2.46), asn: 6327(-1.97), country: CA(-0.09)]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_IN_DNSWL_LOW(-0.10)[137.136.59.64.list.dnswl.org : 127.0.5.1]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_COUNT_FIVE(0.00)[5]; REPLYTO_EQ_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; R_DKIM_NA(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_NA(0.00)[]; RCVD_TLS_LAST(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 19:10:17 -0000 In message <0EB517DF-376E-435A-B24D-A4964D0F148F@gmail.com>, Enji Cooper writes : > On Jan 5, 2019, at 07:07, Wojciech Puchar wrote: > > >>>> A) FreeBSD needs to become a platform that can host current and > >>>> evolving virtualization technologies. > >>>> > >>>> B) FreeBSD should be able to play in the container space similarly to > >>>> Linux. Unfortunately I believe that this horse has left the barn and it > >>>> may be too late. Then again maybe there is something we can redeem. > >>> > >>> C) Make FreeBSD like others. So why making FreeBSD? > >> > >> Because we offer some technologies the others do not. Unfortunately > >> inferior and incompatible approaches (similarly: VHS vs BETA, Blue Ray > >> vs HD) have left us on the outside. Try porting Kubernetes to FreeBSD. > > no need to. > > Actually, not having Docker/Kubernetes support makes it more difficult to rid > e the CI/distributed system wave, requiring FreeBSD to reinvent the wheel to > do CI, and force various groups to write their own homegrown distributed syst > ems infrastructures instead of leveraging existing technologies. I'm puttering around with Kubernetes and Docker. However there are other things on my plate that IMO are more urgent. Multitasking. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Sat Jan 5 19:14:32 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8542D141BB68 for ; Sat, 5 Jan 2019 19:14:32 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 98B818EE12; Sat, 5 Jan 2019 19:14:31 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id frOuguYza82YcfrOwgSLwz; Sat, 05 Jan 2019 12:14:30 -0700 X-Authority-Analysis: v=2.3 cv=NNSrBHyg c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=8nJEP1OIZ-IA:10 a=3JhidrIBZZsA:10 a=pGLkceISAAAA:8 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=heTAvR70AAAA:8 a=vAAu5E0nHuhBKyCdxI0A:9 a=wPNLvfGTeEIA:10 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=UrJ2pwYPfabwj1STkZPu:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 7BF8D45D3; Sat, 5 Jan 2019 11:14:28 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x05JERWD023739; Sat, 5 Jan 2019 11:14:28 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x05JEQL4023724; Sat, 5 Jan 2019 11:14:26 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901051914.x05JEQL4023724@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Enji Cooper cc: Alan Somers , Cy Schubert , Wojciech Puchar , Hackers freeBSD , Igor Mozolevsky Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message from Enji Cooper of "Sat, 05 Jan 2019 10:52:50 -0800." Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Date: Sat, 05 Jan 2019 11:14:26 -0800 X-CMAE-Envelope: MS4wfFHE+cmvQB+AbRq2eSTVxtLNwXTkcbJS4ZOCwReDJ2p5z2mBH6uOBenNwQErVm6ySS9LqAwnzyhCHpSodADksjTWAdGM3N6j7UsK3tkd0lKxaR5EBlMp cvvJtUdHmEtOLvjxt1eFTyQSu1+FzyjRyDz/GNOT6Vlywqzb4YG94VhD0ZJxXpCM9Fu4WiU+fPtFqut6zvRvU7szYE5YBO41lJUYbryPTAKZkmPOJF4rlJYA pcCuuPmFGHVfHZxcXhEMn8h8085hx3YxvhcLCTy0W65Gx8PK4mZLytVY9IUO7nvndLPMyESwyee2iCodWcvgHQ== X-Rspamd-Queue-Id: 98B818EE12 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.26 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; MV_CASE(0.50)[]; HAS_XAW(0.00)[]; RCPT_COUNT_FIVE(0.00)[6]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.92)[-0.924,0]; FREEMAIL_TO(0.00)[gmail.com]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_LOW(-0.10)[139.136.59.64.list.dnswl.org : 127.0.5.1]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_COUNT_FIVE(0.00)[5]; REPLYTO_EQ_FROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(-1.63)[ip: (-3.65), ipnet: 64.59.128.0/20(-2.45), asn: 6327(-1.96), country: CA(-0.09)]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_NA(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 19:14:32 -0000 In message , Enji Cooper writes : > > > > On Jan 3, 2019, at 14:51, Alan Somers wrote: > > > >> On Thu, Jan 3, 2019 at 3:29 PM Cy Schubert wro > te: > >> > >> In message , Wojciech > >> Puchar wr > >> ites: > >>>>> That's precisely how ideas that most people disagree with get *pushed* > >>>>> through by evangelists with confirmation bias! Like someone said > >>>>> earlier in the discussion: does Rust add anything? The answer is a > >>>>> resounding NO, save for bloat. > >>>> > >>>> And this is why one reason people say “FreeBSD is dying†. > >>>> > >>> dying for whom? > >> > >> Not to answer this question but to think strategically: > >> > >> I come from the corporate/government environment, having spent most of > >> my time there. Large datacentres (Canadian spelling), large machines, > >> large networks of machines, large networks. In this environment, today, > >> virtualization in all forms are the platforms of business. Migrations > >> from physical platforms running AIX, Solaris and Linux to either Linux > >> on VMware or Linux containers is where they are putting 100% of their > >> effort. The language of choice is mostly Java. Much of the Java is > >> canned too. What used to be implemented on LAMP stacks is now being > >> implemented using microservices. The platform of choice for > >> microservices is Linux. Stripped down Linux primarily capable of > >> supporting microservices. And now at $JOB we're talking about running > >> microservices on Linux VMs -- virtualization on virtualization, on a > >> virtual network (NSX). My customers are working on microservices and > >> containers that can be migrated from their private cloud to the public > >> cloud and back again easily. > >> > >> Even Microsoft is working on a container strategy. The future is > >> containers. The desktop platform isn't nearly as important any more. > >> And, the physical server, its location, what it runs on and who runs it > >> are also less important. What is important is the speed and cost > >> effectiveness of standing up applications. > >> > >> IMO we have strengths that can immediately be capitalized on, like the > >> Linuxulator. If anything could be in base it might be go, the language > >> Kubernetes is written in -- don't get me wrong, I'm not advocating > >> importing go into base. Having said that, transforming FreeBSD into a > >> PaaS platform, tying it all together using Kubernetes would position > >> FreeBSD for the future to come. Maybe I'm talking myself into go and > >> Kubernetes in base but maybe this could just as easily be done in ports. > >> > >> Think about this: Kubernetes in base or ports, using the Linuxulator > >> and jails (or an implementation of cgroups and namespaces constructs in > >> addition to jails). Bhyve and jails provide the enterprise with other > >> virtualization options such that a FreeBSD host could host Linux or > >> FreeBSD containers, Windows or other VMs, and FreeBSD jails, all on one > >> or a cluster of FreeBSD hosts, possibly part of a heterogeneous cluster. > >> > >> This IMO would position FreeBSD for the future. > >> > >> Maybe go and Kubernetes? Let's not be left behind. > >> > >> > >> -- > >> Cheers, > >> Cy Schubert > >> FreeBSD UNIX: Web: http://www.FreeBSD.org > >> > >> The need of the many outweighs the greed of the few. > > > > FreeBSD support in Kubernetes would be great, but I don't think > > there's any reason to put it into base. > > +1. Kubernetes should remain as a port, given the development process that Fa > cebook and Google use being out of step with the BSDs (backwards compatibilit > y to the degree that BSD wants is generally a lower priority item). It's not a port yet but it will be. I prefer a smaller base relying on ports instead. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Sat Jan 5 19:16:08 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 23787141BC6B for ; Sat, 5 Jan 2019 19:16:08 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 236E18EF44 for ; Sat, 5 Jan 2019 19:16:07 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pl1-x635.google.com with SMTP id u18so18920443plq.7 for ; Sat, 05 Jan 2019 11:16:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=AlNjj28uF1EwcB1gHhx+FUdccVL9OVTAbkKjA+gFwWI=; b=pm5OJDii/hT2gtd6QJMhLhJWB9GGane3tBTLiwiaxRs220nC4YB6QuLPfqjYiYoTwv 9Pa7yeANOG9FlU8nZ9AT8AXyVwYURlPz4wb6p/SrnzW9wewwjNsg897/oIJgVyY76wTi AsZT4EH9hqkIL6ZbD+sEoHN/MCseDOd5phJevVT9Zh13GJ3NAcq1h0E+j2ui0kssm6u7 Pbduf8B3r8OaW/8V/WfnaUpdLtUZPA5hX4f9hKBPKAGGytLY2fBBUKI5TVuP/2SrktAi NC/SMOcDcP/W7hD0EqLbOonjIO3W5pa7CF6ZOeeBBWg02Y2wHXnD2k93HCnAgalVGAkR /Srw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=AlNjj28uF1EwcB1gHhx+FUdccVL9OVTAbkKjA+gFwWI=; b=lYcyCCy7+ELu6Uyohx+FmpIOgh66MpAuMNtC8dw5ZsTihoCevTkCFaS0VUfQfgUziX rDHQSNjWWM/f+4ST51/CSYuPsIj6CZr+P5AvIDEHfiXg5ZZefCKquYjeUeMvfA+ytFnW Hot1JY+Wp+eEjL+Hmi2zuQ8ueOx3LND+5ZzEWOjeMOuZLC2XtmpLRYrbUzOUiTeDcC64 5KAKgb4jyGwNOE/ZDDMPmR6U0Ip13SkbNFDpQZEUQbaipd8OyHu32fi/p2JbkeqxZEIG ZPeac30SzDXQEWD7BBoe2ec7N09yDiVtePZ6IniumbCdrQHNqsZjmWpnzjRE8GgPv93J n0FQ== X-Gm-Message-State: AJcUukcq+rxSkp5xh3hzYJgVomNHanGOAJjGQCXeBVs5gZwDM3WPrdV+ qcEXBm/uzODdZQieHo5DBbg= X-Google-Smtp-Source: ALg8bN5zSxRaddDgbXiDIPsnT9FK8dA8WxKXwuVFBjzDV63KWLYznloMIBK9DFLdK3kTPYvlDq8w+A== X-Received: by 2002:a17:902:765:: with SMTP id 92mr55449451pli.242.1546715765956; Sat, 05 Jan 2019 11:16:05 -0800 (PST) Received: from ?IPv6:2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9? ([2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9]) by smtp.gmail.com with ESMTPSA id p24sm101667074pfk.155.2019.01.05.11.16.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 05 Jan 2019 11:16:05 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: Speculative: Rust for base system components From: Enji Cooper X-Mailer: iPhone Mail (16C104) In-Reply-To: Date: Sat, 5 Jan 2019 11:16:04 -0800 Cc: Mark Blackman , Hackers freeBSD Content-Transfer-Encoding: quoted-printable Message-Id: <451787DE-0659-4F7D-B011-904F90866DDB@gmail.com> References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <6DF138FB-E730-477A-A992-8FE1944DDE94@exonetric.com> To: Igor Mozolevsky X-Rspamd-Queue-Id: 236E18EF44 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=pm5OJDii; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::635 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com X-Spamd-Result: default: False [-5.87 / 15.00]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MV_CASE(0.50)[]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-0.94)[-0.937,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[5.3.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.42)[ip: (-8.15), ipnet: 2607:f8b0::/32(-2.19), asn: 15169(-1.66), country: US(-0.08)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 19:16:08 -0000 > On Jan 3, 2019, at 12:24, Igor Mozolevsky wrote: ... > And by what metric is that "safety" measured, how does one measure > "safety" objectively? To me, that sounds like a techie version of > virtue-signalling... Even the Rust-clan seem to be rather confused > about it: https://doc.rust-lang.org/nomicon/meet-safe-and-unsafe.html It=E2=80=99s pretty clear to me what the author means: rust features safe an= d unsafe extensions, much like C++, Java, Perl, python, tcl, etc. Generally s= peaking, =E2=80=9Cunsafe=E2=80=9D language features are those that require a= dditional care, like using malloc/free appropriately, avoiding global state,= locking resources as needed, etc. > Btw, Java is "safe" too, and it's been around for *much* longer! Not necessarily true. Are you aware of how native java extensions work? Java as a language was written to be generic/platform agnostic, however in o= rder to be useful, Java requires platform extensions. As such, Java supports= developers writing glue code in C/C++ (like python extensions), which can h= ave a host of potential issues with memory leaks, concurrency safety, etc, i= n addition to potential issues with security sandboxing and the like. With the number of zero-day bugs in java that have been in the language in t= he past few years, I don=E2=80=99t trust the language=E2=80=99s sense of saf= ety in terms of memory management and sandboxing in the JVM. Thanks, -Enji= From owner-freebsd-hackers@freebsd.org Sat Jan 5 19:31:07 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AAFB1141E8D9 for ; Sat, 5 Jan 2019 19:31:07 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com [IPv6:2607:f8b0:4864:20::533]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A55548FA05 for ; Sat, 5 Jan 2019 19:31:06 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg1-x533.google.com with SMTP id g189so18912342pgc.5 for ; Sat, 05 Jan 2019 11:31:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=iXDr4QA+06MhDCyDsgZc8fj/UF82tpUwWK0pmtqZ1o0=; b=heYwiBWSn7Vwnz5SenMbmwNlfURH2uZcn+ify2Us4SHBH5BMr2yDebN+PC15koyzT9 juk7Sol3j994N1425VuLIeM92/uW7HesHwpbTcIVoHD8BIoSE+HI0/C4w3QAe4NiVaUp 2gXe8UFCfVbUNQA00sG2+La5OxgJP0OGRFO+wobSXMTSKtsk6Fo+eEhXwlH78+puw0jO XxEEjXz4xfxyrSxbmXrCp4lh/smPBUdyg/OF45i2G+3hcQ02XiiIW59RRrmj19H/G7wd VyfMLahuqCq55ZGEz+TihjtQ69uRDKR+OYDsddQTsVVW9oPOAVRGPOMFk9G7TEn0JIj9 4xKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=iXDr4QA+06MhDCyDsgZc8fj/UF82tpUwWK0pmtqZ1o0=; b=eW4jqlgpxIFkBL0wug/UZfgpLHt3TlySQ7A2URlRcqqCcEFbd/N/b1ID/WTktHxUVr IkxcEjfCJdFHOw/5JcRTkLPwV1wH898MZZ3fs8jbYP/kh/GLyBk/gkCbCQIWskASoxM1 J9ZSEke+NJsPiymm3pupGK14i/iv1cvjPCcw/dCRLOxUaF2SihtqoPXEJ19rDyzLU6VD eErjxxB/qIsR075BIczR5L3VllgZMCxcGZPKLDvWdt3KUoROUjeelvkJ1U7qo4cVrGr5 w1hoHnf5G8EG+Ok5MozQYHKV1oLLtWKo/VVrDOPSMSssUTWY7VPFm4Rj2Zm0/AVCxeIW 6ykA== X-Gm-Message-State: AJcUukcoBBON9BomTwjThWSAVy+NyGskEHuUdtThOxz+Xq0D/rNQacx4 +a6rpodvZfFiM2QJn4Wb/5v5qHZL X-Google-Smtp-Source: ALg8bN7fLNt6BbuzbYkOIxG+Q+16G6NRTNFRCVeuUO37l6dWDbO8RQfWGCOgaNSHcpTJriM+RLnUeA== X-Received: by 2002:a63:6a05:: with SMTP id f5mr52019357pgc.72.1546716665163; Sat, 05 Jan 2019 11:31:05 -0800 (PST) Received: from ?IPv6:2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9? ([2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9]) by smtp.gmail.com with ESMTPSA id k15sm103247881pfb.147.2019.01.05.11.31.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 05 Jan 2019 11:31:04 -0800 (PST) Mime-Version: 1.0 (1.0) Subject: Re: Speculative: Rust for base system components From: Enji Cooper X-Mailer: iPhone Mail (16C104) In-Reply-To: Date: Sat, 5 Jan 2019 11:31:03 -0800 Cc: Wojciech Puchar , Hackers freeBSD , Igor Mozolevsky Message-Id: <297D3C7B-BA50-4C20-A1A6-DFFE7A07E1F9@gmail.com> References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> To: Warner Losh X-Rspamd-Queue-Id: A55548FA05 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=heYwiBWS; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::533 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com X-Spamd-Result: default: False [-6.09 / 15.00]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MV_CASE(0.50)[]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-0.94)[-0.936,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[3.3.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.65)[ip: (-9.31), ipnet: 2607:f8b0::/32(-2.19), asn: 15169(-1.67), country: US(-0.08)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 19:31:08 -0000 > On Jan 3, 2019, at 11:44, Warner Losh wrote: >=20 >> On Thu, Jan 3, 2019 at 12:32 PM Wojciech Puchar wrote= : >> >> That's precisely how ideas that most people disagree with get *pushed*= >> >> through by evangelists with confirmation bias! Like someone said >> >> earlier in the discussion: does Rust add anything? The answer is a >> >> resounding NO, save for bloat. >> > >> > And this is why one reason people say =E2=80=9CFreeBSD is dying=E2=80=9D= . >> > >> dying for whom? It=E2=80=99s mostly dead to developers I=E2=80=99ve run across. If I had a d= ime for each time that I heard a sysadmin/SRE say, =E2=80=9Cgee, I like Free= BSD, but I have to use Linux instead=E2=80=9D, =E2=80=9Cwhat is FreeBSD?=E2=80= =9D, or =E2=80=9Coh, that OS.=E2=80=9D, I would be a bit richer. Putting it this way, FreeBSD has been largely displaced by Linux in the data= center because of mindshare (the large amount of advocacy by sysadmins/SREs,= available documentation/training, etc), the fact that CI/distributed system= s/VM support just works (allowing developers to deliver features to market o= r do opensource development more quickly), the fact that mobile/desktop most= ly works with little to no tweaking (depending on the GNU/Linux distro/spin)= , etc. > And who is getting punished? We're having an interesting discussion about a= possible new technology to use and developing criteria to know when we will= know if/when it's useful. Apologies Warner=E2=80=94my goal in saying =E2=80=9Cshut up and code=E2=80=9D= (paraphrased), was to avoid continuing a bikeshed discussion, where there d= idn=E2=80=99t seem to be a lot of positive progress being made. Repeated statements (over 2x) like =E2=80=9Crust is bloat=E2=80=9D; =E2=80=9C= rust will never be in the base system=E2=80=9D; etc is imho, non-constructiv= e criticism. That=E2=80=99s more of where I was trying to come from with my r= eply to this subthread a couple days ago. Thank you for asking and pointing this fact out. I=E2=80=99m totally ok with= continuing constructive discussion on the merits/demerits of python, rust, e= tc (keyword being constructive). Thank you very much, -Enji= From owner-freebsd-hackers@freebsd.org Sat Jan 5 19:41:14 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9D1A1141EFBF for ; Sat, 5 Jan 2019 19:41:14 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A0806684AC for ; Sat, 5 Jan 2019 19:41:13 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf1-x442.google.com with SMTP id b85so19872115pfc.3 for ; Sat, 05 Jan 2019 11:41:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/DqXZ56Y9RtpGZpb6MDW+S7uAB/kNYCxYUGOs/KXlg8=; b=FvMr640j54lz9cLJTjyygnbDmxG9ylEUsFnG8rNk9stIU83XRbjRbT/ufiDk7p9+lY i4kGOPUI+Ls83L8V+1iF6FiK+UO/OWHVaNOoJEpXzMdnFFHvTEHh2iiwvkz+F2DP2bAo dIm+bwuSby5GNAh/oqU01nDYr2FJs0K1D+9AWP6eWubYRbcBCAtld/UOSw180Knp7Ck0 K4AaJ8W6c0yXg5T049JYnsJxt+3zWrdhKJVwl6ILpyVEO29GPpQ2FKcihJScoz8U2MDV bQ0fzMOmXRoJXifgY2zXBfew+ILLLN1HPnQkMU5DROqlfrd9X+heZTHdhiPEmrmvjW0T /qkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/DqXZ56Y9RtpGZpb6MDW+S7uAB/kNYCxYUGOs/KXlg8=; b=qp8Q4ZNAJ5ZyVATo1r4lU/wp2HjM00hG/fNbUO/fzgzkkWVyrU4rYLuVhEnfUjjH7Q T+ycE3uPhxu68GO8V4wpGwEl3R569Bot4FDiQ2dxtZDI7RNXiHmtJp8ZvaZzwEr/8oXD lZZ7TFyAeUGFFciZ8KegxCGOnJjJTG7GImZEuNTQoI4lMc5Ue20Ql+9dxJAEGnH7YsbS Od7/j+GxkoVGemZyzeAtR8WcrYfJ9lSqhT3Fk0kzmSYjpOaeUTgmyegkmKoSM3s4m+Kr MyvDnCNVTrjKg9DKuwGP5G1BW9WB31/EH8MD3LaGnVpkaRqXmD0SgNhGar50dP4YIW4l Pndw== X-Gm-Message-State: AJcUukcxMKbgEHR0PuRym+yJCz47c6hYtHa9/jNXcnSSLxSyHXOCkvLU gH2w5GS9tevskxtlflYx9xAEtiRL X-Google-Smtp-Source: ALg8bN6lab7fO838xDeGtf13kwoCEo15qDIfX5P2WzGhhuc8UvqIU9V/t/0t54d3+phV9YwP+oNYKQ== X-Received: by 2002:a65:5a4c:: with SMTP id z12mr5687424pgs.188.1546717272143; Sat, 05 Jan 2019 11:41:12 -0800 (PST) Received: from ?IPv6:2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9? ([2607:fb90:82a9:a99e:b851:5f32:3f1d:bd9]) by smtp.gmail.com with ESMTPSA id r80sm104705351pfa.111.2019.01.05.11.41.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 05 Jan 2019 11:41:11 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: Speculative: Rust for base system components From: Enji Cooper X-Mailer: iPhone Mail (16C104) In-Reply-To: Date: Sat, 5 Jan 2019 11:41:10 -0800 Cc: Hackers freeBSD Content-Transfer-Encoding: quoted-printable Message-Id: References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <7BCC2D20-7CC5-42B1-BBD2-F3D077D59081@gmail.com> To: Igor Mozolevsky X-Rspamd-Queue-Id: A0806684AC X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=FvMr640j; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::442 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com X-Spamd-Result: default: False [-0.53 / 15.00]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MV_CASE(0.50)[]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.30)[-0.302,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.74)[0.739,0]; NEURAL_HAM_LONG(-0.80)[-0.803,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2.4.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(0.34)[ip: (5.65), ipnet: 2607:f8b0::/32(-2.20), asn: 15169(-1.67), country: US(-0.08)] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 19:41:14 -0000 > On Jan 3, 2019, at 10:20, Igor Mozolevsky wrote: >=20 >> On Thu, 3 Jan 2019 at 17:41, Enji Cooper wrote: >>=20 >> Igor, >>=20 >>> On Jan 3, 2019, at 08:32, Igor Mozolevsky wrote: >>>=20 >>> That's precisely how ideas that most people disagree with get *pushed* >>> through by evangelists with confirmation bias! Like someone said >>> earlier in the discussion: does Rust add anything? The answer is a >>> resounding NO, save for bloat. >>=20 >> And this is why one reason people say =E2=80=9CFreeBSD is dying=E2=80=9D.= >>=20 >> If we stuck with status quo, we wouldn=E2=80=99t have llvm, would use jus= t PowerPC/I >=20 > Really, FreeBSD is dying because people don't want to experiment with > "new toys" that have *not* been proven to be effective at what they > claim to do while having been proven to be a bloat? Really, that's > your argument? Well, like And there I was thinking it way dying > because of long-term "issues" like this one: > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D203874 that prevent > me (and I suspect many many others) from virtualising FreeBSD and > causing a switch to the various flavours of Linux! Totally valid point. Given that I run VMware, I would like to see that fixed= as well. > Like Wojciech said, absolutely nothing prevents you from forking off a > branch and even re-writing the entire code in Rust, just don't turn > around and say "I spend X amount of time on it therefore it must be > integrated into FreeBSD-proper regardless of the numerous shortfalls"! > As it stands the base install is too large as it is, and I have > recompile the whole thing with a whole bunch of WITHOUTs already, and > you're saying more bloatware should be added. I did my best to add those MK_* knobs a few years ago to speed up the build.= I=E2=80=99m glad it=E2=80=99s usable.. > Maintainability is not about code, it's about people's skills and > documentation, if one is inept at C, or Python, what on Earth makes > you think they would write amazing code in Rust? Your argument simply > doesn't follow there at all. CompSci courses in the US (at least) has curricula which is based on Java/py= thon. I had a hard enough time getting people to write modern C at Facebook (the p= rimary language was modern C++ for infra, with Java and Python being other c= ommonly used languages). People as a whole don=E2=80=99t like raw=20 >> Tl;Dr: if you don=E2=80=99t have anything constructive to say, please ret= hink your replies and provide constructive criticism. Constructive criticism= is welcome. Armchair nitpicking is not. >=20 > Here's my constructive criticism: don't waste resources on an unproven > and still-evolving language; if you have *that* much free time on your han= ds > start working through BugZilla. >=20 >=20 > -- > Igor M. From owner-freebsd-hackers@freebsd.org Sat Jan 5 19:54:11 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 462BD141F639 for ; Sat, 5 Jan 2019 19:54:11 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 611C36A2AA for ; Sat, 5 Jan 2019 19:54:10 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id fs17gZlCCMRX3fs18g3BA3; Sat, 05 Jan 2019 12:54:02 -0700 X-Authority-Analysis: v=2.3 cv=TL87tGta c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=8nJEP1OIZ-IA:10 a=3JhidrIBZZsA:10 a=pGLkceISAAAA:8 a=heTAvR70AAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=zcBEirNQ0PO-mf0p6CUA:9 a=wPNLvfGTeEIA:10 a=lJIPGLpbTLIA:10 a=UrJ2pwYPfabwj1STkZPu:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 0F45919A; Sat, 5 Jan 2019 11:53:57 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x05Jru3D071123; Sat, 5 Jan 2019 11:53:56 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x05JrucZ071109; Sat, 5 Jan 2019 11:53:56 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901051953.x05JrucZ071109@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Enji Cooper cc: Wojciech Puchar , Cy Schubert , Igor Mozolevsky , Hackers freeBSD Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) In-Reply-To: Message from Enji Cooper of "Sat, 05 Jan 2019 10:38:27 -0800." <0EB517DF-376E-435A-B24D-A4964D0F148F@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Date: Sat, 05 Jan 2019 11:53:56 -0800 X-CMAE-Envelope: MS4wfILTsCePmtabPW3U2Et31tOHpNksGEEAX+DYSwybjPLFFpUUoJqRh1ceQJMDtWde1syVlBfVcrGpUDlERVKSMh9ar1NE4vsd313sZpzlhp7mPGcuu/iI bqWbDkNmZrdie/WQq2j1gTLAVitH3fZUafBdFN1vUfP0GKMYAdpnl2CiT/b8H1Qazkk2o6NoChLuhz9baBydcaaE8j0nP7mdaXrN9plhw/jwzEXjs8rZ1Meu 9bn170CGDoaDplxD+/qanMHstoFSaYO1d5emxVVjfiDKytgrWDI4/f4/f+rwzv8f X-Rspamd-Queue-Id: 611C36A2AA X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.52 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; MV_CASE(0.50)[]; HAS_XAW(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; NEURAL_HAM_SHORT(-0.95)[-0.952,0]; FREEMAIL_TO(0.00)[gmail.com]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_LOW(-0.10)[9.134.59.64.list.dnswl.org : 127.0.5.1]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_COUNT_FIVE(0.00)[5]; REPLYTO_EQ_FROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(-1.86)[ip: (-4.80), ipnet: 64.59.128.0/20(-2.44), asn: 6327(-1.95), country: CA(-0.09)]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_NA(0.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 19:54:11 -0000 In message <0EB517DF-376E-435A-B24D-A4964D0F148F@gmail.com>, Enji Cooper writes : > On Jan 5, 2019, at 07:07, Wojciech Puchar wrote: > > >>>> A) FreeBSD needs to become a platform that can host current and > >>>> evolving virtualization technologies. > >>>> > >>>> B) FreeBSD should be able to play in the container space similarly to > >>>> Linux. Unfortunately I believe that this horse has left the barn and it > >>>> may be too late. Then again maybe there is something we can redeem. > >>> > >>> C) Make FreeBSD like others. So why making FreeBSD? > >> > >> Because we offer some technologies the others do not. Unfortunately > >> inferior and incompatible approaches (similarly: VHS vs BETA, Blue Ray > >> vs HD) have left us on the outside. Try porting Kubernetes to FreeBSD. > > no need to. > > Actually, not having Docker/Kubernetes support makes it more difficult to rid > e the CI/distributed system wave, requiring FreeBSD to reinvent the wheel to > do CI, and force various groups to write their own homegrown distributed syst > ems infrastructures instead of leveraging existing technologies. > > >> The technologies used today are more than just fads. They are building > >> blocks onto which future technologies will be built. > >> > > and this is really sad. > > Not really. It’s a sign of maturity as most things now run on a “cloud ba > sed” infrastructure, or small embedded OSes running embedded Linux (not Fre > eBSD). > > >>> Not everyone needs the same. > >> > >> Niche. We should be more than simply a desktop O/S (which BTW I use as > >> my primary desktop) and we should be more than a simple bare metal O/S. > > > > Simple bare metal O/S is what is really needed. > > Not really. As Cy pointed out, in order to ensure that FreeBSD is well-suppor > ted by large companies (Dell, Facebook via WhatsApp, Juniper, and Sony were s > ome of the large contributors over the past couple years, along with a host o > f other smaller storage companies), so it continues to exist in a healthy way > , it needs to be dynamic and customizable to meet the needs from embedded dev > elopment up to large-scale distributed systems. A number of these companies h > ave considered switching away from FreeBSD to Linux because FreeBSD is niche > (see Microsoft with Hotmail, Yahoo, etc). Let’s not give developers willing > to make the switch more ammunition to do so. This has everything to do with relevance. Look at where illumos and all the other *BSDs are. They're pretty much hobbyist operating systems. The discussion on an illumos developers mailing list has given me that impression as well. At $JOB my customers are migrating from AIX, Solaris and even Windows to Linux and from traditional Linux to microservices run under OpenShift. As I told my manager at $JOB those many years ago, the operating system will become a stub. We are now realizing this. The other thing I see at $JOB is the network is now being virtualized using NSX. Our Checkpoint firewalls are no longer physical but virtual. FreeBSD with jails and VIMAGE is in a great position to play in this space as well. An example might be, at $JOB we are using vRO and vRA but it could be as easily done using Kubernetes and ansible to centrally manage network of virtual and physical FreeBSD based firewalls. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-freebsd-hackers@freebsd.org Sat Jan 5 20:15:05 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B302714210E5 for ; Sat, 5 Jan 2019 20:15:05 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com [209.85.167.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B52936B1A8 for ; Sat, 5 Jan 2019 20:15:04 +0000 (UTC) (envelope-from mozolevsky@gmail.com) Received: by mail-oi1-f174.google.com with SMTP id x202so32992756oif.13 for ; Sat, 05 Jan 2019 12:15:04 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=lbSfcPEDEzu5mrhLS0oe6i464Y7C950Df+DAK3JBL/s=; b=KBNsEGPj7jV0LEPvsxopDPxVRO5kdrU4BkLrUbQV4obVJWGtnA5MU2zF04ycINEqYc igdQSPTPtq7qgLrLAMIzErpxW5kKGUYshtdzgjWhxieRivzarHw4h2NZ2VayKbMaG8mw f54t2ocMYFVKfklEpyUxEUjryjBhVdagx4VzejYHWr/0SV/MoDYe+iJJphI17rJG37W5 TYrLYXKV06g1sI8y9TlODdl1Ezz3eaQwyWn/M3xsEsYLhzy596gvW8rJb9ynaxjQl5Ok 5JpBj1Wr97QlLAbfpgTJsSmmxHGV2lz/9njgO4mPcNurQo4JErfPHXFz8/SN0fW2KFpl 8UDg== X-Gm-Message-State: AJcUukfQCKMohcKmoViPV+OtzafExxJOjdgS84a/KOALreTPSlG4RcuH S1W+yu5n9DrS0pOV22dMklncxh7In/SfHzNX3L0= X-Google-Smtp-Source: ALg8bN6Mci/sUY5Skw0R+1pqkBRq8HH74L9UJ5cSa4BMoPy5EgHJ+d81Nmi/KIBw3eAyhyh93QyL2IFMF6y3QrUdnrk= X-Received: by 2002:aca:c382:: with SMTP id t124mr4416185oif.220.1546717346233; Sat, 05 Jan 2019 11:42:26 -0800 (PST) MIME-Version: 1.0 References: <201901021829.x02IT4Kc064169@slippy.cwsent.com> <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com> <6DF138FB-E730-477A-A992-8FE1944DDE94@exonetric.com> <451787DE-0659-4F7D-B011-904F90866DDB@gmail.com> In-Reply-To: <451787DE-0659-4F7D-B011-904F90866DDB@gmail.com> From: Igor Mozolevsky Date: Sat, 5 Jan 2019 19:41:49 +0000 Message-ID: Subject: Re: Speculative: Rust for base system components To: Enji Cooper Cc: Hackers freeBSD Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: B52936B1A8 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mozolevsky@gmail.com designates 209.85.167.174 as permitted sender) smtp.mailfrom=mozolevsky@gmail.com X-Spamd-Result: default: False [-3.99 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[hybrid-lab.co.uk]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[174.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.88)[-0.884,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; FORGED_SENDER(0.30)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; FREEMAIL_TO(0.00)[gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[igor@hybrid-lab.co.uk,mozolevsky@gmail.com]; IP_SCORE(-1.10)[ipnet: 209.85.128.0/17(-3.77), asn: 15169(-1.67), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 20:15:05 -0000 On Sat, 5 Jan 2019 at 19:16, Enji Cooper wrote: > > > On Jan 3, 2019, at 12:24, Igor Mozolevsky wrote: > ... > > > And by what metric is that "safety" measured, how does one measure > > "safety" objectively? To me, that sounds like a techie version of > > virtue-signalling... Even the Rust-clan seem to be rather confused > > about it: https://doc.rust-lang.org/nomicon/meet-safe-and-unsafe.html > > It=E2=80=99s pretty clear to me what the author means: rust features safe= and unsafe > extensions, much like C++, Java, Perl, python, tcl, etc. Generally speaki= ng, > =E2=80=9Cunsafe=E2=80=9D language features are those that require additio= nal care, like using > malloc/free appropriately, avoiding global state, locking resources as ne= eded, > etc. > > > Btw, Java is "safe" too, and it's been around for *much* longer! > > Not necessarily true. Are you aware of how native java extensions work? > > Java as a language was written to be generic/platform agnostic, however i= n > order to be useful, Java requires platform extensions. As such, Java > supports developers writing glue code in C/C++ (like python extensions), > which can have a host of potential issues with memory leaks, concurrency > safety, etc, in addition to potential issues with security sandboxing and= the like. > > With the number of zero-day bugs in java that have been in the language > in the past few years, I don=E2=80=99t trust the language=E2=80=99s sense= of safety in terms > of memory management and sandboxing in the JVM. You're being deliberately obtuse, right? Because there's no "native Rust extensions" (i. e. you can't make Rust call a buggy and unsafe c-library)? And can you seriously guarantee that there will be no zero-day bugs in Rust libraries, there's probably none *found* yet simply because hardly anyone does anything serious in it! Your slating of Java is just as applicable to Rust with the caveat that Rust has been around and thus explored and abused far less. Why would you trust automagic memory management in Rust when you don't trust Java's? Rhetorical, of course, as there's no sensible answer. -- Igor M. From owner-freebsd-hackers@freebsd.org Sat Jan 5 14:44:35 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AFD50149D1CA for ; Sat, 5 Jan 2019 14:44:35 +0000 (UTC) (envelope-from Alexander@leidinger.net) Received: from mailgate.Leidinger.net (mailgate.leidinger.net [IPv6:2a00:1828:2000:313::1:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 86B028529F for ; Sat, 5 Jan 2019 14:44:32 +0000 (UTC) (envelope-from Alexander@leidinger.net) Date: Sat, 05 Jan 2019 12:06:06 +0100 Message-ID: <20190105120606.Horde.uAUbjCtZfZHG93S2hfmiOCc@webmail.leidinger.net> From: Alexander Leidinger To: freebsd-hackers@freebsd.org Subject: Re: Strategic Thinking (was: Re: Speculative: Rust for base system components) References: <201901042219.x04MJf4w085379@pdx.rh.CN85.dnsmgr.net> <79545.1546641751@critter.freebsd.dk> In-Reply-To: <79545.1546641751@critter.freebsd.dk> User-Agent: Horde Application Framework 5 Accept-Language: de,en Content-Type: multipart/signed; boundary="=_kZtWaaHv-qieQ_qOSjchbs3"; protocol="application/pgp-signature"; micalg=pgp-sha1 MIME-Version: 1.0 X-Rspamd-Queue-Id: 86B028529F X-Spamd-Bar: --------- X-Spamd-Result: default: False [-9.70 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[leidinger.net:s=outgoing-alex]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; TO_DN_NONE(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_ONE(0.00)[1]; DKIM_TRACE(0.00)[leidinger.net:+]; DMARC_POLICY_ALLOW(-0.50)[leidinger.net,quarantine]; MX_GOOD(-0.01)[mailgate.leidinger.net]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_SHORT(-0.98)[-0.981,0]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; IP_SCORE(-3.61)[ip: (-9.56), ipnet: 2a00:1828::/32(-4.78), asn: 34240(-3.71), country: DE(-0.01)]; ASN(0.00)[asn:34240, ipnet:2a00:1828::/32, country:DE]; RCVD_TLS_ALL(0.00)[] X-Mailman-Approved-At: Sat, 05 Jan 2019 23:45:08 +0000 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2019 14:44:36 -0000 This message is in MIME format and has been PGP signed. --=_kZtWaaHv-qieQ_qOSjchbs3 Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Quoting Poul-Henning Kamp (from Fri, 04 Jan 2019=20=20 22:42:31=20+0000): > -------- > In message <201901042219.x04MJf4w085379@pdx.rh.CN85.dnsmgr.net>,=20=20 >=20"Rodney W. Grimes" writes: > >>> ... and RPi's, access-points, NAS devices, routers, televisions,=20=20 >>>=20photocopiers, >>> sewage-treatment-plant-monitoring, high-voltage-switching, >>> stock-trading, air-traffic-control, scientific super-computing, >>> antiproliferation-monitoring, laptops, desktops and ... >> >> As far as I am concerned Linux can have the datacenter... >> I find this list much more interesting :-) > > Me too. > > Data-centers are booooring! Which means that x developers with commit bits in FreeBSD are free to=20=20 develop=20whatever they want. This does not mean that all users of FreeBSD agree. This does not mean that all developers with commit bits in FreeBSD agree. Do you want to limit what y developers with commit bits in FreeBSD are=20= =20 working=20on? From what I hear here I get the impression that there are people=20=20 which=20want to limit that y developers want to explore the benefits of=20= =20 feature=20A. Nobody told so war we have to import anything into base=20=20 yet.=20The initial request was to get an idea about opinions. Nobody=20=20 told=20we have to rewrite the kernel in rust, there were infos that=20=20 there=20may be benefit in having parts of it in rust, which can be=20=20 explored=20e.g. in ports. Nobody asked to replace a critical boot time=20= =20 component.=20As we are not a company were the people are paid to work on=20= =20 specific=20items (yes, there are people paid to work in parts, please=20=20 forgive=20me that I don't count them here... we don't talk about them=20=20 doing=20this work), we can not really tell that this takes away=20=20 development=20resources away from other work (those developers may not=20= =20 work=20on something else, or they may work on something which is not=20=20 "strategic"). And=20if you really think that containers (in whatever color...=20=20 kubernetes,=20docker, "jails" or whatever) are only datacenter tools...=20= =20 well...=20have again a look at NAS devices, laptops, and desktop systems=20= =20 (and=20whatever). I don't have a datacenter at home, but I use a lot of containers at=20=20 home.=20I use them in the "jail"-color (every service his own jail, I=20=20 even=20have a desktop-setup-in-a-jail...). I don't use them as is, I use=20= =20 tools.=20ezjail, iocage, whatever color you want. Would openstack be=20=20 overkill=20here? Maybe. Maybe not. Would I give it a try if we would=20=20 have=20openstack in ports in my basement? Yes I would -- why should I=20=20 limit=20myself to linux to have a look at openstack/kubernetes/docker...=20= =20 we=20have the infrastructure to make it possible (I let it up to you to=20= =20 decide=20if we have a better infrastructure/base for this or not). I expect in the long run virtualisation and containers arrive in a lot=20= =20 of=20places, even in those you have listed above as not boring. There=20=20 are=20benefits in the upgrade path, there are benefits in handling=20=20 dependencies=20(compared to an one box does everything), there are=20=20 benefits=20in the security area (yes, we have capsicum which addresses=20= =20 some=20aspects, but not all as if each part runs in it's own jail). FreeBSD comes from the "power to serve" area. You can off course tell=20=20 that=20access-points, NAS devices (which also exist in datacenters...)=20= =20 and=20routers are "serving", but datacenters are the traditional area of=20= =20 "the=20power to serve". Basically if you tell that datacenters are=20=20 boring,=20you tell that we shall turn around and that e.g. the CDN of=20=20 Netflix=20is not the area we want to target (I would not agree that this=20= =20 CDN=20is some sort of NAS, for me this is more like a=20=20 web-/ftp-/-server,=20so something which resides=20=20 traditionally=20in a datacenter). Bye, Alexander. --=20 http://www.Leidinger.net=20Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF http://www.FreeBSD.org netchild@FreeBSD.org : PGP 0x8F31830F9F2772BF --=_kZtWaaHv-qieQ_qOSjchbs3 Content-Type: application/pgp-signature Content-Description: Digitale PGP-Signatur Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJcMI+eAAoJEBINsJsD+NiGit8QAJg+cJTn87USUq3cGxCHXd1m IbJ8vKIZiAWuK5vsWBLHVvB/mI1WyMfjJZLjR9s2/IOvfL661vzddA9PjMcQB+H+ uaKBgrmSY3JxAGwwfG/iAj3/L/9DwcSwWxBQTFNcnefS3TcdxO91D2br41IYNbSP j1h0yApWJJGKYsf31VpsOIbmKiymMDJSGo9oIusLURp5gvF8k8K2rq8WjX/wEmpp OHRqJe3j7UyThKVHlqiwtyWv4hCvKdDQPuVISX/abjNPiK+FYoE2rCEPlz2ZrNFu e6Zvt681h+2r9YthypLgmGWe24ccuut4SGw6YykNyoQ5xhe2qma7sgDHAR+2Hd47 2Cns69AZV20D5a1OF/O1VVaHzPXoWwuPaEtP6AJzjGIfj/xoAOzbXcHKo9K/a8qq ZEh1wv/y/C9V3eNPCKRASPKQIh4Zhqe5xh1zDD4I/8NTo9xtuaHPTPAw3lRlep+w YS4lmW8stns49dJLRfPAd1GXHQuEGUqXNNmuTxN0UgJuk/te6zy5FVuO1InJAZCK LVk8lrDYe7K5P3LKCL6JdI07GzcZChELHP2zcpAXqldWFglrFfQd3UpvvYLAAwe2 CpcST+zVHOT4/nyf4KLyud7ahvR14nKLfmCpG9HiwWIe0SEocneMKOTTPQco7RuW 94+tDnJDh95MrMsTJDps =Dmpe -----END PGP SIGNATURE----- --=_kZtWaaHv-qieQ_qOSjchbs3--