Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Feb 1997 14:52:56 -0800 (PST)
From:      Mark.Mayo
To:        freebsd-gnats-submit@freebsd.org
Subject:   misc/2784: userland PPP rises load to 1.00
Message-ID:  <199702202252.OAA12677@freefall.freebsd.org>
Resent-Message-ID: <199702202300.PAA13284@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         2784
>Category:       misc
>Synopsis:       userland PPP rises load to 1.00
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Feb 20 15:00:01 PST 1997
>Last-Modified:
>Originator:     mark@quickweb.com
>Organization:
RingZero Computing
>Release:        2.2-GAMMA
>Environment:
FreeBSD celebris.quickweb.com 2.2-GAMMA FreeBSD 2.2-GAMMA #0: Thu Feb 13 12:36:53 EST 1997     mark@celebris.quickweb.com:/usr/src/sys/compile/RingZero  i386

>Description:
Quite often (roughly 1/3 of the time) when I run userland PPP to connect
to my ISP, the load average on my machine rises to 1.00. Obviously, PPP
should not be using that much of my resources - and I don't think it is.
It seems to be "artificially" inflating the load average. When I monitor
the machine when it's in this state with top of systat, the CPU is usually
99% idle, as in this output from TOP:

last pid:   219;  load averages:  1.22,  0.68,  0.38                   17:39:46
27 processes:  1 running, 26 sleeping
CPU states:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
Mem: 11M Active, 3968K Inact, 6600K Wired, 3583K Buf, 8788K Free

If my machine load was .33 before I run ppp, afterwards it rises to roughly
1.3. It seems like it just adds +1 to the load! Stange. I'm not sure if
this is a bug in ppp, or just the way load average is calculated. In any case,
it looks really weird, and is troublesome to a new-comer to see the load
indicate that my machine is 'maxed out'.

I also see the load rising like this when I'm running the Afterstep (1.0pre2)
window manager - but the load only rises to 0.33 and levels off right there
for eternity. Even though I'm not doing a damn thing. SOmetime, I'll do
something (like startup a CPU/memory intensive app) and the load will
drop back down to 0.00 - where I think it should be. Again, I can't seem to 
figure out how load is calculated, and I suspect the odd numbers come
from there...

The ppp problem is independant of whether or not there is data moving
through the connection.
>How-To-Repeat:
Run userland PPP 10 times. The load will almost certainly rise to above
1.00 one of these times... For me, it happend rought 1/3 of the time. Also,
it doesn't seem dependant on a particular ISP - it has happened on 3 
different ISPs.
>Fix:
I'm not technically competent enough to figure this one out - I do have
the results of a ktrace -> kdump however, if they are useful:

With no data moving through the link:

   524 ppp      PSIG  SIGALRM caught handler=0x11910 mask=0x0 code=0x0
   524 ppp      RET   select -1 errno 4 Interrupted system call
   524 ppp      CALL  sigreturn(0xefbfd2ac)
   524 ppp      RET   sigreturn JUSTRETURN
   524 ppp      CALL  select(0xe,0xefbfdb54,0xefbfdb34,0xefbfdb14,0)
   524 ppp      PSIG  SIGALRM caught handler=0x11910 mask=0x0 code=0x0
   524 ppp      RET   select -1 errno 4 Interrupted system call
   524 ppp      CALL  sigreturn(0xefbfd2ac)
   524 ppp      RET   sigreturn JUSTRETURN
   524 ppp      CALL  select(0xe,0xefbfdb54,0xefbfdb34,0xefbfdb14,0)
   524 ppp      PSIG  SIGALRM caught handler=0x11910 mask=0x0 code=0x0
   524 ppp      RET   select -1 errno 4 Interrupted system call
   524 ppp      CALL  sigreturn(0xefbfd2ac)
   524 ppp      RET   sigreturn JUSTRETURN
   524 ppp      CALL  selec   
 ...  
   524 ppp      CALL  sigreturn(0xefbfd2ac)
   524 ppp      RET   sigreturn JUSTRETURN
   524 ppp      CALL  sigprocmask(0x1,0x2000)
   524 ppp      RET   sigprocmask 0
   524 ppp      CALL  sigprocmask(0x3,0)
   524 ppp      RET   sigprocmask 8192/0x2000
   524 ppp      CALL  sigprocmask(0x1,0x2000)
   524 ppp      RET   sigprocmask 0
   524 ppp      CALL  sigprocmask(0x3,0)
   524 ppp      RET   sigprocmask 8192/0x2000
...
And here is with a ping through the ppp link

   524 ppp      CALL  select(0xe,0xefbfdb54,0xefbfdb34,0xefbfdb14,0)
   524 ppp      RET   select 1
   524 ppp      CALL  read(0x4,0xefbfd334,0x7d0)
   524 ppp      GIO   fd 4 read 64 bytes
       "E\0\0@\v\0\0@\^Q\^E\^E\M^F1M\b\^D\^R\0005\0,@\^A\0\0\^A\0\0\0\
        \0\0\0\^Evinyl\bquickweb\^Ccom\0\0\^A\0\^A"
   524 ppp      RET   read 64/0x40
   524 ppp      CALL  sigprocmask(0x1,0x2000)
   524 ppp      RET   sigprocmask 0
   524 ppp      CALL  sigprocmask(0x3,0)
   524 ppp      RET   sigprocmask 8192/0x2000
   524 ppp      CALL  select(0xe,0xefbfdb54,0xefbfdb34,0xefbfdb14,0)
   524 ppp      RET   select 1
   524 ppp      CALL  write(0x5,0x5f080,0x45)
   524 ppp      GIO   fd 5 wrote 69 bytes
       "~!E\0\0@\v\0\0@\^Q\^E\^E\M^F1M\b\^D\^R\0005\0,@\^A\0\0\^A\0\0\
        \0\0\0\0\^Evinyl\bquickweb\^Ccom\0\0\^A\0\^A\M^N~"
   524 ppp      RET   write 69/0x45
   524 ppp      CALL  select(0xe,0xefbfdb54,0xefbfdb34,0xefbfdb14,0)
   524 ppp      PSIG  SIGALRM caught handler=0x11910 mask=0x0 code=0x0
:

>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702202252.OAA12677>