rpms/kernel/devel fix-perf-make-man-failure.patch, NONE, 1.1.2.2 patch-2.6.31-rc6-git5.bz2.sign, NONE, 1.1.2.2 .cvsignore, 1.1014.2.24, 1.1014.2.25 kernel.spec, 1.1294.2.53, 1.1294.2.54 linux-2.6-debug-vm-would-have-oomkilled.patch, 1.2.6.1, 1.2.6.2 sources, 1.976.2.25, 1.976.2.26 upstream, 1.888.2.24, 1.888.2.25 xen.pvops.patch, 1.1.2.34, 1.1.2.35 patch-2.6.31-rc6-git3.bz2.sign, 1.1.2.2, NONE
myoung
myoung at fedoraproject.org
Wed Aug 19 20:22:57 UTC 2009
Author: myoung
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14511
Modified Files:
Tag: private-myoung-dom0-branch
.cvsignore kernel.spec
linux-2.6-debug-vm-would-have-oomkilled.patch sources upstream
xen.pvops.patch
Added Files:
Tag: private-myoung-dom0-branch
fix-perf-make-man-failure.patch patch-2.6.31-rc6-git5.bz2.sign
Removed Files:
Tag: private-myoung-dom0-branch
patch-2.6.31-rc6-git3.bz2.sign
Log Message:
pvops update to test i686 stackprotector issue
fix-perf-make-man-failure.patch:
b/tools/perf/Documentation/examples.txt | 225 ++++++++++++++++++++++++++++
tools/perf/Documentation/perf-examples.txt | 226 -----------------------------
2 files changed, 225 insertions(+), 226 deletions(-)
--- NEW FILE fix-perf-make-man-failure.patch ---
>From 30cd04d629fed1779dd695a5dc2d38f6f5159bf8 Mon Sep 17 00:00:00 2001
From: Carlos R. Mafra <crmafra at gmail.com>
Date: Mon, 17 Aug 2009 00:36:21 +0200
Subject: [PATCH] perf: Rename perf-examples.txt to examples.txt
Rename it to examples.txt to avoid the perf-*.txt pattern in
the Makefile, otherwise 'make doc' fails because
perf-examples.txt is not formatted to be a man page:
ERROR: perf-examples.txt: line 1: manpage document title is mandatory
Signed-off-by: Carlos R. Mafra <crmafra at gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
Cc: Paul Mackerras <paulus at samba.org>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo at elte.hu>
---
tools/perf/Documentation/examples.txt | 225 ++++++++++++++++++++++++++++
tools/perf/Documentation/perf-examples.txt | 225 ----------------------------
2 files changed, 225 insertions(+), 225 deletions(-)
create mode 100644 tools/perf/Documentation/examples.txt
delete mode 100644 tools/perf/Documentation/perf-examples.txt
diff --git a/tools/perf/Documentation/examples.txt b/tools/perf/Documentation/examples.txt
new file mode 100644
index 0000000..8eb6c48
--- /dev/null
+++ b/tools/perf/Documentation/examples.txt
@@ -0,0 +1,225 @@
+
+ ------------------------------
+ ****** perf by examples ******
+ ------------------------------
+
+[ From an e-mail by Ingo Molnar, http://lkml.org/lkml/2009/8/4/346 ]
+
+
+First, discovery/enumeration of available counters can be done via
+'perf list':
+
+titan:~> perf list
+ [...]
+ kmem:kmalloc [Tracepoint event]
+ kmem:kmem_cache_alloc [Tracepoint event]
+ kmem:kmalloc_node [Tracepoint event]
+ kmem:kmem_cache_alloc_node [Tracepoint event]
+ kmem:kfree [Tracepoint event]
+ kmem:kmem_cache_free [Tracepoint event]
+ kmem:mm_page_free_direct [Tracepoint event]
+ kmem:mm_pagevec_free [Tracepoint event]
+ kmem:mm_page_alloc [Tracepoint event]
+ kmem:mm_page_alloc_zone_locked [Tracepoint event]
+ kmem:mm_page_pcpu_drain [Tracepoint event]
+ kmem:mm_page_alloc_extfrag [Tracepoint event]
+
+Then any (or all) of the above event sources can be activated and
+measured. For example the page alloc/free properties of a 'hackbench
+run' are:
+
+ titan:~> perf stat -e kmem:mm_page_pcpu_drain -e kmem:mm_page_alloc
+ -e kmem:mm_pagevec_free -e kmem:mm_page_free_direct ./hackbench 10
+ Time: 0.575
+
+ Performance counter stats for './hackbench 10':
+
+ 13857 kmem:mm_page_pcpu_drain
+ 27576 kmem:mm_page_alloc
+ 6025 kmem:mm_pagevec_free
+ 20934 kmem:mm_page_free_direct
+
+ 0.613972165 seconds time elapsed
+
+You can observe the statistical properties as well, by using the
+'repeat the workload N times' feature of perf stat:
+
+ titan:~> perf stat --repeat 5 -e kmem:mm_page_pcpu_drain -e
+ kmem:mm_page_alloc -e kmem:mm_pagevec_free -e
+ kmem:mm_page_free_direct ./hackbench 10
+ Time: 0.627
+ Time: 0.644
+ Time: 0.564
+ Time: 0.559
+ Time: 0.626
+
+ Performance counter stats for './hackbench 10' (5 runs):
+
+ 12920 kmem:mm_page_pcpu_drain ( +- 3.359% )
+ 25035 kmem:mm_page_alloc ( +- 3.783% )
+ 6104 kmem:mm_pagevec_free ( +- 0.934% )
+ 18376 kmem:mm_page_free_direct ( +- 4.941% )
+
+ 0.643954516 seconds time elapsed ( +- 2.363% )
+
+Furthermore, these tracepoints can be used to sample the workload as
+well. For example the page allocations done by a 'git gc' can be
+captured the following way:
+
+ titan:~/git> perf record -f -e kmem:mm_page_alloc -c 1 ./git gc
+ Counting objects: 1148, done.
+ Delta compression using up to 2 threads.
+ Compressing objects: 100% (450/450), done.
+ Writing objects: 100% (1148/1148), done.
+ Total 1148 (delta 690), reused 1148 (delta 690)
+ [ perf record: Captured and wrote 0.267 MB perf.data (~11679 samples) ]
+
+To check which functions generated page allocations:
+
+ titan:~/git> perf report
+ # Samples: 10646
+ #
+ # Overhead Command Shared Object
+ # ........ ............... ..........................
+ #
+ 23.57% git-repack /lib64/libc-2.5.so
+ 21.81% git /lib64/libc-2.5.so
+ 14.59% git ./git
+ 11.79% git-repack ./git
+ 7.12% git /lib64/ld-2.5.so
+ 3.16% git-repack /lib64/libpthread-2.5.so
+ 2.09% git-repack /bin/bash
+ 1.97% rm /lib64/libc-2.5.so
+ 1.39% mv /lib64/ld-2.5.so
+ 1.37% mv /lib64/libc-2.5.so
+ 1.12% git-repack /lib64/ld-2.5.so
+ 0.95% rm /lib64/ld-2.5.so
+ 0.90% git-update-serv /lib64/libc-2.5.so
+ 0.73% git-update-serv /lib64/ld-2.5.so
+ 0.68% perf /lib64/libpthread-2.5.so
+ 0.64% git-repack /usr/lib64/libz.so.1.2.3
+
+Or to see it on a more finegrained level:
+
+titan:~/git> perf report --sort comm,dso,symbol
+# Samples: 10646
+#
+# Overhead Command Shared Object Symbol
+# ........ ............... .......................... ......
+#
+ 9.35% git-repack ./git [.] insert_obj_hash
+ 9.12% git ./git [.] insert_obj_hash
+ 7.31% git /lib64/libc-2.5.so [.] memcpy
+ 6.34% git-repack /lib64/libc-2.5.so [.] _int_malloc
+ 6.24% git-repack /lib64/libc-2.5.so [.] memcpy
+ 5.82% git-repack /lib64/libc-2.5.so [.] __GI___fork
+ 5.47% git /lib64/libc-2.5.so [.] _int_malloc
+ 2.99% git /lib64/libc-2.5.so [.] memset
+
+Furthermore, call-graph sampling can be done too, of page
+allocations - to see precisely what kind of page allocations there
+are:
+
+ titan:~/git> perf record -f -g -e kmem:mm_page_alloc -c 1 ./git gc
+ Counting objects: 1148, done.
+ Delta compression using up to 2 threads.
+ Compressing objects: 100% (450/450), done.
+ Writing objects: 100% (1148/1148), done.
+ Total 1148 (delta 690), reused 1148 (delta 690)
+ [ perf record: Captured and wrote 0.963 MB perf.data (~42069 samples) ]
+
+ titan:~/git> perf report -g
+ # Samples: 10686
+ #
+ # Overhead Command Shared Object
+ # ........ ............... ..........................
+ #
+ 23.25% git-repack /lib64/libc-2.5.so
+ |
+ |--50.00%-- _int_free
+ |
+ |--37.50%-- __GI___fork
+ | make_child
+ |
+ |--12.50%-- ptmalloc_unlock_all2
+ | make_child
+ |
+ --6.25%-- __GI_strcpy
+ 21.61% git /lib64/libc-2.5.so
+ |
+ |--30.00%-- __GI_read
+ | |
+ | --83.33%-- git_config_from_file
+ | git_config
+ | |
+ [...]
+
+Or you can observe the whole system's page allocations for 10
+seconds:
+
+titan:~/git> perf stat -a -e kmem:mm_page_pcpu_drain -e
+kmem:mm_page_alloc -e kmem:mm_pagevec_free -e
+kmem:mm_page_free_direct sleep 10
+
+ Performance counter stats for 'sleep 10':
+
+ 171585 kmem:mm_page_pcpu_drain
+ 322114 kmem:mm_page_alloc
+ 73623 kmem:mm_pagevec_free
+ 254115 kmem:mm_page_free_direct
+
+ 10.000591410 seconds time elapsed
+
+Or observe how fluctuating the page allocations are, via statistical
+analysis done over ten 1-second intervals:
+
+ titan:~/git> perf stat --repeat 10 -a -e kmem:mm_page_pcpu_drain -e
+ kmem:mm_page_alloc -e kmem:mm_pagevec_free -e
+ kmem:mm_page_free_direct sleep 1
+
+ Performance counter stats for 'sleep 1' (10 runs):
+
+ 17254 kmem:mm_page_pcpu_drain ( +- 3.709% )
+ 34394 kmem:mm_page_alloc ( +- 4.617% )
+ 7509 kmem:mm_pagevec_free ( +- 4.820% )
+ 25653 kmem:mm_page_free_direct ( +- 3.672% )
+
+ 1.058135029 seconds time elapsed ( +- 3.089% )
+
+Or you can annotate the recorded 'git gc' run on a per symbol basis
+and check which instructions/source-code generated page allocations:
+
+ titan:~/git> perf annotate __GI___fork
+ ------------------------------------------------
+ Percent | Source code & Disassembly of libc-2.5.so
+ ------------------------------------------------
+ :
+ :
+ : Disassembly of section .plt:
+ : Disassembly of section .text:
+ :
+ : 00000031a2e95560 <__fork>:
+ [...]
+ 0.00 : 31a2e95602: b8 38 00 00 00 mov $0x38,%eax
+ 0.00 : 31a2e95607: 0f 05 syscall
+ 83.42 : 31a2e95609: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax
+ 0.00 : 31a2e9560f: 0f 87 4d 01 00 00 ja 31a2e95762 <__fork+0x202>
+ 0.00 : 31a2e95615: 85 c0 test %eax,%eax
+
+( this shows that 83.42% of __GI___fork's page allocations come from
+ the 0x38 system call it performs. )
+
+etc. etc. - a lot more is possible. I could list a dozen of
+other different usecases straight away - neither of which is
+possible via /proc/vmstat.
+
+/proc/vmstat is not in the same league really, in terms of
+expressive power of system analysis and performance
+analysis.
+
+All that the above results needed were those new tracepoints
+in include/tracing/events/kmem.h.
+
+ Ingo
+
+
diff --git a/tools/perf/Documentation/perf-examples.txt b/tools/perf/Documentation/perf-examples.txt
deleted file mode 100644
index 8eb6c48..0000000
--- a/tools/perf/Documentation/perf-examples.txt
+++ /dev/null
@@ -1,225 +0,0 @@
-
- ------------------------------
- ****** perf by examples ******
- ------------------------------
-
-[ From an e-mail by Ingo Molnar, http://lkml.org/lkml/2009/8/4/346 ]
-
-
-First, discovery/enumeration of available counters can be done via
-'perf list':
-
-titan:~> perf list
- [...]
- kmem:kmalloc [Tracepoint event]
- kmem:kmem_cache_alloc [Tracepoint event]
- kmem:kmalloc_node [Tracepoint event]
- kmem:kmem_cache_alloc_node [Tracepoint event]
- kmem:kfree [Tracepoint event]
- kmem:kmem_cache_free [Tracepoint event]
- kmem:mm_page_free_direct [Tracepoint event]
- kmem:mm_pagevec_free [Tracepoint event]
- kmem:mm_page_alloc [Tracepoint event]
- kmem:mm_page_alloc_zone_locked [Tracepoint event]
- kmem:mm_page_pcpu_drain [Tracepoint event]
- kmem:mm_page_alloc_extfrag [Tracepoint event]
-
-Then any (or all) of the above event sources can be activated and
-measured. For example the page alloc/free properties of a 'hackbench
-run' are:
-
- titan:~> perf stat -e kmem:mm_page_pcpu_drain -e kmem:mm_page_alloc
- -e kmem:mm_pagevec_free -e kmem:mm_page_free_direct ./hackbench 10
- Time: 0.575
-
- Performance counter stats for './hackbench 10':
-
- 13857 kmem:mm_page_pcpu_drain
- 27576 kmem:mm_page_alloc
- 6025 kmem:mm_pagevec_free
- 20934 kmem:mm_page_free_direct
-
- 0.613972165 seconds time elapsed
-
-You can observe the statistical properties as well, by using the
-'repeat the workload N times' feature of perf stat:
-
- titan:~> perf stat --repeat 5 -e kmem:mm_page_pcpu_drain -e
- kmem:mm_page_alloc -e kmem:mm_pagevec_free -e
- kmem:mm_page_free_direct ./hackbench 10
- Time: 0.627
- Time: 0.644
- Time: 0.564
- Time: 0.559
- Time: 0.626
-
- Performance counter stats for './hackbench 10' (5 runs):
-
- 12920 kmem:mm_page_pcpu_drain ( +- 3.359% )
- 25035 kmem:mm_page_alloc ( +- 3.783% )
- 6104 kmem:mm_pagevec_free ( +- 0.934% )
- 18376 kmem:mm_page_free_direct ( +- 4.941% )
-
- 0.643954516 seconds time elapsed ( +- 2.363% )
-
-Furthermore, these tracepoints can be used to sample the workload as
-well. For example the page allocations done by a 'git gc' can be
-captured the following way:
-
- titan:~/git> perf record -f -e kmem:mm_page_alloc -c 1 ./git gc
- Counting objects: 1148, done.
- Delta compression using up to 2 threads.
- Compressing objects: 100% (450/450), done.
- Writing objects: 100% (1148/1148), done.
- Total 1148 (delta 690), reused 1148 (delta 690)
- [ perf record: Captured and wrote 0.267 MB perf.data (~11679 samples) ]
-
-To check which functions generated page allocations:
-
- titan:~/git> perf report
- # Samples: 10646
- #
- # Overhead Command Shared Object
- # ........ ............... ..........................
- #
- 23.57% git-repack /lib64/libc-2.5.so
- 21.81% git /lib64/libc-2.5.so
- 14.59% git ./git
- 11.79% git-repack ./git
- 7.12% git /lib64/ld-2.5.so
- 3.16% git-repack /lib64/libpthread-2.5.so
- 2.09% git-repack /bin/bash
- 1.97% rm /lib64/libc-2.5.so
- 1.39% mv /lib64/ld-2.5.so
- 1.37% mv /lib64/libc-2.5.so
- 1.12% git-repack /lib64/ld-2.5.so
- 0.95% rm /lib64/ld-2.5.so
- 0.90% git-update-serv /lib64/libc-2.5.so
- 0.73% git-update-serv /lib64/ld-2.5.so
- 0.68% perf /lib64/libpthread-2.5.so
- 0.64% git-repack /usr/lib64/libz.so.1.2.3
-
-Or to see it on a more finegrained level:
-
-titan:~/git> perf report --sort comm,dso,symbol
-# Samples: 10646
-#
-# Overhead Command Shared Object Symbol
-# ........ ............... .......................... ......
-#
- 9.35% git-repack ./git [.] insert_obj_hash
- 9.12% git ./git [.] insert_obj_hash
- 7.31% git /lib64/libc-2.5.so [.] memcpy
- 6.34% git-repack /lib64/libc-2.5.so [.] _int_malloc
- 6.24% git-repack /lib64/libc-2.5.so [.] memcpy
- 5.82% git-repack /lib64/libc-2.5.so [.] __GI___fork
- 5.47% git /lib64/libc-2.5.so [.] _int_malloc
- 2.99% git /lib64/libc-2.5.so [.] memset
-
-Furthermore, call-graph sampling can be done too, of page
-allocations - to see precisely what kind of page allocations there
-are:
-
- titan:~/git> perf record -f -g -e kmem:mm_page_alloc -c 1 ./git gc
- Counting objects: 1148, done.
- Delta compression using up to 2 threads.
- Compressing objects: 100% (450/450), done.
- Writing objects: 100% (1148/1148), done.
- Total 1148 (delta 690), reused 1148 (delta 690)
- [ perf record: Captured and wrote 0.963 MB perf.data (~42069 samples) ]
-
- titan:~/git> perf report -g
- # Samples: 10686
- #
- # Overhead Command Shared Object
- # ........ ............... ..........................
- #
- 23.25% git-repack /lib64/libc-2.5.so
- |
- |--50.00%-- _int_free
- |
- |--37.50%-- __GI___fork
- | make_child
- |
- |--12.50%-- ptmalloc_unlock_all2
- | make_child
- |
- --6.25%-- __GI_strcpy
- 21.61% git /lib64/libc-2.5.so
- |
- |--30.00%-- __GI_read
- | |
- | --83.33%-- git_config_from_file
- | git_config
- | |
- [...]
-
-Or you can observe the whole system's page allocations for 10
-seconds:
-
-titan:~/git> perf stat -a -e kmem:mm_page_pcpu_drain -e
-kmem:mm_page_alloc -e kmem:mm_pagevec_free -e
-kmem:mm_page_free_direct sleep 10
-
- Performance counter stats for 'sleep 10':
-
- 171585 kmem:mm_page_pcpu_drain
- 322114 kmem:mm_page_alloc
- 73623 kmem:mm_pagevec_free
- 254115 kmem:mm_page_free_direct
-
- 10.000591410 seconds time elapsed
-
-Or observe how fluctuating the page allocations are, via statistical
-analysis done over ten 1-second intervals:
-
- titan:~/git> perf stat --repeat 10 -a -e kmem:mm_page_pcpu_drain -e
- kmem:mm_page_alloc -e kmem:mm_pagevec_free -e
- kmem:mm_page_free_direct sleep 1
-
- Performance counter stats for 'sleep 1' (10 runs):
-
- 17254 kmem:mm_page_pcpu_drain ( +- 3.709% )
- 34394 kmem:mm_page_alloc ( +- 4.617% )
- 7509 kmem:mm_pagevec_free ( +- 4.820% )
- 25653 kmem:mm_page_free_direct ( +- 3.672% )
-
- 1.058135029 seconds time elapsed ( +- 3.089% )
-
-Or you can annotate the recorded 'git gc' run on a per symbol basis
-and check which instructions/source-code generated page allocations:
-
- titan:~/git> perf annotate __GI___fork
- ------------------------------------------------
- Percent | Source code & Disassembly of libc-2.5.so
- ------------------------------------------------
- :
- :
- : Disassembly of section .plt:
- : Disassembly of section .text:
- :
- : 00000031a2e95560 <__fork>:
- [...]
- 0.00 : 31a2e95602: b8 38 00 00 00 mov $0x38,%eax
- 0.00 : 31a2e95607: 0f 05 syscall
- 83.42 : 31a2e95609: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax
- 0.00 : 31a2e9560f: 0f 87 4d 01 00 00 ja 31a2e95762 <__fork+0x202>
- 0.00 : 31a2e95615: 85 c0 test %eax,%eax
-
-( this shows that 83.42% of __GI___fork's page allocations come from
- the 0x38 system call it performs. )
-
-etc. etc. - a lot more is possible. I could list a dozen of
-other different usecases straight away - neither of which is
-possible via /proc/vmstat.
-
-/proc/vmstat is not in the same league really, in terms of
-expressive power of system analysis and performance
-analysis.
-
-All that the above results needed were those new tracepoints
-in include/tracing/events/kmem.h.
-
- Ingo
-
-
--
1.6.4
--- NEW FILE patch-2.6.31-rc6-git5.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info
iD8DBQBKi+n3yGugalF9Dw4RAmtPAJ9MrnT+S9WZG49Gxiey0YVOYXuf0gCfdmZF
Gd4a9i65mtKqTyWxP6K+/qk=
=YMyk
-----END PGP SIGNATURE-----
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/.cvsignore,v
retrieving revision 1.1014.2.24
retrieving revision 1.1014.2.25
diff -u -p -r1.1014.2.24 -r1.1014.2.25
--- .cvsignore 18 Aug 2009 19:26:44 -0000 1.1014.2.24
+++ .cvsignore 19 Aug 2009 20:22:46 -0000 1.1014.2.25
@@ -6,4 +6,4 @@ temp-*
kernel-2.6.30
linux-2.6.30.tar.bz2
patch-2.6.31-rc6.bz2
-patch-2.6.31-rc6-git3.bz2
+patch-2.6.31-rc6-git5.bz2
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1294.2.53
retrieving revision 1.1294.2.54
diff -u -p -r1.1294.2.53 -r1.1294.2.54
--- kernel.spec 18 Aug 2009 19:26:45 -0000 1.1294.2.53
+++ kernel.spec 19 Aug 2009 20:22:46 -0000 1.1294.2.54
@@ -62,7 +62,7 @@ Summary: The Linux kernel
# The rc snapshot level
%define rcrev 6
# The git snapshot level
-%define gitrev 3
+%define gitrev 5
# Set rpm version accordingly
%define rpmversion 2.6.%{upstream_sublevel}
%endif
@@ -487,6 +487,9 @@ BuildRequires: gcc >= 3.4.2, binutils >=
BuildRequires: net-tools
%if %{with_doc}
BuildRequires: xmlto
+%if %{with_perf}
+BuildRequires: asciidoc
+%endif
%endif
%if %{with_sparse}
BuildRequires: sparse >= 0.4.1
@@ -718,6 +721,9 @@ Patch11010: via-hwmon-temp-sensor.patch
Patch12010: linux-2.6-dell-laptop-rfkill-fix.patch
Patch12011: linux-2.6-block-silently-error-unsupported-empty-barriers-too.patch
+# perf userspace tool patches
+Patch13000: fix-perf-make-man-failure.patch
+
Patch19997: xen.pvops.pre.patch
Patch19998: xen.pvops.patch
Patch19999: xen.pvops.post.patch
@@ -1330,6 +1336,8 @@ ApplyPatch linux-2.6-silence-acpi-blackl
#ApplyPatch linux-2.6-v4l-dvb-experimental.patch
#ApplyPatch linux-2.6-revert-dvb-net-kabi-change.patch
+ApplyPatch fix-perf-make-man-failure.patch
+
ApplyPatch xen.pvops.pre.patch
ApplyPatch xen.pvops.patch
ApplyPatch xen.pvops.post.patch
@@ -1447,7 +1455,6 @@ BuildKernel() {
# make sure the scripts are executable... won't be in tarball until 2.6.31 :/
chmod +x util/generate-cmdlist.sh util/PERF-VERSION-GEN
make -s V=1 %{?_smp_mflags} perf
-#later# make -s V=1 %{?_smp_mflags} doc
mkdir -p $RPM_BUILD_ROOT/usr/libexec/
install -m 755 perf $RPM_BUILD_ROOT/usr/libexec/perf.$KernelVer
popd
@@ -1647,6 +1654,9 @@ BuildKernel vmlinux vmlinux kdump vmlinu
%if %{with_doc}
# Make the HTML and man pages.
make %{?_smp_mflags} htmldocs mandocs || %{doc_build_fail}
+%if %{with_perf}
+make %{?_smp_mflags} man || %{doc_build_fail}
+%endif
# sometimes non-world-readable files sneak into the kernel source tree
chmod -R a=rX Documentation
@@ -1696,10 +1706,26 @@ mkdir -p $man9dir
find Documentation/DocBook/man -name '*.9.gz' -print0 |
xargs -0 --no-run-if-empty %{__install} -m 444 -t $man9dir $m
ls $man9dir | grep -q '' || > $man9dir/BROKEN
+
+# perf docs
+%if %{with_perf}
+mandir=$RPM_BUILD_ROOT%{_datadir}/man
+man1dir=$mandir/man1
+pushd tools/perf/Documentation
+make install-man mandir=$mandir
+popd
+
+pushd $man1dir
+for d in *.1; do
+ gzip $d;
+done
+popd
+
+%endif
%endif
+# perf shell wrapper
%if %{with_perf}
-# perf docs and shell wrapper.
mkdir -p $RPM_BUILD_ROOT/usr/sbin/
cp $RPM_SOURCE_DIR/perf $RPM_BUILD_ROOT/usr/sbin/perf
chmod 0755 $RPM_BUILD_ROOT/usr/sbin/perf
@@ -1900,6 +1926,9 @@ fi
%defattr(-,root,root)
%{_datadir}/doc/perf
/usr/sbin/perf
+%if %{with_doc}
+%{_datadir}/man/man1/*
+%endif
%endif
# This is %{image_install_path} on an arch where that includes ELF files,
@@ -1977,6 +2006,19 @@ fi
# and build.
%changelog
+* Wed Aug 19 2009 Michael Young <m.a.young at durham.ac.uk>
+- update rebase/master to test i686 stackprotector issue
+
+* Wed Aug 19 2009 Chuck Ebbert <cebbert at redhat.com>
+- 2.6.31-rc6-git5
+- Revert linux-2.6-debug-vm-would-have-oomkilled.patch to v1.2
+ because upstream changes to oom-kill.c were all reverted.
+
+* Tue Aug 18 2009 Kyle McMartin <kyle at redhat.com>
+- Fix up perf so that it builds docs now that they are fixed.
+- with_docs disables perf docs too. be warned. (logic is that the
+ build deps are (mostly) the same, so if you don't want one, odds are...)
+
* Tue Aug 18 2009 Michael Young <m.a.young at durham.ac.uk>
- another rebase/master update
- try upstream STACKPROTECTOR fixes
linux-2.6-debug-vm-would-have-oomkilled.patch:
kernel/sysctl.c | 9 +++++++++
mm/oom_kill.c | 13 +++++++++++++
2 files changed, 22 insertions(+)
Index: linux-2.6-debug-vm-would-have-oomkilled.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-debug-vm-would-have-oomkilled.patch,v
retrieving revision 1.2.6.1
retrieving revision 1.2.6.2
diff -u -p -r1.2.6.1 -r1.2.6.2
--- linux-2.6-debug-vm-would-have-oomkilled.patch 9 Jul 2009 22:53:01 -0000 1.2.6.1
+++ linux-2.6-debug-vm-would-have-oomkilled.patch 19 Aug 2009 20:22:46 -0000 1.2.6.2
@@ -1,18 +1,8 @@
-From a0e012e118c2b0eba399e213a7989fd2b880f8b7 Mon Sep 17 00:00:00 2001
-From: Kyle McMartin <kyle at phobos.i.jkkm.org>
-Date: Wed, 8 Jul 2009 13:05:46 -0400
-Subject: [PATCH 5/6] fedora: linux-2.6-debug-vm-would-have-oomkilled.patch
-
----
- kernel/sysctl.c | 9 +++++++++
- mm/oom_kill.c | 14 ++++++++++++++
- 2 files changed, 23 insertions(+), 0 deletions(-)
-
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index 98e0232..0cfe3ab 100644
+index b2a2d68..3b132ee 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
-@@ -73,6 +73,7 @@ extern int sysctl_overcommit_ratio;
+@@ -67,6 +67,7 @@ extern int sysctl_overcommit_ratio;
extern int sysctl_panic_on_oom;
extern int sysctl_oom_kill_allocating_task;
extern int sysctl_oom_dump_tasks;
@@ -20,7 +10,7 @@ index 98e0232..0cfe3ab 100644
extern int max_threads;
extern int core_uses_pid;
extern int suid_dumpable;
-@@ -1031,6 +1032,14 @@ static struct ctl_table vm_table[] = {
+@@ -861,6 +862,14 @@ static struct ctl_table vm_table[] = {
.proc_handler = &proc_dointvec,
},
{
@@ -36,7 +26,7 @@ index 98e0232..0cfe3ab 100644
.procname = "overcommit_ratio",
.data = &sysctl_overcommit_ratio,
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
-index 175a67a..4ab4bdb 100644
+index f255eda..3335a94 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -31,6 +31,7 @@
@@ -47,9 +37,9 @@ index 175a67a..4ab4bdb 100644
static DEFINE_SPINLOCK(zone_scan_lock);
/* #define DEBUG */
-@@ -328,6 +329,12 @@ static void __oom_kill_task(struct task_struct *p, int verbose)
- if (!p->mm)
+@@ -321,6 +322,12 @@ static void __oom_kill_task(struct task_struct *p, int verbose)
return;
+ }
+ if (sysctl_would_have_oomkilled == 1) {
+ printk(KERN_ERR "Would have killed process %d (%s). But continuing instead.\n",
@@ -60,11 +50,10 @@ index 175a67a..4ab4bdb 100644
if (verbose)
printk(KERN_ERR "Killed process %d (%s)\n",
task_pid_nr(p), p->comm);
-@@ -355,6 +362,13 @@ static int oom_kill_task(struct task_struct *p)
- return 1;
- }
- task_unlock(p);
-+
+@@ -363,6 +370,12 @@ static int oom_kill_task(struct task_struct *p)
+ return 1;
+ } while_each_thread(g, q);
+
+ if (sysctl_would_have_oomkilled == 1) {
+ printk(KERN_ERR "Would have killed process %d (%s). But continuing instead.\n",
+ task_pid_nr(p), p->comm);
@@ -74,6 +63,3 @@ index 175a67a..4ab4bdb 100644
__oom_kill_task(p, 1);
/*
---
-1.6.2.5
-
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/sources,v
retrieving revision 1.976.2.25
retrieving revision 1.976.2.26
diff -u -p -r1.976.2.25 -r1.976.2.26
--- sources 18 Aug 2009 19:26:45 -0000 1.976.2.25
+++ sources 19 Aug 2009 20:22:46 -0000 1.976.2.26
@@ -1,3 +1,3 @@
7a80058a6382e5108cdb5554d1609615 linux-2.6.30.tar.bz2
056ab6d753725f14d2d44eec2c1f471f patch-2.6.31-rc6.bz2
-67d0b1917a80534f0a7f3aa2c2897509 patch-2.6.31-rc6-git3.bz2
+6128f58fd777f9b64ea5c2fa13049021 patch-2.6.31-rc6-git5.bz2
Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/upstream,v
retrieving revision 1.888.2.24
retrieving revision 1.888.2.25
diff -u -p -r1.888.2.24 -r1.888.2.25
--- upstream 18 Aug 2009 19:26:45 -0000 1.888.2.24
+++ upstream 19 Aug 2009 20:22:46 -0000 1.888.2.25
@@ -1,3 +1,3 @@
linux-2.6.30.tar.bz2
patch-2.6.31-rc6.bz2
-patch-2.6.31-rc6-git3.bz2
+patch-2.6.31-rc6-git5.bz2
xen.pvops.patch:
arch/x86/Kconfig | 4
arch/x86/include/asm/agp.h | 15
arch/x86/include/asm/e820.h | 2
arch/x86/include/asm/i387.h | 1
arch/x86/include/asm/io.h | 15
arch/x86/include/asm/io_apic.h | 7
arch/x86/include/asm/microcode.h | 9
arch/x86/include/asm/paravirt.h | 718 -------------
arch/x86/include/asm/paravirt_types.h | 722 +++++++++++++
arch/x86/include/asm/pci.h | 8
arch/x86/include/asm/pci_x86.h | 2
arch/x86/include/asm/pgtable.h | 3
arch/x86/include/asm/processor.h | 4
arch/x86/include/asm/tlbflush.h | 6
arch/x86/include/asm/xen/hypercall.h | 44
arch/x86/include/asm/xen/interface.h | 8
arch/x86/include/asm/xen/interface_32.h | 5
arch/x86/include/asm/xen/interface_64.h | 13
arch/x86/include/asm/xen/iommu.h | 12
arch/x86/include/asm/xen/page.h | 16
arch/x86/include/asm/xen/pci.h | 13
arch/x86/kernel/Makefile | 1
arch/x86/kernel/acpi/boot.c | 18
arch/x86/kernel/acpi/sleep.c | 2
arch/x86/kernel/apic/io_apic.c | 37
arch/x86/kernel/cpu/Makefile | 4
arch/x86/kernel/cpu/mtrr/Makefile | 1
arch/x86/kernel/cpu/mtrr/amd.c | 6
arch/x86/kernel/cpu/mtrr/centaur.c | 6
arch/x86/kernel/cpu/mtrr/cyrix.c | 6
arch/x86/kernel/cpu/mtrr/generic.c | 10
arch/x86/kernel/cpu/mtrr/main.c | 19
arch/x86/kernel/cpu/mtrr/mtrr.h | 11
arch/x86/kernel/cpu/mtrr/xen.c | 104 +
arch/x86/kernel/e820.c | 30
arch/x86/kernel/ioport.c | 29
arch/x86/kernel/microcode_core.c | 5
arch/x86/kernel/microcode_xen.c | 200 +++
arch/x86/kernel/paravirt.c | 1
arch/x86/kernel/pci-dma.c | 3
arch/x86/kernel/pci-swiotlb.c | 30
arch/x86/kernel/process.c | 27
arch/x86/kernel/process_32.c | 27
arch/x86/kernel/process_64.c | 33
arch/x86/kernel/setup.c | 4
arch/x86/kernel/traps.c | 33
arch/x86/mm/init_32.c | 42
arch/x86/mm/pat.c | 2
arch/x86/mm/pgtable.c | 10
arch/x86/mm/tlb.c | 35
arch/x86/pci/Makefile | 1
arch/x86/pci/common.c | 18
arch/x86/pci/i386.c | 3
arch/x86/pci/init.c | 6
arch/x86/pci/xen.c | 51
arch/x86/xen/Kconfig | 33
arch/x86/xen/Makefile | 8
arch/x86/xen/apic.c | 60 +
arch/x86/xen/enlighten.c | 96 +
arch/x86/xen/mmu.c | 455 ++++++++
arch/x86/xen/pci-swiotlb.c | 53 +
arch/x86/xen/pci.c | 86 +
arch/x86/xen/setup.c | 50
arch/x86/xen/smp.c | 2
arch/x86/xen/time.c | 2
arch/x86/xen/vga.c | 67 +
arch/x86/xen/xen-ops.h | 19
block/blk-core.c | 2
drivers/acpi/acpica/hwsleep.c | 17
drivers/acpi/sleep.c | 19
drivers/block/Kconfig | 1
drivers/char/agp/intel-agp.c | 17
drivers/char/hvc_xen.c | 99 +
drivers/net/Kconfig | 1
drivers/pci/Makefile | 2
drivers/pci/pci.h | 2
drivers/pci/xen-iommu.c | 332 ++++++
drivers/xen/Kconfig | 36
drivers/xen/Makefile | 19
drivers/xen/acpi.c | 23
drivers/xen/balloon.c | 152 ++
drivers/xen/biomerge.c | 14
drivers/xen/blkback/Makefile | 3
drivers/xen/blkback/blkback.c | 658 ++++++++++++
drivers/xen/blkback/common.h | 137 ++
drivers/xen/blkback/interface.c | 182 +++
drivers/xen/blkback/vbd.c | 118 ++
drivers/xen/blkback/xenbus.c | 542 ++++++++++
drivers/xen/events.c | 322 +++++-
drivers/xen/evtchn.c | 1
drivers/xen/features.c | 2
drivers/xen/grant-table.c | 103 +
drivers/xen/mce.c | 213 ++++
drivers/xen/netback/Makefile | 3
drivers/xen/netback/common.h | 221 ++++
drivers/xen/netback/interface.c | 401 +++++++
drivers/xen/netback/netback.c | 1513 +++++++++++++++++++++++++++++
drivers/xen/netback/xenbus.c | 454 ++++++++
drivers/xen/pci.c | 116 ++
drivers/xen/xenbus/Makefile | 5
drivers/xen/xenbus/xenbus_comms.c | 1
drivers/xen/xenbus/xenbus_probe.c | 380 +------
drivers/xen/xenbus/xenbus_probe.h | 29
drivers/xen/xenbus/xenbus_probe_backend.c | 298 +++++
drivers/xen/xenbus/xenbus_probe_frontend.c | 292 +++++
drivers/xen/xenfs/Makefile | 3
drivers/xen/xenfs/privcmd.c | 403 +++++++
drivers/xen/xenfs/super.c | 98 +
drivers/xen/xenfs/xenfs.h | 3
drivers/xen/xenfs/xenstored.c | 67 +
include/asm-generic/pci.h | 2
include/linux/interrupt.h | 1
include/linux/page-flags.h | 18
include/linux/pci.h | 6
include/xen/Kbuild | 1
include/xen/acpi.h | 23
include/xen/balloon.h | 8
include/xen/blkif.h | 122 ++
include/xen/events.h | 27
include/xen/grant_table.h | 43
include/xen/interface/grant_table.h | 22
include/xen/interface/memory.h | 92 +
include/xen/interface/physdev.h | 21
include/xen/interface/platform.h | 222 ++++
include/xen/interface/xen-mca.h | 429 ++++++++
include/xen/interface/xen.h | 43
include/xen/privcmd.h | 80 +
include/xen/swiotlb.h | 18
include/xen/xen-ops.h | 11
include/xen/xenbus.h | 2
kernel/irq/manage.c | 3
lib/swiotlb.c | 5
mm/page_alloc.c | 14
133 files changed, 10575 insertions(+), 1315 deletions(-)
Index: xen.pvops.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/xen.pvops.patch,v
retrieving revision 1.1.2.34
retrieving revision 1.1.2.35
diff -u -p -r1.1.2.34 -r1.1.2.35
--- xen.pvops.patch 18 Aug 2009 19:26:45 -0000 1.1.2.34
+++ xen.pvops.patch 19 Aug 2009 20:22:46 -0000 1.1.2.35
@@ -2165,17 +2165,16 @@ index d2ed6c5..205e277 100644
for (i = 0; i < nr_ioapics; i++) {
if (smp_found_config) {
diff --git a/arch/x86/kernel/cpu/Makefile b/arch/x86/kernel/cpu/Makefile
-index 3efcb2b..3e058a1 100644
+index 3efcb2b..c1f253d 100644
--- a/arch/x86/kernel/cpu/Makefile
+++ b/arch/x86/kernel/cpu/Makefile
-@@ -7,6 +7,11 @@ ifdef CONFIG_FUNCTION_TRACER
+@@ -7,6 +7,10 @@ ifdef CONFIG_FUNCTION_TRACER
CFLAGS_REMOVE_common.o = -pg
endif
-+ifdef CONFIG_CC_STACKPROTECTOR
-+# Also, load_percpu_segment shouldn't have stack-protector on it
-+CFLAGS_REMOVE_common.o += -fstack-protector -fstack-protector-all
-+endif
++# Make sure load_percpu_segment has no stackprotector
++nostackp := $(call cc-option, -fno-stack-protector)
++CFLAGS_common.o := $(nostackp)
+
obj-y := intel_cacheinfo.o addon_cpuid_features.o
obj-y += proc.o capflags.o powerflags.o common.o
@@ -3515,19 +3514,21 @@ index b83e119..951c924 100644
+ depends on XEN_DOM0 && MICROCODE
\ No newline at end of file
diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
-index 172438f..e19c48e 100644
+index 172438f..8c2c266 100644
--- a/arch/x86/xen/Makefile
+++ b/arch/x86/xen/Makefile
-@@ -5,6 +5,8 @@ CFLAGS_REMOVE_time.o = -pg
+@@ -5,6 +5,10 @@ CFLAGS_REMOVE_time.o = -pg
CFLAGS_REMOVE_irq.o = -pg
endif
-+CFLAGS_REMOVE_enlighten.o += -fstack-protector -fstack-protector-all
++# Make sure early boot has no stackprotector
++nostackp := $(call cc-option, -fno-stack-protector)
++CFLAGS_enlighten.o := $(nostackp)
+
obj-y := enlighten.o setup.o multicalls.o mmu.o irq.o \
time.o xen-asm.o xen-asm_$(BITS).o \
grant-table.o suspend.o
-@@ -12,3 +14,7 @@ obj-y := enlighten.o setup.o multicalls.o mmu.o irq.o \
+@@ -12,3 +16,7 @@ obj-y := enlighten.o setup.o multicalls.o mmu.o irq.o \
obj-$(CONFIG_SMP) += smp.o
obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinlock.o
obj-$(CONFIG_XEN_DEBUG_FS) += debugfs.o
@@ -8188,7 +8189,7 @@ index 7d8f531..58996c9 100644
if (max_nr_grant_frames() < nr_grant_frames)
diff --git a/drivers/xen/mce.c b/drivers/xen/mce.c
new file mode 100644
-index 0000000..ef838f2
+index 0000000..b354dc8
--- /dev/null
+++ b/drivers/xen/mce.c
@@ -0,0 +1,213 @@
@@ -8342,14 +8343,6 @@ index 0000000..ef838f2
+ int ret;
+ xen_mc_t mc_op;
+
-+ ret = bind_virq_to_irqhandler(VIRQ_MCA, 0,
-+ mce_dom_interrupt, 0, "mce", NULL);
-+
-+ if (ret < 0) {
-+ printk(KERN_ERR "MCE_DOM0_LOG: bind_virq for DOM0 failed\n");
-+ return ret;
-+ }
-+
+ g_mi = kmalloc(sizeof(struct mc_info), GFP_KERNEL);
+
+ if (!g_mi)
@@ -8383,6 +8376,14 @@ index 0000000..ef838f2
+ return ret;
+ }
+
++ ret = bind_virq_to_irqhandler(VIRQ_MCA, 0,
++ mce_dom_interrupt, 0, "mce", NULL);
++
++ if (ret < 0) {
++ printk(KERN_ERR "MCE_DOM0_LOG: bind_virq for DOM0 failed\n");
++ return ret;
++ }
++
+ return 0;
+}
+
--- patch-2.6.31-rc6-git3.bz2.sign DELETED ---
More information about the fedora-extras-commits
mailing list