Thread overview | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
April 15, 2011 [D-runtime] Update request from tango runtime | ||||
---|---|---|---|---|
| ||||
On the NG, there is a request to update druntime with changes implemented in Tango (for someone porting Tango to D2).? I'm not super-familiar with fibers, so I don't want to reply to that person, but someone here should. -Steve |
April 15, 2011 [D-runtime] Update request from tango runtime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steve Schveighoffer | IIRC there's an issue where the state variable isn't modified atomically and at a time where fibers can be multiplexed across threads in a certain way. There's a ticket open for it somewhere. I'd not made the change until now because it could wreck performance in the normal case. I'll check out the post.
Sent from my iPhone
On Apr 15, 2011, at 4:05 AM, Steve Schveighoffer <schveiguy at yahoo.com> wrote:
> On the NG, there is a request to update druntime with changes implemented in Tango (for someone porting Tango to D2). I'm not super-familiar with fibers, so I don't want to reply to that person, but someone here should.
>
> -Steve
>
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime
|
April 15, 2011 [D-runtime] Update request from tango runtime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Oh the schedulers, related but different. It's a big change. Fawzi implemented that for some work he was doing. It seems a bit beyond the scope of what I'd intended for fibers, but I should give it a look. Fawzi, what do you think?
Sent from my iPhone
On Apr 15, 2011, at 6:25 AM, Sean Kelly <sean at invisibleduck.org> wrote:
> IIRC there's an issue where the state variable isn't modified atomically and at a time where fibers can be multiplexed across threads in a certain way. There's a ticket open for it somewhere. I'd not made the change until now because it could wreck performance in the normal case. I'll check out the post.
>
> Sent from my iPhone
>
> On Apr 15, 2011, at 4:05 AM, Steve Schveighoffer <schveiguy at yahoo.com> wrote:
>
>> On the NG, there is a request to update druntime with changes implemented in Tango (for someone porting Tango to D2). I'm not super-familiar with fibers, so I don't want to reply to that person, but someone here should.
>>
>> -Steve
>>
>> _______________________________________________
>> D-runtime mailing list
>> D-runtime at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/d-runtime
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime
|
April 15, 2011 [D-runtime] Update request from tango runtime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | On 15-apr-11, at 15:29, Sean Kelly wrote: > Oh the schedulers, related but different. It's a big change. Fawzi implemented that for some work he was doing. It seems a bit beyond the scope of what I'd intended for fibers, but I should give it a look. Fawzi, what do you think? > I think that the scheduler could be improved, the scheduler I implemented for blip is completely external, and not in the runtime (which indeed introduce some issues, but on the plus side one can avoid it completely if not used. The scheduler in the thread is not really used as far as I know, at least not publically, it was some work by kris for I/O, personally I would rip it out. So I am a bit surprised tht he really needs it, I will ask him the details. Unification thread/fiber can be useful though. It has been a while since I looked at the details, I will try to do some work on parallelization, next week, so I will look if I can look at it... ciao Fawzi > Sent from my iPhone > > On Apr 15, 2011, at 6:25 AM, Sean Kelly <sean at invisibleduck.org> wrote: > >> IIRC there's an issue where the state variable isn't modified atomically and at a time where fibers can be multiplexed across threads in a certain way. There's a ticket open for it somewhere. I'd not made the change until now because it could wreck performance in the normal case. I'll check out the post. >> >> Sent from my iPhone >> >> On Apr 15, 2011, at 4:05 AM, Steve Schveighoffer <schveiguy at yahoo.com> wrote: >> >>> On the NG, there is a request to update druntime with changes implemented in Tango (for someone porting Tango to D2). I'm not super-familiar with fibers, so I don't want to reply to that person, but someone here should. >>> >>> -Steve >>> >>> _______________________________________________ >>> D-runtime mailing list >>> D-runtime at puremagic.com >>> http://lists.puremagic.com/mailman/listinfo/d-runtime >> _______________________________________________ >> D-runtime mailing list >> D-runtime at puremagic.com >> http://lists.puremagic.com/mailman/listinfo/d-runtime > _______________________________________________ > D-runtime mailing list > D-runtime at puremagic.com > http://lists.puremagic.com/mailman/listinfo/d-runtime |
April 16, 2011 [D-runtime] Update request from tango runtime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Fawzi Mohamed |
On 15-apr-11, at 16:15, Fawzi Mohamed wrote:
> [...]
> The scheduler in the thread is not really used as far as I know, at
> least not publically, it was some work by kris for I/O, personally I
> would rip it out.
> So I am a bit surprised tht he really needs it, I will ask him the
> details.
> [...]
SiegeLord are you around here?
what do you need of that part? Is it some closed source code that uses it or tago itself? can you specify better wich functions you really need?
thanks
Fawzi
|
April 18, 2011 [D-runtime] Update request from tango runtime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Fawzi Mohamed | I don't use the feature myself, but a few parts of Tango do use it (primarily the IO classes). I took a cursory look at how it is used and as best as I can tell, most functions are used. Some unused functions seem to be 'ready' and 'spawn'. I also looked into make a derived Fiber class with those features, but some functions (e.g. switchOut) are final... -SiegeLord |
April 19, 2011 [D-runtime] Update request from tango runtime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Fawzi Mohamed | I don't use the feature myself, but a few parts of Tango do use it (primarily the IO classes). I took a cursory look at how it is used and as best as I can tell, most functions are used. Some unused functions seem to be 'ready' and 'spawn'. I also looked into make a derived Fiber class with those features, but some functions (e.g. switchOut) are final... -SiegeLord |
April 24, 2011 [D-runtime] Update request from tango runtime | ||||
---|---|---|---|---|
| ||||
Posted in reply to SiegeLord | Anyone at all? At the very least, could you make the Fiber internals protected instead of private? To the best of my understanding of the core.thread module it is impossible right now to create any fundamentally new thread-like objects because necessary initialization happens in thread_init, which isn't a function that can be extended by user level code. It is also impossible to extend Thread/Fiber directly since everything interesting is private and final.
-SiegeLord
On 04/19/2011 12:03 PM, SiegeLord wrote:
> I don't use the feature myself, but a few parts of Tango do use it (primarily the IO classes). I took a cursory look at how it is used and as best as I can tell, most functions are used. Some unused functions seem to be 'ready' and 'spawn'.
>
> I also looked into make a derived Fiber class with those features, but some functions (e.g. switchOut) are final...
>
> -SiegeLord
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime
|
April 25, 2011 [D-runtime] Update request from tango runtime | ||||
---|---|---|---|---|
| ||||
Posted in reply to SiegeLord | The thing is that the switch-in/out stuff really isn't meant to be extended. A whole bunch of stuff would have to be made public for that to work. I'm also skeptical that a scheduler needs to be integrated directly into the Thread or Fiber classes. What's the advantage of this design?
On Apr 24, 2011, at 10:27 AM, SiegeLord wrote:
> Anyone at all? At the very least, could you make the Fiber internals protected instead of private? To the best of my understanding of the core.thread module it is impossible right now to create any fundamentally new thread-like objects because necessary initialization happens in thread_init, which isn't a function that can be extended by user level code. It is also impossible to extend Thread/Fiber directly since everything interesting is private and final.
>
> -SiegeLord
>
> On 04/19/2011 12:03 PM, SiegeLord wrote:
>> I don't use the feature myself, but a few parts of Tango do use it (primarily the IO classes). I took a cursory look at how it is used and as best as I can tell, most functions are used. Some unused functions seem to be 'ready' and 'spawn'.
>>
>> I also looked into make a derived Fiber class with those features, but some functions (e.g. switchOut) are final...
>>
>> -SiegeLord
>> _______________________________________________
>> D-runtime mailing list
>> D-runtime at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/d-runtime
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime
|
Copyright © 1999-2021 by the D Language Foundation