From: David Gibson <david@gibson.dropbear.id.au>
To: Bharata B Rao <bharata@linux.vnet.ibm.com>
Cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org,
sam.bobroff@au1.ibm.com, rnsastry@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [RFC PATCH v1 4/6] spapr: Consolidate HPT freeing code into a routine
Date: Wed, 17 May 2017 16:55:43 +1000 [thread overview]
Message-ID: <20170517065543.GL15596@umbus.fritz.box> (raw)
In-Reply-To: <1494992962-6929-5-git-send-email-bharata@linux.vnet.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 3072 bytes --]
On Wed, May 17, 2017 at 09:19:20AM +0530, Bharata B Rao wrote:
> Consolidate the code that frees HPT into a separate routine
> spapr_free_hpt() as the same chunk of code is called from two places.
>
> Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Applied to ppc-for-2.10. This is a good clean up in its own right.
Plus it will be useful to me to get my HPT resizing patches integrated
with radix support.
> ---
> hw/ppc/spapr.c | 13 +++++++++----
> hw/ppc/spapr_hcall.c | 5 +----
> include/hw/ppc/spapr.h | 1 +
> 3 files changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 1b7cada..521eef1 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -1222,16 +1222,21 @@ static int spapr_hpt_shift_for_ramsize(uint64_t ramsize)
> return shift;
> }
>
> +void spapr_free_hpt(sPAPRMachineState *spapr)
> +{
> + g_free(spapr->htab);
> + spapr->htab = NULL;
> + spapr->htab_shift = 0;
> + close_htab_fd(spapr);
> +}
> +
> static void spapr_reallocate_hpt(sPAPRMachineState *spapr, int shift,
> Error **errp)
> {
> long rc;
>
> /* Clean up any HPT info from a previous boot */
> - g_free(spapr->htab);
> - spapr->htab = NULL;
> - spapr->htab_shift = 0;
> - close_htab_fd(spapr);
> + spapr_free_hpt(spapr);
>
> rc = kvmppc_reset_htab(shift);
> if (rc < 0) {
> diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
> index 3600b0e..be79e3d 100644
> --- a/hw/ppc/spapr_hcall.c
> +++ b/hw/ppc/spapr_hcall.c
> @@ -913,10 +913,7 @@ static void spapr_check_setup_free_hpt(sPAPRMachineState *spapr,
> /* We assume RADIX, so this catches all the "Do Nothing" cases */
> } else if (!(patbe_old & PATBE1_GR)) {
> /* HASH->RADIX : Free HPT */
> - g_free(spapr->htab);
> - spapr->htab = NULL;
> - spapr->htab_shift = 0;
> - close_htab_fd(spapr);
> + spapr_free_hpt(spapr);
> } else if (!(patbe_new & PATBE1_GR)) {
> /* RADIX->HASH || NOTHING->HASH : Allocate HPT */
> spapr_setup_hpt_and_vrma(spapr);
> diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
> index a692e63..6f9cb85 100644
> --- a/include/hw/ppc/spapr.h
> +++ b/include/hw/ppc/spapr.h
> @@ -610,6 +610,7 @@ int spapr_h_cas_compose_response(sPAPRMachineState *sm,
> sPAPROptionVector *ov5_updates);
> void close_htab_fd(sPAPRMachineState *spapr);
> void spapr_setup_hpt_and_vrma(sPAPRMachineState *spapr);
> +void spapr_free_hpt(sPAPRMachineState *spapr);
> sPAPRTCETable *spapr_tce_new_table(DeviceState *owner, uint32_t liobn);
> void spapr_tce_table_enable(sPAPRTCETable *tcet,
> uint32_t page_shift, uint64_t bus_offset,
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2017-05-17 7:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-17 3:49 [Qemu-devel] [RFC PATCH v1 0/6] ppc/spapr: Fix migration of radix guests Bharata B Rao
2017-05-17 3:49 ` [Qemu-devel] [RFC PATCH v1 1/6] migration: Fix unregister_savevm() Bharata B Rao
2017-05-17 6:43 ` David Gibson
2017-05-17 10:12 ` Bharata B Rao
2017-05-17 3:49 ` [Qemu-devel] [RFC PATCH v1 2/6] migration: Introduce unregister_savevm_live() Bharata B Rao
2017-05-17 6:45 ` David Gibson
2017-05-17 7:21 ` Bharata B Rao
2017-05-17 3:49 ` [Qemu-devel] [RFC PATCH v1 3/6] spapr: Make h_register_process_table hcall flags global Bharata B Rao
2017-05-17 3:49 ` [Qemu-devel] [RFC PATCH v1 4/6] spapr: Consolidate HPT freeing code into a routine Bharata B Rao
2017-05-17 6:55 ` David Gibson [this message]
2017-05-17 3:49 ` [Qemu-devel] [RFC PATCH v1 5/6] spapr: Unregister HPT savevm handlers for radix guests Bharata B Rao
2017-05-17 6:59 ` David Gibson
2017-05-17 7:18 ` Bharata B Rao
2017-05-17 7:23 ` David Gibson
2017-05-17 3:49 ` [Qemu-devel] [RFC PATCH v1 6/6] spapr: Fix migration of Radix guests Bharata B Rao
2017-05-17 7:00 ` David Gibson
2017-05-17 7:15 ` Bharata B Rao
2017-05-17 7:20 ` David Gibson
2017-05-18 5:03 ` Bharata B Rao
2017-05-18 5:50 ` David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170517065543.GL15596@umbus.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=bharata@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=rnsastry@linux.vnet.ibm.com \
--cc=sam.bobroff@au1.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.