Re: owner field in `struct fs'

Philipp Rumpf (prumpf@uzix.org)
Sat, 24 Jun 2000 13:48:57 -0700


On Sat, Jun 24, 2000 at 09:38:22PM +0100, Alan Cox wrote:
> CPU1 CPU2
>
> down(&lock)
> rmmod
>
> freeze freeze
>
> cleanup_module
> down(&lock)
>
> Now either #1 freeze yields in this case which is the existing behaviour with
> a lot of do nothing code added or it keeps CPU1 frozen in which case you are
> screwed.
>
> Or am I missing something

CPU1's old thread gets rescheduled on CPU2 (CPU1 stays frozen), eventually
returns to userspace, CPU2 gets rescheduled after the down(&lock) in
cleanup_module, cleanup_module finishes.

Note this is completely equivalent to UP

thread a thread b
down(&lock);
schedule();
rmmod
cleanup_module
down(&lock)

Philipp

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