[PATCH] clarify the multithreaded behavior of ioprio_set

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

 



From: Colin Patrick McCabe <cmccabe@xxxxxxxxxxxxxx>

Signed-off-by: Colin McCabe <cmccabe@xxxxxxxxxxxxxx>
---
 man2/ioprio_set.2 |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/man2/ioprio_set.2 b/man2/ioprio_set.2
index 37b4dc1..807c655 100644
--- a/man2/ioprio_set.2
+++ b/man2/ioprio_set.2
@@ -36,13 +36,13 @@ The
 and
 .BR ioprio_set ()
 system calls respectively get and set the I/O scheduling class and
-priority of one or more processes.
+priority of one or more threads.
 
 The
 .I which
 and
 .I who
-arguments identify the process(es) on which the system
+arguments identify the thead(s) on which the system
 calls operate.
 The
 .I which
@@ -52,7 +52,7 @@ is interpreted, and has one of the following values:
 .TP
 .B IOPRIO_WHO_PROCESS
 .I who
-is a process ID identifying a single process.
+is a process ID or thread ID identifying a single process or thread.
 .TP
 .B IOPRIO_WHO_PGRP
 .I who
@@ -186,6 +186,25 @@ kernel 2.6.13.
 .SH "CONFORMING TO"
 These system calls are Linux-specific.
 .SH NOTES
+Two or more processes or threads can share an I/O context.  This will be the
+case when
+.BR clone (2)
+was called with the
+.B CLONE_IO
+flag.
+
+However, by default, the distinct threads of a process will
+.B not
+share the same I/O context.  This means that if you want to change the I/O
+priority of all threads in a process, you may need to call
+.BR ioprio_set()
+on all of the threads.  The thread ID you would need for this operation is that
+which is returned by
+.BR gettid(),
+not
+.BR pthread_self()
+or another userspace API.
+
 Glibc does not provide wrapper for these system calls; call them using
 .BR syscall (2).
 
-- 
1.7.7

--
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