Re: For review: pthread_setaffinity_np.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 14, 2008 at 10:52 AM, Bert Wesarg
<bert.wesarg@xxxxxxxxxxxxxx> wrote:
> On Fri, Nov 14, 2008 at 16:38, Michael Kerrisk
> <mtk.manpages@xxxxxxxxxxxxxx> wrote:
>> [CC += "Paul Jackson" <pj@xxxxxxx>, who might want to Ack the patch below]
>>
>>>> This might be obvious to all of you, but it wasn't to me... The CPU set used
>>>> for the affinity is the intersection of the set passed to
>>>> pthread_setaffinity_np() and the set of processors supported by the
>>>> kernel...
>>>>
>>>> That's why your example shall work, even if the system where it runs has
>>>> less than 8 processors.
>>>
>>> It's true.  The page should say something to make this clearer.  I
>>> added this text to NOTES
>>>
>>>       After a call to  pthread_setaffinity_np(3),  the  set  of
>>>       CPUs  on which the thread will actually run is the inter-
>>>       section of the set specified in the cpuset  argument  and
>>>       the set of CPUs actually present on the system.  The sys-
>>>       tem may further restrict the set of  CPUs  on  which  the
>>>       thread  runs  if  the  "cpuset"  mechanism  described  in
>>>       cpuset(7) is  being  used.   These  restrictions  on  the
>>>       actual  set  of  CPUs  on  which  the thread will run are
>>>       silently imposed by the kernel.
>>
>> Of course, the sched_setaffinity.2 page also deserves similar text.  I
>> made the change below.
>>
>> Look ok?
> Yes.

Thanks.

-mtk

>> --- a/man2/sched_setaffinity.2
>> +++ b/man2/sched_setaffinity.2
>>
>> @@ -122,7 +122,10 @@ A supplied memory address was invalid.
>>  .B EINVAL
>>  The affinity bit mask
>>  .I mask
>> -contains no processors that are physically on the system.
>> +contains no processors that are currently physically on the system
>> +and permitted to the process according to any restrictions that
>> +may be imposed by the "cpuset" mechanism described in
>> +.BR cpuset (7).
>>  .TP
>>  .B EINVAL
>>  .RB ( sched_getaffinity ()
>> @@ -157,6 +160,19 @@ argument was removed, but was then restored in glibc 2.3.4,
>>  with type
>>  .SH "CONFORMING TO"
>>  These system calls are Linux-specific.
>>  .SH "NOTES"
>> +After a call to
>> +.BR sched_setaffinity (),
>> +the set of CPUs on which the process will actually run is
>> +the intersection of the set specified in the
>> +.I mask
>> +argument and the set of CPUs actually present on the system.
>> +The system may further restrict the set of CPUs on which the process
>> +runs if the "cpuset" mechanism described in
>> +.BR cpuset (7)
>> +is being used.
>> +These restrictions on the actual set of CPUs on which the process
>> +will run are silently imposed by the kernel.
>> +
>>  .BR sched_setscheduler (2)
>>  has a description of the Linux scheduling scheme.
>>  .PP
>>
>



-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git
man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux