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