Announcement

Collapse
No announcement yet.

Clang PGO Shot Down For Now From The Linux Kernel

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

  • #21
    Originally posted by smitty3268 View Post

    How major is it, actually? Are there performance benchmarks on this?

    Linus rejected pgo patches for gcc years ago too, so I don't think this is about the compiler at all. It's more that Linus doesn't view this as all that important that he needs it to get in right away, so he's being picky about things. That sort of thing goes on constantly in the kernel when it comes to tree-wide changes.
    I whish Michael would do some benchmarks on that matter to have some hard data points. But I can at least say that LTO support was a huge point for me to compile my Kernel with LLVM/Clang now regularly (another one was that I can use Polly for further auto-parallelization and -vectorization). The LLVM/Clang folks had some data on Hackbench which showed some decent gains with using Polly at least, but from Michael's generic compiler testing you can also make assumptions that LTO+PGO can lead to some gains especially when used together.

    Comment


    • #22
      Originally posted by NobodyXu View Post
      I don’t get what’s wrong with requiring them to use existing perf infrastructure in the kernel.
      Little children learn very early how to share, to trade and to be diplomatic just by playing together in a sandbox. Sometimes do we get a child, who comes to the sandbox and wants to tell everyone what they can and cannot do, who gets the bucket, who gets the shovel, or just wants it all for itself. At which point of course the other kids push back or just do not want to play with it for obvious reasons. We laugh about this, because we tell ourselves that this child is still learning. The problem is that what little Torvalds did not learn, big Torvalds has got an even harder time to learn, and this is where it stops being funny.

      Linux is full of competing concepts. Countless of drivers, which all do similar things, different memory models, different busses, different schedulers, different protocols, ... One of Linux's greatest strengths is to combine all these different and often competing worlds into one operating system.

      We also want the industry and corporations to contribute to Linux. We wish for companies like Nvidia to contribute more, and we are happy when companies such as Google participate and make contributions.

      So then Torvalds does not want Google's contribution, because all of a sudden is it bad to have multiple implementations for doing the same thing. Fact is, there is no other implementation available. There is no perf-based implementation of it and even if there was could we choose to have both side by side, or to have one now and the other later once it becomes available. Instead do we get nothing, we get stagnation, inaction and antagonism.

      Do you now get what is wrong this?
      Last edited by sdack; 03 July 2021, 02:42 PM.

      Comment


      • #23
        Originally posted by sdack View Post
        Little children learn very early how to share, to trade and to be diplomatic just by playing together in a sandbox. Sometimes do we get a child, who comes to the sandbox and wants to tell everyone what they can and cannot do, who gets the bucket, who gets the shovel, or just wants it all for itself. At which point of course the other kids push back or just do not want to play with it for obvious reasons. We laugh about this, because we tell ourselves that this child is still learning. The problem is that what little Torvalds did not learn, big Torvalds has got an even harder time to learn, and this is where it stops being funny.

        Linux is full of competing concepts. Countless of drivers, which all do similar things, different memory models, different busses, different schedulers, different protocols, ... One of Linux's greatest strengths is to combine all these different and often competing worlds into one operating system.

        We also want the industry and corporations to contribute to Linux. We wish for companies like Nvidia to contribute more, and we are happy when companies such as Google participate and make contributions.

        So then Torvalds does not want Google's contribution, because all of a sudden is it bad to have multiple implementations for doing the same thing. Fact is, there is no other implementation available. There is no perf-based implementation of it and even if there was could we choose to have both side by side, or to have one now and the other later once it becomes available. Instead do we get nothing, we get stagnation, inaction and antagonism.

        Do you now get what is wrong this?
        You are completely wrong here.

        Linus definitely doesn’t have any problem with google contributing to Linux.

        Google, Microsoft, etc has been contributing to Linux for a long time and I never heard Linus blocking their PR just because he doesn’t like them.

        About your second point on competition, it’s actually in doubt whether the new clang perf runtime would bring any benefit.

        It’s clearly stated in LKML that this runtime would add significant overhead and the performance penalty of using this runtime would be high enough that the profile generated is not similar to the profile without this runtime, making it possible for compiler to optimize for something that is not bottleneck in production environment.

        The existing perf infrastructure uses hardware support. It has significantly less overhead though it might generate less data, but for bottleneck, it will definitely can generate enough data for it to be optimized.

        His criticism on this is completely valid and there’s nothing wrong with it.

        You are speaking as if Linus are rejecting these PR because the background of it and you are also saying that big companies are not making enough contributions to linux while in fact Google alone might be account for at least 10-20% of commits to Linux.

        Comment


        • #24
          Originally posted by NobodyXu View Post
          You are completely wrong here.
          No, I am not and all my points still stand. You only do not want to accept it, which is fine. You are still young.

          Comment


          • #25
            Originally posted by sdack View Post
            No, I am not and all my points still stand. You only do not want to accept it, which is fine. You are still young.
            I don’t get it.

            You didn’t list any technical reasons to back your argument up.

            All you saying is that the kernel should have multiple implementation even if the llvm implementation causes serious overhead and as such it may not measure the real performance bottleneck while the existing implementation is more mature and has significantly less overhead.

            Comment


            • #26
              Originally posted by sdack View Post
              No, I am not and all my points still stand. You only do not want to accept it, which is fine. You are still young.
              Why do diminish people? You can register your disagreement without the put-downs. Are you aware that name-calling reveals insecurity, making your own argument look weaker? It's also a mark of immaturity, which seems to be something of a preoccupation of yours.

              Though I doubt you'll believe me, I'm posting this more for your own benefit than anyone else's. Though, I'm sure we'd all appreciate a more civil forum.

              Comment


              • #27
                Originally posted by coder View Post
                Why do diminish people?
                Because they deserve it. Read his response to my comment again. It starts with: "you are completely wrong." That is not an argument, but a reflection of his attitude. He disregards every point I have made only so he can then invent his own counter narrative. People who do this deserve to be put down, because they do not contribute in any friendly and civilises manner to a discussion. They are merely spoiled kids who want a discussion to go their way, and I have zero tolerance for such trolls.

                Go and read my comment again and tell me again how it makes me completely wrong. You have to be out of your mind when you think my points are wrong.

                He then says "Linus definitely doesn’t have any problem with google contributing to Linux.", which is disconnected from the current reality. It is a delusional statement, one in which he imagines to know Linus, all while we have an article here where we learn that Linus has rejected a patch set by Google, because Linus has got a problem with it.

                You may believe I was immature and insecure, but you are wrong. I am simply more aware of the troll than you are and trolls deserve to get put down so others can have better discussions.
                Last edited by sdack; 04 July 2021, 01:58 PM.

                Comment


                • #28
                  Originally posted by NobodyXu View Post
                  I don’t get it.
                  No news there, and only your problem. Tell me, why should anyone care for what you do not get? Come back when you actually want a discussion and not just a public slapping.

                  Comment


                  • #29
                    Thanks for answering my post. I am not trying to involve myself in this specific matter, beyond what I'd previously posted.

                    Originally posted by sdack View Post
                    Read his response to my comment again. It starts with: "you are completely wrong." That is not an argument, but a reflection of his attitude.
                    In case that poster's native language isn't English, I would cut some slack on the rhetorical parts of their post and focus on the substance.

                    Originally posted by sdack View Post
                    He disregards every point I have made
                    The reply seems to focus on your narrative of Torvalds' motive and his stated reason not to just have multiple competing ways to extract profiling information. That's not disregarding every point.

                    Originally posted by sdack View Post
                    People who do this deserve to be put down, because they do not contribute in any friendly and civilises manner to a discussion.
                    It's not as if the post is insulting or off-topic. I don't see the post as being in bad faith.

                    You could simply point out that you think it doesn't adequately address your points and you see no value in continuing the discussion. That would be a clean way to break it off without potentially entering a spiral of tit-for-tat insults and personal attacks.

                    Comment


                    • #30
                      Originally posted by coder View Post
                      ... I am not trying to involve myself in this specific matter ...
                      Then do not get involved. I wrote and I quote myself now:

                      "No, I am not and all my points still stand. You only do not want to accept it, which is fine. You are still young."

                      There is nothing insulting here nor is this a personal attack.

                      I choose to take the high route, let the trolling slide, because he is still young. You feel this is diminishing his comment, which is a judgement you have made and I allowed it, only do I see his comment as a troll. You are now only pushing your luck.
                      Last edited by sdack; 04 July 2021, 03:07 PM.

                      Comment

                      Working...
                      X