DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

MSOP_OFFLINE_SELF(D2psm)


MSOP_OFFLINE_SELF -- bring a CPU offline

Synopsis

   void pfxoffline_self(void)

Description

MSOP_OFFLINE_SELF is called on a CPU that is being brought offline. All operating-specific offline processing must have been completed already. The CPU no longer handles interrupts. It may either spin while waiting to be brought back online, or it may be shut down completely.

This function never returns. When MSOP_START_CPU(D2psm) is subsequently called for this CPU, the CPU should be started by the normal online sequence.

Interrupts are disabled on the CPU when MSOP_OFFLINE_PREP(D2psm) is called.

At any time after MSOP_OFFLINE_SELF has been called, MSOP_START_CPU may occur on another CPU with this CPU as its target. The PSM cannot depend on completing any of its MSOP_OFFLINE_SELF sequence before this happens.

Once MSOP_OFFLINE_SELF has been called, no further MSOPs or delivery functions will be called on this CPU until it is brought back online and re-initialized with MSOP_INIT_CPU.

The operating system must guarantee that no bound interrupts (those that do not have msi_cpu_dist set to MS_CPU_ANY) will be attached to this CPU at the time of the call to MSOP_OFFLINE_SELF. See MSOP_INTR_ATTACH(D2psm) for details.


NOTE: The operating system will generally keep a CPU online from the PSM's point of view as long as there is work that must be handled by the CPU, even if the CPU is not made available for general job processing. Such work might include interrupt handling and hardware device drivers for devices only accessible from a particular CPU, single threaded drivers bound to a particular CPU for serialization, and kernel daemon threads that need to run on specific CPU groups. In the case of work specific to a CPU group, but not to a particular CPU, the operating system could let the work float among the various CPUs in the group until there is only one left online. It would then keep this CPU online to handle the CPU group's work.

Arguments

None.

Return values

None.

Usage

Hardware applicability

All.

Version applicability

psm: 2

References

MSOP_START_CPU(D2psm), MSOP_OFFLINE_PREP(D2psm)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - 19 June 2005