All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Hogan <james.hogan@imgtec.com>
To: Helge Deller <deller@gmx.de>
Cc: <linux-parisc@vger.kernel.org>,
	James Bottomley <James.Bottomley@HansenPartnership.com>,
	John David Anglin <dave.anglin@bell.net>,
	<linux-metag@vger.kernel.org>, <linux-ia64@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] parisc,metag: Implement CONFIG_DEBUG_STACK_USAGE option
Date: Fri, 29 Apr 2016 23:04:37 +0100	[thread overview]
Message-ID: <20160429220437.GA15188@jhogan-linux.le.imgtec.org> (raw)
In-Reply-To: <20160319165410.GA31630@p100.box>

[-- Attachment #1: Type: text/plain, Size: 1722 bytes --]

Hi Helge,

On Sat, Mar 19, 2016 at 05:54:10PM +0100, Helge Deller wrote:
> On parisc and metag the stack grows upwards, so for those we need to
> scan the stack downwards in order to calculate how much stack a process
> has used.
> 
> Tested on a 64bit parisc kernel.
> 
> Signed-off-by: Helge Deller <deller@gmx.de>

Looks good, and works on metag too!

Tested-by: James Hogan <james.hogan@imgtec.com>
Acked-by: James Hogan <james.hogan@imgtec.com>

Cheers
James

> 
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index 084ed9f..71591f3 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -2859,10 +2859,18 @@ static inline unsigned long stack_not_used(struct task_struct *p)
>  	unsigned long *n = end_of_stack(p);
>  
>  	do { 	/* Skip over canary */
> +# ifdef CONFIG_STACK_GROWSUP
> +		n--;
> +# else
>  		n++;
> +# endif
>  	} while (!*n);
>  
> +# ifdef CONFIG_STACK_GROWSUP
> +	return (unsigned long)end_of_stack(p) - (unsigned long)n;
> +# else
>  	return (unsigned long)n - (unsigned long)end_of_stack(p);
> +# endif
>  }
>  #endif
>  extern void set_task_stack_end_magic(struct task_struct *tsk);
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index f28f7fa..901f96c 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -546,7 +546,7 @@ config DEBUG_KMEMLEAK_DEFAULT_OFF
>  
>  config DEBUG_STACK_USAGE
>  	bool "Stack utilization instrumentation"
> -	depends on DEBUG_KERNEL && !IA64 && !PARISC && !METAG
> +	depends on DEBUG_KERNEL && !IA64
>  	help
>  	  Enables the display of the minimum amount of free stack which each
>  	  task has ever had available in the sysrq-T and sysrq-P debug output.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: James Hogan <james.hogan@imgtec.com>
To: Helge Deller <deller@gmx.de>
Cc: linux-parisc@vger.kernel.org,
	James Bottomley <James.Bottomley@HansenPartnership.com>,
	John David Anglin <dave.anglin@bell.net>,
	linux-metag@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] parisc,metag: Implement CONFIG_DEBUG_STACK_USAGE option
Date: Fri, 29 Apr 2016 22:04:37 +0000	[thread overview]
Message-ID: <20160429220437.GA15188@jhogan-linux.le.imgtec.org> (raw)
In-Reply-To: <20160319165410.GA31630@p100.box>

