forked-franz.bsky.social
@forked-franz.bsky.social
Reposted
github.com/netty/netty/...

This is only needed for 4.1.x, in 4.2.x we are able to fix this in another way that does not require the usage of sun.misc.Unsafe
Re-enable sun.misc.Unsafe by default on Java 24+ by chrisvest · Pull Request #15296 · netty/netty
See https://github.com/netty/netty/wiki/Java-24-and-sun.misc.Unsafe for more information. Motivation: In #14943 we disabled Unsafe by default on Java 24+, to avoid producing warnings from the JVM. ...
github.com
June 3, 2025 at 8:48 PM
Reposted
❌ printf debugging
✅ segfault debugging
May 19, 2025 at 1:24 PM
It is likely a way to observe the dynamic of the system.
Probably it is more actionable to have predicates applied to an analysis of the same events
May 14, 2025 at 7:59 PM
It looks cdn.jsdelivr.net/npm/timeline... but I could be wrong
cdn.jsdelivr.net
May 14, 2025 at 10:08 AM
Reposted
Was fighting a "LinkageError: attempted duplicate class definition" for 3 days... took me 2 seconds with that option!
May 13, 2025 at 3:09 PM
Many thanks 🙏
May 11, 2025 at 3:09 PM
This is the JMC timeline or something different? 🙏
May 8, 2025 at 2:47 PM
Thanks for sharing! Yep, it is a refined version of www.1024cores.net/home/lock-fr...

I have designed an unbounded version of it which is more producer centric - and leverage x86 lock xadd - but very similar, in the core concept i.e. per-slot headers to independently track changes
1024cores - Bounded MPMC queue
According to the classification it's MPMC, array-based, fails on overflow, does not require GC, w/o priorities, causal FIFO, blocking producers and consumers queue. The algorithm is pretty simple and ...
www.1024cores.net
May 3, 2025 at 7:46 PM
Reposted
(We need the queue to be lock-free even though the kernel is single-threaded because we may want to schedule a task from an interrupt handler, and if the interrupt fires during a task schedule that held a lock on the queue, the kernel would deadlock)
May 3, 2025 at 9:08 AM
Reposted
The idea is that I have a cooperatively-scheduled single-threaded OS kernel that uses C++20 coroutines as its means of expressing tasks.

I want to be able to await on asynchronous tasks, and also manually yield back to the scheduler in the case of long-running computations.

Some examples:
May 3, 2025 at 8:46 AM
Reposted
If anyone knows of resources for this, I am very much interested, as I am more or less fumbling around.

Getting a simple scheduler based on a lock free MPMC queue that works for basic coroutines was pretty straightforward, but as soon as those coroutines nest it becomes very headache-inducing.
May 2, 2025 at 8:57 PM
Which mpmc one you used? Vjukov?
May 3, 2025 at 7:05 PM