From: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
To: Christophe Leroy <christophe.leroy@c-s.fr>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 11/11] powerpc/mm: drop slice DEBUG
Date: Fri, 26 Apr 2019 12:14:39 +0530 [thread overview]
Message-ID: <87lfzx9sfc.fsf@linux.ibm.com> (raw)
In-Reply-To: <f263887b4ca31f4bb0fe77823e301c28ba27c796.1556202029.git.christophe.leroy@c-s.fr>
Christophe Leroy <christophe.leroy@c-s.fr> writes:
> slice is now an improved functionnality. Drop the DEBUG stuff.
>
I would like to keep that. I helped a lot when moving address ranges and
it should not have any runtime impact.
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
> ---
> arch/powerpc/mm/slice.c | 62 ++++---------------------------------------------
> 1 file changed, 4 insertions(+), 58 deletions(-)
>
> diff --git a/arch/powerpc/mm/slice.c b/arch/powerpc/mm/slice.c
> index 97fbf7b54422..a9d803738b65 100644
> --- a/arch/powerpc/mm/slice.c
> +++ b/arch/powerpc/mm/slice.c
> @@ -41,28 +41,6 @@
>
> static DEFINE_SPINLOCK(slice_convert_lock);
>
> -#ifdef DEBUG
> -int _slice_debug = 1;
> -
> -static void slice_print_mask(const char *label, const struct slice_mask *mask)
> -{
> - if (!_slice_debug)
> - return;
> - pr_devel("%s low_slice: %*pbl\n", label,
> - (int)SLICE_NUM_LOW, &mask->low_slices);
> - pr_devel("%s high_slice: %*pbl\n", label,
> - (int)SLICE_NUM_HIGH, mask->high_slices);
> -}
> -
> -#define slice_dbg(fmt...) do { if (_slice_debug) pr_devel(fmt); } while (0)
> -
> -#else
> -
> -static void slice_print_mask(const char *label, const struct slice_mask *mask) {}
> -#define slice_dbg(fmt...)
> -
> -#endif
> -
> static inline bool slice_addr_is_low(unsigned long addr)
> {
> u64 tmp = (u64)addr;
> @@ -207,9 +185,6 @@ static void slice_convert(struct mm_struct *mm,
> unsigned long i, flags;
> int old_psize;
>
> - slice_dbg("slice_convert(mm=%p, psize=%d)\n", mm, psize);
> - slice_print_mask(" mask", mask);
> -
> psize_mask = slice_mask_for_size(&mm->context, psize);
>
> /* We need to use a spinlock here to protect against
> @@ -255,10 +230,6 @@ static void slice_convert(struct mm_struct *mm,
> (((unsigned long)psize) << (mask_index * 4));
> }
>
> - slice_dbg(" lsps=%lx, hsps=%lx\n",
> - (unsigned long)mm_ctx_low_slices(&mm->context),
> - (unsigned long)mm_ctx_high_slices(&mm->context));
> -
> spin_unlock_irqrestore(&slice_convert_lock, flags);
>
> copro_flush_all_slbs(mm);
> @@ -485,14 +456,9 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
> BUG_ON(mm_ctx_slb_addr_limit(&mm->context) == 0);
> VM_BUG_ON(radix_enabled());
>
> - slice_dbg("slice_get_unmapped_area(mm=%p, psize=%d...\n", mm, psize);
> - slice_dbg(" addr=%lx, len=%lx, flags=%lx, topdown=%d\n",
> - addr, len, flags, topdown);
> -
> /* If hint, make sure it matches our alignment restrictions */
> if (!fixed && addr) {
> addr = _ALIGN_UP(addr, page_size);
> - slice_dbg(" aligned addr=%lx\n", addr);
> /* Ignore hint if it's too large or overlaps a VMA */
> if (addr > high_limit - len || addr < mmap_min_addr ||
> !slice_area_is_free(mm, addr, len))
> @@ -538,17 +504,12 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
> slice_copy_mask(&good_mask, maskp);
> }
>
> - slice_print_mask(" good_mask", &good_mask);
> - if (compat_maskp)
> - slice_print_mask(" compat_mask", compat_maskp);
> -
> /* First check hint if it's valid or if we have MAP_FIXED */
> if (addr != 0 || fixed) {
> /* Check if we fit in the good mask. If we do, we just return,
> * nothing else to do
> */
> if (slice_check_range_fits(mm, &good_mask, addr, len)) {
> - slice_dbg(" fits good !\n");
> newaddr = addr;
> goto return_addr;
> }
> @@ -558,13 +519,10 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
> */
> newaddr = slice_find_area(mm, len, &good_mask,
> psize, topdown, high_limit);
> - if (newaddr != -ENOMEM) {
> - /* Found within the good mask, we don't have to setup,
> - * we thus return directly
> - */
> - slice_dbg(" found area at 0x%lx\n", newaddr);
> +
> + /* Found within good mask, don't have to setup, thus return directly */
> + if (newaddr != -ENOMEM)
> goto return_addr;
> - }
> }
> /*
> * We don't fit in the good mask, check what other slices are
> @@ -572,11 +530,9 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
> */
> slice_mask_for_free(mm, &potential_mask, high_limit);
> slice_or_mask(&potential_mask, &potential_mask, &good_mask);
> - slice_print_mask(" potential", &potential_mask);
>
> if (addr != 0 || fixed) {
> if (slice_check_range_fits(mm, &potential_mask, addr, len)) {
> - slice_dbg(" fits potential !\n");
> newaddr = addr;
> goto convert;
> }
> @@ -586,18 +542,14 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
> if (fixed)
> return -EBUSY;
>
> - slice_dbg(" search...\n");
> -
> /* If we had a hint that didn't work out, see if we can fit
> * anywhere in the good area.
> */
> if (addr) {
> newaddr = slice_find_area(mm, len, &good_mask,
> psize, topdown, high_limit);
> - if (newaddr != -ENOMEM) {
> - slice_dbg(" found area at 0x%lx\n", newaddr);
> + if (newaddr != -ENOMEM)
> goto return_addr;
> - }
> }
>
> /* Now let's see if we can find something in the existing slices
> @@ -618,8 +570,6 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
> return -ENOMEM;
>
> slice_range_to_mask(newaddr, len, &potential_mask);
> - slice_dbg(" found potential area at 0x%lx\n", newaddr);
> - slice_print_mask(" mask", &potential_mask);
>
> convert:
> /*
> @@ -697,8 +647,6 @@ void slice_init_new_context_exec(struct mm_struct *mm)
> struct slice_mask *mask;
> unsigned int psize = mmu_virtual_psize;
>
> - slice_dbg("slice_init_new_context_exec(mm=%p)\n", mm);
> -
> /*
> * In the case of exec, use the default limit. In the
> * case of fork it is just inherited from the mm being
> @@ -730,8 +678,6 @@ void slice_setup_new_exec(void)
> {
> struct mm_struct *mm = current->mm;
>
> - slice_dbg("slice_setup_new_exec(mm=%p)\n", mm);
> -
> if (!is_32bit_task())
> return;
>
> --
> 2.13.3
next prev parent reply other threads:[~2019-04-26 6:58 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-25 14:29 [PATCH v2 00/11] Reduce ifdef mess in slice.c Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-25 14:29 ` [PATCH v2 01/11] powerpc/mm: fix erroneous duplicate slb_addr_limit init Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-26 6:32 ` Aneesh Kumar K.V
2019-05-03 6:59 ` Michael Ellerman
2019-04-25 14:29 ` [PATCH v2 02/11] powerpc/mm: no slice for nohash/64 Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-26 6:33 ` Aneesh Kumar K.V
2019-04-25 14:29 ` [PATCH v2 03/11] powerpc/mm: hand a context_t over to slice_mask_for_size() instead of mm_struct Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-26 6:34 ` Aneesh Kumar K.V
2019-04-25 14:29 ` [PATCH v2 04/11] powerpc/mm: move slice_mask_for_size() into mmu.h Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-26 6:36 ` Aneesh Kumar K.V
2019-04-25 14:29 ` [PATCH v2 05/11] powerpc/mm: get rid of mm_ctx_slice_mask_xxx() Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-26 6:37 ` Aneesh Kumar K.V
2019-04-25 14:29 ` [PATCH v2 06/11] powerpc/mm: remove unnecessary #ifdef CONFIG_PPC64 Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-25 14:29 ` [PATCH v2 07/11] powerpc/mm: remove a couple of #ifdef CONFIG_PPC_64K_PAGES in mm/slice.c Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-26 6:40 ` Aneesh Kumar K.V
2019-04-25 14:29 ` [PATCH v2 08/11] powerpc/8xx: get rid of #ifdef CONFIG_HUGETLB_PAGE for slices Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-25 14:29 ` [PATCH v2 09/11] powerpc/mm: define get_slice_psize() all the time Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-26 6:42 ` Aneesh Kumar K.V
2019-04-25 14:29 ` [PATCH v2 10/11] powerpc/mm: define subarch SLB_ADDR_LIMIT_DEFAULT Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-26 6:43 ` Aneesh Kumar K.V
2019-04-25 14:29 ` [PATCH v2 11/11] powerpc/mm: drop slice DEBUG Christophe Leroy
2019-04-25 14:29 ` Christophe Leroy
2019-04-26 6:44 ` Aneesh Kumar K.V [this message]
2019-04-26 6:49 ` Christophe Leroy
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=87lfzx9sfc.fsf@linux.ibm.com \
--to=aneesh.kumar@linux.ibm.com \
--cc=benh@kernel.crashing.org \
--cc=christophe.leroy@c-s.fr \
--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.