OpenSolaris

Printable Version Enter a New Search
Bug ID 6479465
Synopsis zsched should be visible within branded zones
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:brandz
Keywords
Responsible Engineer Edward Pilatowicz
Reported Against snv_50 , s10u5_09
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_56
Fixed In snv_56
Release Fixed solaris_nevada(snv_56)
Related Bugs 6345510 , 6465372 , 6466575
Submit Date 7-October-2006
Last Update Date 25-January-2007
Description
Processes with a parent PID of zsched currently have an unknown PPID as zsched
isn't visible within a branded zone.

For example, on lucea.east, looking at atd and cpusd, a "ps -alx" shows:

5     2  6339     1  15   0  1592  576 schedu S    ?          0:00 /usr/sbin/atd
5     0 11855     1  15   0  7600 1880 schedu S    ?          0:12 cupsd

Where on BrandZ it shows:

0     0 168965 168588 40  0  8692 3900  55cb2 S    ?          0:00 cupsd
0     2 169085 168588 40  0  3796 1352 7be876 S    ?          0:00 /usr/sbin/atd

PID 168588 does not show in ps output from the Linux zone, but from the global zone
it can be seen as:

    root 168588      1   0 19:17:57 ?           0:00 zsched
i've been discussion this bug with bill and am taking over the fix.
to be able to fix this bug i'm limiting the scope of this bugfix.
as far as i can tell there are actually three related issues that me
and bill talked about:

A) both solaris and linux expect orphaned processes to be reparented to init.
   there is already an CR filed against native zones for this functionality
	6345510 RFE: The handling of the PPID of orphaned processes in Zones is counter-intuitive

B) zsched should be visible via the lx_proc filesystem.

i'm only going to address issue B with this bugfix.
currently zsched handling is pretty inconsistent in the lx_proc filesystem.
you can't see the zsched process if you do an "ls /proc" but if you know
the pid then you can access information for it.  here's an example (635096
is the pid of the zsched process):
---8<---
edp@secrassic$ ls /proc | grep 635096
edp@secrassic$ ls /proc/635096
cmdline  cpu  cwd@  environ  exe@  fd/  maps  mem  root@  stat  statm  status
---8<---
m
Work Around
N/A
Comments
N/A