Originally posted by mdedetrich
View Post
Announcement
Collapse
No announcement yet.
Profile Guided Optimizations (PGO) Likely Coming To Linux 5.14 For Clang
Collapse
X
-
Originally posted by sdack View PostThe very idea to base a decision merely on assumptions is unprofessional. As is most of your comment.
- Likes 1
Leave a comment:
-
Originally posted by sdack View PostWhile I appreciate the candour, do note that GCC has a much longer history. LLVM/Clang's history is a short one and it has only recently become able to compile the kernel. It is unprofessional to assume a new piece of software was better than one you have been using for decades, that enabled you to get to where you are today and where you have made plenty of experience with.
This is btw why LLVM was started and why Apple poured so many resources into it, Apple used to use GCC but the design was so monolithic that they had technical issues with implementing what we see now as basic IDE/Editor inspection cabilities for C/C++/objective C code
Originally posted by sdack View PostThe screw ups were not only on the compiler side, but the compiler helped in uncovering issues with the kernel, too. Nor is LLVM/Clang completely independent from GCC, but the two do share some cooperation. The problem is with the amount of expectations placed into compilers, and once LLVM/Clang bites you will it be just the same and you end up making a new experience, which you can hate, or appreciate and learn from.
Originally posted by sdack View PostIn open source projects can one turn a problem into a win-win by learning from it and by cooperating with other projects, by passing on the knowledge, and allowing others to learn from it, too. Or you can do it wrong by passing around blame, give hate speeches, and what not. Not everybody understands this at start and it has resulted many times in all kinds of conflicts in the open source community.
I am going to leave it at that. I am looking forward to 5.14, 5.15 or perhaps 5.16, and maybe we see the support for GCC LTO finally landing within the mainline kernel.Last edited by mdedetrich; 15 June 2021, 06:59 PM.
- Likes 1
Leave a comment:
-
Originally posted by mdedetrich View PostThats probably because GCC has historically screwed up enough times that its been put on Linus's "observe with care" radar where as Clang's LLVM LTO has proven itself by being shipped in millions (billions?) of androids devices as well as being used in cloud providers, in other words its had plenty of testing.
The screw ups were not only on the compiler side, but the compiler helped in uncovering issues with the kernel, too. Nor is LLVM/Clang completely independent from GCC, but the two do share some cooperation. The problem is with the amount of expectations placed into compilers, and once LLVM/Clang bites you will it be just the same and you end up making a new experience, which you can hate, or appreciate and learn from.
In open source projects can one turn a problem into a win-win by learning from it and by cooperating with other projects, by passing on the knowledge, and allowing others to learn from it, too. Or you can do it wrong by passing around blame, give hate speeches, and what not. Not everybody understands this at start and it has resulted many times in all kinds of conflicts in the open source community.
I am going to leave it at that. I am looking forward to 5.14, 5.15 or perhaps 5.16, and maybe we see the support for GCC LTO finally landing within the mainline kernel.
- Likes 1
Leave a comment:
-
Originally posted by sdack View PostThat is actually not true. Andi Kleen wrote the LTO support for GCC all the way back to kernel 3.7. Torvalds just never wanted it in the kernel. It was then that Google picked it up, used it for LLVM/Clang and pushed it that we now have it in the mainline kernel. Andi Kleen keeps updating the patches for GCC LTO support but so far have these not made it into the kernel. There certainly is a bias here and Torvalds is known for his grudges against GCC.
- Likes 2
Leave a comment:
-
Originally posted by CommunityMember View Post(*) I think that those initial patches came with certain caveats, like "experimental, don't use", and the data to support the claimed improvements were not there, so those and others were all contributory factors in the rejection, at that time.
Torvalds then took up parts of the GCC LTO patches. However not in favour of GCC LTO, but because hidden issues within the kernel had surfaced from its implementation. So parts of the patches were taken up as regular fixes.
- Likes 1
Leave a comment:
-
Originally posted by sdack View PostThat is actually not true. Andi Kleen wrote the LTO support for GCC all the way back to kernel 3.7. Torvalds just never wanted it in the kernel.
knowing that Torvalds hates GCC
(*) I think that those initial patches came with certain caveats, like "experimental, don't use", and the data to support the claimed improvements were not there, so those and others were all contributory factors in the rejection, at that time.
(**) Hate is often more of an emotional reaction. Dislike, or despise, tends to come with specific reasons.
- Likes 2
Leave a comment:
-
Originally posted by CommunityMember View PostThose that believe in meritocracy would believe that the best compiler should win, regardless of the whether it is GCC or LLVM (or something else). Right now, it is clear LLVM is where the action is, and the best results are. Nothing stops you from improving the kernel (and GCC) to make sure it remain a viable choice. I would encourage you to do so (there have been patches floating around for quite some time for GCC LTO of the kernel, so that might be a place for you to start).
I will simply compile the kernel with Clang, knowing that Torvalds hates GCC. It is simply the smarter choice to use Clang as I do not want to get caught up in the fight. I am however aware of the nonsense and choose GCC for most other things, unless again I see a good reason not to.
As you say, meritocracy should always win, but sometimes it does not and it takes a little time.Last edited by sdack; 14 June 2021, 06:34 AM.
- Likes 2
Leave a comment:
-
Originally posted by r08z View PostThis is just another marketing attempt at pushing Clang to become the default compiler for all distros instead of GCC because they hate GNU and what it stands for.
- Likes 2
Leave a comment:
Leave a comment: