Hi,all:
I installed a sol 10 box (T2000) and tried to migrate our propritary
programe on non-global zones to seperate applications. But when installing
the package,I met a problem, in the installation package, there was some
"dispadmin -c RT -s ../filesname" commands can't excute. After checking the
doc, I found the non-global zone has no privilege to set scheduler
parameters, I must set it under global zone, it's very inconvient to do that
with automatical installation scripts.The worser thing is there are a lot of
codes like following in our application:
//-----------------------------------------
// Set scheduler class parameters.
//-----------------------------------------
struct sched_param scheduleparams;
scheduleparams.sched_priority = ::sched_get_priority_min (pSchedClass);
if (pSchedClass != SCHED_RR)
{
scheduleparams.sched_nice = 0;
scheduleparams.sched_nicelim = 0;
}
int retVal = ::sched_setscheduler (::getpid (), // this process
pSchedClass,
&scheduleparams);
if (retVal == -1)
{
if (pSchedClass == SCHED_RR)
::syslog (LOG_INFO, "Monitord: ERROR - Failed to set RT scheduler
parameters");
else
::syslog (LOG_INFO, "Monitord: ERROR - Failed to set TS scheduler
parameters");
}
If I can't set scheduler parameters under non-global zone, that limit force
me to modify the code. Is there any small skill to allow non-global zone
setting the schedule parameters? Under my system infrastructure, all
applications under one global zone can share one set of scheduler
parameters, so allow non-global zones to modify these parameters will not
affect each other.
b/r
Oxy Hazard
_______________________________________________
opensolaris-discuss mailing list
[email protected]