1.\" 2.\" Copyright (c) 2012 3.\" The DragonFly Project. All rights reserved. 4.\" This code is derived from software contributed to The DragonFly Project 5.\" by Matthew Dillon <dillon@backplane.com> and Thomas Nikolajsen 6.\" <thomas.nikolajsen@mail.dk> 7.\" 8.\" Redistribution and use in source and binary forms, with or without 9.\" modification, are permitted provided that the following conditions 10.\" are met: 11.\" 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in 16.\" the documentation and/or other materials provided with the 17.\" distribution. 18.\" 3. Neither the name of The DragonFly Project nor the names of its 19.\" contributors may be used to endorse or promote products derived 20.\" from this software without specific, prior written permission. 21.\" 22.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 25.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 26.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 27.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, 28.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 29.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 30.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 31.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 32.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33.\" SUCH DAMAGE. 34.\" 35.Dd October 21, 2012 36.Dt USCHED 8 37.Os 38.Sh NAME 39.Nm usched 40.Nd run a program with a specified userland scheduler and cpumask 41.Sh SYNOPSIS 42.Nm 43.Op Fl d 44.Brq Ar scheduler Ns Oo Cm \&: Ns Ar cpumask Oc | Cm \&: Ns Ar cpumask 45.Ar program 46.Op Ar argument ... 47.Sh DESCRIPTION 48Run 49.Ar program 50using the specified userland 51.Ar scheduler 52on 53.Tn CPUs 54given in 55.Ar cpumask . 56It assigns the 57.Ar program 58to the 59.Tn CPU 60with the smallest cpuid and adds the rest of the 61.Tn CPUs 62to the list of available 63.Tn CPUs 64for the 65.Ar program . 66The userland 67.Ar scheduler 68can have value 69.Sq bsd4 70or 71.Sq dfly . 72If 73.Ar scheduler 74is not specified, 75userland scheduler is inherited from parent process 76.Pq Nm . 77.Pp 78The following options are available: 79.Bl -tag -width indent 80.It Fl d 81Add debug output. 82.El 83.Pp 84.Nm 85is only usable for super user as other users cannot change 86userland scheduler or cpumask. 87.Pp 88System default userland scheduler can be changed in 89.Xr loader.conf 5 , 90see 91.Xr loader 8 . 92.Sh EXIT STATUS 93.Ex -std usched 94.Sh EXAMPLES 95Run 96.Xr sh 1 97using only first 3 98.Tn CPUs . 99.Pp 100.Dl usched :7 sh 101.Pp 102Run 103.Xr sh 1 104using userland scheduler 105.Sq bsd4 106using only first 4 107.Tn CPUs . 108.Pp 109.Dl usched bsd4:0xf sh 110.Sh SEE ALSO 111.Xr usched_set 2 , 112.Xr loader.conf 5 , 113.Xr loader 8 114.Sh HISTORY 115The 116.Nm 117utility first appeared in 118.Dx 3.1 . 119.Sh AUTHORS 120.An Matthew Dillon Aq Mt dillon@backplane.com 121.An Thomas Nikolajsen Aq Mt thomas.nikolajsen@mail.dk 122.Sh BUGS 123Using system default userland scheduler by specifying 124.Ar scheduler 125as 126.Sq default 127is not implemented. 128.Pp 129.Ar cpumask 130only supports up to 64 CPUs due to implementation of usched. 131