Re: [prepatches] removal of console_lock

From: Andrew Morton (andrewm@uow.edu.au)
Date: Sun Mar 04 2001 - 06:19:46 EST


Manfred Spraul wrote:
>
> > - Major revamp of printk(). The approach taken in printk() is to try
> > to acquire the (new) console_sem. If we succeed, the output is
> > placed into the log buffer and is printed to the consoles. If we fail
> > to acquire the semaphore we just buffer the output in the log buffer
> > and the current holder of the console_sem will do the printing for us
> > prior to releasing console_sem.
>
> Is down_trylock reliable under load?

I'm not aware of any problems. It's only really used in one
place at present - when networking interrupt context wants to
acquire a socket's semaphore. Oh. That seems to have disappeared.

I've tested it pretty hard on SMP with zillions of printk()s from
interrupt context in parallel with `cat lots_of_stuff'.

> I remember 2 or 3 bug reports than disappeared after down_trylock was
> removed.
> The last one was this week.
>
> linux-kernel@vger.kernel.org/msg31919.html">http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg31919.html

That was different. The parport code was leaving the semaphore in
a downed state when it shouldn't have.

But you're right - it's not well-proven code. I'll go stare
angrily at it for a while. Of course, there are about ten
different implementations...

-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Mar 07 2001 - 21:00:15 EST