Announcement

Collapse
No announcement yet.

Linux 4.9 Kernel Tacks On Over 200k Lines Of Code

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by hansg View Post
    Isn't it time for Linux to switch to a micro-kernel model, where driver code gets developed completely independently from the kernel itself?
    If you switch to microkernel you basically open the door to blob drivers, and none wants that (linux kernel devs).

    Having drivers integrated like this (they are still modules anyway) is better for developers as keeping everything there they can see what is happening to everyone and can team up to add features to kernel if needed.

    Also, there is no such thing as "switching" a kernel's founding principle, you'd have to rewrite most of it.

    Yesterday we had this posting about all those 'exciting' new features and it was all new drivers...
    Is this the best reason you can come up with for "why linux should switch to microkernel"?
    Most people here know that drivers are developed with kernel.

    Comment


    • #12
      Originally posted by starshipeleven View Post
      If you switch to microkernel you basically open the door to blob drivers, and none wants that (linux kernel devs).
      I prefer having stable drivers even if they are blobs. All other operating systems have stable ABIs except Linux, and they dont have any of the Linux problems with upgrading the kernel and drivers break. I think this is a problem, as many other Linux devs do too

      Comment


      • #13
        Originally posted by UbuntuRulez View Post
        You are not the only one thinking about this. Several other have pondered this. Here is a Linux kernel developer suggesting something similar
        1. That guy is not a kernel developer.
        2. ABI stability is bullshit even on Windows, stuff changes every major windows release and on some patches.
        3. linux kernel has a faq about stable API/ABI that is an obligatory read for all that still want a stable API/ABI https://git.kernel.org/cgit/linux/ke...i_nonsense.txt

        Comment


        • #14
          Originally posted by UbuntuRulez View Post
          I prefer having stable drivers even if they are blobs.
          Good, point is, blobs won't allow that. Windows drivers are a sorry mess, most hardware born with a windows X version usually dies with the same version, apart from a few select devices like GPUs or some TV cards that last 2 windows versions or even three.

          Meanwhile on Linux the only drivers that get dropped from mainline are for VERY obsolete stuff like 14 years old GPUs, the first i386 CPU, and stuff like that.

          All other operating systems have stable ABIs except Linux,
          blatant bullshit. Maybe OSX has stable ABI as they don't develop it at all at the lower levels as they don't need that.
          Aand they dont have any of the Linux problems with upgrading the kernel and drivers break.
          From the cave you live in, you probably never saw the raging shitstorms that Windows 10 brought on with hardware drivers for older windows versions not working and so on.

          as many other Linux devs do too
          That guy you posted isn't a dev, but a tester and bug reporter, and anyway he is not "many". Please show "many other linux devs".


          Comment


          • #15
            So, you are very forcefully, saying that Linux does not have any problems with device drivers breaking when upgrading the Kernel? There are no such problems? Maybe you can try to convince all the thread starters in Linux forums about their hardware not working because they upgraded the Kernel. "No, you dont have a driver problem after upgrading the kernel, your hardware works fine!"

            Comment


            • #16
              Originally posted by Master5000 View Post

              This is the reason Linux is dead. Because of morons like you and that includes Linus too. Lack of ABI stability is the reason Linux won't take over the desktop.
              So you do admit that "the only drivers that get dropped from mainline are for VERY obsolete stuff", and you complain anyway for "Lack of ABI stability", because… ??

              Comment


              • #17
                Originally posted by Master5000 View Post
                I don't admit anything. You're putting words in my mouth.
                But you did. Even in the prev. message you didn't say like a non-ancient driver was dropped because of this.
                Originally posted by Master5000 View Post
                What I say is that stable ABIs mean it will be easier for driver developers to exist. Not everybody wants to change their driver when some moron changes ABIs.
                This is true. But a medal has both sides, and the one you're defending is overrated.
                Originally posted by Master5000 View Post
                You must be an immature script kiddie programmer who like changing things just because he read somewhere on the internet that this is the new way to do things l33t. If Microsoft can do it and the great Linus Torvalds and company can't well then, it looks like Windows > Linux. And the beauty is that 90% of the world agrees with me. It's only the basement dwellers that don't...
                Well, I do have enough of my own experience to know how a new little feature may screw up an architecture that was — it seemed so — thoroughly thought through to allow everything new.

                And though I'm not a kernel dev, but as enthusiast I see how often appears new devices with specifics that nobody would expect, or turns out clear that some parts of API might be improved for better performance, management, etc — again, because at its beginning something wasn't obvious.

                Anyway, I see how it helps to kernel development. And you still didn't explain what could go differently if kernel have had stable API.

                Comment


                • #18
                  Originally posted by starshipeleven View Post
                  If you switch to microkernel you basically open the door to blob drivers, and none wants that (linux kernel devs).
                  Well, that's just your opinion, isn't it? I want that. The people I work with want that. My customers want that (or at least don't care about it but would sure appreciate the benefits). Having a stable ABI would allow GPU makers to release a single driver valid for all Linux kernels. Shock horror, Linux might actually get day-1 stable drivers for all GPUs! And at work I'm 'blessed' with hardware that you have never even heard about (obscure interface cards) that are supported on Linux - if you are running a very specific, ancient version of Linux, and only that version and no other. Since it lacks a modern C++ compiler, sadly I cannot run my software on it, so we just continue to run Windows instead.

                  Originally posted by starshipeleven View Post
                  Having drivers integrated like this (they are still modules anyway) is better for developers
                  Really?
                  - Quite a few companies would be happy to maintain a Linux driver if there were a stable ABI, but they aren't interested in chasing kernels.
                  - As a corrolary, much of the effort spent on writing Linux drivers could be spent on more productive goals.
                  - A leaner, simpler kernel would be easier and more fun to develop for.
                  - An unstable driver cannot bring down the kernel if it is running in its own process.
                  - Recompiling the kernel would be massively faster.
                  - New hardware could be supported on older Linux releases.
                  - New hardware could be supported on day 1, instead of when Linus decides to release a new kernel.
                  - If a driver breaks in a new kernel release, it would be easy to roll back just that driver.
                  - Instead of an all-or-nothing approach, a combination of drivers and kernel could be picked that works best for a certain task or environment.

                  Which of these things is bad for developers?

                  Originally posted by starshipeleven View Post
                  as keeping everything there they can see what is happening to everyone and can team up to add features to kernel if needed.
                  If there were a stable ABI there would be no need to 'see what is happening'. And 'adding features' should never be a reason to break that stable ABI anyway. Maybe extend it, maybe introduce an entirely new version (side by side with the old one), but not break it. That's software engineering 101.

                  You may argue (as some did earlier in the thread) that Windows occasionally got the stable ABI thing wrong. That just means it is hard; it does not mean it is not worth having, or that having a completely different ABI in each release is therefore more desirable.

                  Originally posted by starshipeleven View Post
                  Also, there is no such thing as "switching" a kernel's founding principle, you'd have to rewrite most of it.
                  Duh, you think? And here I was thinking you could just compile it with the -rewrite-to-microkernel switch... (/sarcasm)

                  Originally posted by starshipeleven View Post
                  Is this the best reason you can come up with for "why linux should switch to microkernel"?
                  Strawman...

                  Originally posted by starshipeleven View Post
                  Most people here know that drivers are developed with kernel.
                  No, most people don't know that. That's because it is not true. Just because Linux does it like that, it does not somehow become a law of nature that it must be so, and in fact in a healthy ecosystem drivers would be maintained (and run) outside of the kernel.

                  Comment


                  • #19
                    Originally posted by Master5000 View Post
                    Not everybody wants to change their driver when some moron changes ABIs.
                    As far as I've understood, and I could be wrong here, if someone changes APIs inside Linux they must also fix the drivers that it breaks, unless the broken driver is in staging. Yeah, I know that's about API not ABI, but anyway that just highlights the fact that on Linux all the drivers should be in kernel.

                    Maybe those that really want stable ABI on Linux should fork it and see how that goes. Or use and develop some other kernel, because there are plenty of microkernels out there.

                    Comment


                    • #20
                      Originally posted by UbuntuRulez View Post
                      So, you are very forcefully, saying that Linux does not have any problems with device drivers breaking when upgrading the Kernel?
                      No, I'm saying that Windows, the land of ABI stability, has the same problems. When they update the kernel by jumping to another major mwindows version stuff breaks.

                      Maybe you can try to convince all the thread starters in Linux forums about their hardware not working because they upgraded the Kernel.
                      Regressions aren't anywhere that common, but updating the kernel isn't something allowed nor recommended by most distros. If you do so, you are on your own.

                      The bigger issue is that the kernel in the distro is too old to recognize the hardware, especially for the usual Ubuntu LTS.

                      Comment

                      Working...
                      X