.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "CPUSET_EXIT" "9" "09 October 2005" "" ""
.SH NAME
cpuset_exit \- detach cpuset from exiting task
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
void cpuset_exit (struct task_struct * \fItsk\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fItsk\fB\fR
pointer to task_struct of exiting process
.SH "DESCRIPTION"
.PP
Detach cpuset from \fItsk\fR and release it.
.PP
Note that cpusets marked notify_on_release force every task
in them to take the global cpuset_sem semaphore when exiting.
This could impact scaling on very large systems. Be reluctant
to use notify_on_release cpusets where very high task exit
scaling is required on large systems.
.PP
Don't even think about derefencing 'cs' after the cpuset use
count goes to zero, except inside a critical section guarded
by the cpuset_sem semaphore. If you don't hold cpuset_sem,
then a zero cpuset use count is a license to any other task to
nuke the cpuset immediately.