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