Boost logo

Boost :

Subject: Re: [boost] [fiber] on schedulers and wakeups
From: Giovanni Deretta (gpderetta_at_[hidden])
Date: 2015-09-09 06:16:50


Oliver Kowalke <oliver.kowalke <at> gmail.com> writes:
> 2015-09-09 0:19 GMT+02:00 Giovanni Piero Deretta <gpderetta <at> gmail.com>:
> > On Tue, Sep 8, 2015 at 7:21 PM, Oliver Kowalke <oliver.kowalke <at>
gmail.com> wrote:
> > > 2015-09-08 13:34 GMT+02:00 Giovanni Deretta <gpderetta <at> gmail.com>:
> > >> My first concern is that scheduler is a global (per thread) property.
This
> > >> makes sense, but it limits its usability in libraries, unless the library
> > >> completely owns a thread.
> > >
> > > the scheduler is only entered if a function from boost.fiber is called.
> > > code outside of fiber code is ‎unaffected
> > > how does it limit the usability?
> >
> > Two different libraries can't use boost.fiber if they require a custom
> > scheduler oÑ¡•ä¹••Ñ¼ÉÕ¸Ñ¡•¥È½Ý¸Ñ¡É•…‘̸ …Í¥…±±äÑ¡”(ø€øÍ¡•‘Õ±•È¥Ì„Í…ɍ”É•Í½Õɍ”…¹±¥µ¥Ñ́½µÁ½Í…‰¥±¥Ñä¸(ø€(ø=,°½½Á½¥¹Ð„(ø=¹”½˜Ñ¡”‘•Í¥¸‘•¥Í¥½¹Ì™½È‰½½Íй™¥‰•ÈÝ…́ѡ…Ёѡ”Í¡•‘Õ±•È¥ÑÍ•±˜(ø¥Ì¹½ÐÙ¥Í¥‰±”(ø€¡Ñ¡”Õ͕ȁ½‘”‘½•Ì¹½Ð¥¹ÍÑ…¹Ñ¥…Ñ”¥Ð¤¸Ñ¡”±¥‰É…ÉäÍ¡½Õ±Ý½É¬Í¥µ¥±…ȁѼ(øÍѐèéÑ¡É•…(ø€¡½ÌµÍ¡•‘Õ±•È¹½ÐÙ¥Í¥‰±”€¸¸¸¤¸()Q¡”Á½¥¹Ð¥ÌÑ¡…Ёѡ”Í¡•‘Õ±•È¥Ì¹½Ð½µÁ±•Ñ•±ä¥¹Ù¥Í¥‰±”…́¥Ð…¸‰”)É•Á±…•¸́ѡ”‘•™…ձЁ͍¡•‘Õ±•È¥ÌÙ•É䁉…Í¥Œ°É•Á±…¥¹œ¥Ð‰•½µ•Ì)ÁÉ•ÑÑ䁵Ս „É•Åեɕµ•¹Ð¸((ø€(ø½˜½ÕÉÍ”¥˜Ñ¡¥Ì‘•¥Í¥½¸¥Ì¥Ù•¸ÕÀ°Ñ¡”Õ͕ȁÉ•…Ñ•Ì€¡½¸ÍÑ…¬½È¡•…À¤(ø„Í¡•‘Õ±•È(ø…¹¥˜„¹•Ü™¥‰•È¥ÌÉ•…Ñ•Ñ¡”½‘”µÕÍЁÍÁ•¥™äÑ¼Ý¡¥ Í¡•‘Õ±•ÈÑ¡”(ø™¥‰•È‰•±½¹ÌÑ¼¸(ø€(øµå}͍¡•‘Õ±•ÈµÌì(ø€(ø™¥‰•È˜ µÌ°™¸°…ɜİ&s"’À ¥7V6–g––ærâW‡Æ–6—B66†VGVÆW"v÷VÆB&Ræ–6RFF—F–öâÂ'WB–bæ÷@§7V6–f–VB—B6†÷VÆBFVfVÇBFòF†R7W'&VçB66†VGVÆW"f÷"F†RF‡&VBࠣ₏ˆˆˆHØÚY[XX›H[]H\ÈHšX™\ˆÛ۝^
šX™\‰ÜÈÝXÚÊK]YX[œÈ]ˆˆˆXXÚ›ÛÜÝŽ™šX™\œÎŽ™šX™\ˆ\È]XÚYÈÛ™HšX™\ˆÛ۝^
]XÚ[™Â˜HšX™\ˆYX[œÈXÛÝ\Z[™Èœ›ÛBˆˆˆHÛ۝^
K‚ˆ‚ˆˆÝÈÈ[ÝH]XÚHšX™\ˆžHHÛ۝^ÈÚ]Ù\È]YX[ÈY[ÝBˆˆYX[ˆ]XÚHšX™\ŠØÛ۝^œ›ÛHHØÚY[\Âˆ‚ˆˆ›ÛÜÝŽ™šX™\œÎŽ™šX™\ˆ\ÈHY[X™\ˆÚ[\ˆÈ›ÛÜÝŽ™šX™\œÎŽ˜Û۝^ˆ›ÛÜÝŽ™šX™\œÎŽœØÚY[\ˆX[˜YÙ\È›ÛÜÝŽ™šX™\œÎŽ˜Û۝^
‚ˆ]XÚ[™ÈYX[œÈ›ÛÜÝŽ™šX™\œÎ‹™šX™\ˆ™[\Ù\È]ÈÚ[\ˆˆ›ÛÜÝŽ™šX™\œÎŽ˜Û۝^ ‚ˆˆHØÚY[\ˆÝ[X[˜YÙ\È
ØÚY[[™ËÛY™][YJHH]XÚYÛ۝^ˆ
›ÛÜÝŽ™šX™\œÎŽ˜Û۝^\ÈHÛ۝›ÛݝXÝ\™Bˆ™\ÚY[™ÈÛˆHÜÙˆHšX™\‹\ÝXÚÊBˆ‚“ÚËH[šÈH[™\œÝ[™ÈHØ\È[ng about fiber the abstract concept,
while you of course meant the boost::fiber::fiber class, which can be
detached like an std::thread.

Although now I can't see how detaching is relevant to the nested scheduler
discussion...

-- gpd


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk