![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| SUN Solaris The Solaris Operating System, usually known simply as Solaris, is a free Unix-based operating system introduced by Sun Microsystems . |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| USN-813-3: apr-util vulnerability | iBot | Security Advisories (RSS) | 0 | 08-08-2009 02:15 AM |
| util-linux upgrade with interruption? | itik | Red Hat | 3 | 07-03-2009 03:48 PM |
| USN-786-1: apr-util vulnerabilities | iBot | Security Advisories (RSS) | 0 | 06-10-2009 04:30 PM |
| Mac OS: Long Delay Before Web Pages Start to Load, Then Load Suddenly at Normal Speed | iBot | OS X Support RSS | 0 | 09-27-2008 07:12 AM |
| Need help in wrting Load Script for a Load-Resume type of load. | ankitgupta | Shell Programming and Scripting | 1 | 11-10-2006 12:46 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
||||
|
Just to be sure, are you telling a major page fault do not necessarily put the affected thread in the i/o wait queue ? Seems quite odd to me.
Also, are you sure the process table is walked to compute the load ? My understanding is the cpu partition (aka processor set) tables are used instead. About CPU halting, here is an interesting blog: The most executed code in Solaris ... the cpu idle loop : Bill Holler's blog |
|
|||||
|
Quote:
Is the process running... if so it counts. Does the process want a cpu...if so it counts. Is the process expected to want a cpu very soon...if so it counts. The sum of these counts is called nrun and it is then used to update the avenrun array. The i/o wait queue has no influence in this calculation. In the case of a process awaiting the arrival of a page, it seems to me to make good sense to count it. In the case a process waiting for a mag tape to rewind, it seems to me to not be good sense to count it. However both are counted in nrun. That 3rd category is processes sleeping with a priority below PZERO. This is same condition that keeps a process alive beyond a "kill -9". A process waiting for a read() system call to complete would not be counted. A process waiting a disk buffer because it is in the middle of a mkdir() call is counted. |
|
||||
|
Sorry to disagree but on what Solaris source code release are you basing these statements ?
I see no reference to the process table in the OpenSolaris published one Cross Reference: /onnv/onnv-gate/usr/src/uts/common/os/clock.c and I'm wondering if that would work anyway. A single process can easily generate a much higher load than 1. According to the method you describe, it would only show as 1. Moreover, walking the process table which can contains thousands of entries would be less efficient than using the processor sets run queue sizes as I understand the code is actually doing. |
|
||||
|
Okay, so here is my understanding of what is used based on what I can read in the kernel source code.
At every clock interrupt (each 10 ms by default) Solaris walk the kernel per cpu (or per cpu partition since supported) statistics, not the process table. The run queues size and running lightweight processes count are summed to compute the instantaneous load. The i/o wait queue size is not used to compute this load. From these values are computed three moving decayed averages that are available in the avenrun kernel variable and through the kstat interface. As far as I know, this has been true at least in the last decade. I'm pretty sure Solaris 2.6 already did it that way. I'm not aware of major faulted threads being accounted as running ones but I'm not denying that might have been implemented with Solaris, I'm just skeptical. That said, I'm puzzled by the fact you insist challenging/ignoring some of my points given the fact you are one of the most authoritative and reliable poster in this very forum. I would really appreciate if you tell what precise Solaris release you are basing your statements on. |
| Sponsored Links | ||
|
|
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|