> On Dec 8, 2015, at 9:05 AM, Daniel A. Steffen via swift-corelibs-dev 
> <swift-corelibs-dev@swift.org> wrote:
> 
>> 
>> On Dec 8, 2015, at 6:11, Joakim Hassila <joakim.hass...@orc-group.com> wrote:
>> 
>> Hi Daniel,
>> 
>> 
>>> On 7 dec. 2015, at 23:11, Daniel A. Steffen <d...@apple.com> wrote:
>>> 
>>> FWIW I’ve updated the macosforge svn repo trunk to match with github 
>>> swift-corelibs-libdispatch trunk (sans the PRs, excecpt for my buildsystem 
>>> one), but going forward we are likely going to retire the macosforge 
>>> repository in favor of the github one.
>> 
>> That seems very reasonable and would make sense I think, there doesn’t seem 
>> to be much rationale for overlap.
>> 
>>> 
>>>> 
>>>> I have a few questions on how (particularly Apple folks) view this going 
>>>> forward:
>>>> 
>>>> First, the previous port to Linux/Solaris of libdispatch was dependent on 
>>>> libkqueue and more importantly on libpthread_workqueue (to have some 
>>>> heuristics for managing the number of threads when lacking kernel support).
>>>> 
>>>> How do you view this, would you consider integrating support for 
>>>> libpthread_workqueue, or would you have another preference for how to 
>>>> manage this on other platforms (Linux for starters, but essentially any 
>>>> lacking the pthread_workqueue interface)?
>>> 
>>> yes, staying with libpthread_workqueue is the focus of the current Linux 
>>> porting effort, but it may make sense to move to something more native over 
>>> time, e.g. like on FreeBSD where a version of the kernel workqueue was 
>>> implemented natively.
>> 
>> Ok, that’s great - previously there was a discussion to actually integrate 
>> libpthread_workqueue at least directly into the libdispatch project to 
>> reduce the number of dependencies to get a reasonably working libdispatch 
>> running - currently Mark Heily put it up on GitHub as well at 
>> https://github.com/mheily/libpwq - it has been quite dormant for the last 
>> few years, but I think that is largely due to things working reasonably well.
>> 
>> So would such more close integration be desirable to make things build more 
>> out of the box, or would you prefer to only use it if found during build 
>> time on the current host? (I would probably prefer the first option, as it 
>> essentially just provides support for functionality that the underlying 
>> platform lacks - the current libpwq supports a few platforms…).
> 
> That seems like a good idea in principle, I agree that it makes good 
> technical sense given libdispatch is presumably the only client of this 
> library, but short term continuing to keep it separate will likely be easiest 
> (for boring non-technical reasons)
> 
> In particular I’ll have to figure out what the situation would be with us 
> continuing to take changes internally from the github repo after importing a 
> whole contributed project into it (as opposed to incremental patches to the 
> existing sourcebase), ideally I would really prefer to not significantly 
> diverge from our internal repo to make that process as straightforward as 
> possible (essentially a git merge…)

That is a good point.

Merging the codebases doesn’t necessarily require that they live in the same 
source repository though. I’m just arguing that if the worqueue 
code/emulation/layer is meant to only have dispatch as a client it allows for 
something more flexible.

-Pierre

_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev

Reply via email to