#!/sbin/sh # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License, Version 1.0 only # (the "License"). You may not use this file except in compliance # with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2005 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" # # Set default scheduling class # . /lib/svc/share/smf_include.sh [ -f /etc/dispadmin.conf ] || exit $SMF_EXIT_OK if [ -x /usr/sbin/dispadmin ] && [ -x /usr/bin/priocntl ]; then ERROR="$0: cannot set default scheduling class to " DISPADMIN_D=`/usr/sbin/dispadmin -d` if [ $? -eq 0 ]; then # # Inform the kernel about the default scheduling class. # /usr/sbin/dispadmin -u DEFAULT_SCHEDULER=`echo $DISPADMIN_D | /usr/bin/cut -f1 -d' '` /usr/bin/priocntl -s -c $DEFAULT_SCHEDULER -i all if [ $? -ne 0 ]; then echo $ERROR $DEFAULT_SCHEDULER exit $SMF_EXIT_ERR_FATAL else # # Also need to move init process explicitly # because it was ignored by "-i all". # /usr/bin/priocntl -s -c $DEFAULT_SCHEDULER -i pid 1 if [ $? -ne 0 ]; then echo $ERROR $DEFAULT_SCHEDULER exit $SMF_EXIT_ERR_FATAL fi fi else # # Default scheduling class from dispadmin.conf is # invalid or not available. # exit $SMF_EXIT_ERR_CONFIG fi else # dispadmin or priocntl commands can't be executed echo "$0: cannot execute command" exit $SMF_EXIT_ERR_FATAL fi exit $SMF_EXIT_OK