Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Mar 2002 11:39:59 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Doug Rabson <dfr@nlsystems.com>
Cc:        John Baldwin <jhb@FreeBSD.ORG>, Jake Burkholder <jake@locore.ca>, <freebsd-smp@FreeBSD.ORG>, Andy Isaacson <adi@hexapodia.org>
Subject:   Re: printf locking (was Re: FreeBSD 4.5: Second CPU Not Working on Dell PowerEdge 1650)
Message-ID:  <20020326112755.P3192-100000@gamplex.bde.org>
In-Reply-To: <20020325190742.B99274-100000@salmon.nlsystems.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 25 Mar 2002, Doug Rabson wrote:

> On Mon, 25 Mar 2002, John Baldwin wrote:
>
> >
> > Hmmmm.  Well, we really need proper printf locking (which probably shouldn't
> > use blocking locks).
>
> Weren't there some patches (from chuckp?) floating around to do this.
> Something along the lines of a trylock which buffers characters
> somewhere if it fails. I wanted this (again) recently - I couldn't work
> out why syscons kept wedging until I remembered there were no locks on the
> console. In the end, I just switched to a serial console.

Message buffer locking also broken.  It apparently never even used splhigh()
except for addlog() and log().  I think cp's patch was to fix this and not
to fix syscons.  kvprintf() and console output routines are not permitted
to block or delay console output, since they may be called from ddb from
almost anywhere.  syscons has 2 types of locking bugs:
- it sometimes wanders into the scheduling code for things related to
  delayed screen updates
- it doesn't have any locking for its screen pointer or data structure
  updates.

Bruce


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




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