rcuwait: Introduce prepare_to and finish_rcuwait
authorDavidlohr Bueso <dave@stgolabs.net>
Fri, 24 Apr 2020 05:48:35 +0000 (22:48 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 13 May 2020 16:14:53 +0000 (12:14 -0400)
commit5c21f7b322cb9fcb97f2e22f5976a0ae8dd71354
tree72ec9240d0723c39b70672ccfc1c63a33b4fd094
parent9d9a6ebfea329cadeda87544dceae01e9c27aaef
rcuwait: Introduce prepare_to and finish_rcuwait

This allows further flexibility for some callers to implement
ad-hoc versions of the generic rcuwait_wait_event(). For example,
kvm will need this to maintain tracing semantics. The naming
is of course similar to what waitqueue apis offer.

Also go ahead and make use of rcu_assign_pointer() for both task
writes as it will make the __rcu sparse people happy - this will
be the special nil case, thus no added serialization.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Message-Id: <20200424054837.5138-4-dave@stgolabs.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
include/linux/rcuwait.h