lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 18 Mar 2009 17:00:06 -0400
From:	Gregory Haskins <ghaskins@...ell.com>
To:	Luis Henriques <henrix@...o.pt>
CC:	Ingo Molnar <mingo@...e.hu>, Peter Zijlstra <peterz@...radead.org>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH -tip] sched: Clean unused fields from struct rq

Hi Luis,

Luis Henriques wrote:
> Since they are used on in statistics and are always set to zero, the following
> fields from struct rq have been removed: yld_exp_empty, yld_act_empty and
> yld_both_empty.
>
> Sched Debug version has also been incremented.
>
> Signed-off-by: Luis Henriques <henrix@...o.pt>
> ---
>  kernel/sched.c       |    3 ---
>  kernel/sched_debug.c |    5 +----
>  kernel/sched_stats.h |    5 ++---
>  3 files changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/kernel/sched.c b/kernel/sched.c
> index 4000304..289eac2 100644
> --- a/kernel/sched.c
> +++ b/kernel/sched.c
> @@ -646,9 +646,6 @@ struct rq {
>  	/* could above be rq->cfs_rq.exec_clock + rq->rt_rq.rt_runtime ? */
>  
>  	/* sys_sched_yield() stats */
> -	unsigned int yld_exp_empty;
> -	unsigned int yld_act_empty;
> -	unsigned int yld_both_empty;
>  	unsigned int yld_count;
>  
>  	/* schedule() stats */
> diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c
> index 2b1260f..58cdc5c 100644
> --- a/kernel/sched_debug.c
> +++ b/kernel/sched_debug.c
> @@ -287,9 +287,6 @@ static void print_cpu(struct seq_file *m, int cpu)
>  #ifdef CONFIG_SCHEDSTATS
>  #define P(n) SEQ_printf(m, "  .%-30s: %d\n", #n, rq->n);
>  
> -	P(yld_exp_empty);
> -	P(yld_act_empty);
> -	P(yld_both_empty);
>  	P(yld_count);
>  
>  	P(sched_switch);
> @@ -314,7 +311,7 @@ static int sched_debug_show(struct seq_file *m, void *v)
>  	u64 now = ktime_to_ns(ktime_get());
>  	int cpu;
>  
> -	SEQ_printf(m, "Sched Debug Version: v0.08, %s %.*s\n",
> +	SEQ_printf(m, "Sched Debug Version: v0.09, %s %.*s\n",
>   

I actually key off the SCHEDSTAT_VERSION (currently 14) at the top of
kernel/sched_stats.h.  Cursory inspection of the existing code and your
patch says that this should actually be the value that needs updating
(vs. vSched-Debug).  However, note that I am not sure if there are also
users of sched-debug that need to see that version bump as well in order
to remain compatible.

If you are really motivated, you can test your patches against my
schedtop tool to verify sane behavior (for bumping SCHEDSTAT_VERSION to
15, I would expect it to gracefully report that it cannot handle this
version and exit).  You can find both source and rpms here:

http://rt.wiki.kernel.org/index.php/Schedtop_utility

Thanks!
-Greg



Download attachment "signature.asc" of type "application/pgp-signature" (258 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