shakedown.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A community for live music fans with roots in the jam scene. Shakedown Social is run by a team of volunteers (led by @clifff and @sethadam1) and funded by donations.

Administered by:

Server stats:

245
active users

#switching

1 post1 participant0 posts today
Continued thread

Solved! 🥳

This was a pretty "interesting" bug. Remember when I invented a way to implement #async / #await in #C, for jobs running on a threadpool. Back then I said it only works when completion of the task resumes execution on the *same* pool thread.

Trying to improve overall performance, I found the complex logic to identify the thread job to put on a pool thread a real deal-breaker. Just having one single MPMC queue with a single semaphore for all pool threads to wait on is a lot more efficient. But then, a job continued after an awaited task will resume on a "random" thread.

It theoretically works by making sure to restore the CORRECT context (the original one of the pool thread) every time after executing a job, whether partially (up to the next await) or completely.

Only it didn't, at least here on #FreeBSD, and I finally understood the reason for this was that I was using #TLS (thread-local storage) to find the context to restore.

Well, most architectures store a pointer to the current thread metadata in a register. #POSIX user #context #switching saves and restores registers. I found a source claiming that the #Linux (#glibc) implementation explicitly does NOT include the register holding a thread pointer. Obviously, #FreeBSD's implementation DOES include it. POSIX doesn't have to say anything about that.

In short, avoiding TLS accesses when running with a custom context solved the crash. 🤯

One thing I notice when reading about people's problems #switching to #linuxaudio is that their attempts/workflows often seem quite complex.
To avoid setbacks and frustration, my suggestion would be to start simple and accept limitations in the beginning, get to know the system better, and then aim for more complex setups as your know-how grows.

#Switching
from the bird to #BlueSky.
My main question is; WHY NOW ?

The main reason would have been at least two years ago, when Elon 'stepped in'.

Having been brainwashed by right wing propaganda...
NOW you've had enough so you switch to another hedge fund backed new platform? [meaning that at some point they want to see money]

I really don't get it.

Guess I've been on here long enough to do an #introduction I'm Chris, and I live in #Bermuda

I'm married with two kids, a son and a daughter.

My hobbies include #mountainbiking #gaming (including #TTRPG #DnD and #MagicTheGathering) and #spearfishing.

I work currently as an #IaaS Support Engineer at a #cloud and #datacentre provider. I do everything from setting up virtual environments, and orchestration through #SaltStack to #DevOps and managing our #Networking and #Switching platform.