Re: Coroutines, goroutines

"Scott L. Burson" <[email protected]> Sat, 28 Feb 2026 15:39:07 -0800
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <CAF5LJ4AQp54Ze8orw1O9W4buvXp4N8uG=OEv0bfvjRe1JSYXug@mail.gmail.com>
On Fri, Feb 27, 2026 at 10:07 PM Scott L. Burson <[email protected]>
wrote:

> On Fri, Feb 27, 2026, 8:21 PM Stelian Ionescu <[email protected]> wrote:
>
>>
>> When a fiber is created, we allocate it a single 4kB stack page, placing
>> the mprotect'ed guard page next to it, but we spread these out in address
>> space at, say, 256kB intervals (configurable).  Then when the guard page is
>> hit, we can grow the stack without moving it.
>>
>>
>> The resulting fragmentation of the virtual memory space will create all
>> sorts of performance problems in the kernel, will prevent the use of
>> hugepages (transparent or not), cause TLB pressure, etc...
>>
>
> It would prevent the use of hugepages, but I'm not convinced of your other
> two claims.  [...]
>

Speaking of being only human, I overlooked a more telling point: the number
of kernel segment table entries is unchanged under my proposal, relative to
what Anthony has implemented, because there's already a guard page for
every fiber stack.  So if we're going to run into kernel performance
problems, we'll do so anyway.  But I don't expect that.

-- Scott

_______________________________________________
Sbcl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sbcl-devel