[External] : Re: Adaptation of IO classes to the VTs

Ron Pressler ron.pressler at oracle.com
Wed Jul 5 11:57:57 UTC 2023



> On 5 Jul 2023, at 12:50, Robert Engels <rengels at ix.netcom.com> wrote:
> 
> Hi Ron, I’ll confess - I havent looked at the VT implementation - but are you stating that it doesn’t use epoll/select behind the scenes to multiplex the IO onto a single native thread - like Go does? Only certain “rare/less used” kernel calls cause the carrier to be locked in Go. 

It does that when it’s possible, meaning for network IO (and there’s work to do that using io_uring, where available, for filesystem IO). But for filesystem operations where an asynchronous version is not provided by the OS, the OS blocks the OS thread, and in those situations the virtual thread scheduler compensates by adding more workers.

— Ron


More information about the loom-dev mailing list