Announcement

Collapse
No announcement yet.

How Google's Android Maintains A Stable Linux Kernel ABI

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

  • How Google's Android Maintains A Stable Linux Kernel ABI

    Phoronix: How Google's Android Maintains A Stable Linux Kernel ABI

    While the Linux kernel is well known for not offering a stable API/ABI, Google and other enterprise Linux distribution vendors tend to aim at providing their own stable ABI for the lifespan of their products. Google engineers talked in Portugal this week at Linux Plumbers Conference 2019 about some of their means to maintaining a stable API/ABI for Android's Linux kernel...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Huh. Well I'll be damned. Here I was thinking their method was to stick with old kernels.

    I don't think I have a single Android device that runs newer than 4.0.X and my current tablet and phone both run 3.1X (3.10 and 3.17).

    Comment


    • #3
      Which kinda invalidates the claim that Linux is the most popular kernel in the world 'cause Google doesn't use the mainline kernel. They have a very special fork with tons of patches which they maintain on their own. That also explains why they're busy developing Zircon - they want their own fast and efficient kernel which features stable ABIs/APIs out of the box, unlike the Linux kernel where stable APIs are nonsense.

      I'd venture to say that kernel developers' position in this regard is nonsense but ardent open source fanboys will find the most bizarre arguments to defend this point of view even though many are using ZFS and other out-of-kernel modules whose developers consonantly struggle to maintain compatibility.
      Last edited by birdie; 15 September 2019, 08:59 AM.

      Comment


      • #4
        I thought the userspace API was stable, and that only the internal ABI was not.

        Comment


        • #5
          Originally posted by doragasu View Post
          I thought the userspace API was stable, and that only the internal ABI was not.
          Well, other popular kernels offer stable internal APIs/ABIs, e.g. ntoskrnl.exe, XNU, qnx, etc. Not indefinitely of course.

          Comment


          • #6
            Originally posted by birdie View Post
            Which kinda invalidates the claim that Linux is the most popular kernel in the world 'cause Google doesn't use the mainline kernel.
            Semantics. Google certainly does use the Linux kernel (especially LTS ones). Read the slides.

            I'd venture to say that kernel developers' position in this regard is nonsense but ardent open source fanboys will find the most bizarre arguments to defend this point of view
            I'd venture to say that at least 90% of the crap you write here is nonsense. Just because Google wants a stable ABI in their ecosystem does not mean the approach is necessary/desirable upstream or for other Linux users. The great thing about Linux is that both approaches can exist, especially with LTS kernels.

            Comment


            • #7
              A major software developer which has struggled with the Linux kernel so much, they intend to write their own and I'm writing crap? Hundreds of Phoronix users mourn each time ZFS, NVIDIA and other out-of-kernel modules break when Linux developers start hiding kernel calls behind GPL, or remove or change them drastically and I'm writing crap? Linux desktop is nowhere to be seen and I'm writing crap? Native ports of AAA games basically don't exist and I'm writing crap? Looooool.

              God, I thought rabid open source fans will start pouring tons of shat right after my comment but it just happened so fast it took me by surprise, lol. I will now gladly leave this thread 'cause it's already been hijacked by bigotry and absence of any rationale.

              Now please discuss how Google are idiots and how they should force thousands of hardware vendors to open source their device drivers. As if Google doesn't already have enough sway. Oh, wait, those vendors depend their survival and profits on Google yet they refuse to open source their drivers. The world must be incompatible with open source ideals.

              Comment


              • #8
                Originally posted by birdie View Post
                I'd venture to say that kernel developers' position in this regard is nonsense but ardent open source fanboys will find the most bizarre arguments to defend this point of view even though many are using ZFS and other out-of-kernel modules whose developers consonantly struggle to maintain compatibility.
                Your trolls are obvious, and always the same. Your first paragraph is about some big, vague conspiracy or veiled comment on Linux ('damning with faint praise'). Then your second paragraph is basically flamebait, instigating an argument before anyone has even said anything. Basically setting up any response to be adversarial; aka, starting a fight.

                Originally posted by birdie
                God, I thought rabid open source fans will start pouring tons of shat right after my comment but it just happened so fast it took me by surprise, lol. I will now gladly leave this thread 'cause it's already been hijacked by bigotry and absence of any rationale.
                Yep, and you got exactly what you wanted. You start off in an adversarial fashion, get your rocks off by the responses, then get to claim to be an innocent victim and leave the thread. Look, we're all on to you and your antics here. If you're so interested in leaving, next time why don't you consider not even posting, and save everyone else the trouble. Oh, that's right, then you won't get your jollies from trolling.

                Looks like another one for the global killfile soon. I really wish blocklists were working; your spewage is the perfect place for it.

                Comment


                • #9
                  Originally posted by birdie View Post
                  A major software developer which has struggled with the Linux kernel so much, they intend to write their own and I'm writing crap?
                  They intend to write their own kernel? Where did you see that? They modify the upstream Linux kernel. That is not the same thing as writing a new one. It's not even close. I'm sorry if that runs counter to your "Linux sucks" narrative.

                  Hundreds of Phoronix users mourn each time ZFS, NVIDIA and other out-of-kernel modules break when Linux developers start hiding kernel calls behind GPL, or remove or change them drastically and I'm writing crap?
                  Yes, crap. There are other factors at play there beyond stable interfaces. I too, wish Linux devs could be a bit more accommodating towards out of tree modules, but that doesn't mean I want them to move to a stable ABI.

                  God, I thought rabid open source fans will start pouring tons of shat right after my comment but it just happened so fast it took me by surprise, lol.
                  Hey, if you come on to a Linux news site to repeatedly proclaim that Linux sucks, people will call you out on your antagonistic BS. How about that?! Of course, you already knew that. That's how you get your lulz.

                  I will now gladly leave this thread
                  One could only hope. It would be even better if you left the site.

                  Comment


                  • #10
                    Originally posted by birdie View Post
                    Which kinda invalidates the claim that Linux is the most popular kernel in the world 'cause Google doesn't use the mainline kernel. They have a very special fork with tons of patches which they maintain on their own. That also explains why they're busy developing Zircon - they want their own fast and efficient kernel which features stable ABIs/APIs out of the box, unlike the Linux kernel where stable APIs are nonsense.

                    I'd venture to say that kernel developers' position in this regard is nonsense but ardent open source fanboys will find the most bizarre arguments to defend this point of view even though many are using ZFS and other out-of-kernel modules whose developers consonantly struggle to maintain compatibility.
                    By that logic Linux is almost irrelevant, since very few people actually use mainline kernels.
                    Basically all distributions ship their own Linux forks, in all cases with their own patchset that's not in mainline.
                    Even completely community based distros maintain their own kernel patchsets, like Debian and even Gentoo (where you build your own kernel) - so it shouldn't come as a surprise that the largest, and most divergent, Linux distribution (Android) uses its own patchset.
                    Since the Linux development model is to have thousands of forks, I fail to see the issue.

                    It is also perfectly valid to use your own fork, since Linux isn't "one thing". Linus Torvald's fork is by no means the only way to use Linux. There even is another fork that's far more widely used than Linus' version and generally considered "mainline", which is GregKH's "stable"-series, and also a number of LTS-series by various other developers.

                    Of course it is also valid to make the argument, that stable internal APIs/ABIs are nonsense.
                    Linux' model is to pull all code into a single place, which makes sense for a project that's GPL licensed and demands derived code to be made available under the same terms anyway.
                    What good is it to have stable ABIs just to allow derived code to live outside of the project, just to allow external - possibly license-infringing - code to influence the kernel itself, by forcing it to maintain code that wouldn't otherwise be maintained?

                    Having no stable APIs isn't just because they don't want them, it's to actively push people to honor the license and upstream code.

                    Of course it is a very different situation for Windows' and iOS' kernel, which are closed source software. Third party projects actually HAVE to use a different license and can't possibly be upstreamed (with small exceptions in the FreeBSD portion of iOS' drivers). That development model also demands stable ABIs since a much larger portion of external code is used.

                    Comment

                    Working...
                    X