Torvalds blasts kernel dev for late ‘garbage’ RISC-V patches • The Register

Linux head honcho Linus Torvalds has put a kernel developer “on notice” for waiting until the eleventh hour to supply a patch set for Linux on RISC-V systems which “makes the world actively a worse place to live” – in a scathing missive harkening back to his invective-laden tirades of old.

Torvalds’ brusque attitude was perhaps most well demonstrated in a 2012 interview in which harsh yet arguably deserved invective was thrust, alongside a middle finger, at graphics giant turned AI cash-cow Nvidia.

Yet this was relatively mild compared to how he reacted to Intel’s Spectre patch. His aggressive responses are known to have chased people out of kernel development, and in 2018 Torvalds issued an apology for “flippant attacks” which “have been both unprofessional and uncalled for.”

The Linux dev-in-chief then took a break from active development of the kernel and came back with a desire to be a little more mellow. However, it seems that he can still be provoked. In this instance, it was Google staffer Palmer Dabbelt, a long-time contributor, who suffered Torvalds’ ire, having submitted a range of patches for RISC-V support in Linux 6.17.

“This is very late,” Dabbelt admitted in the post to the Linux kernel mailing list (LKML), “so I don’t plan on having a part 2 unless something goes off the rails. There’s a few trivial merge conflicts with the SBI drivers, just from having multiple drivers flight. Maybe it’d be better to have these drivers in other trees, but the SBI stuff is pretty tied to RISC-V and they seemed stuck. Aside from that thinks [sic] look clean on my end.”

Torvalds came to a very different conclusion – though he agreed fully with Dabbelt that the patch set was submitted far too late into the merge window, just one day before it closes, to be included.

“No,” he wrote in response. “This is garbage and it came in too late. I asked for early pull requests because I’m travelling, 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’.”

Torvalds’ primary complaint goes beyond the lateness of the patches and extends to the quality of the code itself. The key, but not only, issue: a helper function for converting two unsigned 16-bit integers to a 32-bit integer that is overly complicated and means anyone calling it has “not a f%^5ing [sic] clue what the word order is” – and which lives outside the RISC-V code base.

“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,” Torvalds continued in, admittedly, a more restrained rant than would perhaps have been the case prior to his reformation.

“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.”

Dabbelt, for his part, seemed to accept his lumps. “OK, sorry,” he replied. “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.”

The full thread is available on the LKML archive.

Any RISC-V fans eager for the fixes and features the patch set was supposed to deliver will have to wait until Linux 6.18 at the least, providing, Torvalds warns, that the set is submitted “EARLY in that merge window […] and without the garbage.”

Ouch. ®


Source link

Leave a Reply

Your email address will not be published. Required fields are marked *