KVM: PPC: Book3S HV: Drop prepare_done from struct kvm_resize_hpt
authorSerhii Popovych <spopovyc@redhat.com>
Mon, 4 Dec 2017 14:36:41 +0000 (09:36 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Jan 2018 08:45:24 +0000 (09:45 +0100)
commit5584082e854f3ac81bb9ad7ee663a4594ca21bdd
tree95b263e106fd6082b9ad6f549a3af0406657e18a
parentfead4387523df571c01b5cb9f88609f0e49c3feb
KVM: PPC: Book3S HV: Drop prepare_done from struct kvm_resize_hpt

commit 3073774e638ef18d222465fe92bfc8fccb90d288 upstream.

Currently the kvm_resize_hpt structure has two fields relevant to the
state of an ongoing resize: 'prepare_done', which indicates whether
the worker thread has completed or not, and 'error' which indicates
whether it was successful or not.

Since the success/failure isn't known until completion, this is
confusingly redundant.  This patch consolidates the information into
just the 'error' value: -EBUSY indicates the worked is still in
progress, other negative values indicate (completed) failure, 0
indicates successful completion.

As a bonus this reduces size of struct kvm_resize_hpt by
__alignof__(struct kvm_hpt_info) and saves few bytes of code.

While there correct comment in struct kvm_resize_hpt which references
a non-existent semaphore (leftover from an early draft).

Assert with WARN_ON() in case of HPT allocation thread work runs more
than once for resize request or resize_hpt_allocate() returns -EBUSY
that is treated specially.

Change comparison against zero to make checkpatch.pl happy.

Signed-off-by: Serhii Popovych <spopovyc@redhat.com>
[dwg: Changed BUG_ON()s to WARN_ON()s and altered commit message for
 clarity]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/kvm/book3s_64_mmu_hv.c