+.\"
+.SS C library/kernel differences
+Within the kernel, nice values are actually represented
+using the range 40..1
+(since negative numbers are error codes) and these are the values
+employed by the
+.BR setpriority ()
+and
+.BR getpriority ()
+system calls.
+The glibc wrapper functions for these system calls handle the
+translations between the user-land and kernel representations
+of the nice value according to the formula
+.IR "unice\ =\ 20\ \-\ knice" .
+(Thus, the kernel's 40..1 range corresponds to the
+range \-20..19 as seen by user space.)
+.SH BUGS
+According to POSIX, the nice value is a per-process setting.
+However, under the current Linux/NPTL implementation of POSIX threads,
+the nice value is a per-thread attribute:
+different threads in the same process can have different nice values.
+Portable applications should avoid relying on the Linux behavior,
+which may be made standards conformant in the future.
+.SH SEE ALSO