5 ms·
This is nothing new. I followed kernel development pretty closely about a decade ago and I was honestly very disappointed in what I saw. It's all about features
by exmadscientist 8y ago
This is nothing new. I followed kernel development pretty closely about a decade ago and I was honestly very disappointed in what I saw. It's all about features, features, features, and there's almost no testing beyond "well, it works on my machine". It's kind of ironic that Linux has become the C++ of kernels, given Linus's feelings about C++: a giant pile of features, many of which nobody really understands, that can have some really weird corner case interactions.
I switched to FreeBSD as a result of my time reading LKML. The BSDs seem, at least to me, to be more designed rather than thrown together; but maybe I just haven't spent enough time watching their sausage get made.
Hopefully now that a senior kernel developer (Chinner) is saying some of these things publicly, things can get better. But a culture change of the magnitude needed will not come quickly.
- m45t3r 8y agoI don't think it is surprise that Linux is about adding more features in an organic way, instead of being well thought like *BSDs. However saying that no testing happens in Linux kernel is dishonest, to say at least: there is automated tests maintained by big corporations like LTP [1] or autotest [2], thousands of people run different versions of unstable/mainline kernels with different configurations, security researches does multiple tests like running fuzzers and reporting issues, multiple opensource projects run tests in current versions of Linux kernel (that in the end also serves as a test of kernel itself), etc etc. Linux is basically the kind of project that is big enough and impactful enough that naturally gets testing for free from the community. [1]: https://github.com/linux-test-project/ltp https://github.com/linux-test-project/ltp [2]: https://github.com/autotest/autotest https://github.com/autotest/autotest
- maltalex 8y ago> Linux is basically the kind of project that is big enough and impactful enough that naturally gets testing for free from the community. That makes intuitive sense, but is it really true? Is Linux being throughly tested by the community?
- qlk1123 8y agoHow do you define "throughly" anyway? Just like a comment in the original post, >>But anything less than 100% coverage guarantees that some part of the code is not tested... > And anything less than 100% race coverage similarly guarantees a hole in your testing. As does anything less than 100% configuration-combination coverage. As does anything less than 100% input coverage. As does anything less than 100% hardware-configuration testing. As does ...
- notacoward 8y agoThis has always been my problem with the "many eyes make all bugs shallow" theory. It's a random walk. The most common features and configurations will get tested over and over and over well beyond the point of usefulness. Less common features might not get tested at all. In fact it's worse than a random walk, because usage is even more concentrated in a few areas. Yes, the fuzzers etc. do find some bugs, but relative to the size and importance of the project itself they're smaller than they would be on most other kinds of projects. There's just no substitute for rigorous unit and/or functional tests, constructed with an eye toward what can happen instead of just what commonly does happen in the most vanilla usage. Unfortunately, UNIX kernel development - not just Linux - has never been strong on that kind of testing. Part of the reason is the inherent difficulty of doing those sorts of tests on such a foundational component. Part of it is ignorance, which I mean as simply "not knowing" and not as an insult. Part of it is macho kernel-hacker culture. Whatever the reasons, it needs to change.
- m45t3r 8y ago> The most common features and configurations will get tested over and over and over well beyond the point of usefulness. Less common features might not get tested at all. Not that I wouldn't want a featured Unix-like kernel with a comprehensive[1] test suite (and I don't know any major OS that have this, not Windows, macOS or Linux), however I think this is fine. Common setups works fine, uncommon configurations may have some problems, with possible workarounds. Most people will not run mainline kernels anyway, so a workaround is acceptable. [1]: What I mean by comprehensive is basically having tests for every possible configuration, that is basically impossible anyway. Probably the closest thing we can get is formally proven OS, however I don't think we will even have a general purpose OS formally proven.
- Shorel 8y agoOk, I will check these links to try to generate log files. Because the Linux kernel for sure is going crazy in my new laptop. The lack of AMD support is mindblowing, to say the least.
- kev009 8y agoAMD laid off a lot of their Linux devs in 2012, and it still hasn't recovered [1] [1] https://linux.slashdot.org/story/12/11/07/1634237/amd-closes-osrc-lays-off-several-linux-kernel-developers https://linux.slashdot.org/story/12/11/07/1634237/amd-closes...
- int_19h 8y agoWhat do you mean by "lack of AMD support"? CPU? GPU?
- Shorel 8y agoI wish I knew. Using a Dell Inspiron with AMD Ryzen CPU and AMD Vega 8 GPU. Sometimes it just does not boot. Sometimes it works fine for some hours, and totally locks up when I click a button in Firefox.
- nly 8y ago> "well, it works on my machine". I don't know why you'd be surprised by this. The top kernel on kernel.org's front page is literally just Linus's personal tree. "Upstream" is context-sensitive but "mainline" has always been Linus's personal tree. In reality, what matters to most users is what goes in to Debian stable or RHEL, and those kernels are far from just "works for me" tested.
- slondr 8y agoLinux has always been treated like it's Linus's personal project. That's why more than a few of us believed that Linus taking a 'break' a few months ago was the beginning of the end. It turns out that not much changed, but the culture is still there.
- cageface 8y agoCould this be part of the motivation for Google to develop Fuchsia?
- ori_b 8y agoIf it's anything like most of Google's code, it's also going to be features features features, with weird corner cases and interactions.
- newnewpdro 8y agoIf FreeBSD had received a fraction of the resources Linux has received over the last decades, it would have its own share of scars left by the growing pains. For years FreeBSD development was very stagnant while Linux exploded in popularity and support. The comparison is silly.
- nwmcsween 8y agoEh FreeBSD and *BSD suffers from the shiny disease as well.
- ksec 8y agoIt is Intelligent Design and Order (BSD*) versus Natural Selection and Chaos (GNU/Linux). Not saying which one is better, I guess everyone has preference. Although I really wish FreeBSD is more widely deployed and used.