<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/tools/perf/bench, branch v3.4.33</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/tools/perf/bench?h=v3.4.33</id>
<link rel='self' href='https://git.amat.us/linux/atom/tools/perf/bench?h=v3.4.33'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-02-06T21:14:17Z</updated>
<entry>
<title>perf tool: Fix perf stack to non executable on x86_64</title>
<updated>2012-02-06T21:14:17Z</updated>
<author>
<name>Jiri Olsa</name>
<email>jolsa@redhat.com</email>
</author>
<published>2012-02-01T12:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e89cef136a8b56eef1acf702591fd3039fc3385d'/>
<id>urn:sha1:e89cef136a8b56eef1acf702591fd3039fc3385d</id>
<content type='text'>
By adding following objects:
  bench/mem-memset-x86-64-asm.o
  bench/mem-memcpy-x86-64-asm.o
the x86_64 perf binary ended up with executable stack.

The reason was that above objects are assembler sourced and are missing the
GNU-stack note section. In such case the linker assumes that the final binary
should not be restricted at all and mark the stack as RWX.

Adding section ".note.GNU-stack" definition to mentioned objects, with all
flags disabled, thus omiting those objects from linker stack flags decision.

Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=783570
Reported-by: Clark Williams &lt;williams@redhat.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Corey Ashford &lt;cjashfor@linux.vnet.ibm.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/1328100848-5630-1-git-send-email-jolsa@redhat.com
Signed-off-by: Jiri Olsa &lt;jolsa@redhat.com&gt;
[ committer note: Remaining bits after what was already added to perf/urgent ]
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'perf/urgent' into perf/core</title>
<updated>2012-02-06T21:11:02Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2012-02-06T21:10:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5ddf146f70a44ed4133dea4d377b172605a1cfa5'/>
<id>urn:sha1:5ddf146f70a44ed4133dea4d377b172605a1cfa5</id>
<content type='text'>
So that we can get the perf bench exec stack fixes and then apply the
remaining fix for the files added after what is in perf/urgent.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
</entry>
<entry>
<title>perf tools: Fix perf stack to non executable on x86_64</title>
<updated>2012-02-06T20:54:06Z</updated>
<author>
<name>Jiri Olsa</name>
<email>jolsa@redhat.com</email>
</author>
<published>2012-02-06T20:54:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7a0153ee15575a4d07b5da8c96b79e0b0fd41a12'/>
<id>urn:sha1:7a0153ee15575a4d07b5da8c96b79e0b0fd41a12</id>
<content type='text'>
By adding following objects:
  bench/mem-memcpy-x86-64-asm.o
the x86_64 perf binary ended up with executable stack.

The reason was that above object are assembler sourced and is missing the
GNU-stack note section. In such case the linker assumes that the final binary
should not be restricted at all and mark the stack as RWX.

Adding section ".note.GNU-stack" definition to mentioned object, with all
flags disabled, thus omiting this object from linker stack flags decision.

Problem introduced in:

  $ git describe ea7872b
  v2.6.37-rc2-19-gea7872b

Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=783570
Reported-by: Clark Williams &lt;williams@redhat.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Corey Ashford &lt;cjashfor@linux.vnet.ibm.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: stable@kernel.org
Link: http://lkml.kernel.org/r/1328100848-5630-1-git-send-email-jolsa@redhat.com
Signed-off-by: Jiri Olsa &lt;jolsa@redhat.com&gt;
[ committer note: Backported fix to perf/urgent (3.3-rc2+) ]
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
</entry>
<entry>
<title>perf tools: Remove unnecessary ctype.h inclusion</title>
<updated>2012-01-30T20:37:35Z</updated>
<author>
<name>Namhyung Kim</name>
<email>namhyung@gmail.com</email>
</author>
<published>2012-01-29T08:55:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d30d4a080d195892091ad7d014fc9293cc08ea0f'/>
<id>urn:sha1:d30d4a080d195892091ad7d014fc9293cc08ea0f</id>
<content type='text'>
There are unnecessary #include &lt;ctype.h&gt; out there, and they might cause
a nasty build failure in some environment. As we already have most of
ctype macros in util.h, just get rid of them.

A few of exceptions are util/symbol.c which needs isupper() macro util.h
doesn't provide and perl scripting support code which includes ctype.h
internally.

