[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180917114048.GF18395@sejong>
Date: Mon, 17 Sep 2018 20:40:48 +0900
From: Namhyung Kim <namhyung@...nel.org>
To: Jiri Olsa <jolsa@...nel.org>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>,
lkml <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Andi Kleen <andi@...stfloor.org>,
Alexey Budankov <alexey.budankov@...ux.intel.com>,
kernel-team@....com
Subject: Re: [PATCH 47/48] perf record: Spread maps for --threads option
On Thu, Sep 13, 2018 at 02:54:49PM +0200, Jiri Olsa wrote:
> Currently we assign all maps to main thread. Adding
> code that spreads maps for --threads option.
>
> For --thread option we create as many threads as there
> are memory maps in evlist, which is the number of CPUs
> in the system or CPUs we monitor. Each thread gets a
> single data mmap to read.
>
> In addition we have also same amount of tracking mmaps
> for auxiliary events which we don't create special thread
> for. Instead we assign the to the main thread, because
> there's not much traffic expected there.
>
> The assignment is visible from --thread-stats output:
>
> pid write poll skip maps (size 20K)
> 1s 9770 144B 1 0 19K 19K 19K 18K 19K
> 9772 0B 1 0 18K
> 9773 0B 1 0 19K
> 9774 0B 1 0 19K
>
> There are 5 maps for thread 9770 (1 data map and 4 auxiliary)
> and one data map for every other thread. Each thread writes
> data to the separate data file.
Hmm.. not sure it'll work well for large machines with 1000+ cpus.
What about giving each thread a data mmap and a tracking mmap?
Thanks,
Namhyung
>
> In addition we also pin every thread to the cpu that
> the data map belongs to in order to keep both writer
> (kernel) and reader (perf tool thread) on the same CPU.
>
> Link: http://lkml.kernel.org/n/tip-ghcsnp3b73innq2gkl1lkfbz@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@...nel.org>
Powered by blists - more mailing lists