Originally posted by CochainComplex
View Post
Announcement
Collapse
No announcement yet.
Torvalds' Comments On Linux Scheduler Woes: "Pure Garbage"
Collapse
X
-
Originally posted by bug77 View Post
Believe me, the alternative doesn't work. If you try to be polite, supportive and constructive, no matter how serious the problem you're trying to bring up is, it's perceived as a minor issue and action is rarely taken. If you're "lucky" enough, you also get to fix it, because you're the one who brought it up and you were so nice about it.
And if you don't believe me, do this exercise: read this thread and count how many posts are about what Linus said vs how he said it.
- Likes 1
Leave a comment:
-
Originally posted by kiffmet View PostIt's 2020 and the old, grumpy Torvalds is back. Oh, how I missed his rudeness
2. I think its funny that everyone claims to love rudeness until someone is rude to them, especially those who try to rationalize it.
Leave a comment:
-
Originally posted by timofonic View Post
Oh yes, because Linux kernel development is a Special Education School. That is, one for mentally disabled people.
If a big company like Google isn't able to do proper Linux development, they should get better project managers and better developers. Seriously, do they hire code monkeys these days?
Google is becoming pathetic...
To myself: Welcome to Phoronix where people just randomly rant about corporate, systemd etc. Like it is a therapy tool for their anger management.
- Likes 3
Leave a comment:
-
Originally posted by Volta View Post
While I'm not native English speaker I sometimes doubt Michael knows this language better.. Google developer sucks btw.
- Likes 2
Leave a comment:
-
Originally posted by Terrablit View PostHe's not saying "You're too stupid to lock correctly", but "locking is too hard to get right on the first few tries. Especially when you don't do locking for a living." Linus says the same thing multiple times in the same email.
Because you should never ever think that you're clever enough to write your own locking routines.. Because the likelihood is that you aren't (and by that "you" I very much include myself - we've tweaked all the in-kernel locking over decades, and gone through the simple test-and-set to ticket locks to cacheline-efficient queuing locks, and even people who know what they are doing tend to get it wrong several times).
- Likes 8
Leave a comment:
-
Originally posted by gigaplex View Post
Stating "And be aware that the likelihood that you know what you are doing is basically nil." is basically saying "you're stupid" rather than "you're wrong". It's a message indicating they have nothing useful to contribute.
Originally posted by Linus TorvaldsI repeat: do not use spinlocks in user space, unless you actually know what you're doing. And be aware that the likelihood that you know what you are doing is basically nil.Originally posted by Linus TorvaldsBecause you should never ever think that you're clever enough to write your own locking routines.. Because the likelihood is that you aren't (and by that "you" I very much include myself - we've tweaked all the in-kernel locking over decades, and gone through the simple test-and-set to ticket locks to cacheline-efficient queuing locks, and even people who know what they are doing tend to get it wrong several times).
There's a reason why you can find decades of academic papers on locking. Really. It's hard.
You're not the only person in this thread to complain about Linus' tone. But you're the last, so I'll start with you, and hopefully cover most of the hypocritical rubberneckers with it. Let's go back to the context of how this all started.
Originally posted by Malte SkarupkeSo this all started like this: I overheard somebody at work complaining about mysterious stalls while porting Rage 2 to Stadia. The only thing those mysterious stalls had in common was that they were all using spinlocks. I was curious about that because I happened to be the person who wrote the spinlock we were using.
Originally posted by Malte SkarupkeReally the Windows results just shows us that the Linux scheduler might take an unreasonably long time to schedule you again even if every other thread is sleeping or calls yield(). The Linux scheduler has been known to be problematic for a long time.
Originally posted by Malte SkarupkeI know that we were not the only developers who had problems with the scheduler on Stadia. And Google is very aware of the problem. They care a lot about latency because latency is super important for the Stadia experience.
Originally posted by Malte SkarupkeI have to say that I am really weirded out by the ticket_spinlock performing this badly...
...most mutex implementations are really good, that most spinlock implementations are pretty bad...
The only thing those mysterious stalls had in common was that they were all using spinlocks.
How do you even measure whether a spinlock is better than a mutex, and what makes a good spinlock?
Even if you are in the situation where there is one software thread per hardware thread and you think you’re doing the right thing by using a spinlock, you might be making future code evolution harder.
What's Linus' first response?
Originally posted by Linus TorvaldsThe whole post seems to be just wrong, and is measuring something completely different than what the author thinks and claims it is measuring.
First off, spinlocks can only be used if you actually know you're not being scheduled while using them. But the blog post author seems to be implementing his own spinlocks in user space with no regard for whether the lock user might be scheduled or not. And the code used for the claimed "lock not held" timing is complete garbage.
Linus is gruff when poked, but he's got rules. He never attacks noobs, he stays out of things that don't escalate or get really visible, and he never just says mean things for the sake of it. All of his complaints are teaching moments. And for people in CS, those teaching moments are valuable. For most people they'd be more valuable one-on-one and with nicer words. And when people reach out one-on-one, he does that. Public teaching only happens when (1) someone who should know better does something that creates work for others, (2) someone doubles down on a mistake instead of fixing it, or (3) somebody brings their mistakes public and blames others for them. It's pretty easy to not have bad interactions with him. Just don't make his job harder. And when you fuck up, claim ownership and fix it.
Originally posted by Creak View PostJust by seeing how some people here consider the Google developer to "showed himself a fool", or that he "sucks", or that he "was talking mostly out of his rear", or even making a general affirmation that "Google is becoming pathetic". This explains why words are important. If Linus would have been less rude, maybe you lot would have been less rude too.
This, to me, is the exact definition of a toxic community.
I know other open source communities where you can be told you're wrong without telling you you're stupid.
There is something to be said for people to spend less time and effort defending their celebrities. But it goes into the same bucket as people who waste their time mobbing a celebrity without reading the details just to make themselves feel like better people. So you should go fix that before telling other people what they need to fix.
- Likes 23
Leave a comment:
-
Originally posted by gigaplex View Post
Stating "And be aware that the likelihood that you know what you are doing is basically nil." is basically saying "you're stupid" rather than "you're wrong". It's a message indicating they have nothing useful to contribute.
If you read "offense" into my comment or Linus' comment, then I wonder if you also find aliens behind every blinking light in the sky, boogymen under every dark bedframe, and communists in every dark corner of Hollywood.
- Likes 4
Leave a comment:
-
I saw nothing wrong with the comment from Linus. I think he was criticizing the code and the programmer's lack of understanding of where it is being used in the kernel. As another post pointed out, sometimes you have to say things like they are; if you are doing a bad job at work, then your manager is justified in telling you so.
Given the length of time that this issue has existed in cyberspace, and a few days is a long time in that context, there was plenty of time for that programmer to carefully consider any and all feedback that they got before Linus spoke up.
- Likes 4
Leave a comment:
-
Originally posted by gigaplex View PostStating "And be aware that the likelihood that you know what you are doing is basically nil." is basically saying "you're stupid" rather than "you're wrong". It's a message indicating they have nothing useful to contribute.
There is a handful of people who know enough about the Linux or Windows kernel scheduler and locking who could possible do a spinlock in userspace and set everything right system wide that it behaves correctly.
You want to read it as saying the person is stupid. Its not saying that its saying that you have to accept the likelihood you know what you are doing is nil and that you will be needing to ask one of the handful of people for advice if you are doing it right or wrong. Linus even goes on to state on usermode spin locks and other locking those people have even got it wrong.
This is not being stupid. Locking is insanely complex thing to get exactly right for the usage case and insanely simple to get completely wrong.
- Likes 3
Leave a comment:
Leave a comment: