>Umm, check the stock definition of related(): if the two tasks are
>related then we know for sure that they both want the kernel lock. We
>cannot possibly find a related task if there is only one task waiting
>for the global lock.
If the only two tasks in the system that wants the kernel lock are the
wakenup task and the current-running task, then rescheduling the wakenup
task in _place_ of the current task will work _fine_. There _won't_ be any
contention of the lock simply because the current task will go offline
waiting the next schedule sleeping in the _run_queue.
Andrea Arcangeli
-
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/