Query about cons server in SMP

From: Warren Toomey <wkt_at_nospam.org>
Date: Wed Feb 18 2004 - 13:32:38 PST

Andy, status report. We are back on deck after our summer break. We were
seeing cons continually page fault at startup time. It turns out to be
the bcopy() in new_client() around line 92 of cons/main.c. Either one or
both of perms and f->f_perms are 0.

perms= m->m_buf, but m comes in as a parameter. On line 428 in
screen_main, m_buf is initialised, but only if "we've received more than
a single buffer of data". So it is possible that m_buf is never initialised.

Going back to f_perms, I can't see where it is even initialised! So
right now, I've changed the bcopy() operation to say:

if (perms && f->f_perms)
        bcopy(perms, f->f_perms, sizeof(f->f_perms));

With the change, we ca now login and do a few things before the system
crashes; sometimes we can get the kernel to link :-)

If you could comment back on m_buf and f_perms that would be good. I'd
be keen to know if cons must always receive more than a single buffer of
data.

Many thanks,
        Warren and Gabriel
Received on Thu, 19 Feb 2004 07:32:38 +1000

This archive was generated by hypermail 2.1.8 : Tue Sep 26 2006 - 09:03:12 PDT