
Linus Torvalds Rejects RISC-V Changes For Linux 6.17 For Being Late and 'Garbage' (phoronix.com) 74
"Linus Torvalds has used his authority to reject the RISC-V architecture changes for the Linux 6.17 kernel," reports Phoronix:
Only on Friday were the RISC-V code updates submitted for the Linux 6.17 merge window. The Linux 6.17 merge window is expected to wrap up on Sunday with the Linux 6.17-rc1 release... [T]his pull request has been rejected by Linus Torvalds for Linux 6.17 on the basis of being late in the merge window especially with his international travels this week being known. And he's unhappy with some of the code included as part of this merge request. .
Here's the text of Torvalds' response...
> RISC-V Patches for the 6.17 Merge Window, Part 1
No. This is garbage and it came in too late. I asked for early pull requests because I'm traveling, and if you can't follow that rule, at least make the pull requests *good*.
This adds various garbage that isn't RISC-V specific to generic header files.
And by "garbage" I really mean it. This is stuff that nobody should ever send me, never mind late in a merge window.
Like this crazy and pointless make_u32_from_two_u16() "helper".
That thing makes the world actively a worse place to live. It's useless garbage that makes any user incomprehensible, and actively *WORSE* than not using that stupid "helper".
If you write the code out as "(a
In contrast, if you write make_u32_from_two_u16(a,b) you have not a f%^5ing clue what the word order is. IOW, you just made things *WORSE*, and you added that "helper" to a generic non-RISC-V file where people are apparently supposed to use it to make *other* code worse too.
So no. Things like this need to get bent. It does not go into generic header files, and it damn well does not happen late in the merge window.
You're on notice: no more late pull requests, and no more garbage outside the RISC-V tree.
Now, I would *hope* there's no garbage inside the RISC-V parts, but that's your choice. But things in generic headers do not get polluted by crazy stuff. And sending a big pull request the day before the merge window closes in the hope that I'm too busy to care is not a winning strategy.
So you get to try again in 6.18. EARLY in the that merge window. And without the garbage.
Torvalds' message drew a conciliatory response from the submitter of the patches. "I'll stop being late, and hopefully that helps with the quality issues."
Here's the text of Torvalds' response...
> RISC-V Patches for the 6.17 Merge Window, Part 1
No. This is garbage and it came in too late. I asked for early pull requests because I'm traveling, and if you can't follow that rule, at least make the pull requests *good*.
This adds various garbage that isn't RISC-V specific to generic header files.
And by "garbage" I really mean it. This is stuff that nobody should ever send me, never mind late in a merge window.
Like this crazy and pointless make_u32_from_two_u16() "helper".
That thing makes the world actively a worse place to live. It's useless garbage that makes any user incomprehensible, and actively *WORSE* than not using that stupid "helper".
If you write the code out as "(a
In contrast, if you write make_u32_from_two_u16(a,b) you have not a f%^5ing clue what the word order is. IOW, you just made things *WORSE*, and you added that "helper" to a generic non-RISC-V file where people are apparently supposed to use it to make *other* code worse too.
So no. Things like this need to get bent. It does not go into generic header files, and it damn well does not happen late in the merge window.
You're on notice: no more late pull requests, and no more garbage outside the RISC-V tree.
Now, I would *hope* there's no garbage inside the RISC-V parts, but that's your choice. But things in generic headers do not get polluted by crazy stuff. And sending a big pull request the day before the merge window closes in the hope that I'm too busy to care is not a winning strategy.
So you get to try again in 6.18. EARLY in the that merge window. And without the garbage.
Torvalds' message drew a conciliatory response from the submitter of the patches. "I'll stop being late, and hopefully that helps with the quality issues."
Year Of Linux On The Desktop (Score:2, Funny)
Re: (Score:2)
Re: (Score:2)
With WSL2, it's on my Windows 11 desktop and has been for a few years, working side-by-side. I get the steak AND the salad.
Re: (Score:1)
- Looks at UID.
You were alive in 1997?
Re: (Score:2)
It's been on my desktop since 1997.
Gotcha beat. Had a DEC Alpha AXPpci 33 running Linux in 1994. Installed from 30 or so floppies.
Re: (Score:3)
30 floppies in the mid-1990s... are you sure you're not remembering Windows 95, grandpa?
Re: Year Of Linux On The Desktop (Score:2)
Did a floppy install in '94 too. CD-Rom support was sketchy back then. On PCs it was all proprietary interfaces, no IDE standard.
Re: (Score:2)
I barely knew about them at the time and was unhappy when I learned about the many. Company I worked for at that time was doing all SCSI hard disks and CD drives. I got lucky and got an external NEC CD drive (on clearance) that has SCSI and it worked very well. Also got early Linux CDs including SLS, Yggdrasil, and I forget what else. I tried several, liked SLS which became Slackware, which is still my primary Linux distro. I used to boot from a pair of floppies, but fortunately never had to install from a
Re: (Score:2)
Yeah I just remembered- the CD drive often (usually?) connected to a sound card. They often were sold together. IIRC some sound cards had 2 or 3 CD drive interface connectors, so could support most drives. Ugh.
Re: (Score:2)
I was installing FreeBSD from two floppies and a network connection. 30 floppies is tragic.
Re: (Score:2)
I was installing FreeBSD from two floppies and a network connection. 30 floppies is tragic.
It was faster to use 30 floppies if you had to install on several computers or wanted/needed to re-install many times. Downloading everything over dialup every time was tragic. You could put the 30 floppies content on a local NFS server for even faster installs although if that's what you meant although.
Re: (Score:2)
Why'd ya wait so long, a solid year behind the early adopters.
Re: (Score:2)
I don't consider that a "kind and gentle" response, but if he described the code accurately, it does seem warranted.
Re: (Score:2)
Re: (Score:2)
No F bombs, no anatomical suggestions. Unlikely to leave nothing but a smoking pair of shoes if said in person...
Re: (Score:2)
Re: (Score:1)
Re:Year Of Linux On The Desktop (Score:4, Insightful)
No OS user has a problem with Linus being rough with people who try to push lousy code into the kernel. Most of them have no idea what a kernel is to begin with, or who Linus is, much less read the LKML or any coverage of what happens there.
The reason Linux isn't dominant in the desktop space boils down to two primary causes. Microsoft's strongarm tactic, and most people buying a computer the same way they buy a toaster; as an appliance which they replace when it starts smelling funny. Most people wouldn't even consider reinstalling the OS on their computer, much less replace it with something else. Of those who do, a huge chunk are already using Linux.
Re: (Score:2)
No OS user has a problem with Linus being rough with people who try to push lousy code into the kernel.
Agreed, many systems running Linux are used in high reliability and safety critical applications. There is no place for crappy code in the kernel or important run time libraries, so we are definitely relying on people like Linus being tough on people who let problematic code into PRs.
Re: (Score:2)
Many systems running Windows are used in the same situations. Windows is perfectly fine when put in a system with controlled updates, controlled choice of drivers, and don't spend your time. Browsing the internet for malware to hit your system. The Windows kernel is actually quite a tight piece of code and that is reflected in the fact that most people haven't seen a bluescreen in a decade, it's just the userland above it sucks balls.
I think the OP was reflecting on the fact that the user doesn't care what
Re:Year Of Linux On The Desktop (Score:4, Insightful)
On the contrary, I would suggest that MS could have used a few code reviews like that over the years.
Re: (Score:2)
Window's kernel is perfectly functional and stable. It has had such code reviews and strict QC for 2 decades now.
Now if only we had more Linuses in the userland (that goes for both Windows AND Linux) then the world will be a better place.
Re: (Score:2)
I just meant that with Linus ranting like a rabid whippet, it is no wonder that Linux is not yet dominant in the desktop consumer space.
Indeed, Linus should have followed the example of Bill Gates, who famously gained dominance in the desktop market by being such a very nice guy.
Re: (Score:2)
Indeed, Linus should have followed the example of Bill Gates, who famously gained dominance in the desktop market by being such a very nice guy.
Linus should have followed the example of Steve Ballmer, who showed us the proper way to rant [youtube.com]
Re: (Score:3)
Re: (Score:2)
This lie really needs to stop. It's true, in publicly accessible server share, Linux is dominant, at somewhere above 57%. But in total server shares, Windows almost certainly is dominant. Anyone who works out in the real world and is honest knows this.
So in figures that no one can verify Windows is dominant. That is like saying I am the best golfer in the world but no one has seen me play golf. Also you neglected the part where Windows pays almost no role in the portable market.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
it is no wonder that Linux is not yet dominant in the desktop consumer space.
What's the connection? 1) No consumer at all will be in contact with Linus. Consumers don't even know he exists. 2) How is your rationale consistent with the fact that linux is the dominant OS in many professional applications?
Re: (Score:3)
You think nobody ever gave a code review at Microsoft like that?
The only difference is that you can see it here.
Re:Year Of Linux On The Desktop (Score:4, Informative)
Sounds like everything is fine, since the other side has responded and the response is.
OK, sorry. I've been dropping the ball lately and it kind of piled up
as taking a bunch of stuff late, but that just leads to me making
mistakes. So I'll stop being late, and hopefully that helps with the
quality issues
That is, the content of the Linus comment is acknowledged, people have planned to rectify the issues, there are apparently not hurt feelings and the RISC-V community and everyone else will get a safer update one cycle later.
Shit happens sometimes even to the best, which may well have been the case here.
What's not to your liking?
Re: (Score:2)
Phoronix posts some decent stuff but a lot of it is clickbait, trying to taint Linus as some sort of dictatorial sociopath. The kernel has survived more than three decades because its founder still gives a damn about code quality.
A couple of dozen contributors, one big merge and the maintainer probably didn't write or review the helper function that Linus got annoyed about. This right before the release.
Just because it compiles and 'works' doesn't mean you should ship it and as a maintainer, he'll do a more
Re: (Score:2)
Yeah, I agree, it appears to be a thing blown out of all proportion that will be forgotten next week with the fortunate side effect of less bad code in the kernel.
Re: (Score:2)
>"What's not to your liking?"
Can't speak for who you are replying to, but Linus' post was unnecessary long, repetitive, and hostile. He is right, of course, but that doesn't mean it needs to be so caustic.
Re: (Score:2)
Aw, come on, he's tamed a lot with age, you surely remember what it was like in the 90s and the early 00s...
Seriously though, probably the reason for this minor tantrum is the frustration coming from him expecting these problems and warning against it, and then them appearing anyway.
https://www.techspot.com/news/... [techspot.com]
I haven't followed LKML closely for too many years to have an opinion if there is a better way to deal with code quailty problems reappearing in every new architecture. Given the track record, I'
Re: (Score:3)
It IS worth noting that he did not once insult the programmer, he kept his opinion strictly to the code and its lack of quality. That's a big (and meaningful) step! And honestly, it looks like it worked.
It WAS garbage code. Even good programmers/people write bad code sometimes, and I'd rather someone tell me that the code is bad than not so I can fix it.
Couldn't read source... mirrors? (Score:2)
Re: (Score:1)
Re: (Score:2)
A mailing list that requires you *subscribe* to it *before* you start being sent messages? What kind of crazy world is this?
(hopefully that sets off your sarcasm detector...)
Re: (Score:2)
Sadly the LKLM is hidden behind some ridiculous "protection".
Try searching for the LKML instead ;D
In the not too far future you will be able to get it from the internet archive, but they don't index it very often.
Actual quote from Linus, mangled in summary (Score:5, Informative)
If you write the code out as "(a
In contrast, if you write make_u32_from_two_u16(a,b) you have not a f%^5ing clue what the word order is. IOW, you just made things *WORSE*, and you added that "helper" to a generic non-RISC-V file where people are apparently supposed to use it to make *other* code worse too.
Apparently EditorDavid is new to Slashdot and doesn't know how to escape metacharacters. The actual text in TFA, quoting Linus:
If you write the code out as "(a << 16) + b", you know what it does and which is the high word. Maybe you need to add a cast to make sure that 'b' doesn't have high bits that pollutes the end result, so maybe it's not going to be exactly _pretty_, but it's not going to be wrong and incomprehensible either.
In contrast, if you write make_u32_from_two_u16(a,b) you have not a f%^5ing clue what the word order is. IOW, you just made things *WORSE*, and you added that "helper" to a generic non-RISC-V file where people are apparently supposed to use it to make *other* code worse too.
Re: (Score:2)
Re: (Score:1)
Somebody mod this informative. The summary now makes sense and why Linus was upset.
Yeah also
+b
could be
+b & 0xff
E
How DO you escape meta characters? (Score:1)
I hope (Score:2)
Re: (Score:2)
He considers it a new rehashing of old mistakes.
Re: (Score:2)
Linus is not particularly impressed with it either.
Linus has said he doesn't know Verilog and knows little about FPGA and ASIC design.
He considers it a new rehashing of old mistakes.
RISC-V is an upgraded MIPS, which was a pretty good architecture.
Re: (Score:2)
Re: (Score:2)
I hope he's come to terms with us all being on AMD's ISA then :)
Re: (Score:2)
RISC ISAs are tied to a very specific approach about how the hardware underneath should be implemented. If the hardware isn't implemented the way the RISC instructions imply, then the entire implementation becomes far less efficient than modern non-RISC designs. (The entire concept of RISC are fixed format, fixed timing, instructions that can be decoded with a simple logic based decoder instead of microcode. But that design has performance limits, to get higher performance you need an approach closer to AMD
Re: (Score:2)
The entire concept of RISC are fixed format, fixed timing, instructions that can be decoded with a simple logic based decoder instead of microcode. But that design has performance limits, to get higher performance you need an approach closer to AMD/Intel/Transmeta's "Translate multiple instructions into microcode and identify areas where multiple instructions can run simultaneously in real time"
I'm not sure what you're trying to say here. Are you trying to say that RISC CPUs can't be pipelined?
Re: (Score:2)
Linus is opposed to anything RISC.
Linus is so opposed to it that it is supported in the kernel since 2017 even though it represents a tiny fraction of systems?
He prefers Intel's ISA, probably because he learned it first.
[sarcasm]Yes that is why only Intel is supported in Linux and not AMD. Not ARM. Not IBM Power. Not MIPS. Just Intel.[/sarcasm]
Re: (Score:2)
THE REAL CODE (Score:1)
Linus had a good code example, and Phoronix quoted it. However, Slashdot turned it into ")a".
The original code... and no I can't get it to display the two characters either using tags or backslashes...
"( a TWO-GREATER-THAN-SIGNS-FOR-BINARY-SHIFT-LEFT 16 ) + b"
E
Re:THE REAL CODE (Score:4, Informative)
If you write the code out as "(a << 16) + b", you know what it does and which is the high word. Maybe you need to add a cast to make sure that 'b' doesn't have high bits that pollutes the end result, so maybe it's not going to be exactly _pretty_, but it's not going to be wrong and incomprehensible either.
Re: (Score:1)
Here it is:
If you write the code out as "(a << 16) + b", you know what it does
and which is the high word. Maybe you need to add a cast to make sure
that 'b' doesn't have high bits that pollutes the end result, so maybe
it's not going to be exactly _pretty_, but it's not going to be wrong
and incomprehensible either.
First, THANKS. I know the default is to criticize everyone but you just taught me something valuable, and based on google searches, not just me. Again, thanks.
"(a << 16) + b"
For those wondering what he did, he took the LESS-THAN signs (not GREATER-THAN -- mea culpa) and used < instead.
So the quote (with extra spaces) is
( a & l t ; & l t ; 16 ) + b
I enclosed all those with LESS-THAN quote GREATER-THAN and then closed the quote with LESS-THAN SLASH quote GREATER-THAN like so:
<quote> quoted-stuff-here </quote>
E
Re: (Score:2)
For those wondering what he did...
And for those who'd like to know HOW to see the markup of another post, just reply and click "Quote Parent". You don't actually need to post it.
Re: (Score:2)
for the record, you can use some HTML entities here on slashdot. My favorite is — but obviously & is pretty good too for obvious reasons
Re: (Score:2)
"( a TWO-GREATER-THAN-SIGNS-FOR-BINARY-SHIFT-LEFT 16 ) + b"
[cough] .. "two *less*-than signs"
Re: (Score:2)
NUCULAR REACTOR ON THE MOON (Score:1)
(jeez ... no wonder we can't get back to the Moon)
September 13, 1999.
Re: (Score:2)
Linus had a good code example, and Phoronix quoted it. However, Slashdot turned it into ")a".
The original code... and no I can't get it to display the two characters either using tags or backslashes...
"( a TWO-GREATER-THAN-SIGNS-FOR-BINARY-SHIFT-LEFT 16 ) + b"
(a << 16) + b.
What I typed to get that was "(a << 16) + b".
That's why Linux wins. Quality. (Score:2)
Re: (Score:2)
Where waste of any type matters (Lean, Toyota).
Pity about Toyota's code, which we know to be trash after the code reviews (not NASA's worthless one, but the good one from the Barr Group) revealed that they not only don't follow industry best practices, they don't even follow their own documented guidelines.
Re: (Score:2)
Pity about Toyota's code, which we know to be trash after the code reviews (not NASA's worthless one, but the good one from the Barr Group) revealed that they not only don't follow industry best practices, they don't even follow their own documented guidelines.
That was true back then; is it still true now, a number of years, and many expensive lawsuit-settlements later? (I suppose it's possible that Toyota has learned nothing from the experience, but that doesn't seem like the most likely outcome from a company that generally prides itself on quality and reliability)
Re: (Score:2)
I'd bet there's been improvements, but I'd also bet there's still embarrassments.
Can't be any worse than modern Bosch stuff :D
We've got the solution you need (Score:2)