[-- Attachment #1: Type: text/plain, Size: 1722 bytes --]

Hi Helge,

On Sat, Mar 19, 2016 at 05:54:10PM +0100, Helge Deller wrote:
> On parisc and metag the stack grows upwards, so for those we need to
> scan the stack downwards in order to calculate how much stack a process
> has used.
> 
> Tested on a 64bit parisc kernel.
> 
> Signed-off-by: Helge Deller <deller@gmx.de>

Looks good, and works on metag too!

Tested-by: James Hogan <james.hogan@imgtec.com>
Acked-by: James Hogan <james.hogan@imgtec.com>

Cheers
James

> 
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index 084ed9f..71591f3 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -2859,10 +2859,18 @@ static inline unsigned long stack_not_used(struct task_struct *p)
>  	unsigned long *n = end_of_stack(p);
>  
>  	do { 	/* Skip over canary */
> +# ifdef CONFIG_STACK_GROWSUP
> +		n--;
> +# else
>  		n++;
> +# endif
>  	} while (!*n);
>  
> +# ifdef CONFIG_STACK_GROWSUP
> +	return (unsigned long)end_of_stack(p) - (unsigned long)n;
> +# else
>  	return (unsigned long)n - (unsigned long)end_of_stack(p);
> +# endif
>  }
>  #endif
>  extern void set_task_stack_end_magic(struct task_struct *tsk);
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index f28f7fa..901f96c 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -546,7 +546,7 @@ config DEBUG_KMEMLEAK_DEFAULT_OFF
>  
>  config DEBUG_STACK_USAGE
>  	bool "Stack utilization instrumentation"
> -	depends on DEBUG_KERNEL && !IA64 && !PARISC && !METAG
> +	depends on DEBUG_KERNEL && !IA64
>  	help
>  	  Enables the display of the minimum amount of free stack which each
>  	  task has ever had available in the sysrq-T and sysrq-P debug output.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: James Hogan <james.hogan@imgtec.com>
To: Helge Deller <deller@gmx.de>
Cc: linux-parisc@vger.kernel.org,
	James Bottomley <James.Bottomley@HansenPartnership.com>,
	John David Anglin <dave.anglin@bell.net>,
	linux-metag@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] parisc,metag: Implement CONFIG_DEBUG_STACK_USAGE option
Date: Fri, 29 Apr 2016 23:04:37 +0100	[thread overview]
Message-ID: <20160429220437.GA15188@jhogan-linux.le.imgtec.org> (raw)
In-Reply-To: <20160319165410.GA31630@p100.box>

[-- Attachment #1: Type: text/plain, Size: 1722 bytes --]

Hi Helge,

On Sat, Mar 19, 2016 at 05:54:10PM +0100, Helge Deller wrote:
> On parisc and metag the stack grows upwards, so for those we need to
> scan the stack downwards in order to calculate how much stack a process
> has used.
> 
> Tested on a 64bit parisc kernel.
> 
> Signed-off-by: Helge Deller <deller@gmx.de>

Looks good, and works on metag too!

Tested-by: James Hogan <james.hogan@imgtec.com>
Acked-by: James Hogan <james.hogan@imgtec.com>

Cheers
James

> 
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index 084ed9f..71591f3 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -2859,10 +2859,18 @@ static inline unsigned long stack_not_used(struct task_struct *p)
>  	unsigned long *n = end_of_stack(p);
>  
>  	do { 	/* Skip over canary */
> +# ifdef CONFIG_STACK_GROWSUP
> +		n--;
> +# else
>  		n++;
> +# endif
>  	} while (!*n);
>  
> +# ifdef CONFIG_STACK_GROWSUP
> +	return (unsigned long)end_of_stack(p) - (unsigned long)n;
> +# else
>  	return (unsigned long)n - (unsigned long)end_of_stack(p);
> +# endif
>  }
>  #endif
>  extern void set_task_stack_end_magic(struct task_struct *tsk);
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index f28f7fa..901f96c 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -546,7 +546,7 @@ config DEBUG_KMEMLEAK_DEFAULT_OFF
>  
>  config DEBUG_STACK_USAGE
>  	bool "Stack utilization instrumentation"
> -	depends on DEBUG_KERNEL && !IA64 && !PARISC && !METAG
> +	depends on DEBUG_KERNEL && !IA64
>  	help
>  	  Enables the display of the minimum amount of free stack which each
>  	  task has ever had available in the sysrq-T and sysrq-P debug output.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2016-04-29 22:04 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-19 16:54 [PATCH] parisc,metag: Implement CONFIG_DEBUG_STACK_USAGE option Helge Deller
2016-03-19 16:54 ` Helge Deller
2016-04-29 22:04 ` James Hogan [this message]
2016-04-29 22:04   ` James Hogan
2016-04-29 22:04   ` James Hogan

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=20160429220437.GA15188@jhogan-linux.le.imgtec.org \
    --to=james.hogan@imgtec.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=dave.anglin@bell.net \
    --cc=deller@gmx.de \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-metag@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.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.