RE: https://fribygda.no/@eivind/115608749830807164
Un "deadlock" muy visible. Eso a veces ocurre, pero de manera no tan evidente, en una manzana completa cuando se bloquean las 4 esquinas simultšneamente. Si usted es conductor, por favor nunca bloquee…
I'm building webkit-gtk right now. It's one of these messy packages where a few source files need a lot of memory to compile, and ninja can randomly order jobs so that all of them suddenly start compiling simultaneously. So to keep things going smoothly without OOM-ing, I've been dynamically adjusting the available job count via steve the #jobserver.
While doing that, I've noticed that ninja isn't taking new jobs immediately after I increased the job count. So I've started debugging steve, and couldn't find out anything wrong with it. Finally, I've looked into ninja and realized how lazy their code is.
So, there are two main approaches to acquiring job tokens. Either you do blocking reads, and therefore wait for a token to become available, or you use polling to get noticed when it becomes available. Ninja instead does non-blocking reads, and if there are no more tokens available… it waits till one of its own jobs finish.
This roughly means that as other processes release tokens, ninja won't take them until one of its own jobs finish. And if ninja didn't manage to acquire any job tokens to begin with, it is just running a single process via implicit slot, and that process finishing provides it with the only chance to acquire additional tokens. So realistically speaking, as long as there are other build jobs running in parallel, ninja is going to need to be incredibly lucky to ever get a job token, since all other processes will grab the available tokens immediately.
This isn't something that steve can fix.
#Gentoo #NinjaBuild
Sitting here writing, idly watching the #Bitcoin bulls&bears dragging the price back and for across the said-to-matter $90K line. I don’t know who these people are but I’m sure there are chat-rooms where the ones who can influence the price (bulls mostly) strategize on how best to do so.
There’s a line of thought that says that the value of Btc cannot naturally be steady; too many holders…
Boots.com is using a service that's blocking my ISPs (CGNAT) IP - it's got a phone call to contact their customer care centre and asks you to quote the 38 digit incident ID.
Like that's going to work to a customer service person by phone.