Suggested-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/1327827356-8786-4-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim &lt;namhyung@gmail.com&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
</entry>
<entry>
<title>perf bench: Allow passing an iteration count to "bench mem mem{cpy,set}"</title>
<updated>2012-01-24T22:26:10Z</updated>
<author>
<name>Jan Beulich</name>
<email>JBeulich@suse.com</email>
</author>
<published>2012-01-18T13:29:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e3e877e79b7c6a322f9f628e87052c13581238cc'/>
<id>urn:sha1:e3e877e79b7c6a322f9f628e87052c13581238cc</id>
<content type='text'>
"perf stat ... perf bench mem mem..." is pretty meaningless when using
small block sizes (as the overhead of the invocation of each test run
basically hides the actual test result in the noise). Repeating the
actually interesting function's invocation a number of times allows the
results to become meaningful.

Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/4F16D767020000780006D738@nat28.tlf.novell.com
Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
</entry>
<entry>
<title>perf bench: Also allow measuring memset()</title>
<updated>2012-01-24T22:25:32Z</updated>
<author>
<name>Jan Beulich</name>
<email>jbeulich@suse.com</email>
</author>
<published>2012-01-24T12:03:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=be3de80dc2e671d9ee15e69fe9cd84d2b71e2225'/>
<id>urn:sha1:be3de80dc2e671d9ee15e69fe9cd84d2b71e2225</id>
<content type='text'>
This simply clones the respective memcpy() implementation.

Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Stephane Eranian &lt;eranian@google.com&gt;
Link: http://lkml.kernel.org/r/4F16D743020000780006D735@nat28.tlf.novell.com
Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
</entry>
<entry>
<title>perf bench: Also allow measuring alternative memcpy implementations</title>
<updated>2012-01-24T21:51:01Z</updated>
<author>
<name>Jan Beulich</name>
<email>JBeulich@suse.com</email>
</author>
<published>2012-01-18T13:28:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=800eb01484b3ca1eaf4eb5186df13fb24de2db19'/>
<id>urn:sha1:800eb01484b3ca1eaf4eb5186df13fb24de2db19</id>
<content type='text'>
Intended to be able to support the current selection of the preferred
memcpy() implementation, this patch adds the ability to also measure the
two alternative implementations, again by way of using some
pre-processsor replacement.

While on my Westmere system this proves that the movsb based variant is
worse than the movsq based one (since the ERMS feature isn't there), it
also shows that here for the default as well as small sizes the unrolled
variant outperforms the movsq one.

Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/4F16D728020000780006D732@nat28.tlf.novell.com
Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
</entry>
<entry>
<title>perf bench: Make "default" memcpy() selection actually use glibc's implementation</title>
<updated>2012-01-24T21:50:19Z</updated>
<author>
<name>Jan Beulich</name>
<email>JBeulich@suse.com</email>
</author>
<published>2012-01-18T13:28:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9ea811973d49a1df0be04ff6e4df449e4fca4fb5'/>
<id>urn:sha1:9ea811973d49a1df0be04ff6e4df449e4fca4fb5</id>
<content type='text'>
Since arch/x86/lib/memcpy_64.S implements not only __memcpy, but also
memcpy, without further precautions this function will get chose by the
static linker for resolving all references, and hence the "default"
measurement didn't really measure anything else than the
"x86-64-unrolled" one.

Fix this by renaming (through the pre-processor) the conflicting symbol.

On my Westmere system, the glibc variant turns out to require about 4%
less instructions, but 15% more cycles for the default 1Mb block size
measured.

Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/r/4F16D6FD020000780006D72F@nat28.tlf.novell.com
Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
</entry>
<entry>
<title>perf tool: Fix gcc 4.6.0 issues</title>
<updated>2011-02-07T14:41:41Z</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@mcmartin.ca</email>
</author>
<published>2011-01-24T16:13:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fb7d0b3cefb80a105f7fd26bbc62e0cbf9192822'/>
<id>urn:sha1:fb7d0b3cefb80a105f7fd26bbc62e0cbf9192822</id>
<content type='text'>
GCC 4.6.0 in Fedora rawhide turned up some compile errors in tools/perf
due to the -Werror=unused-but-set-variable flag.

I've gone through and annotated some of the assignments that had side
effects (ie: return value from a function) with the __used annotation,
and in some cases, just removed unused code.

In a few cases, we were assigning something useful, but not using it in
later parts of the function.

kyle@dreadnought:~/src% gcc --version
gcc (GCC) 4.6.0 20110122 (Red Hat 4.6.0-0.3)

Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
LKML-Reference: &lt;20110124161304.GK27353@bombadil.infradead.org&gt;
Signed-off-by: Kyle McMartin &lt;kyle@redhat.com&gt;
[ committer note: Fixed up the annotation fixes, as that code moved recently ]
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
</content>
</entry>
<entry>
<title>perf bench: Add feature that measures the performance of the arch/x86/lib/memcpy_64.S memcpy routines via 'perf bench mem'</title>
<updated>2010-11-26T07:15:57Z</updated>
<author>
<name>Hitoshi Mitake</name>
<email>mitake@dcl.info.waseda.ac.jp</email>
</author>
<published>2010-11-25T07:04:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ea7872b9d6a81101f6ba0ec141544a62fea35876'/>
<id>urn:sha1:ea7872b9d6a81101f6ba0ec141544a62fea35876</id>
<content type='text'>
This patch ports arch/x86/lib/memcpy_64.S to perf bench mem
memcpy for benchmarking memcpy() in userland with tricky and
dirty way.

util/include/asm/cpufeature.h, util/include/asm/dwarf2.h, and
util/include/linux/linkage.h are mostly dummy files with small
wrappers, so that we are able to include memcpy_64.S
unmodified.

Signed-off-by: Hitoshi Mitake &lt;mitake@dcl.info.waseda.ac.jp&gt;
Cc: h.mitake@gmail.com
Cc: Miao Xie &lt;miaox@cn.fujitsu.com&gt;
Cc: Ma Ling &lt;ling.ma@intel.com&gt;
Cc: Zhao Yakui &lt;yakui.zhao@intel.com&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Cc: Andi Kleen &lt;andi@firstfloor.org&gt;
LKML-Reference: &lt;1290668693-27068-2-git-send-email-mitake@dcl.info.waseda.ac.jp&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
