All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Wang <wangyun@linux.vnet.ibm.com>
To: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@kernel.org>, Alex Shi <alex.shi@intel.com>,
	Namhyung Kim <namhyung@kernel.org>, Paul Turner <pjt@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
	Ram Pai <linuxram@us.ibm.com>
Subject: Re: [PATCH] sched: smart wake-affine
Date: Fri, 05 Jul 2013 10:47:55 +0800	[thread overview]
Message-ID: <51D633DB.5010508@linux.vnet.ibm.com> (raw)
In-Reply-To: <1372934013.9046.16.camel@marge.simpson.net>

On 07/04/2013 06:33 PM, Mike Galbraith wrote:
[snip]
>> Well, seems like we still have many follow-up research works after fix
>> the issue ;-)
> 
> Yeah.  Like how to how to exterminate the plus sign, they munch cache
> lines, and have a general tendency to negatively impact benchmarks.
> 
> Q6600 box, hackbench -l 1000
>                                                                        avg
> 3.10.0-regress     2.293     2.297     2.313     2.291     2.295     2.297     1.000
> 3.10.0-regressx    2.560     2.524     2.427     2.599     2.602     2.542     1.106

Wow, I used to think such issue is very hard to be tracked by
benchmarks, is this regression stable?

My test could not get a stable differ, this time a little bit lose but
next time a little bit win, it's always floating, may caused by the
different chip cache-behaviour I suppose...

> 
> pahole said...
> 
> marge:/usr/local/src/kernel/linux-3.x.git # tail virgin
>         long unsigned int          timer_slack_ns;       /*  1512     8 */
>         long unsigned int          default_timer_slack_ns; /*  1520     8 */
>         atomic_t                   ptrace_bp_refcnt;     /*  1528     4 */
> 
>         /* size: 1536, cachelines: 24, members: 125 */
>         /* sum members: 1509, holes: 6, sum holes: 23 */
>         /* bit holes: 1, sum bit holes: 26 bits */
>         /* padding: 4 */
>         /* paddings: 1, sum paddings: 4 */
> };
> 
> marge:/usr/local/src/kernel/linux-3.x.git # tail michael
>         long unsigned int          default_timer_slack_ns; /*  1552     8 */
>         atomic_t                   ptrace_bp_refcnt;     /*  1560     4 */
> 
>         /* size: 1568, cachelines: 25, members: 128 */
>         /* sum members: 1533, holes: 8, sum holes: 31 */
>         /* bit holes: 1, sum bit holes: 26 bits */
>         /* padding: 4 */
>         /* paddings: 1, sum paddings: 4 */
>         /* last cacheline: 32 bytes */
> };
> 
> ..but plugging holes, didn't help, moving this/that around neither, nor
> did letting pahole go wild to get the line back.  It's plus signs I tell
> ya, the evil things must die ;-)

Hmm...so the new members kicked some tail members to a new line...or may
be totally different when compiler take part in...

It's really hard to estimate the influence, especially when the
task_struct is still keep changing...

But the task_struct is really a little big now, may be we could put the
'cold' members into a new structure and just record the pointer, that
may increase the chances of cache-hit the hot members, but it's platform
related and not so easy to be detect...

Regards,
Michael Wang

> 
> -Mike
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 


  reply	other threads:[~2013-07-05  2:48 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-28  5:05 [RFC PATCH] sched: smart wake-affine Michael Wang
2013-06-03  2:28 ` Michael Wang
2013-06-03  3:09   ` Mike Galbraith
2013-06-03  3:26     ` Michael Wang
2013-06-03  3:53       ` Mike Galbraith
2013-06-03  4:52         ` Michael Wang
2013-06-03  5:22           ` Mike Galbraith
2013-06-03  5:50             ` Michael Wang
2013-06-03  6:05               ` Mike Galbraith
2013-06-03  6:31                 ` Michael Wang
2013-06-13  3:09 ` Michael Wang
2013-07-02  4:43 ` [PATCH] " Michael Wang
2013-07-02  5:38   ` Mike Galbraith
2013-07-02  5:50     ` Michael Wang
2013-07-02  5:54   ` Mike Galbraith
2013-07-02  6:17     ` Michael Wang
2013-07-02  6:29       ` Mike Galbraith
2013-07-02  6:45         ` Michael Wang
2013-07-02  8:52   ` Peter Zijlstra
2013-07-02  9:35     ` Michael Wang
2013-07-02  9:44       ` Michael Wang
2013-07-04  9:13       ` Peter Zijlstra
2013-07-04  9:38         ` Michael Wang
2013-07-04 10:33           ` Mike Galbraith
2013-07-05  2:47             ` Michael Wang [this message]
2013-07-05  4:08               ` Mike Galbraith
2013-07-05  4:33                 ` Michael Wang
2013-07-05  5:41                   ` Mike Galbraith
2013-07-05  6:16                     ` Michael Wang
2013-07-07  6:43                       ` Mike Galbraith
2013-07-08  2:49                         ` Michael Wang
2013-07-08  3:12                           ` Mike Galbraith
2013-07-08  8:21                         ` Peter Zijlstra
2013-07-08  8:49                           ` Mike Galbraith
2013-07-08  9:08                             ` Michael Wang
2013-07-08  8:58                           ` Michael Wang
2013-07-08 18:59                           ` Davidlohr Bueso
2013-07-09  2:30                             ` Michael Wang
2013-07-09  2:36                               ` Davidlohr Bueso
2013-07-09  2:52                                 ` Michael Wang
2013-07-15  5:13                                   ` Michael Wang
2013-07-15  5:57                                     ` Davidlohr Bueso
2013-07-15  6:01                                       ` Michael Wang
2013-07-18  2:15                                       ` Michael Wang
2013-07-03  6:10   ` [PATCH v2] " Michael Wang
2013-07-03  8:50     ` Peter Zijlstra
2013-07-03  9:11       ` Michael Wang

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=51D633DB.5010508@linux.vnet.ibm.com \
    --to=wangyun@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=alex.shi@intel.com \
    --cc=efault@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxram@us.ibm.com \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=nikunj@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=pjt@google.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.