Le 22/09/2010 13:36, Jeff Squyres a écrit :
> On Sep 22, 2010, at 4:38 AM, Brice Goglin wrote:
>
>   
>> There are still some problems to solve in the membind branch:
>> * Some OS bind the process too when you bind memory. I see the following
>> solutions:
>>  + Add a flag such as HWLOC_MEMBIND_EVEN_IF_FAR_FROM_PROCESS so that
>> the user can explicitly refuse memory binding if it may break process
>> binding
>>  + Drop hwloc_set_membind on these OSes and add a
>> hwloc_set_cpumembind() to bind both
>>  + Make both process and memory binding do nothing if the STRICT flag
>> is given. But I'd rather not play too much with this flag.
>>  + Drop support for memory binding on these OS.
>>  + Drop these OS.
>>     
> What OS's are you specifically referring to?
>   

IIRC, it was AIX and Solaris.

>  How about adding a query function that says what will happen for 
> hwloc_set_membind()

I like it, we can put this in the output of hwloc_topology_get_support.

I wonder if there are some other cases where the STRICT flag could be
dropped in favor of such an informative stuff.


> Just curious -- on these OS's, what happens if you:
>
> - bind proc to A
> - bind memory to B (which then also re-binds proc to B)
> - re-bind proc to A
>
> Is the memory binding then lost?
>   

I'll let Samuel comment on this.

>> * cpuset and nodeset structures are the same, they are both manipulated
>> with hwloc_cpuset_foo functions. So maybe rename into hwloc_set_t and
>> hwloc_set_foo functions. With #define and aliases to not break API/ABIs.
>>     
> I'm in favor of this -- it would end the overloading of the term "cpuset" 
> between hwloc and cpuset.
>   

hwloc_set_*? hwloc_objset* ? Anything better?

hwloc_set_* might not be the best since we would have a hwloc_set_set()
function to set one bit :)

By the way, hwloc_cpuset_cpu() and hwloc_cpuset_all_but_cpu() should be
renamed too. hwloc_set_onlyone() and hwloc_set_allbutone() maybe?

Brice

Reply via email to