Re: cli/sti in char/vt.c [patch]

Andrew Derrick Balsa (andrebalsa@altern.org)
Fri, 29 May 1998 23:27:01 -0100


Hi Pavel,

> Hi!
>
> > The following patch (against 2.1.103) attempts to fix that. I believe it
> > also makes it SMP safe, but I only have a UP, so can't test.
>
> Don't think so. Well, it is safe on i386, but on other architectures,
> test_and_set_bit is not guaranteed to be atomic. [And I'm afraid that
> this code is used on non-i386 but similar hw around machines?]

a) As you wrote above, the code is SMP safe on i386 architectures.

b) The code wraps a PC-specific feature (the speaker port, driven by a
8253/82C54 counter/timer chip or equivalent).

> You should better use atomic_t mksound_lock, and
> atomic_inc/atomic_dec.
>
> Correct and post to linus ;-)

No. The patch by Rafael is correct as it stands now.

First come up with a real-life example of an *SMP* motherboard which
has:

1) a PC-style speaker port with an 8253/82C54 chip, and
2) two or more non-i386 processors with a non-SMP-friendly
test_and_set_bit(),

_then_ the patch will eventually have to be changed.

Otherwise your entire argument above is entirely hypothetical.

Regards,
------------------------
André Balsa
andrebalsa@altern.org

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu