News for hackers. Stuff that matters.
Re:Avoid speculative indirect calls in kernel by geofft on Wednesday January 03, 2018 @08:24PM (#16067200)
This would be more convincing if the x86 CPU manufacturer he used to work for were still in business.

I mean, I could sit here and criticize how Linus runs his kernel development project and how so much insecure code gets in, and talk about what a "competent" kernel developer would do, but since I don't run an equally successful, more secure kernel, it's just armchair quarterbacking.

Re:Avoid speculative indirect calls in kernel by foxylad on Wednesday January 03, 2018 @08:52PM (#16067344)
Interesting concept - we should discount all criticism except from equally or more successful companies than Intel?

    if geofft.karma >= foxylad.karma:
        print('No comment.')
    else:
        print('This was a really badly thought out comment.')
So... No comment.
Re:Avoid speculative indirect calls in kernel by geofft on Wednesday January 03, 2018 @09:37PM (#16067541)
I wonder why it is that when I say "I don't think that X should be doing Y in this situation because Z," I so often get responses of the form "So you think that nobody should be doing generic-version-of-Y ever?" That's probably a flaw in my own ability to convey my points. Let me see if I can convey this one a bit better.

First, I think that there's a distinction between constructive, humble criticism, of the form "Why can't the CPU be designed in such a way that ___", and statements like "Well, a competent CPU designer would have done ___". That distinction is not just politeness (although politeness is of intrinsic worth); that decision leads to better technical outcomes. There might be a good answer, like "It can't be designed like that because of the following constraints" or "We tried it and couldn't get it to work"; there might just be an answer like "That's totally the right thing to do and we just cut corners" or "We never thought of it but our competitor does that and it seems to work for them, yeah." Unlike arguments about how competent people actually are, these discussions contain actual technical content, and help different people understand each other's points of view (which is the whole point of having an online, public, decentralized development community, is it not?).

Second, yes, I think that we should discount, though not by much, criticism from people who say "I could totally do that in a better way" and have not actually tried to do that (or have tried and failed to launch a product). There's a lot of things about building complex systems (like modern CPUs) that aren't apparent on paper, and only become apparent once you try to reach some challenging level of scale or performance. This is not at all to say that there's no place for outside criticism; often outside criticism can offer fresh perspectives, or suggest a way to simplify the system and avoid the emergent problems of complexity. And often there are people who are genuinely qualified and really could build a better system, but happen to be working on something else. But it's still fundamentally outside criticism. The only people who can really say "Yes, you totally could have done this instead" are those who actually did.

Third, in this particular scenario, it happens to be the case that ex-Intel employees with insider knowledge have called out Intel for cutting corners (see the "Update" section of https://danluu.com/cpu-bugs/), which seems like a much more productive basis to have a technical conversation.

And if those stories are to be believed and if they're relevant to this problem, the problem is not the competence of engineers - the problem is the competence (or the confused incentives, really) of management who are not telling their engineers to invest time into doing things the engineers know perfectly well how to do, or are telling their engineers to invest time into building other features that make those things harder. (For instance, quite possibly some part of management got worried about benchmarks of syscall performance and told their engineers to prioritize that over making sure that there aren't side-channel leaks between rings.)

Re:Avoid speculative indirect calls in kernel by foxylad on Wednesday January 03, 2018 @10:38PM (#16067851)
Sorry, I have a weakness for reductio ad absurdum, so fair enough to call me out on that. But in this case I'm glad I gave in to temptation, because your response was really valuable.
Re:Avoid speculative indirect calls in kernel by plicense on Wednesday January 03, 2018 @09:29PM (#16067496)
Speculatively, No comment. And this was a really badly thought out comment.
Re:Avoid speculative indirect calls in kernel by MBCook on Wednesday January 03, 2018 @08:54PM (#16067353)
I think a kernel developer, let alone a core kernel developer and the guy who started the entire project by himself, is probably one of the BEST qualified to comment on the situation.
Re:Avoid speculative indirect calls in kernel by geofft on Wednesday January 03, 2018 @09:14PM (#16067443)
That was my point - on kernel design, yes, he's way more qualified to comment than I am. But his claim was about CPU design, not kernel design. He's about as qualified to comment about CPU design as I am on kernel design.
Re:Avoid speculative indirect calls in kernel by lowry on Wednesday January 03, 2018 @09:51PM (#16067621)
He worked at Transmeta, after all.
Re:Avoid speculative indirect calls in kernel by geofft on Wednesday January 03, 2018 @10:07PM (#16067710)
Yes, that's what I said. Transmeta is out of business; all their clever ideas have nothing to show. It is entirely possible that a "competent CPU engineer" needs to make certain things absolutely work with high performance even if the cost is leaky side channels, and someone who worked at a failed CPU company does not know that because they never got to see their product succeed in the market.
Re:Avoid speculative indirect calls in kernel by madez on Wednesday January 03, 2018 @11:18PM (#16068002)
Do you seriously think that winning the market equals being right? "The market" is a horribly ill-idealized model full of wrong assumptions. Uninformed customers, unfair practices and outright illegal behaviour need to be expected. "The market" is a very bad indicator as to who was right.
Re:Avoid speculative indirect calls in kernel by geofft on Thursday January 04, 2018 @01:13AM (#16068414)
If the claim being made is "well obviously they should have just done foo and it would have worked," there's reason to believe that foo gives you a significantly less competitive product, and the speaker is not giving any evidence for why it's possible to do foo and still succeed in the market, the only thing we have to go on is the speaker's experience in that market.

A rigorous argument for why foo can be done and doesn't kill your product would be fine too, but this email doesn't even attempt to do that. What can be asserted without proof can be dismissed without proof.

Re:Avoid speculative indirect calls in kernel by sterlind on Tuesday January 09, 2018 @10:25AM (#16106781)
Transmeta's IP, and its ideas, were gobbled up and put to good use when the company folded.

It was a clever microarchitecture; they just targeted the wrong consumer segment (breaking into x86 was nigh-impossible that late; chip internals on the other hand... =D)

Re:Avoid speculative indirect calls in kernel by jtc331 on Thursday January 04, 2018 @10:38AM (#16071094)
...which is why AMD with just as good performance doesn’t have the same flaws.
Re:Avoid speculative indirect calls in kernel by kelnos on Thursday January 04, 2018 @01:13AM (#16068412)
I'd say having worked on CPU architecture, regardless of the success or failure of it, gives Torvalds even more credibility talking about this sort of thing.

Having said that, though, I think calling it "crap" is a bit much. But that's still a pretty mild/weak insult in Torvalds-speak.

Re:Avoid speculative indirect calls in kernel by hossbeast on Wednesday January 03, 2018 @08:40PM (#16067272)
But do you disagree with his points?
Re:Avoid speculative indirect calls in kernel by geofft on Wednesday January 03, 2018 @09:13PM (#16067436)
Yes, sort of - I don't think he has the evidence to claim that a competent CPU engineer would have done things in a certain way, because all the really theoretically good CPUs (and I count Transmeta among them!) seem to have not succeeded in the market nearly as well as the messy, awful ones, and a CPU that no longer exists doesn't actually count for anything. A competent CPU engineer is balancing lots of tradeoffs. It might be the case that he's right, but in the absence of evidence I weakly believe he's not, and I strongly believe that he's not in possession of strong enough evidence.