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/
This archive was generated by hypermail 2b29 : Mon Jun 26 2000 - 21:00:05 EST