Page MenuHomeFreeBSD

vmm: My attempt at fixing the rendezvous deadlock
Needs ReviewPublic

Authored by markj on Tue, Oct 7, 8:13 PM.
Tags
None
Referenced Files
F132101033: D52968.id163723.diff
Mon, Oct 13, 5:06 PM
Unknown Object (File)
Sun, Oct 12, 9:36 AM
Unknown Object (File)
Sun, Oct 12, 9:34 AM
Unknown Object (File)
Fri, Oct 10, 9:45 PM
Unknown Object (File)
Thu, Oct 9, 1:47 PM
Unknown Object (File)
Thu, Oct 9, 1:46 PM
Unknown Object (File)
Thu, Oct 9, 12:44 PM
Unknown Object (File)
Wed, Oct 8, 11:53 AM

Details

Reviewers
corvink
andrew
manu
Group Reviewers
bhyve
Summary

This is a WIP, not intended to be committed as-is.

Implement vcpu_lock_all() in a way that avoids deadlocks with
vm_smp_rendezvous(). In particular, when traversing vCPUs, invoke the
rendezvous callback on the vCPU's behalf to help the initiator finish.
We can only safely do so when the vCPU is IDLE or we have already locked
it.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 67625
Build 64508: arc lint + arc unit