From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: David Gibson <david@gibson.dropbear.id.au>,
mpe@ellerman.id.au, paulus@samba.org, benh@kernel.crashing.org
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [PATCH 1/4] powerpc/mm: Clean up error handling for htab_remove_mapping
Date: Wed, 10 Feb 2016 14:26:46 +0530 [thread overview]
Message-ID: <87a8n9x7sh.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <1454988763-5580-2-git-send-email-david@gibson.dropbear.id.au>
David Gibson <david@gibson.dropbear.id.au> writes:
> Currently, the only error that htab_remove_mapping() can report is -EINVAL,
> if removal of bolted HPTEs isn't implemeted for this platform. We make
> a few clean ups to the handling of this:
>
> * EINVAL isn't really the right code - there's nothing wrong with the
> function's arguments - use ENODEV instead
> * We were also printing a warning message, but that's a decision better
> left up to the callers, so remove it
> * One caller is vmemmap_remove_mapping(), which will just BUG_ON() on
> error, making the warning message redundant, so no change is needed
> there.
> * The other caller is remove_section_mapping(). This is called in the
> memory hot remove path at a point after vmemmap_remove_mapping() so
> if hpte_removebolted isn't implemented, we'd expect to have already
> BUG()ed anyway. Put a WARN_ON() here, in lieu of a printk() since this
> really shouldn't be happening.
>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> ---
> arch/powerpc/mm/hash_utils_64.c | 13 ++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
> index ba59d59..9f7d727 100644
> --- a/arch/powerpc/mm/hash_utils_64.c
> +++ b/arch/powerpc/mm/hash_utils_64.c
> @@ -273,11 +273,8 @@ int htab_remove_mapping(unsigned long vstart, unsigned long vend,
> shift = mmu_psize_defs[psize].shift;
> step = 1 << shift;
>
> - if (!ppc_md.hpte_removebolted) {
> - printk(KERN_WARNING "Platform doesn't implement "
> - "hpte_removebolted\n");
> - return -EINVAL;
> - }
> + if (!ppc_md.hpte_removebolted)
> + return -ENODEV;
>
> for (vaddr = vstart; vaddr < vend; vaddr += step)
> ppc_md.hpte_removebolted(vaddr, psize, ssize);
> @@ -641,8 +638,10 @@ int create_section_mapping(unsigned long start, unsigned long end)
>
> int remove_section_mapping(unsigned long start, unsigned long end)
> {
> - return htab_remove_mapping(start, end, mmu_linear_psize,
> - mmu_kernel_ssize);
> + int rc = htab_remove_mapping(start, end, mmu_linear_psize,
> + mmu_kernel_ssize);
> + WARN_ON(rc < 0);
> + return rc;
> }
> #endif /* CONFIG_MEMORY_HOTPLUG */
>
> --
> 2.5.0
next prev parent reply other threads:[~2016-02-10 8:56 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-09 3:32 [PATCH 0/4] powerpc/mm: Cleanups to hotplug memory path David Gibson
2016-02-09 3:32 ` [PATCH 1/4] powerpc/mm: Clean up error handling for htab_remove_mapping David Gibson
2016-02-10 8:56 ` Aneesh Kumar K.V [this message]
2016-03-01 22:21 ` [1/4] " Michael Ellerman
2016-02-09 3:32 ` [PATCH 2/4] powerpc/mm: Handle removing maybe-present bolted HPTEs David Gibson
2016-02-10 8:58 ` Aneesh Kumar K.V
2016-03-01 22:21 ` [2/4] " Michael Ellerman
2016-02-09 3:32 ` [PATCH 3/4] powerpc/mm: Clean up memory hotplug failure paths David Gibson
2016-02-10 9:00 ` Aneesh Kumar K.V
2016-03-01 1:59 ` [3/4] " Michael Ellerman
2016-03-01 2:27 ` David Gibson
2016-03-01 22:21 ` Michael Ellerman
2016-02-09 3:32 ` [PATCH 4/4] powerpc/mm: Split hash page table sizing heuristic into a helper David Gibson
2016-02-10 9:01 ` Aneesh Kumar K.V
2016-03-01 22:21 ` [4/4] " Michael Ellerman
2016-03-01 23:26 ` 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=87a8n9x7sh.fsf@linux.vnet.ibm.com \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=benh@kernel.crashing.org \
--cc=david@gibson.dropbear.id.au \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=paulus@samba.org \
/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.