Machine-translated by Google. Questions are authored in English.
Top

Discussion

Sleeping while holding a spinlock is forbidden because

  • A.a spinlock has no owner and so cannot be released
  • B.the scheduler is disabled for the whole of the sleep
  • C.another processor or the same one may spin for ever waiting for it
  • D.the kernel is unable to record which lock a sleeping task is holding

Answer: C

Correct answer: another processor or the same one may spin for ever waiting for it

A spinlock is held while the holder sleeps, and anything else wanting it spins with interrupts disabled rather than yielding. On the same processor that is an immediate deadlock; on another it wastes the processor until the holder wakes, which it may never be scheduled to do.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.