This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: swapcontext() slow



On 21-01-2016 15:53, Godmar Back wrote:
> On Thu, Jan 21, 2016 at 12:47 PM, Mike Frysinger <vapier@gentoo.org> wrote:
>> On 21 Jan 2016 12:24, Godmar Back wrote:
>>> On Thu, Jan 21, 2016 at 11:40 AM, Mike Frysinger <vapier@gentoo.org> wrote:
>>>> these functions are deprecated/dead -- they no longer exist in the latest
>>>> POSIX specification.  the preference would be to stop using them.  i think
>>>> we might consider dropping them in a future glibc version.
>>>
>>> Interesting - what's replacing them, if anything?
>>>
>>> Will there be any support infrastructure for portable user-level threading?
>>
>> use pthreads.  there are usually implementations for whatever OS you
>> want.  at least more portable than the context functions.
> 
> Pthreads does not provide user-level threading to my knowledge.
> Over a decade ago, Linux rejected NGPT in favor of NPTL, and to my
> knowledge even Solaris dropped M:N threading several years ago.
> Languages such as golang usually roll their own.
> 
>  - Godmar
> 

If you intend to implement something like the coroutines in boost or go
you will end up need to craft some arch-specific code to handle the context
save/restore based on the ABI you will use. This is what boost context
does [1].

[1] https://github.com/boostorg/context/tree/develop/src/asm


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]