home *** CD-ROM | disk | FTP | other *** search
Wrap
PPPPaaaaggggeeee 1111 ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) NNNNAAAAMMMMEEEE sysmp - multiprocessing control CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ttttyyyyppppeeeessss....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ssssyyyyssssmmmmpppp....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ssssyyyyssssiiiinnnnffffoooo....hhhh>>>> /* for SAGET and MINFO structures */ iiiinnnntttt ssssyyyyssssmmmmpppp ((((iiiinnnntttt ccccmmmmdddd,,,, ............))));;;; ppppttttrrrrddddiiiiffffffff____tttt ssssyyyyssssmmmmpppp ((((iiiinnnntttt ccccmmmmdddd,,,, ............))));;;;"""" DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN _ssss_yyyy_ssss_mmmm_pppp provides control over and information about miscellaneous system services. This system call is usually used by system programs and is not intended for general use. The arguments _a_r_g_1, _a_r_g_2, _a_r_g_3, _a_r_g_4 are provided for command-dependent use. As specified by _c_m_d, the following commands are available: MMMMPPPP____CCCCLLLLEEEEAAAARRRRCCCCFFFFSSSSSSSSTTTTAAAATTTT MMMMPPPP____CCCCLLLLEEEEAAAARRRRNNNNFFFFSSSSSSSSTTTTAAAATTTT MMMMPPPP____NNNNUUUUMMMMAAAA____GGGGEEEETTTTCCCCPPPPUUUUNNNNOOOODDDDEEEEMMMMAAAAPPPP MMMMPPPP____NNNNUUUUMMMMAAAA____GGGGEEEETTTTDDDDIIIISSSSTTTTMMMMAAAATTTTRRRRIIIIXXXX These are all interfaces that are used to implement various system library functions. They are all subject to change and should not be called directly by applications. MMMMPPPP____PPPPGGGGSSSSIIIIZZZZEEEE The page size of the system is returned (see _gggg_eeee_tttt_pppp_aaaa_gggg_eeee_ssss_iiii_zzzz_eeee(2)). MMMMPPPP____SSSSCCCCHHHHEEEEDDDD Interface for the _ssss_cccc_hhhh_eeee_dddd_cccc_tttt_llll(2) system call. MMMMPPPP____NNNNPPPPRRRROOOOCCCCSSSS Returns the number of processors physically configured. MMMMPPPP____NNNNAAAAPPPPRRRROOOOCCCCSSSS Returns the number of processors that are available to schedule unrestricted processes. MMMMPPPP____SSSSTTTTAAAATTTT The processor ids and status flag bits of the physically configured processors are copied into an array of _p_d_a__s_t_a_t structures to which _a_r_g_1 points. The array must be large enough to hold as many _p_d_a__s_t_a_t structures as the number of processors returned by the MMMMPPPP____NNNNPPPPRRRROOOOCCCCSSSS _ssss_yyyy_ssss_mmmm_pppp command. The _p_d_a__s_t_a_t structure and the various status bits are defined in <_s_y_s/_p_d_a._h>. MMMMPPPP____EEEEMMMMPPPPOOOOWWWWEEEERRRR The processor number given by _a_r_g_1, interpreted as an 'int', is empowered to run any unrestricted processes. This is the default for all processors. This command requires superuser authority. MMMMPPPP____RRRREEEESSSSTTTTRRRRIIIICCCCTTTT The processor number given by _a_r_g_1, interpreted as an 'int', is restricted from running any processes except those assigned to it by a MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN or MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD PPPPaaaaggggeeee 2222 ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) command, a _rrrr_uuuu_nnnn_oooo_nnnn(1) command or because of hardware necessity. Note that processor 0 cannot be restricted. This command requires superuser authority. On Challenge Series machines, all timers belonging to the processor are moved to the processor that owns the clock as reported by MMMMPPPP____CCCCLLLLOOOOCCCCKKKK.... MMMMPPPP____IIIISSSSOOOOLLLLAAAATTTTEEEE The processor number given by _a_r_g_1, interpreted as an 'int', is isolated from running any processes except those assigned to it by a MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN command, a _rrrr_uuuu_nnnn_oooo_nnnn(1) command or because of hardware necessity. Instruction cache and Translation Lookaside Buffer synchronization across processors in the system is minimized or delayed on an isolated processor until system services are requested. Note that processor 0 cannot be isolated. This command requires superuser authority. On Challenge Series machines, all timers belonging to the processor are moved to the processor that owns the clock as reported by MMMMPPPP____CCCCLLLLOOOOCCCCKKKK.... MMMMPPPP____UUUUNNNNIIIISSSSOOOOLLLLAAAATTTTEEEE The processor number given by _a_r_g_1, interpreted as an 'int', is unisolated and empowered to run any unrestricted processes. This is the default system configuration for all processors. This command requires superuser authority. MMMMPPPP____PPPPRRRREEEEEEEEMMMMPPPPTTTTIIIIVVVVEEEE The processor number given by _a_r_g_1, interpreted as an 'int', has its clock scheduler enabled. This is the default for all processors. Note that this command implies MMMMPPPP____PPPPEEEERRRRMMMMIIIITTTTRRRRTTTTCCCC which can be seen below. Clock scheduling cannot be changed on an excluded processor. This command requires superuser authority. MMMMPPPP____NNNNOOOONNNNPPPPRRRREEEEEEEEMMMMPPPPTTTTIIIIVVVVEEEE The processor number given by _a_r_g_1, interpreted as an 'int', has its clock scheduler disabled. Normal process time slicing is no longer enforced on that processor. As a result of turning off the clock interrupt, the interrupt latency on this processor will be lower. Note that this command implies MMMMPPPP____WWWWAAAARRRRDDDDRRRRTTTTCCCC which can be seen below. The Real-Time Clock can be re-permitted by a subsequent use of MMMMPPPP____PPPPEEEERRRRMMMMIIIITTTTRRRRTTTTCCCC if so desired. This command requires superuser authority and is allowed only on an isolated processor. Clock scheduling cannot be changed on an excluded processor. This command is not allowed on the clock processor (see MMMMPPPP____CCCCLLLLOOOOCCCCKKKK). MMMMPPPP____CCCCLLLLOOOOCCCCKKKK The processor number given by _a_r_g_1, interpreted as an 'int', is given charge of the operating system software clock (see _tttt_iiii_mmmm_eeee_rrrr_ssss(5)). Clock handling cannot be assigned to an excluded processor. This command requires superuser authority. PPPPaaaaggggeeee 3333 ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) MMMMPPPP____FFFFAAAASSSSTTTTCCCCLLLLOOOOCCCCKKKK The processor number given by _a_r_g_1, interpreted as an 'int', is given charge of the operating system software fast clock (see _tttt_iiii_mmmm_eeee_rrrr_ssss(5)). Clock handling cannot be assigned to an excluded processor. This command requires superuser authority. MMMMPPPP____WWWWAAAARRRRDDDDRRRRTTTTCCCC The processor number given by _a_r_g_1, interpreted as an 'int', queues interrupts from the Real-Time Clock (RTC) created by timeouts and interval timers created by threads running on the processor to other processors. RTC interrupts will not be queueable to the processor from other processors. This command is not allowed on the Clock processor nor processor 0. This command requires superuser authority. MMMMPPPP____PPPPEEEERRRRMMMMIIIITTTTRRRRTTTTCCCC The processor number given by _a_r_g_1, interpreted as an 'int', will be permitted to handle RTC interrupts created by timeouts and interval timers. This command requires superuser authority. MMMMPPPP____MMMMIIIISSSSEEEERRRR____GGGGEEEETTTTRRRREEEEQQQQUUUUEEEESSSSTTTT MMMMPPPP____MMMMIIIISSSSEEEERRRR____SSSSEEEENNNNDDDDRRRREEEEQQQQUUUUEEEESSSSTTTT MMMMPPPP____MMMMIIIISSSSEEEERRRR____RRRREEEESSSSPPPPOOOONNNNDDDD MMMMPPPP____MMMMIIIISSSSEEEERRRR____GGGGEEEETTTTRRRREEEESSSSOOOOUUUURRRRCCCCEEEE MMMMPPPP____MMMMIIIISSSSEEEERRRR____SSSSEEEETTTTRRRREEEESSSSOOOOUUUURRRRCCCCEEEE MMMMPPPP____MMMMIIIISSSSEEEERRRR____CCCCHHHHEEEECCCCKKKKAAAACCCCCCCCEEEESSSSSSSS These are all interfaces that are used to implement various _m_i_s_e_r(_1) functions. These are all subject to change and should not be called directly by applications. MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN Assigns the calling process to run only on the processor number by _a_r_g_1, interpreted as an 'int', except as required for communications with hardware devices. Processes cannot be assigned to an excluded processor. A process that has allocated a CC sync register (see _cccc_cccc_ssss_yyyy_nnnn_cccc(7m)) is restricted to running on a particular cpu. Attempts to reassign such a process to another cpu will fail until the CC sync register has been relinquished. After a sucessful assignment to a cpu, any subsequent fork or sproc call that creates a new process is also assigned to the same cpu as the parent (see _ffff_oooo_rrrr_kkkk(2) and _ssss_pppp_rrrr_oooo_cccc(2)). This command should not be used within a pthreaded application (see _pppp_tttt_hhhh_rrrr_eeee_aaaa_dddd______ssss_eeee_tttt_rrrr_uuuu_nnnn_oooo_nnnn______nnnn_pppp(3P)). MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD Assigns the process specified by _a_r_g_2 to run only on the processor number specified by _a_r_g_1, both interpreted as 'int', except as required for communications with hardware devices. Processes cannot be assigned to an excluded processor. A process that has allocated a CC sync register (see _cccc_cccc_ssss_yyyy_nnnn_cccc(7m)) is restricted to running on a particular cpu. Attempts to reassign such a process to another cpu will fail until the CC sync register has been PPPPaaaaggggeeee 4444 ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) relinquished. After a sucessful assignment to a cpu, any subsequent fork or sproc call performed by the specified process that creates a new process is also assigned to the same cpu as the parent (see _ffff_oooo_rrrr_kkkk(2) and _ssss_pppp_rrrr_oooo_cccc(2)). This command will give unpredictable results if the specified process is a pthreaded process. MMMMPPPP____GGGGEEEETTTTMMMMUUUUSSSSTTTTRRRRUUUUNNNN Returns the processor the current process has been set to run on using the MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN command. If the current process has not been assigned to a specific processor, -1 is returned and errno is set to EINVAL. This command should not be used within a pthreaded application (see _pppp_tttt_hhhh_rrrr_eeee_aaaa_dddd______ssss_eeee_tttt_rrrr_uuuu_nnnn_oooo_nnnn______nnnn_pppp(3P)). MMMMPPPP____GGGGEEEETTTTMMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD Returns the processor that the process specified by _a_r_g_1 has been set to run on using the MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN or MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD command. If the process has not been assigned to a specific processor, -1 is returned and errno is set to EINVAL. This command will give unpredictable results if the specified process is a pthreaded process. MMMMPPPP____RRRRUUUUNNNNAAAANNNNYYYYWWWWHHHHEEEERRRREEEE Frees the calling process to run on whatever processor the system deems suitable. MMMMPPPP____RRRRUUUUNNNNAAAANNNNYYYYWWWWHHHHEEEERRRREEEE____PPPPIIIIDDDD Frees the process specified by _a_r_g_1 to run on whatever processor the system deems suitable. MMMMPPPP____KKKKEEEERRRRNNNNAAAADDDDDDDDRRRR Returns the address of various kernel data structures. The structure returned is selected by _a_r_g_1. The list of available structures is detailed in <_s_y_s/_s_y_s_m_p._h>. This option is used by many system programs to avoid having to look in ////uuuunnnniiiixxxx for the location of the data structures. MMMMPPPP____SSSSAAAASSSSZZZZ Returns the size of various system accounting structures. As above, the structure returned is governed by _a_r_g_1. MMMMPPPP____SSSSAAAAGGGGEEEETTTT1111 Returns the contents of various system accounting structures. The information is only for the processor specified by _a_r_g_4. As above, the structure returned is governed by _a_r_g_1. _a_r_g_2 points to a buffer in the address space of the calling process and _a_r_g_3 specifies the maximum number of bytes to transfer. MMMMPPPP____SSSSAAAAGGGGEEEETTTT Returns the contents of various system accounting structures. The information is summed across all processors before it is returned. As above, the structure returned is governed by _a_r_g_1. _a_r_g_2 points to a buffer in the address space of the calling process and _a_r_g_3 specifies the maximum number of bytes to transfer. PPPPaaaaggggeeee 5555 ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) MMMMPPPP____EEEEXXXXCCCCLLLLUUUUDDDDEEEE The processor number given by _a_r_g_1, interpreted as an 'int', is excluded from system use. Currently, this includes isolation in the same manner as the MP_ISOLATE command. In addition, the _MMMM_PPPP______EEEE_MMMM_PPPP_OOOO_WWWW_EEEE_RRRR, _MMMM_PPPP______RRRR_EEEE_SSSS_TTTT_RRRR_IIII_CCCC_TTTT, _MMMM_PPPP______IIII_SSSS_OOOO_LLLL_AAAA_TTTT_EEEE, _MMMM_PPPP______UUUU_NNNN_IIII_SSSS_OOOO_LLLL_AAAA_TTTT_EEEE, _MMMM_PPPP______CCCC_LLLL_OOOO_CCCC_KKKK, _MMMM_PPPP______FFFF_AAAA_SSSS_TTTT_CCCC_LLLL_OOOO_CCCC_KKKK, _MMMM_PPPP______PPPP_RRRR_EEEE_EEEE_MMMM_PPPP_TTTT_IIII_VVVV_EEEE, _MMMM_PPPP______NNNN_OOOO_NNNN_PPPP_RRRR_EEEE_EEEE_MMMM_PPPP_TTTT_IIII_VVVV_EEEE, _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN and _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN_PPPP_IIII_DDDD commands cannot be applied to an excluded processor. This command requires superuser authority. On Challenge Series machines, all timers belonging to the processor are moved to the processor that owns the clock as reported by Note that processor 0 cannot be excluded. MMMMPPPP____UUUUNNNNEEEEXXXXCCCCLLLLUUUUDDDDEEEE The processor number given by _a_r_g_1, interpreted as an 'int', is unexcluded and empowered to run any unrestricted processes. This is the default system configuration for all processors. This command requires superuser authority. Possible errors from _ssss_yyyy_ssss_mmmm_pppp are: [EPERM] The effective user ID is not superuser. Many of the commands require superuser privilege. [EPERM] The user ID of the sending process is not superuser, and its real or effective user ID does not match the real, saved, or effective user ID of the receiving process. [ESRCH] No process corresponding to that specified by a _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD, _MMMM_PPPP______GGGG_EEEE_TTTT_MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD, or _MMMM_PPPP______RRRR_UUUU_NNNN_AAAA_NNNN_YYYY_WWWW_HHHH_EEEE_RRRR_EEEE______PPPP_IIII_DDDD could be found. [EINVAL] The processor named by a _MMMM_PPPP______EEEE_MMMM_PPPP_OOOO_WWWW_EEEE_RRRR, _MMMM_PPPP______RRRR_EEEE_SSSS_TTTT_RRRR_IIII_CCCC_TTTT, _MMMM_PPPP______IIII_SSSS_OOOO_LLLL_AAAA_TTTT_EEEE, _MMMM_PPPP______UUUU_NNNN_IIII_SSSS_OOOO_LLLL_AAAA_TTTT_EEEE, _MMMM_PPPP______CCCC_LLLL_OOOO_CCCC_KKKK, _MMMM_PPPP______FFFF_AAAA_SSSS_TTTT_CCCC_LLLL_OOOO_CCCC_KKKK, _MMMM_PPPP______PPPP_RRRR_EEEE_EEEE_MMMM_PPPP_TTTT_IIII_VVVV_EEEE, _MMMM_PPPP______NNNN_OOOO_NNNN_PPPP_RRRR_EEEE_EEEE_MMMM_PPPP_TTTT_IIII_VVVV_EEEE, _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN, _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN_PPPP_IIII_DDDD, _MMMM_PPPP______PPPP_EEEE_RRRR_MMMM_IIII_TTTT_RRRR_TTTT_CCCC or _MMMM_PPPP______WWWW_AAAA_RRRR_DDDD_RRRR_TTTT_CCCC command does not exist. [EINVAL] The _c_m_d argument is invalid. [EINVAL] The _a_r_g_1 argument to a _MMMM_PPPP______KKKK_EEEE_RRRR_NNNN_AAAA_DDDD_DDDD_RRRR command is invalid. [EINVAL] An attempt was made via _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN or _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD to move a process owning a CC sync register from the cpu controlling the CC sync register. [EINVAL] The target of the _MMMM_PPPP______GGGG_EEEE_TTTT_MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN command has not been set to run on a specific processor. [EINVAL] The target process of the _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD command is a pthreaded process. PPPPaaaaggggeeee 6666 ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) [EINVALSTATE] The processor named by a _MMMM_PPPP______EEEE_MMMM_PPPP_OOOO_WWWW_EEEE_RRRR, _MMMM_PPPP______RRRR_EEEE_SSSS_TTTT_RRRR_IIII_CCCC_TTTT, _MMMM_PPPP______IIII_SSSS_OOOO_LLLL_AAAA_TTTT_EEEE, _MMMM_PPPP______UUUU_NNNN_IIII_SSSS_OOOO_LLLL_AAAA_TTTT_EEEE, _MMMM_PPPP______CCCC_LLLL_OOOO_CCCC_KKKK, _MMMM_PPPP______FFFF_AAAA_SSSS_TTTT_CCCC_LLLL_OOOO_CCCC_KKKK, _MMMM_PPPP______PPPP_RRRR_EEEE_EEEE_MMMM_PPPP_TTTT_IIII_VVVV_EEEE, _MMMM_PPPP______NNNN_OOOO_NNNN_PPPP_RRRR_EEEE_EEEE_MMMM_PPPP_TTTT_IIII_VVVV_EEEE, _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN or _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN_PPPP_IIII_DDDD command is in excluded state. [EINVALSTATE] The processor named by a _MMMM_PPPP______EEEE_MMMM_PPPP_OOOO_WWWW_EEEE_RRRR command is in isolated state. [EINVALSTATE] The processor names by a _MMMM_PPPP______CCCC_LLLL_OOOO_CCCC_KKKK command is in RTC warded state. [EINVALSTATE] The processor named by a _MMMM_PPPP______WWWW_AAAA_RRRR_DDDD_RRRR_TTTT_CCCC command is running the operating system software clock. [EBUSY] An attempt was made to restrict the only unrestricted processor or to restrict the master processor. [EBUSY] The proccesor named by an _MMMM_PPPP______EEEE_XXXX_CCCC_LLLL_UUUU_DDDD_EEEE command is currently running processes assigned by the _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN or _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN_PPPP_IIII_DDDD commands. [EFAULT] An invalid buffer address has been supplied by the calling process. SSSSEEEEEEEE AAAALLLLSSSSOOOO mpadmin(1), runon(1), getpagesize(2), schedctl(2), pthread_setrunon_np(3P), timers(5) DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS Upon successful completion, the _c_m_d dependent data is returned. Otherwise, a value of -1 is returned and _e_r_r_n_o is set to indicate the error. PPPPaaaaggggeeee 7777