Messages in this thread | | | Subject | Re: 2.6.11-rc2-mm1 | From | Evgeniy Polyakov <> | Date | Tue, 25 Jan 2005 19:04:47 +0300 |
| |
On Tue, 2005-01-25 at 16:34 +0100, Bartlomiej Zolnierkiewicz wrote:
> > There are no places like > > lock a > > lock b > > unlock a > > unlock b > > > > and if they are, then I'm completely wrong. > > > > What you see is only following: > > > > place 1: > > lock a > > lock b > > unlock b > > lock c > > unlock c > > unlock a > > > > place 2: > > lock b > > lock a > > unlock a > > lock c > > unlock c > > unlock b > > Ugh, now think about that: > > CPU0 CPU1 > place1: place2: > lock a lock b > < guess what happens here :-) > > lock b lock a > ... ...
:) he-he, such place are in add and remove routings, and they can not be run simultaneously in different CPUs.
And in other places they should go through the same lock(sdev or chain): like lock sdev_lock lock chain unclok chain lock logic unlock logic unlock sdev_lock
lock sdev_lock lock logic unlock logic lock chain unclok chain unlock sdev_lock
-- Evgeniy Polyakov
Crash is better than data corruption -- Arthur Grabowski [unhandled content-type:application/pgp-signature] | |