From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34645) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7JFq-0001Tq-U3 for qemu-devel@nongnu.org; Fri, 11 Dec 2015 03:40:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a7JFp-0006KP-Mq for qemu-devel@nongnu.org; Fri, 11 Dec 2015 03:40:42 -0500 MIME-Version: 1.0 In-Reply-To: <1449792685-17000-4-git-send-email-david@gibson.dropbear.id.au> References: <1449792685-17000-1-git-send-email-david@gibson.dropbear.id.au> <1449792685-17000-4-git-send-email-david@gibson.dropbear.id.au> Date: Fri, 11 Dec 2015 14:10:40 +0530 Message-ID: From: Bharata B Rao Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [PATCH 03/11] pseries: Clean up hash page table allocation error handling List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson Cc: lvivier@redhat.com, thuth@redhat.com, "qemu-devel@nongnu.org" , Michael Roth , aik@ozlabs.ru, armbru@redhat.com, Alexander Graf , "qemu-ppc@nongnu.org" On Fri, Dec 11, 2015 at 5:41 AM, David Gibson wrote: > The spapr_alloc_htab() and spapr_reset_htab() functions currently handle > all errors with error_setg(&error_abort, ...). That's correct for > spapr_reset_htab() - if anything goes wrong there, there's really nothing > we can do about it. For spapr_alloc_htab() &error_fatal would make more > sense, since it occurs during initialization. > > But in any case the callers are really better placed to decide on the error > handling. So, instead make the functions use the error propagation > infrastructure. > > While we're at it improve the messages themselves a bit, and clean up the > indentation a little. > > Signed-off-by: David Gibson > --- > hw/ppc/spapr.c | 26 ++++++++++++++++++-------- > 1 file changed, 18 insertions(+), 8 deletions(-) > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index 91396cc..85474ee 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -1015,7 +1015,7 @@ static void emulate_spapr_hypercall(PowerPCCPU *cpu) > #define CLEAN_HPTE(_hpte) ((*(uint64_t *)(_hpte)) &= tswap64(~HPTE64_V_HPTE_DIRTY)) > #define DIRTY_HPTE(_hpte) ((*(uint64_t *)(_hpte)) |= tswap64(HPTE64_V_HPTE_DIRTY)) > > -static void spapr_alloc_htab(sPAPRMachineState *spapr) > +static void spapr_alloc_htab(sPAPRMachineState *spapr, Error **errp) > { > long shift; > int index; > @@ -1030,7 +1030,9 @@ static void spapr_alloc_htab(sPAPRMachineState *spapr) > * For HV KVM, host kernel will return -ENOMEM when requested > * HTAB size can't be allocated. > */ > - error_setg(&error_abort, "Failed to allocate HTAB of requested size, try with smaller maxmem"); > + error_setg(errp, > + "Error allocating KVM hash page table, try smaller maxmem: %s", > + strerror(-shift)); Do you want to explicitly "return" from here and other places in this patch like you do in 4/11 to improve readability ? Regards, Bharata.