Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory
checked in at Fri Dec 4 12:14:54 CET 2009.
--------
--- kernel-source/kernel-debug.changes 2009-11-26 15:39:35.000000000 +0100
+++ /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes 2009-12-04 04:05:57.000000000 +0100
@@ -1,0 +2,478 @@
+Fri Dec 4 00:41:32 CET 2009 - gregkh@suse.de
+
+- Update config files.
+ CONFIG_DRM_I915_KMS=y for x86-64 and i386 vanilla (bnc#560402)
+
+-------------------------------------------------------------------
+Fri Dec 4 00:17:46 CET 2009 - gregkh@suse.de
+
+- Update config files.
+ CONFIG_DRM_I915_KMS=y for x86-64 (bnc#560402)
+
+-------------------------------------------------------------------
+Fri Dec 4 00:16:20 CET 2009 - gregkh@suse.de
+
+- Update config files.
+ CONFIG_DRM_I915_KMS=y for i386 (bnc#560402)
+
+-------------------------------------------------------------------
+Thu Dec 3 20:53:57 CET 2009 - jeffm@suse.com
+
+- patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch:
+ Delete. (bnc#560043)
+
+-------------------------------------------------------------------
+Thu Dec 3 20:13:09 CET 2009 - jeffm@suse.com
+
+- Cleanup config files.
+
+-------------------------------------------------------------------
+Thu Dec 3 19:34:08 CET 2009 - bphilips@suse.de
+
+- patches.drivers/tg3_libphy_workaround: Delete. We have all of the 57780
+ phylib and tg3 changes due to 2.6.32 bump.
+
+-------------------------------------------------------------------
+Thu Dec 3 19:06:23 CET 2009 - duwe@suse.de
+
+- back out cpuidle feature that is still unconsistent.
+
+-------------------------------------------------------------------
+Thu Dec 3 18:40:03 CET 2009 - mfasheh@suse.com
+
+- patches.suse/ocfs2-allocation-resrvations.patch: Refresh.
+
+-------------------------------------------------------------------
+Thu Dec 3 18:21:13 CET 2009 - duwe@suse.de
+
+- patches.suse/cpuidle-cleanup: Refresh.
+ Fix the "fixed" feature patch set from IBM.
+
+-------------------------------------------------------------------
+Thu Dec 3 18:04:51 CET 2009 - mfasheh@suse.com
+
+- Update config files.
+- patches.suse/gfs2-ro-mounts-only.patch: gfs2: allow spectator
+ mounts for migration to ocfs2 (FATE#307584).
+
+-------------------------------------------------------------------
+Thu Dec 3 17:19:44 CET 2009 - duwe@suse.de
+
+- Update config files for 2.6.32 (again).
+
+-------------------------------------------------------------------
+Thu Dec 3 17:00:12 CET 2009 - duwe@suse.de
+
+- Update config files for cpuidle.
+
+-------------------------------------------------------------------
+Thu Dec 3 16:45:06 CET 2009 - tiwai@suse.de
+
+- patches.drivers/8250_pnp-wacom-add: serial/8250_pnp.c: add
+ new Wacom devices (bnc#544763).
+
+-------------------------------------------------------------------
+Thu Dec 3 16:40:59 CET 2009 - duwe@suse.de
+
+- patches.suse/cpuidle-cleanup: Refresh.
+ one lonely hunk already seems to be in 2.6.32 final
+
+-------------------------------------------------------------------
+Thu Dec 3 16:33:28 CET 2009 - duwe@suse.de
+
+- bnc#552860 / FATE#307104: kernel idle low power, take 2:
+- patches.suse/cpuidle-cleanup: Refresh.
+- patches.suse/cpuidle-cleanup-x86: Refresh.
+- patches.suse/cpuidle-eliminate-ppcmdpowersave1: Refresh.
+
+-------------------------------------------------------------------
+Thu Dec 3 15:59:01 CET 2009 - jeffm@suse.com
+
+- Updated to 2.6.32-final.
+ - 2 patches eliminated.
+
+-------------------------------------------------------------------
+Thu Dec 3 15:19:01 CET 2009 - hare@suse.de
+
+- Update config files: Enable Hibernation for zSeries.
+
+-------------------------------------------------------------------
+Thu Dec 3 14:42:32 CET 2009 - mmarek@suse.cz
+
+- Update config files: Disable CONFIG_MFD_PCF50633, the chip is
+ unlikely to be used on architectures we support.
+
+-------------------------------------------------------------------
+Thu Dec 3 13:54:17 CET 2009 - mmarek@suse.cz
+
+- rpm/split-modules: Print which supported modules need unsupported
+ modules.
+
+-------------------------------------------------------------------
+Thu Dec 3 12:56:43 CET 2009 - jdelvare@suse.de
+
+- supported.conf: support lis3lv02d, hp_accel needs it.
+
+-------------------------------------------------------------------
+Thu Dec 3 12:03:20 CET 2009 - jdelvare@suse.de
+
+- supported.conf: hp_accel is supported (FATE #306448).
+
+-------------------------------------------------------------------
+Thu Dec 3 11:54:14 CET 2009 - jdelvare@suse.de
+
+- supported.conf: remove wm831x drivers, we no longer ship them.
+
+-------------------------------------------------------------------
+Thu Dec 3 11:32:03 CET 2009 - jdelvare@suse.de
+
+- Update config files: disable all new hwmon drivers on ppc
+ (default and vanilla) for consistency.
+
+-------------------------------------------------------------------
+Thu Dec 3 11:30:08 CET 2009 - mmarek@suse.cz
+
+- supported.conf: Add wm831x, needed by drivers/input/misc/wm831x-on.
+
+-------------------------------------------------------------------
+Thu Dec 3 11:03:24 CET 2009 - mmarek@suse.cz
+
+- supported.conf: Fix up after commit bfea0bd.
+
+-------------------------------------------------------------------
+Thu Dec 3 10:53:16 CET 2009 - jdelvare@suse.de
+
+- Update config files: disable WM831x and WM8350 support entirely,
+ as recommended by the drivers author. These devices are only
+ found on embedded devices such as music players or mobile phones.
+
+-------------------------------------------------------------------
+Thu Dec 3 10:26:09 CET 2009 - hare@suse.de
+
+- supported.conf: Mark pmcraid and igbvf as supported;
+ OSD drivers as unsupported.
+
+-------------------------------------------------------------------
+Thu Dec 3 09:48:04 CET 2009 - jdelvare@suse.de
+
+- Restore link from config/s390/vanilla to config/s390x/vanilla.
+
+-------------------------------------------------------------------
+Thu Dec 3 09:10:46 CET 2009 - jbeulich@novell.com
+
+- supported.conf: Update Xen drivers.
+
+-------------------------------------------------------------------
+Thu Dec 3 04:57:00 CET 2009 - tonyj@suse.de
+
+- needs_update: readd
+ patches.suse/perfmon2-remove_get_base_syscall_attr.patch
+ patches.suse/perfmon2-remove_syscalls.patch
+
+-------------------------------------------------------------------
+Thu Dec 3 04:08:24 CET 2009 - gregkh@suse.de
+
+- rpm/post.sh:
+- rpm/postun.sh: woh dluoc I tegrof ot esolc eht fi
+
+-------------------------------------------------------------------
+Thu Dec 3 01:51:51 CET 2009 - gregkh@suse.de
+
+- rpm/post.sh:
+- rpm/postun.sh: If this is a Moblin-based box, don't run yast-bootloader
+
+-------------------------------------------------------------------
+Wed Dec 2 23:01:36 CET 2009 - jdelvare@suse.de
+
+- Update config files: stop shipping wm831x-hwmon, wm8350-hwmon,
+ i2c-simtec and i2c-designware.
+- supported.conf: remove i2c-simtec.
+
+-------------------------------------------------------------------
+Wed Dec 2 22:49:01 CET 2009 - jdelvare@suse.de
+
+- supported.conf: Add all new hwmon and i2c/busses drivers. The
+ former unsupported, the latter supported.
+
+-------------------------------------------------------------------
++++ 281 more lines (skipped)
++++ between kernel-source/kernel-debug.changes
++++ and /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes
kernel-default.changes: same change
kernel-desktop.changes: same change
kernel-ec2.changes: same change
kernel-pae.changes: same change
kernel-ppc64.changes: same change
kernel-ps3.changes: same change
kernel-s390.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-trace.changes: same change
kernel-vanilla.changes: same change
kernel-xen.changes: same change
calling whatdependson for head-i586
Old:
----
linux-2.6.31.tar.bz2
New:
----
linux-2.6.32.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor debug
@@ -49,7 +49,7 @@
Name: kernel-debug
Summary: A Debug Version of the Kernel
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -187,6 +187,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -494,9 +495,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor default
@@ -49,7 +49,7 @@
Name: kernel-default
Summary: The Standard Kernel
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -203,6 +203,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -509,9 +510,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ kernel-desktop.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor desktop
@@ -49,7 +49,7 @@
Name: kernel-desktop
Summary: Kernel optimized for the desktop
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -183,6 +183,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -500,9 +501,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ kernel-ec2.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor ec2
@@ -49,7 +49,7 @@
Name: kernel-ec2
Summary: The Amazon EC2 Xen Kernel
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -183,6 +183,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -492,9 +493,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor pae
@@ -49,7 +49,7 @@
Name: kernel-pae
Summary: Kernel with PAE Support
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -187,6 +187,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -500,9 +501,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ kernel-ppc64.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor ppc64
@@ -49,7 +49,7 @@
Name: kernel-ppc64
Summary: Kernel for ppc64 Systems
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -191,6 +191,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -504,9 +505,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ kernel-ps3.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor ps3
@@ -49,7 +49,7 @@
Name: kernel-ps3
Summary: kernel for ps3 bootloader
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -183,6 +183,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -492,9 +493,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ kernel-s390.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor s390
@@ -49,7 +49,7 @@
Name: kernel-s390
Summary: The Standard Kernel
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -187,6 +187,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -493,9 +494,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -18,8 +18,8 @@
# norootforbuild
# icecream 0
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define src_install_dir usr/src/linux-%kernelrelease%variant
@@ -29,7 +29,7 @@
Name: kernel-source
Summary: The Linux Kernel Sources
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -23,7 +23,7 @@
Name: kernel-syms
Summary: Kernel Symbol Versions (modversions)
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%define kernel_source_release %(LC_ALL=C rpm -q kernel-source%variant-%version --qf "%{RELEASE}" | grep -v 'not installed' || echo 0)
++++++ kernel-trace.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor trace
@@ -49,7 +49,7 @@
Name: kernel-trace
Summary: The Realtime Linux Kernel
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -183,6 +183,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -489,9 +490,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor vanilla
@@ -49,7 +49,7 @@
Name: kernel-vanilla
Summary: The Standard Kernel - without any SUSE patches
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -191,6 +191,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -497,9 +498,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ kernel-xen.spec ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -17,8 +17,8 @@
# norootforbuild
-%define srcversion 2.6.31
-%define patchversion 2.6.32-rc8
+%define srcversion 2.6.32
+%define patchversion 2.6.32
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor xen
@@ -49,7 +49,7 @@
Name: kernel-xen
Summary: The Xen Kernel
Version: 2.6.32
-Release: 2
+Release: 3
%if %using_buildservice
%else
%endif
@@ -183,6 +183,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -492,9 +493,6 @@
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ check-supported-list ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -16,6 +16,10 @@
status=
cd $modpath
for module in $(find . -name '*.ko' | sort); do
+ case "$module" in
+ ./kernel/drivers/staging/* | ./kernel/Documentation/*)
+ continue ;;
+ esac
module=${module%.ko}
m=${module##*/}
m=${m//-/_}
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:36.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:36.000000000 +0100
@@ -1,4 +1,4 @@
# The version of the main tarball to use
-SRCVERSION=2.6.31
+SRCVERSION=2.6.32
# variant of the kernel-source package, either empty or "-rt"
VARIANT=
++++++ config.tar.bz2 ++++++
++++ 5002 lines of diff (skipped)
++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:37.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:37.000000000 +0100
@@ -197,6 +197,7 @@
Obsoletes: fnic-kmp-%build_flavor
Obsoletes: brocade-bfa-kmp-%build_flavor
Obsoletes: kvm-kmp-%build_flavor
+Obsoletes: perfmon-kmp-%build_flavor
# sle11
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
@@ -552,9 +553,6 @@
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-%if ! %supported_modules_check
- -i \
-%endif
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-s %kernel_build_dir/Module.supported
++++++ linux-2.6.31.tar.bz2 -> linux-2.6.32.tar.bz2 ++++++
kernel-source/linux-2.6.31.tar.bz2 /mounts/work_src_done/STABLE/kernel-source/linux-2.6.32.tar.bz2 differ: byte 11, line 1
++++++ minmem ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:37.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:37.000000000 +0100
@@ -1 +1 @@
-2096000
+1048576
++++++ needed_space_in_mb ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:38.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:38.000000000 +0100
@@ -1 +1 @@
-6000
+6144
++++++ patches.arch.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch new/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch
--- old/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch 2009-11-26 14:49:03.000000000 +0100
+++ new/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-Subject: Don't spu_acquire_saved unnecessarily in regs read
-From: Jeremy Kerr
-References: 447133 - LTC50070
-
-With most file readers (eg cat, dd), reading a context's regs file will
-result in two reads: the first to read the data, and the second to
-return EOF. Because each read performs a spu_acquire_saved, we end up
-descheduling and re-scheduling the context twice.
-
-This change does a simple check to see if we'd return EOF before
-calling spu_acquire_saved(), saving the extra schedule operation.
-
-Signed-off-by: Jeremy Kerr
-Signed-off-by: Olaf Hering
----
- arch/powerpc/platforms/cell/spufs/file.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/arch/powerpc/platforms/cell/spufs/file.c
-+++ b/arch/powerpc/platforms/cell/spufs/file.c
-@@ -608,6 +608,11 @@ spufs_fpcr_read(struct file *file, char
- int ret;
- struct spu_context *ctx = file->private_data;
-
-+ /* pre-check for file position: if we'd return EOF, there's no point
-+ * causing a deschedule */
-+ if (*pos >= sizeof(ctx->csa.lscsa->gprs))
-+ return 0;
-+
- ret = spu_acquire_saved(ctx);
- if (ret)
- return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-64-add-comment-for-rodata-large-page-retainment new/patches.arch/x86-64-add-comment-for-rodata-large-page-retainment
--- old/patches.arch/x86-64-add-comment-for-rodata-large-page-retainment 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/x86-64-add-comment-for-rodata-large-page-retainment 2009-11-30 23:06:18.000000000 +0100
@@ -0,0 +1,40 @@
+From: Suresh Siddha
+Date: Mon, 19 Oct 2009 13:12:04 +0000 (-0700)
+Subject: x86-64: add comment for RODATA large page retainment
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86.git
+Git-commit: d6cc1c3af760c1d3f6b42f6e52b08718a6207cf1
+References: bnc#558249
+
+x86-64: add comment for RODATA large page retainment
+
+Add a comment explaining why RODATA is aligned to 2 MB.
+
+Signed-off-by: Suresh Siddha
+Signed-off-by: H. Peter Anvin
+Acked-by: Jeff Mahoney
+---
+ arch/x86/kernel/vmlinux.lds.S | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+--- a/arch/x86/kernel/vmlinux.lds.S
++++ b/arch/x86/kernel/vmlinux.lds.S
+@@ -44,7 +44,18 @@ jiffies_64 = jiffies;
+ #endif
+
+ #if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA)
+-
++/*
++ * On 64-bit, align RODATA to 2MB so that even with CONFIG_DEBUG_RODATA
++ * we retain large page mappings for boundaries spanning kernel text, rodata
++ * and data sections.
++ *
++ * However, kernel identity mappings will have different RWX permissions
++ * to the pages mapping to text and to the pages padding (which are freed) the
++ * text section. Hence kernel identity mappings will be broken to smaller
++ * pages. For 64-bit, kernel text and kernel identity mappings are different,
++ * so we can enable protection checks that come with CONFIG_DEBUG_RODATA,
++ * as well as retain 2MB large page mappings for kernel text.
++ */
+ #define X64_ALIGN_DEBUG_RODATA_BEGIN . = ALIGN(HPAGE_SIZE);
+
+ #define X64_ALIGN_DEBUG_RODATA_END \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-64-align-rodata-kernel-section-to-2mb-with-config_debug_rodata new/patches.arch/x86-64-align-rodata-kernel-section-to-2mb-with-config_debug_rodata
--- old/patches.arch/x86-64-align-rodata-kernel-section-to-2mb-with-config_debug_rodata 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/x86-64-align-rodata-kernel-section-to-2mb-with-config_debug_rodata 2009-11-30 23:06:18.000000000 +0100
@@ -0,0 +1,142 @@
+From: Suresh Siddha
+Date: Wed, 14 Oct 2009 21:46:56 +0000 (-0700)
+Subject: x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86.git
+Git-commit: 74e081797bd9d2a7d8005fe519e719df343a2ba8
+References: bnc#558249
+
+x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA
+
+CONFIG_DEBUG_RODATA chops the large pages spanning boundaries of kernel
+text/rodata/data to small 4KB pages as they are mapped with different
+attributes (text as RO, RODATA as RO and NX etc).
+
+On x86_64, preserve the large page mappings for kernel text/rodata/data
+boundaries when CONFIG_DEBUG_RODATA is enabled. This is done by allowing the
+RODATA section to be hugepage aligned and having same RWX attributes
+for the 2MB page boundaries
+
+Extra Memory pages padding the sections will be freed during the end of the boot
+and the kernel identity mappings will have different RWX permissions compared to
+the kernel text mappings.
+
+Kernel identity mappings to these physical pages will be mapped with smaller
+pages but large page mappings are still retained for kernel text,rodata,data
+mappings.
+
+Signed-off-by: Suresh Siddha
+LKML-Reference: <20091014220254.190119924@sbs-t61.sc.intel.com>
+Signed-off-by: H. Peter Anvin
+Acked-by: Jeff Mahoney
+---
+ arch/x86/include/asm/sections.h | 6 ++++++
+ arch/x86/kernel/vmlinux.lds.S | 17 +++++++++++++++++
+ arch/x86/mm/init_64.c | 14 +++++++++++++-
+ arch/x86/mm/pageattr.c | 14 ++++++++++++++
+ 4 files changed, 50 insertions(+), 1 deletion(-)
+
+--- a/arch/x86/include/asm/sections.h
++++ b/arch/x86/include/asm/sections.h
+@@ -2,7 +2,13 @@
+ #define _ASM_X86_SECTIONS_H
+
+ #include
++#include
+
+ extern char __brk_base[], __brk_limit[];
++extern struct exception_table_entry __stop___ex_table[];
++
++#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA)
++extern char __end_rodata_hpage_align[];
++#endif
+
+ #endif /* _ASM_X86_SECTIONS_H */
+--- a/arch/x86/kernel/vmlinux.lds.S
++++ b/arch/x86/kernel/vmlinux.lds.S
+@@ -43,6 +43,21 @@ ENTRY(phys_startup_64)
+ jiffies_64 = jiffies;
+ #endif
+
++#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA)
++
++#define X64_ALIGN_DEBUG_RODATA_BEGIN . = ALIGN(HPAGE_SIZE);
++
++#define X64_ALIGN_DEBUG_RODATA_END \
++ . = ALIGN(HPAGE_SIZE); \
++ __end_rodata_hpage_align = .;
++
++#else
++
++#define X64_ALIGN_DEBUG_RODATA_BEGIN
++#define X64_ALIGN_DEBUG_RODATA_END
++
++#endif
++
+ PHDRS {
+ text PT_LOAD FLAGS(5); /* R_E */
+ data PT_LOAD FLAGS(7); /* RWE */
+@@ -96,7 +111,9 @@ SECTIONS
+
+ EXCEPTION_TABLE(16) :text = 0x9090
+
++ X64_ALIGN_DEBUG_RODATA_BEGIN
+ RO_DATA(PAGE_SIZE)
++ X64_ALIGN_DEBUG_RODATA_END
+
+ /* Data */
+ .data : AT(ADDR(.data) - LOAD_OFFSET) {
+--- a/arch/x86/mm/init_64.c
++++ b/arch/x86/mm/init_64.c
+@@ -726,9 +726,13 @@ void set_kernel_text_ro(void)
+
+ void mark_rodata_ro(void)
+ {
+- unsigned long start = PFN_ALIGN(_text), end = PFN_ALIGN(__end_rodata);
++ unsigned long start = PFN_ALIGN(_text);
+ unsigned long rodata_start =
+ ((unsigned long)__start_rodata + PAGE_SIZE - 1) & PAGE_MASK;
++ unsigned long end = (unsigned long) &__end_rodata_hpage_align;
++ unsigned long text_end = PAGE_ALIGN((unsigned long) &__stop___ex_table);
++ unsigned long rodata_end = PAGE_ALIGN((unsigned long) &__end_rodata);
++ unsigned long data_start = (unsigned long) &_sdata;
+
+ printk(KERN_INFO "Write protecting the kernel read-only data: %luk\n",
+ (end - start) >> 10);
+@@ -751,6 +755,14 @@ void mark_rodata_ro(void)
+ printk(KERN_INFO "Testing CPA: again\n");
+ set_memory_ro(start, (end-start) >> PAGE_SHIFT);
+ #endif
++
++ free_init_pages("unused kernel memory",
++ (unsigned long) page_address(virt_to_page(text_end)),
++ (unsigned long)
++ page_address(virt_to_page(rodata_start)));
++ free_init_pages("unused kernel memory",
++ (unsigned long) page_address(virt_to_page(rodata_end)),
++ (unsigned long) page_address(virt_to_page(data_start)));
+ }
+
+ #endif
+--- a/arch/x86/mm/pageattr.c
++++ b/arch/x86/mm/pageattr.c
+@@ -279,6 +279,20 @@ static inline pgprot_t static_protection
+ __pa((unsigned long)__end_rodata) >> PAGE_SHIFT))
+ pgprot_val(forbidden) |= _PAGE_RW;
+
++#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA)
++ /*
++ * Kernel text mappings for the large page aligned .rodata section
++ * will be read-only. For the kernel identity mappings covering
++ * the holes caused by this alignment can be anything.
++ *
++ * This will preserve the large page mappings for kernel text/data
++ * at no extra cost.
++ */
++ if (within(address, (unsigned long)_text,
++ (unsigned long)__end_rodata_hpage_align))
++ pgprot_val(forbidden) |= _PAGE_RW;
++#endif
++
+ prot = __pgprot(pgprot_val(prot) & ~pgprot_val(forbidden));
+
+ return prot;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-64-preserve-large-page-mapping-for-1st-2mb-kernel-txt-with-config_debug_rodata new/patches.arch/x86-64-preserve-large-page-mapping-for-1st-2mb-kernel-txt-with-config_debug_rodata
--- old/patches.arch/x86-64-preserve-large-page-mapping-for-1st-2mb-kernel-txt-with-config_debug_rodata 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/x86-64-preserve-large-page-mapping-for-1st-2mb-kernel-txt-with-config_debug_rodata 2009-11-30 23:06:18.000000000 +0100
@@ -0,0 +1,82 @@
+From: Suresh Siddha
+Date: Wed, 14 Oct 2009 21:46:55 +0000 (-0700)
+Subject: x86-64: preserve large page mapping for 1st 2MB kernel txt with CONFIG_DEBUG_RODATA
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86.git
+Git-commit: b9af7c0d44b8bb71e3af5e94688d076414aa8c87
+References: bnc#558249
+
+x86-64: preserve large page mapping for 1st 2MB kernel txt with CONFIG_DEBUG_RODATA
+
+In the first 2MB, kernel text is co-located with kernel static
+page tables setup by head_64.S. CONFIG_DEBUG_RODATA chops this
+2MB large page mapping to small 4KB pages as we mark the kernel text as RO,
+leaving the static page tables as RW.
+
+With CONFIG_DEBUG_RODATA disabled, OLTP run on NHM-EP shows 1% improvement
+with 2% reduction in system time and 1% improvement in iowait idle time.
+
+To recover this, move the kernel static page tables to .data section, so that
+we don't have to break the first 2MB of kernel text to small pages with
+CONFIG_DEBUG_RODATA.
+
+Signed-off-by: Suresh Siddha
+LKML-Reference: <20091014220254.063193621@sbs-t61.sc.intel.com>
+Signed-off-by: H. Peter Anvin
+Acked-by: Jeff Mahoney
+---
+ arch/x86/kernel/head_64.S | 3 ++-
+ arch/x86/mm/init_64.c | 6 +++---
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+--- a/arch/x86/kernel/head_64.S
++++ b/arch/x86/kernel/head_64.S
+@@ -262,11 +262,11 @@ ENTRY(secondary_startup_64)
+ .quad x86_64_start_kernel
+ ENTRY(initial_gs)
+ .quad INIT_PER_CPU_VAR(irq_stack_union)
+- __FINITDATA
+
+ ENTRY(stack_start)
+ .quad init_thread_union+THREAD_SIZE-8
+ .word 0
++ __FINITDATA
+
+ bad_address:
+ jmp bad_address
+@@ -353,6 +353,7 @@ ENTRY(name)
+ i = i + 1 ; \
+ .endr
+
++ .data
+ /*
+ * This default setting generates an ident mapping at address 0x100000
+ * and a mapping for the kernel that precisely maps virtual address
+--- a/arch/x86/mm/init_64.c
++++ b/arch/x86/mm/init_64.c
+@@ -698,7 +698,7 @@ static int kernel_set_to_readonly;
+
+ void set_kernel_text_rw(void)
+ {
+- unsigned long start = PFN_ALIGN(_stext);
++ unsigned long start = PFN_ALIGN(_text);
+ unsigned long end = PFN_ALIGN(__start_rodata);
+
+ if (!kernel_set_to_readonly)
+@@ -712,7 +712,7 @@ void set_kernel_text_rw(void)
+
+ void set_kernel_text_ro(void)
+ {
+- unsigned long start = PFN_ALIGN(_stext);
++ unsigned long start = PFN_ALIGN(_text);
+ unsigned long end = PFN_ALIGN(__start_rodata);
+
+ if (!kernel_set_to_readonly)
+@@ -726,7 +726,7 @@ void set_kernel_text_ro(void)
+
+ void mark_rodata_ro(void)
+ {
+- unsigned long start = PFN_ALIGN(_stext), end = PFN_ALIGN(__end_rodata);
++ unsigned long start = PFN_ALIGN(_text), end = PFN_ALIGN(__end_rodata);
+ unsigned long rodata_start =
+ ((unsigned long)__start_rodata + PAGE_SIZE - 1) & PAGE_MASK;
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-fix-nodac new/patches.arch/x86-fix-nodac
--- old/patches.arch/x86-fix-nodac 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/x86-fix-nodac 2009-11-30 23:06:18.000000000 +0100
@@ -0,0 +1,25 @@
+From: Tejun Heo
+Subject: x86: fix iommu=nodac parameter handling
+References: bnc#463829
+
+nodac should forbid dac not instead of enabling it. Fix it.
+
+Signed-off-by: Tejun Heo
+Signed-off-by: Tejun Heo
+---
+ arch/x86/kernel/pci-dma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: linux-2.6.31-master/arch/x86/kernel/pci-dma.c
+===================================================================
+--- linux-2.6.31-master.orig/arch/x86/kernel/pci-dma.c
++++ linux-2.6.31-master/arch/x86/kernel/pci-dma.c
+@@ -214,7 +214,7 @@ static __init int iommu_setup(char *p)
+ if (!strncmp(p, "allowdac", 8))
+ forbid_dac = 0;
+ if (!strncmp(p, "nodac", 5))
+- forbid_dac = -1;
++ forbid_dac = 1;
+ if (!strncmp(p, "usedac", 6)) {
+ forbid_dac = -1;
+ return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/x86-mcp51-no-dac new/patches.arch/x86-mcp51-no-dac
--- old/patches.arch/x86-mcp51-no-dac 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/x86-mcp51-no-dac 2009-11-30 23:06:18.000000000 +0100
@@ -0,0 +1,39 @@
+From: Tejun Heo
+Subject: x86: disallow DAC for MCP51 PCI bridge
+References: bnc#463829
+
+MCP51 corrupts DAC transfers. Disallow it. Reported by pgnet on
+bnc#463829.
+
+ https://bugzilla.novell.com/show_bug.cgi?id=463829
+
+Signed-off-by: Tejun Heo
+Reported-by: pgnet
+Signed-off-by: Tejun Heo
+---
+ arch/x86/kernel/pci-dma.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+Index: linux-2.6.31-master/arch/x86/kernel/pci-dma.c
+===================================================================
+--- linux-2.6.31-master.orig/arch/x86/kernel/pci-dma.c
++++ linux-2.6.31-master/arch/x86/kernel/pci-dma.c
+@@ -322,4 +322,18 @@ static __devinit void via_no_dac(struct
+ }
+ }
+ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac);
++
++/*
++ * MCP51 PCI bridge corrupts data for DAC. Disable it. Reported in
++ * bnc#463829.
++ */
++static __devinit void mcp51_no_dac(struct pci_dev *dev)
++{
++ if (forbid_dac == 0) {
++ printk(KERN_INFO
++ "PCI: MCP51 PCI bridge detected. Disabling DAC.\n");
++ forbid_dac = 1;
++ }
++}
++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x026f, mcp51_no_dac);
+ #endif
++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/8250_pnp-wacom-add new/patches.drivers/8250_pnp-wacom-add
--- old/patches.drivers/8250_pnp-wacom-add 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/8250_pnp-wacom-add 2009-12-03 16:45:09.000000000 +0100
@@ -0,0 +1,42 @@
+From: "Ping Cheng"
+Subject: [PATCH] serial/8250_pnp.c: add new Wacom devices
+Patch-mainline:
+References: bnc#544763
+
+Add 10 serial Wacom Tablet PC devices. In fact,
+The last 3 bytes of WACF### are all reserved
+for Wacom serial OEMs.
+
+Signed-off-by: Ping Cheng
+Signed-off-by: Takashi Iwai
+---
+ drivers/serial/8250_pnp.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+--- a/drivers/serial/8250_pnp.c
++++ b/drivers/serial/8250_pnp.c
+@@ -337,6 +337,15 @@
+ { "WACF00A", 0 },
+ { "WACF00B", 0 },
+ { "WACF00C", 0 },
++ { "WACF00D", 0 },
++ { "WACF00E", 0 },
++ { "WACF00F", 0 },
++ { "WACF010", 0 },
++ { "WACF011", 0 },
++ { "WACF012", 0 },
++ { "WACF013", 0 },
++ { "WACF014", 0 },
++ { "WACF015", 0 },
+ /* Compaq touchscreen */
+ { "FPI2002", 0 },
+ /* Fujitsu Stylistic touchscreens */
+@@ -354,6 +363,8 @@
+ { "FUJ02E5", 0 },
+ /* Fujitsu P-series tablet PC device */
+ { "FUJ02E6", 0 },
++ /* Fujitsu Wacom Tablet PC device */
++ { "FUJ02E7", 0 },
+ /*
+ * LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6 in
+ * disguise)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-sp1-hda-18-msi-wind-u115-fix new/patches.drivers/alsa-sp1-hda-18-msi-wind-u115-fix
--- old/patches.drivers/alsa-sp1-hda-18-msi-wind-u115-fix 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/alsa-sp1-hda-18-msi-wind-u115-fix 2009-12-03 16:45:09.000000000 +0100
@@ -0,0 +1,26 @@
+From 45d4ebf1a6255f2234a041685789cbecac3453f1 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai
+Date: Mon, 30 Nov 2009 11:58:30 +0100
+Subject: ALSA: hda - Add a position_fix quirk for MSI Wind U115
+Patch-mainline:
+References:
+
+MSI Wind U115 seems to require position_fix=1 explicitly.
+Otherwise it screws up PulseAudio.
+
+Signed-off-by: Takashi Iwai
+
+---
+ sound/pci/hda/hda_intel.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -2223,6 +2223,7 @@
+ SND_PCI_QUIRK(0x1028, 0x01cc, "Dell D820", POS_FIX_LPIB),
+ SND_PCI_QUIRK(0x1028, 0x01de, "Dell Precision 390", POS_FIX_LPIB),
+ SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB),
++ SND_PCI_QUIRK(0x1462, 0x1002, "MSI Wind U115", POS_FIX_LPIB),
+ {}
+ };
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-sp1-hda-19-cx5047-test-mode-fix new/patches.drivers/alsa-sp1-hda-19-cx5047-test-mode-fix
--- old/patches.drivers/alsa-sp1-hda-19-cx5047-test-mode-fix 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/alsa-sp1-hda-19-cx5047-test-mode-fix 2009-12-03 16:45:09.000000000 +0100
@@ -0,0 +1,36 @@
+From 854206b074581957e7b5c955001c329f94986b4c Mon Sep 17 00:00:00 2001
+From: Takashi Iwai
+Date: Mon, 30 Nov 2009 18:22:04 +0100
+Subject: ALSA: hda - Fix Cxt5047 test mode
+Patch-mainline:
+References: bnc#559062
+
+The NID 0x1a of Conexant 5047 chip is a mic boost volume only with
+the output amp unlike 5045 chip.
+
+Signed-off-by: Takashi Iwai
+
+---
+ sound/pci/hda/patch_conexant.c | 11 +----------
+ 1 file changed, 1 insertion(+), 10 deletions(-)
+
+--- a/sound/pci/hda/patch_conexant.c
++++ b/sound/pci/hda/patch_conexant.c
+@@ -1415,16 +1415,7 @@
+ .get = conexant_mux_enum_get,
+ .put = conexant_mux_enum_put,
+ },
+- HDA_CODEC_VOLUME("Input-1 Volume", 0x1a, 0x0, HDA_INPUT),
+- HDA_CODEC_MUTE("Input-1 Switch", 0x1a, 0x0, HDA_INPUT),
+- HDA_CODEC_VOLUME("Input-2 Volume", 0x1a, 0x1, HDA_INPUT),
+- HDA_CODEC_MUTE("Input-2 Switch", 0x1a, 0x1, HDA_INPUT),
+- HDA_CODEC_VOLUME("Input-3 Volume", 0x1a, 0x2, HDA_INPUT),
+- HDA_CODEC_MUTE("Input-3 Switch", 0x1a, 0x2, HDA_INPUT),
+- HDA_CODEC_VOLUME("Input-4 Volume", 0x1a, 0x3, HDA_INPUT),
+- HDA_CODEC_MUTE("Input-4 Switch", 0x1a, 0x3, HDA_INPUT),
+- HDA_CODEC_VOLUME("Input-5 Volume", 0x1a, 0x4, HDA_INPUT),
+- HDA_CODEC_MUTE("Input-5 Switch", 0x1a, 0x4, HDA_INPUT),
++ HDA_CODEC_VOLUME("Mic Boost Volume", 0x1a, 0x0, HDA_OUTPUT),
+
+ { } /* end */
+ };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-sp1-hda-20-fsc-amilo-pi1505-fix new/patches.drivers/alsa-sp1-hda-20-fsc-amilo-pi1505-fix
--- old/patches.drivers/alsa-sp1-hda-20-fsc-amilo-pi1505-fix 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/alsa-sp1-hda-20-fsc-amilo-pi1505-fix 2009-12-03 16:45:09.000000000 +0100
@@ -0,0 +1,58 @@
+From cfc9b06f0befe50ef02253f72b76946363549031 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai
+Date: Tue, 1 Dec 2009 12:19:37 +0100
+Subject: ALSA: hda - Add a pin-fix for FSC Amilo Pi1505
+Patch-mainline:
+References: bnc#557403
+
+FSC Amilo Pi 1505 has a buggy BIOS and doesn't set up the HP and
+speaker pins properly. Add the pinfix entry for that.
+
+Reference: Novell bnc#557403
+ https://bugzilla.novell.com/show_bug.cgi?id=557403
+
+Signed-off-by: Takashi Iwai
+
+---
+ sound/pci/hda/patch_realtek.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -14627,6 +14627,27 @@
+ },
+ };
+
++/* Pin config fixes */
++enum {
++ PINFIX_FSC_AMILO_PI1505,
++};
++
++static struct alc_pincfg alc861_fsc_amilo_pi1505_pinfix[] = {
++ { 0x0b, 0x0221101f }, /* HP */
++ { 0x0f, 0x90170310 }, /* speaker */
++ { }
++};
++
++static const struct alc_fixup alc861_fixups[] = {
++ [PINFIX_FSC_AMILO_PI1505] = {
++ .pins = alc861_fsc_amilo_pi1505_pinfix
++ },
++};
++
++static struct snd_pci_quirk alc861_fixup_tbl[] = {
++ SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", PINFIX_FSC_AMILO_PI1505),
++ {}
++};
+
+ static int patch_alc861(struct hda_codec *codec)
+ {
+@@ -14650,6 +14671,8 @@
+ board_config = ALC861_AUTO;
+ }
+
++ alc_pick_fixup(codec, alc861_fixup_tbl, alc861_fixups);
++
+ if (board_config == ALC861_AUTO) {
+ /* automatic parse from the BIOS config */
+ err = alc861_parse_auto_config(codec);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/alsa-sp1-hda-21-hp-dv3-position-fix-quirk new/patches.drivers/alsa-sp1-hda-21-hp-dv3-position-fix-quirk
--- old/patches.drivers/alsa-sp1-hda-21-hp-dv3-position-fix-quirk 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/alsa-sp1-hda-21-hp-dv3-position-fix-quirk 2009-12-03 16:45:09.000000000 +0100
@@ -0,0 +1,36 @@
+From 2f703e7a2ea5f6d5ea14a7b2cd0d31be07839ac6 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai
+Date: Tue, 1 Dec 2009 14:17:37 +0100
+Subject: ALSA: hda - Add position_fix quirk for HP dv3
+Patch-mainline:
+References: bnc#555935
+
+HP dv3 requires position_fix=1.
+
+Reference: Novell bnc#555935
+ https://bugzilla.novell.com/show_bug.cgi?id=555935
+
+Signed-off-by: Takashi Iwai
+
+---
+ sound/pci/hda/hda_intel.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -2222,6 +2222,7 @@
+ static struct snd_pci_quirk position_fix_list[] __devinitdata = {
+ SND_PCI_QUIRK(0x1028, 0x01cc, "Dell D820", POS_FIX_LPIB),
+ SND_PCI_QUIRK(0x1028, 0x01de, "Dell Precision 390", POS_FIX_LPIB),
++ SND_PCI_QUIRK(0x103c, 0x306d, "HP dv3", POS_FIX_LPIB),
+ SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB),
+ SND_PCI_QUIRK(0x1462, 0x1002, "MSI Wind U115", POS_FIX_LPIB),
+ {}
+@@ -2309,6 +2310,7 @@
+ * white-list for enable_msi
+ */
+ static struct snd_pci_quirk msi_white_list[] __devinitdata = {
++ SND_PCI_QUIRK(0x103c, 0x306d, "HP dv3", 1),
+ SND_PCI_QUIRK(0x103c, 0x30f7, "HP Pavilion dv4t-1300", 1),
+ SND_PCI_QUIRK(0x103c, 0x3607, "HP Compa CQ40", 1),
+ {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/tg3_libphy_workaround new/patches.drivers/tg3_libphy_workaround
--- old/patches.drivers/tg3_libphy_workaround 2009-11-26 12:08:09.000000000 +0100
+++ new/patches.drivers/tg3_libphy_workaround 1970-01-01 01:00:00.000000000 +0100
@@ -1,65 +0,0 @@
-From: Matt Carlson
-Subject: tg3 libphy workaround
-Reference: bnc#68725
-Acked-by: Karsten Keil
-
-Hi Philip. Below is the SLES 11 patch that disables 5785 support and
-forces the 57780 to use the in-driver phy code rather than the phylib
-code.
-
-While I have your attention, are there any outstanding bootloader
-install bugs? On my lab machine, I install SLES 11 onto partition 12
-and tell the installer to install the bootloader (GRUB) into the MBR
-of that partition. I then reboot the machine and instruct the existing
-bootloader in partition 1 (GRUB again) to chainload to partition 12.
-
-It seems the SLES 11 installer somehow corrupts the MBR of the disk so
-that it no longer boots. I've installed SLES 11 twice now and on the
-2nd install, I carefully navigated through the bootloader configuration
-portion. I don't think I'm doing anything wrong. Anyways, just an FYI...
-
-
-
----
- drivers/net/tg3.c | 5 ++---
- drivers/net/tg3.h | 1 +
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/net/tg3.c
-+++ b/drivers/net/tg3.c
-@@ -219,7 +219,6 @@ static struct pci_device_id tg3_pci_tbl[
- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5761E)},
- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5761S)},
- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5761SE)},
-- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5785)},
- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57780)},
- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57760)},
- {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57790)},
-@@ -12269,8 +12268,7 @@ static int __devinit tg3_get_invariants(
- GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_BX)
- tp->coalesce_mode |= HOSTCC_MODE_32BYTE;
-
-- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785 ||
-- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_57780)
-+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785)
- tp->tg3_flags3 |= TG3_FLG3_USE_PHYLIB;
-
- err = tg3_mdio_init(tp);
-@@ -13017,6 +13015,7 @@ static char * __devinit tg3_phy_string(s
- case PHY_ID_BCM5756: return "5722/5756";
- case PHY_ID_BCM5906: return "5906";
- case PHY_ID_BCM5761: return "5761";
-+ case PHY_ID_BCM57780: return "57780";
- case PHY_ID_BCM8002: return "8002/serdes";
- case 0: return "serdes";
- default: return "unknown";
---- a/drivers/net/tg3.h
-+++ b/drivers/net/tg3.h
-@@ -2707,6 +2707,7 @@ struct tg3 {
- #define PHY_ID_BCM5761 0xbc050fd0
- #define PHY_ID_BCM5906 0xdc00ac40
- #define PHY_ID_BCM8002 0x60010140
-+#define PHY_ID_BCM57780 0x5c0d8990
- #define PHY_ID_INVALID 0xffffffff
- #define PHY_ID_REV_MASK 0x0000000f
- #define PHY_REV_BCM5401_B0 0x1
++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch new/patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch
--- old/patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch 2009-11-30 23:10:54.000000000 +0100
@@ -0,0 +1,63 @@
+From: Thomas Renninger
+Subject: CPUFREQ: ondemand: Limit default sampling rate to 300ms max.
+References: bnc#464461
+Patch-Mainline: never, SLE11 only
+
+Modified for SP1 by Jiri Bohac
+
+HW cpufreq drivers (e.g. all non-acpi AMD) may report too high latency values.
+The default sampling rate (how often the ondemand/conservative governor
+checks for frequency adjustments) may therefore be much too high,
+resulting in performance loss.
+
+Restrict default sampling rate to 300ms. 333ms sampling rate is field
+tested with userspace governors, 300ms should be a fine maximum default
+value for the ondemand kernel governor for all HW out there.
+
+Set default up_threshold to 40 on multi core systems.
+This should avoid effects where two CPU intensive threads are waiting on
+each other on separate cores. On a single core machine these would all be
+processed on one core resulting in higher utilization of the one core.
+
+Index: work/drivers/cpufreq/cpufreq_ondemand.c
+===================================================================
+--- work.orig/drivers/cpufreq/cpufreq_ondemand.c 2009-11-18 17:36:09.000000000 +0100
++++ work/drivers/cpufreq/cpufreq_ondemand.c 2009-11-25 17:59:08.000000000 +0100
+@@ -35,6 +35,7 @@
+ #define MICRO_FREQUENCY_MIN_SAMPLE_RATE (10000)
+ #define MIN_FREQUENCY_UP_THRESHOLD (11)
+ #define MAX_FREQUENCY_UP_THRESHOLD (100)
++#define MAX_DEFAULT_SAMPLING_RATE (300 * 1000)
+
+ /*
+ * The polling frequency of this governor depends on the capability of
+@@ -676,6 +677,29 @@ static int cpufreq_governor_dbs(struct c
+ dbs_tuners_ins.sampling_rate =
+ max(min_sampling_rate,
+ latency * LATENCY_MULTIPLIER);
++ /*
++ * Cut def_sampling rate to 300ms if it was above,
++ * still consider to not set it above latency
++ * transition * 100
++ */
++ if (dbs_tuners_ins.sampling_rate > MAX_DEFAULT_SAMPLING_RATE) {
++ dbs_tuners_ins.sampling_rate =
++ max(min_sampling_rate, MAX_DEFAULT_SAMPLING_RATE);
++ printk(KERN_INFO "CPUFREQ: ondemand sampling "
++ "rate set to %d ms\n",
++ dbs_tuners_ins.sampling_rate / 1000);
++ }
++ /*
++ * Be conservative in respect to performance.
++ * If an application calculates using two threads
++ * depending on each other, they will be run on several
++ * CPU cores resulting on 50% load on both.
++ * SLED might still want to prefer 80% up_threshold
++ * by default, but we cannot differ that here.
++ */
++ if (num_online_cpus() > 1)
++ dbs_tuners_ins.up_threshold =
++ DEF_FREQUENCY_UP_THRESHOLD / 2;
+ }
+ mutex_unlock(&dbs_mutex);
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/dlm-enable-debug.patch new/patches.fixes/dlm-enable-debug.patch
--- old/patches.fixes/dlm-enable-debug.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/dlm-enable-debug.patch 2009-11-30 23:10:54.000000000 +0100
@@ -0,0 +1,32 @@
+Subject: enable extended dlm debugging
+From: Lars Marovsky-Bree
+
+ This patch enable extended dlm debugging
+
+Signed-off-by: Lars Marovsky-Bree
+---
+Index: fs/dlm/Makefile
+===================================================================
+--- a/fs/dlm/Makefile
++++ b/fs/dlm/Makefile
+@@ -16,6 +16,6 @@ dlm-y := ast.o \
+ recoverd.o \
+ requestqueue.o \
+ user.o \
+- util.o
+-dlm-$(CONFIG_DLM_DEBUG) += debug_fs.o
++ util.o \
++ debug_fs.o
+
+Index: fs/dlm/dlm_internal.h
+===================================================================
+--- a/fs/dlm/dlm_internal.h
++++ b/fs/dlm/dlm_internal.h
+@@ -587,6 +587,7 @@ void dlm_timeout_warn(struct dlm_lkb *lk
+ int dlm_plock_init(void);
+ void dlm_plock_exit(void);
+
++#define CONFIG_DLM_DEBUG 1
+ #ifdef CONFIG_DLM_DEBUG
+ int dlm_register_debugfs(void);
+ void dlm_unregister_debugfs(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/dm-release-map_lock-before-set_disk_ro new/patches.fixes/dm-release-map_lock-before-set_disk_ro
--- old/patches.fixes/dm-release-map_lock-before-set_disk_ro 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/dm-release-map_lock-before-set_disk_ro 2009-11-30 23:10:54.000000000 +0100
@@ -0,0 +1,35 @@
+From: Nikanth Karthikesan
+Subject: Release md->map_lock before set_disk_ro
+Patch-mainline: No
+References: bnc#556899 bnc#479784
+
+Signed-off-by: Nikanth Karthikesan
+
+Calling set_disk_ro() with irqs disabled triggers a warning.
+
+set_disk_ro() can be called outside the
+write_lock_irqsave(&md->map_lock)? And to get the
+dm_table_get_mode(md->map), we just need to hold a reference
+with dm_get_table() and dm_table_put()
+
+Index: linux-2.6.31-master/drivers/md/dm.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/md/dm.c
++++ linux-2.6.31-master/drivers/md/dm.c
+@@ -1975,12 +1975,15 @@ static int __bind(struct mapped_device *
+ write_lock_irqsave(&md->map_lock, flags);
+ md->map = t;
+ dm_table_set_restrictions(t, q, limits);
++ write_unlock_irqrestore(&md->map_lock, flags);
++
++ dm_get_table(md);
+ if (!(dm_table_get_mode(t) & FMODE_WRITE)) {
+ set_disk_ro(md->disk, 1);
+ } else {
+ set_disk_ro(md->disk, 0);
+ }
+- write_unlock_irqrestore(&md->map_lock, flags);
++ dm_table_put(md->map);
+
+ return 0;
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/mac80211-fix-spurious-delba-handling.patch new/patches.fixes/mac80211-fix-spurious-delba-handling.patch
--- old/patches.fixes/mac80211-fix-spurious-delba-handling.patch 2009-11-26 12:01:02.000000000 +0100
+++ new/patches.fixes/mac80211-fix-spurious-delba-handling.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,188 +0,0 @@
-From: Johannes Berg
-Subject: mac80211: fix spurious delBA handling
-References: bnc#558267, CVE-2009-4026, CVE-2009-4027
-Patch-mainline: submitted to stable, should appear in 2.6.32
-
-Lennert Buytenhek noticed that delBA handling in mac80211
-was broken and has remotely triggerable problems, some of
-which are due to some code shuffling I did that ended up
-changing the order in which things were done -- this was
-
- commit d75636ef9c1af224f1097941879d5a8db7cd04e5
- Author: Johannes Berg
- Date: Tue Feb 10 21:25:53 2009 +0100
-
- mac80211: RX aggregation: clean up stop session
-
-and other parts were already present in the original
-
- commit d92684e66091c0f0101819619b315b4bb8b5bcc5
- Author: Ron Rindjunsky
- Date: Mon Jan 28 14:07:22 2008 +0200
-
- mac80211: A-MPDU Tx add delBA from recipient support
-
-The first problem is that I moved a BUG_ON before various
-checks -- thereby making it possible to hit. As the comment
-indicates, the BUG_ON can be removed since the ampdu_action
-callback must already exist when the state is != IDLE.
-
-The second problem isn't easily exploitable but there's a
-race condition due to unconditionally setting the state to
-OPERATIONAL when a delBA frame is received, even when no
-aggregation session was ever initiated. All the drivers
-accept stopping the session even then, but that opens a
-race window where crashes could happen before the driver
-accepts it. Right now, a WARN_ON may happen with non-HT
-drivers, while the race opens only for HT drivers.
-
-For this case, there are two things necessary to fix it:
- 1) don't process spurious delBA frames, and be more careful
- about the session state; don't drop the lock
-
- 2) HT drivers need to be prepared to handle a session stop
- even before the session was really started -- this is
- true for all drivers (that support aggregation) but
- iwlwifi which can be fixed easily. The other HT drivers
- (ath9k and ar9170) are behaving properly already.
-
-Reported-by: Lennert Buytenhek
-Cc: stable@kernel.org
-Signed-off-by: Johannes Berg
-Acked-by: Jiri Benc
-
----
- drivers/net/wireless/iwlwifi/iwl-tx.c | 10 +++++++++-
- include/net/mac80211.h | 6 ++++++
- net/mac80211/agg-rx.c | 4 ----
- net/mac80211/agg-tx.c | 15 +++++++--------
- net/mac80211/ht.c | 8 +++-----
- net/mac80211/ieee80211_i.h | 2 ++
- 6 files changed, 27 insertions(+), 18 deletions(-)
-
---- linux-2.6.31-master.orig/drivers/net/wireless/iwlwifi/iwl-tx.c
-+++ linux-2.6.31-master/drivers/net/wireless/iwlwifi/iwl-tx.c
-@@ -1277,8 +1277,16 @@ int iwl_tx_agg_stop(struct iwl_priv *pri
- return -ENXIO;
- }
-
-+ if (priv->stations[sta_id].tid[tid].agg.state ==
-+ IWL_EMPTYING_HW_QUEUE_ADDBA) {
-+ IWL_DEBUG_HT(priv, "AGG stop before setup done\n");
-+ ieee80211_stop_tx_ba_cb_irqsafe(priv->hw, ra, tid);
-+ priv->stations[sta_id].tid[tid].agg.state = IWL_AGG_OFF;
-+ return 0;
-+ }
-+
- if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_ON)
-- IWL_WARN(priv, "Stopping AGG while state not IWL_AGG_ON\n");
-+ IWL_WARN(priv, "Stopping AGG while state not ON or starting\n");
-
- tid_data = &priv->stations[sta_id].tid[tid];
- ssn = (tid_data->seq_number & IEEE80211_SCTL_SEQ) >> 4;
---- linux-2.6.31-master.orig/include/net/mac80211.h
-+++ linux-2.6.31-master/include/net/mac80211.h
-@@ -1283,6 +1283,12 @@ enum ieee80211_filter_flags {
- *
- * These flags are used with the ampdu_action() callback in
- * &struct ieee80211_ops to indicate which action is needed.
-+ *
-+ * Note that drivers MUST be able to deal with a TX aggregation
-+ * session being stopped even before they OK'ed starting it by
-+ * calling ieee80211_start_tx_ba_cb(_irqsafe), because the peer
-+ * might receive the addBA frame and send a delBA right away!
-+ *
- * @IEEE80211_AMPDU_RX_START: start Rx aggregation
- * @IEEE80211_AMPDU_RX_STOP: stop Rx aggregation
- * @IEEE80211_AMPDU_TX_START: start Tx aggregation
---- linux-2.6.31-master.orig/net/mac80211/agg-rx.c
-+++ linux-2.6.31-master/net/mac80211/agg-rx.c
-@@ -85,10 +85,6 @@ void ieee80211_sta_stop_rx_ba_session(st
- struct ieee80211_local *local = sdata->local;
- struct sta_info *sta;
-
-- /* stop HW Rx aggregation. ampdu_action existence
-- * already verified in session init so we add the BUG_ON */
-- BUG_ON(!local->ops->ampdu_action);
--
- rcu_read_lock();
-
- sta = sta_info_get(local, ra);
---- linux-2.6.31-master.orig/net/mac80211/agg-tx.c
-+++ linux-2.6.31-master/net/mac80211/agg-tx.c
-@@ -123,13 +123,18 @@ void ieee80211_send_bar(struct ieee80211
- ieee80211_tx_skb(sdata, skb, 0);
- }
-
--static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
-- enum ieee80211_back_parties initiator)
-+int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
-+ enum ieee80211_back_parties initiator)
- {
- struct ieee80211_local *local = sta->local;
- int ret;
- u8 *state;
-
-+#ifdef CONFIG_MAC80211_HT_DEBUG
-+ printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n",
-+ sta->sta.addr, tid);
-+#endif /* CONFIG_MAC80211_HT_DEBUG */
-+
- state = &sta->ampdu_mlme.tid_state_tx[tid];
-
- if (*state == HT_AGG_STATE_OPERATIONAL)
-@@ -143,7 +148,6 @@ static int ___ieee80211_stop_tx_ba_sessi
-
- /* HW shall not deny going back to legacy */
- if (WARN_ON(ret)) {
-- *state = HT_AGG_STATE_OPERATIONAL;
- /*
- * We may have pending packets get stuck in this case...
- * Not bothering with a workaround for now.
-@@ -523,11 +527,6 @@ int __ieee80211_stop_tx_ba_session(struc
- goto unlock;
- }
-
--#ifdef CONFIG_MAC80211_HT_DEBUG
-- printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n",
-- sta->sta.addr, tid);
--#endif /* CONFIG_MAC80211_HT_DEBUG */
--
- ret = ___ieee80211_stop_tx_ba_session(sta, tid, initiator);
-
- unlock:
---- linux-2.6.31-master.orig/net/mac80211/ht.c
-+++ linux-2.6.31-master/net/mac80211/ht.c
-@@ -141,7 +141,6 @@ void ieee80211_process_delba(struct ieee
- struct sta_info *sta,
- struct ieee80211_mgmt *mgmt, size_t len)
- {
-- struct ieee80211_local *local = sdata->local;
- u16 tid, params;
- u16 initiator;
-
-@@ -161,10 +160,9 @@ void ieee80211_process_delba(struct ieee
- WLAN_BACK_INITIATOR, 0);
- else { /* WLAN_BACK_RECIPIENT */
- spin_lock_bh(&sta->lock);
-- sta->ampdu_mlme.tid_state_tx[tid] =
-- HT_AGG_STATE_OPERATIONAL;
-+ if (sta->ampdu_mlme.tid_state_tx[tid] & HT_ADDBA_REQUESTED_MSK)
-+ ___ieee80211_stop_tx_ba_session(sta, tid,
-+ WLAN_BACK_RECIPIENT);
- spin_unlock_bh(&sta->lock);
-- ieee80211_stop_tx_ba_session(&local->hw, sta->sta.addr, tid,
-- WLAN_BACK_RECIPIENT);
- }
- }
---- linux-2.6.31-master.orig/net/mac80211/ieee80211_i.h
-+++ linux-2.6.31-master/net/mac80211/ieee80211_i.h
-@@ -1083,6 +1083,8 @@ void ieee80211_process_addba_request(str
-
- int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
- enum ieee80211_back_parties initiator);
-+int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
-+ enum ieee80211_back_parties initiator);
-
- /* Spectrum management */
- void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/make-note_interrupt-fast.diff new/patches.fixes/make-note_interrupt-fast.diff
--- old/patches.fixes/make-note_interrupt-fast.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/make-note_interrupt-fast.diff 2009-11-30 23:10:54.000000000 +0100
@@ -0,0 +1,193 @@
+From: Bernhard Walle
+Subject: Fix performance regression on large IA64 systems
+References: bnc #469589
+Patch-mainline: no (and never will)
+
+This patch tries to address a performance regression discovered by SGI.
+
+Patch b60c1f6ffd88850079ae419aa933ab0eddbd5535 removes the call
+to note_interrupt() in __do_IRQ(). Patch d85a60d85ea5b7c597508c1510c88e657773d378
+adds it again. Because it's needed for irqpoll.
+
+That patch now introduces a new parameter 'only_fixup' for note_interrupt().
+This parameter determines two cases:
+
+ TRUE => The function should be only executed when irqfixup is set.
+ Either 'irqpoll' or 'irqfixup' directly set that.
+
+ FALSE => Just the behaviour as note_interrupt() always had.
+
+Now the patch converts all calls of note_interrupt() to only_fixup=FALSE,
+except the call that has been removed by b60c1f6ffd88850079ae419aa933ab0eddbd5535.
+So that call is always done, but the body is only executed when either
+'irqpoll' or 'irqfixup' are specified.
+
+This patch is not meant for mainline inclusion in the first run!
+
+
+Signed-off-by: Bernhard Walle
+
+---
+ arch/arm/mach-ns9xxx/irq.c | 2 +-
+ arch/powerpc/platforms/cell/interrupt.c | 2 +-
+ drivers/mfd/ezx-pcap.c | 3 ++-
+ drivers/mfd/twl4030-irq.c | 2 +-
+ include/linux/irq.h | 2 +-
+ kernel/irq/chip.c | 12 ++++++------
+ kernel/irq/handle.c | 4 ++--
+ kernel/irq/spurious.c | 10 +++++++++-
+ 8 files changed, 23 insertions(+), 14 deletions(-)
+
+--- a/arch/arm/mach-ns9xxx/irq.c
++++ b/arch/arm/mach-ns9xxx/irq.c
+@@ -85,7 +85,7 @@ static void handle_prio_irq(unsigned int
+ /* XXX: There is no direct way to access noirqdebug, so check
+ * unconditionally for spurious irqs...
+ * Maybe this function should go to kernel/irq/chip.c? */
+- note_interrupt(irq, desc, action_ret);
++ note_interrupt(irq, desc, action_ret, false);
+
+ spin_lock(&desc->lock);
+ desc->status &= ~IRQ_INPROGRESS;
+--- a/arch/powerpc/platforms/cell/interrupt.c
++++ b/arch/powerpc/platforms/cell/interrupt.c
+@@ -268,7 +268,7 @@ static void handle_iic_irq(unsigned int
+ spin_unlock(&desc->lock);
+ action_ret = handle_IRQ_event(irq, action);
+ if (!noirqdebug)
+- note_interrupt(irq, desc, action_ret);
++ note_interrupt(irq, desc, action_ret, false);
+ spin_lock(&desc->lock);
+
+ } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING);
+--- a/drivers/mfd/ezx-pcap.c
++++ b/drivers/mfd/ezx-pcap.c
+@@ -203,7 +203,8 @@ static void pcap_isr_work(struct work_st
+ break;
+
+ if (desc->status & IRQ_DISABLED)
+- note_interrupt(irq, desc, IRQ_NONE);
++ note_interrupt(irq, desc, IRQ_NONE,
++ false);
+ else
+ desc->handle_irq(irq, desc);
+ }
+--- a/drivers/mfd/twl4030-irq.c
++++ b/drivers/mfd/twl4030-irq.c
+@@ -228,7 +228,7 @@ static int twl4030_irq_thread(void *data
+ */
+ if (d->status & IRQ_DISABLED)
+ note_interrupt(module_irq, d,
+- IRQ_NONE);
++ IRQ_NONE, false);
+ else
+ d->handle_irq(module_irq, d);
+ }
+--- a/include/linux/irq.h
++++ b/include/linux/irq.h
+@@ -324,7 +324,7 @@ static inline void generic_handle_irq(un
+
+ /* Handling of unhandled and spurious interrupts: */
+ extern void note_interrupt(unsigned int irq, struct irq_desc *desc,
+- irqreturn_t action_ret);
++ irqreturn_t action_ret, bool only_fixup);
+
+ /* Resending of interrupts :*/
+ void check_irq_resend(struct irq_desc *desc, unsigned int irq);
+--- a/kernel/irq/chip.c
++++ b/kernel/irq/chip.c
+@@ -356,7 +356,7 @@ void handle_nested_irq(unsigned int irq)
+
+ action_ret = action->thread_fn(action->irq, action->dev_id);
+ if (!noirqdebug)
+- note_interrupt(irq, desc, action_ret);
++ note_interrupt(irq, desc, action_ret, false);
+
+ spin_lock_irq(&desc->lock);
+ desc->status &= ~IRQ_INPROGRESS;
+@@ -400,7 +400,7 @@ handle_simple_irq(unsigned int irq, stru
+
+ action_ret = handle_IRQ_event(irq, action);
+ if (!noirqdebug)
+- note_interrupt(irq, desc, action_ret);
++ note_interrupt(irq, desc, action_ret, false);
+
+ spin_lock(&desc->lock);
+ desc->status &= ~IRQ_INPROGRESS;
+@@ -445,7 +445,7 @@ handle_level_irq(unsigned int irq, struc
+
+ action_ret = handle_IRQ_event(irq, action);
+ if (!noirqdebug)
+- note_interrupt(irq, desc, action_ret);
++ note_interrupt(irq, desc, action_ret, false);
+
+ spin_lock(&desc->lock);
+ desc->status &= ~IRQ_INPROGRESS;
+@@ -501,7 +501,7 @@ handle_fasteoi_irq(unsigned int irq, str
+
+ action_ret = handle_IRQ_event(irq, action);
+ if (!noirqdebug)
+- note_interrupt(irq, desc, action_ret);
++ note_interrupt(irq, desc, action_ret, false);
+
+ spin_lock(&desc->lock);
+ desc->status &= ~IRQ_INPROGRESS;
+@@ -579,7 +579,7 @@ handle_edge_irq(unsigned int irq, struct
+ spin_unlock(&desc->lock);
+ action_ret = handle_IRQ_event(irq, action);
+ if (!noirqdebug)
+- note_interrupt(irq, desc, action_ret);
++ note_interrupt(irq, desc, action_ret, false);
+ spin_lock(&desc->lock);
+
+ } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING);
+@@ -608,7 +608,7 @@ handle_percpu_irq(unsigned int irq, stru
+
+ action_ret = handle_IRQ_event(irq, desc->action);
+ if (!noirqdebug)
+- note_interrupt(irq, desc, action_ret);
++ note_interrupt(irq, desc, action_ret, false);
+
+ if (desc->chip->eoi)
+ desc->chip->eoi(irq);
+--- a/kernel/irq/handle.c
++++ b/kernel/irq/handle.c
+@@ -467,7 +467,7 @@ unsigned int __do_IRQ(unsigned int irq)
+ if (likely(!(desc->status & IRQ_DISABLED))) {
+ action_ret = handle_IRQ_event(irq, desc->action);
+ if (!noirqdebug)
+- note_interrupt(irq, desc, action_ret);
++ note_interrupt(irq, desc, action_ret, true);
+ }
+ desc->chip->end(irq);
+ return 1;
+@@ -521,7 +521,7 @@ unsigned int __do_IRQ(unsigned int irq)
+
+ action_ret = handle_IRQ_event(irq, action);
+ if (!noirqdebug)
+- note_interrupt(irq, desc, action_ret);
++ note_interrupt(irq, desc, action_ret, false);
+
+ spin_lock(&desc->lock);
+ if (likely(!(desc->status & IRQ_PENDING)))
+--- a/kernel/irq/spurious.c
++++ b/kernel/irq/spurious.c
+@@ -225,9 +225,17 @@ try_misrouted_irq(unsigned int irq, stru
+ return action && (action->flags & IRQF_IRQPOLL);
+ }
+
++/*
++ * The parameter "only_fixup" means that the function should be only executed
++ * if this parameter is set either to false or to true simultaneously with
++ * irqfixup enabled.
++ */
+ void note_interrupt(unsigned int irq, struct irq_desc *desc,
+- irqreturn_t action_ret)
++ irqreturn_t action_ret, bool only_fixup)
+ {
++ if (only_fixup && irqfixup == 0)
++ return;
++
+ if (unlikely(action_ret != IRQ_HANDLED)) {
+ /*
+ * If we are seeing only the odd spurious IRQ caused by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/megaraid_sas-fix-permissions-on-poll_mode_io new/patches.fixes/megaraid_sas-fix-permissions-on-poll_mode_io
--- old/patches.fixes/megaraid_sas-fix-permissions-on-poll_mode_io 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/megaraid_sas-fix-permissions-on-poll_mode_io 2009-11-30 23:10:54.000000000 +0100
@@ -0,0 +1,23 @@
+From: Jeff Mahoney
+Subject: megaraid_sas: Fix permissions on poll_mode_io
+References: bnc#557180 CVE-2009-3939
+
+ This patch fixes the permissions on the poll_mode_io sysfs file
+ for megaraid_sas. Otherwise, it's world writable.
+
+Signed-off-by: Jeff Mahoney
+---
+ drivers/scsi/megaraid/megaraid_sas.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/scsi/megaraid/megaraid_sas.c
++++ b/drivers/scsi/megaraid/megaraid_sas.c
+@@ -4042,7 +4042,7 @@ megasas_aen_polling(struct work_struct *
+ }
+
+
+-static DRIVER_ATTR(poll_mode_io, S_IRUGO|S_IWUGO,
++static DRIVER_ATTR(poll_mode_io, S_IRUGO|S_IWUSR,
+ megasas_sysfs_show_poll_mode_io,
+ megasas_sysfs_set_poll_mode_io);
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch new/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch
--- old/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch 2009-11-30 23:10:54.000000000 +0100
@@ -0,0 +1,149 @@
+Patch-mainline: submitted 04aug2009
+References: bnc#498708
+From: NeilBrown
+Date: Tue, 4 Aug 2009 15:06:38 +1000
+Subject: [PATCH 07/12] sunrpc/cache: allow thread to block while waiting for cache update.
+
+The current practice of waiting for cache updates by queueing the
+whole request to be retried has (at least) two problems.
+
+1/ We NFSv4, requests can be quite complex and re-trying a whole
+ request when a later part fails should only be a list-resort, not a
+ normal practice.
+
+2/ Large requests, and in particular any 'write' request, will not be
+ queued by the current code and doing so would be undesirable.
+
+In many cases only a very sort wait is needed before the cache gets
+valid data.
+
+So, providing the underlying transport permits it by setting
+ ->thread_wait,
+arrange to wait briefly for an upcall to be completed (as reflected in
+the clearing of CACHE_PENDING).
+If the short wait was not long enough and CACHE_PENDING is still set,
+fall back on the old approach.
+
+The 'thread_wait' value is set to 5 seconds when there are spare
+threads, and 1 second when there are no spare threads.
+
+These values are probably much higher than needed, but will ensure
+some forward progress.
+
+Signed-off-by: NeilBrown
+
+---
+ include/linux/sunrpc/cache.h | 3 ++
+ net/sunrpc/cache.c | 44 ++++++++++++++++++++++++++++++++++++++++++-
+ net/sunrpc/svc_xprt.c | 11 ++++++++++
+ 3 files changed, 57 insertions(+), 1 deletion(-)
+
+--- linux-2.6.31-master.orig/include/linux/sunrpc/cache.h
++++ linux-2.6.31-master/include/linux/sunrpc/cache.h
+@@ -125,6 +125,9 @@ struct cache_detail {
+ */
+ struct cache_req {
+ struct cache_deferred_req *(*defer)(struct cache_req *req);
++ int thread_wait; /* How long (jiffies) we can block the
++ * current thread to wait for updates.
++ */
+ };
+ /* this must be embedded in a deferred_request that is being
+ * delayed awaiting cache-fill
+--- linux-2.6.31-master.orig/net/sunrpc/cache.c
++++ linux-2.6.31-master/net/sunrpc/cache.c
+@@ -498,10 +498,22 @@ static LIST_HEAD(cache_defer_list);
+ static struct list_head cache_defer_hash[DFR_HASHSIZE];
+ static int cache_defer_cnt;
+
++struct thread_deferred_req {
++ struct cache_deferred_req handle;
++ wait_queue_head_t wait;
++};
++static void cache_restart_thread(struct cache_deferred_req *dreq, int too_many)
++{
++ struct thread_deferred_req *dr =
++ container_of(dreq, struct thread_deferred_req, handle);
++ wake_up(&dr->wait);
++}
++
+ static int cache_defer_req(struct cache_req *req, struct cache_head *item)
+ {
+ struct cache_deferred_req *dreq, *discard;
+ int hash = DFR_HASH(item);
++ struct thread_deferred_req sleeper;
+
+ if (cache_defer_cnt >= DFR_MAX) {
+ /* too much in the cache, randomly drop this one,
+@@ -510,7 +522,14 @@ static int cache_defer_req(struct cache_
+ if (net_random()&1)
+ return -ENOMEM;
+ }
+- dreq = req->defer(req);
++ if (req->thread_wait) {
++ dreq = &sleeper.handle;
++ init_waitqueue_head(&sleeper.wait);
++ dreq->revisit = cache_restart_thread;
++ } else
++ dreq = req->defer(req);
++
++ retry:
+ if (dreq == NULL)
+ return -ENOMEM;
+
+@@ -544,6 +563,29 @@ static int cache_defer_req(struct cache_
+ cache_revisit_request(item);
+ return -EAGAIN;
+ }
++
++ if (dreq == &sleeper.handle) {
++ wait_event_interruptible_timeout(
++ sleeper.wait,
++ !test_bit(CACHE_PENDING, &item->flags)
++ || list_empty(&sleeper.handle.hash),
++ req->thread_wait);
++ spin_lock(&cache_defer_lock);
++ if (!list_empty(&sleeper.handle.hash)) {
++ list_del_init(&sleeper.handle.recent);
++ list_del_init(&sleeper.handle.hash);
++ cache_defer_cnt--;
++ }
++ spin_unlock(&cache_defer_lock);
++ if (test_bit(CACHE_PENDING, &item->flags)) {
++ /* item is still pending, try request
++ * deferral
++ */
++ dreq = req->defer(req);
++ goto retry;
++ }
++ return 0;
++ }
+ return 0;
+ }
+
+--- linux-2.6.31-master.orig/net/sunrpc/svc_xprt.c
++++ linux-2.6.31-master/net/sunrpc/svc_xprt.c
+@@ -656,12 +656,23 @@ int svc_recv(struct svc_rqst *rqstp, lon
+ pool->sp_nwaking--;
+ BUG_ON(pool->sp_nwaking < 0);
+ }
++
++ /* Normally we will wait up to 5 seconds for any required
++ * cache information to be provided.
++ */
++ rqstp->rq_chandle.thread_wait = 5*HZ;
+ xprt = svc_xprt_dequeue(pool);
+ if (xprt) {
+ rqstp->rq_xprt = xprt;
+ svc_xprt_get(xprt);
+ rqstp->rq_reserved = serv->sv_max_mesg;
+ atomic_add(rqstp->rq_reserved, &xprt->xpt_reserved);
++
++ /* As there is a shortage of threads and this request
++ * had to be queue, don't allow the thread to wait so
++ * long for cache updates.
++ */
++ rqstp->rq_chandle.thread_wait = 1*HZ;
+ } else {
+ /* No data pending. Go to sleep */
+ svc_thread_enqueue(pool, rqstp);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch new/patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch
--- old/patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch 2009-11-30 23:10:54.000000000 +0100
@@ -0,0 +1,122 @@
+Patch-mainline: submitted 04aug2009
+References: bnc#498708
+From: NeilBrown
+Date: Tue, 4 Aug 2009 15:06:38 +1000
+Subject: [PATCH 08/12] sunrpc/cache: retry cache lookups that return -ETIMEDOUT
+
+If cache_check returns -ETIMEDOUT, then the cache item is not
+up-to-date, but there is no pending upcall.
+This could mean the data is not available, or it could mean that the
+good data has been stored in a new cache item.
+
+So re-do the lookup and if that returns a new item, proceed using that
+item.
+
+Signed-off-by: NeilBrown
+
+---
+ fs/nfsd/export.c | 18 ++++++++++++++++++
+ net/sunrpc/svcauth_unix.c | 22 ++++++++++++++++++++--
+ 2 files changed, 38 insertions(+), 2 deletions(-)
+
+--- linux-2.6.31-master.orig/fs/nfsd/export.c
++++ linux-2.6.31-master/fs/nfsd/export.c
+@@ -793,9 +793,18 @@ exp_find_key(svc_client *clp, int fsid_t
+ memcpy(key.ek_fsid, fsidv, key_len(fsid_type));
+
+ ek = svc_expkey_lookup(&key);
++ again:
+ if (ek == NULL)
+ return ERR_PTR(-ENOMEM);
+ err = cache_check(&svc_expkey_cache, &ek->h, reqp);
++ if (err == -ETIMEDOUT) {
++ struct svc_expkey *prev_ek = ek;
++ ek = svc_expkey_lookup(&key);
++ if (ek != prev_ek)
++ goto again;
++ if (ek)
++ cache_put(&ek->h, &svc_expkey_cache);
++ }
+ if (err)
+ return ERR_PTR(err);
+ return ek;
+@@ -865,9 +874,18 @@ static svc_export *exp_get_by_name(svc_c
+ key.ex_path = *path;
+
+ exp = svc_export_lookup(&key);
++ retry:
+ if (exp == NULL)
+ return ERR_PTR(-ENOMEM);
+ err = cache_check(&svc_export_cache, &exp->h, reqp);
++ if (err == -ETIMEDOUT) {
++ struct svc_export *prev_exp = exp;
++ exp = svc_export_lookup(&key);
++ if (exp != prev_exp)
++ goto retry;
++ if (exp)
++ cache_put(&exp->h, &svc_export_cache);
++ }
+ if (err)
+ return ERR_PTR(err);
+ return exp;
+--- linux-2.6.31-master.orig/net/sunrpc/svcauth_unix.c
++++ linux-2.6.31-master/net/sunrpc/svcauth_unix.c
+@@ -659,8 +659,10 @@ static int unix_gid_find(uid_t uid, stru
+ struct svc_rqst *rqstp)
+ {
+ struct unix_gid *ug = unix_gid_lookup(uid);
++ struct unix_gid *prevug;
+ if (!ug)
+ return -EAGAIN;
++ retry:
+ switch (cache_check(&unix_gid_cache, &ug->h, &rqstp->rq_chandle)) {
+ case -ENOENT:
+ *gip = NULL;
+@@ -670,6 +672,13 @@ static int unix_gid_find(uid_t uid, stru
+ get_group_info(*gip);
+ cache_put(&ug->h, &unix_gid_cache);
+ return 0;
++ case -ETIMEDOUT:
++ prevug = ug;
++ ug = unix_gid_lookup(uid);
++ if (ug != prevug)
++ goto retry;
++ if (ug)
++ cache_put(&ug->h, &unix_gid_cache);
+ default:
+ return -EAGAIN;
+ }
+@@ -680,7 +689,7 @@ svcauth_unix_set_client(struct svc_rqst
+ {
+ struct sockaddr_in *sin;
+ struct sockaddr_in6 *sin6, sin6_storage;
+- struct ip_map *ipm;
++ struct ip_map *ipm, *prev_ipm;
+
+ switch (rqstp->rq_addr.ss_family) {
+ case AF_INET:
+@@ -705,14 +714,23 @@ svcauth_unix_set_client(struct svc_rqst
+ ipm = ip_map_lookup(rqstp->rq_server->sv_program->pg_class,
+ &sin6->sin6_addr);
+
++ retry:
+ if (ipm == NULL)
+ return SVC_DENIED;
+
+ switch (cache_check(&ip_map_cache, &ipm->h, &rqstp->rq_chandle)) {
+ default:
+ BUG();
+- case -EAGAIN:
+ case -ETIMEDOUT:
++ prev_ipm = ipm;
++ ipm = ip_map_lookup(rqstp->rq_server->sv_program->pg_class,
++ &sin6->sin6_addr);
++ if (ipm != prev_ipm)
++ goto retry;
++ if (ipm)
++ cache_put(&ipm->h, &ip_map_cache);
++
++ case -EAGAIN:
+ return SVC_DROP;
+ case -ENOENT:
+ return SVC_DENIED;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch new/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch
--- old/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch 2009-11-30 23:10:54.000000000 +0100
@@ -0,0 +1,141 @@
+Patch-mainline: submitted 04aug2009
+References: bnc#498708
+From: NeilBrown
+Date: Tue, 4 Aug 2009 15:06:39 +1000
+Subject: [PATCH 09/12] nfsd/idmap: drop special request deferal in favour of improved default.
+
+The idmap code manages request deferal by waiting for a reply from
+userspace rather than putting the NFS request on a queue to be retried
+from the start.
+Now that the comment deferal code does this there is no need for the
+special code in idmap.
+
+Signed-off-by: NeilBrown
+
+---
+ fs/nfsd/nfs4idmap.c | 105 +++++-----------------------------------------------
+ 1 file changed, 11 insertions(+), 94 deletions(-)
+
+--- linux-2.6.31-master.orig/fs/nfsd/nfs4idmap.c
++++ linux-2.6.31-master/fs/nfsd/nfs4idmap.c
+@@ -496,109 +496,26 @@ nfsd_idmap_shutdown(void)
+ cache_unregister(&nametoid_cache);
+ }
+
+-/*
+- * Deferred request handling
+- */
+-
+-struct idmap_defer_req {
+- struct cache_req req;
+- struct cache_deferred_req deferred_req;
+- wait_queue_head_t waitq;
+- atomic_t count;
+-};
+-
+-static inline void
+-put_mdr(struct idmap_defer_req *mdr)
+-{
+- if (atomic_dec_and_test(&mdr->count))
+- kfree(mdr);
+-}
+-
+-static inline void
+-get_mdr(struct idmap_defer_req *mdr)
+-{
+- atomic_inc(&mdr->count);
+-}
+-
+-static void
+-idmap_revisit(struct cache_deferred_req *dreq, int toomany)
+-{
+- struct idmap_defer_req *mdr =
+- container_of(dreq, struct idmap_defer_req, deferred_req);
+-
+- wake_up(&mdr->waitq);
+- put_mdr(mdr);
+-}
+-
+-static struct cache_deferred_req *
+-idmap_defer(struct cache_req *req)
+-{
+- struct idmap_defer_req *mdr =
+- container_of(req, struct idmap_defer_req, req);
+-
+- mdr->deferred_req.revisit = idmap_revisit;
+- get_mdr(mdr);
+- return (&mdr->deferred_req);
+-}
+-
+-static inline int
+-do_idmap_lookup(struct ent *(*lookup_fn)(struct ent *), struct ent *key,
+- struct cache_detail *detail, struct ent **item,
+- struct idmap_defer_req *mdr)
+-{
+- *item = lookup_fn(key);
+- if (!*item)
+- return -ENOMEM;
+- return cache_check(detail, &(*item)->h, &mdr->req);
+-}
+-
+-static inline int
+-do_idmap_lookup_nowait(struct ent *(*lookup_fn)(struct ent *),
+- struct ent *key, struct cache_detail *detail,
+- struct ent **item)
+-{
+- int ret = -ENOMEM;
+-
+- *item = lookup_fn(key);
+- if (!*item)
+- goto out_err;
+- ret = -ETIMEDOUT;
+- if (!test_bit(CACHE_VALID, &(*item)->h.flags)
+- || (*item)->h.expiry_time < get_seconds()
+- || detail->flush_time > (*item)->h.last_refresh)
+- goto out_put;
+- ret = -ENOENT;
+- if (test_bit(CACHE_NEGATIVE, &(*item)->h.flags))
+- goto out_put;
+- return 0;
+-out_put:
+- cache_put(&(*item)->h, detail);
+-out_err:
+- *item = NULL;
+- return ret;
+-}
+-
+ static int
+ idmap_lookup(struct svc_rqst *rqstp,
+ struct ent *(*lookup_fn)(struct ent *), struct ent *key,
+ struct cache_detail *detail, struct ent **item)
+ {
+- struct idmap_defer_req *mdr;
+ int ret;
+
+- mdr = kzalloc(sizeof(*mdr), GFP_KERNEL);
+- if (!mdr)
++ *item = lookup_fn(key);
++ if (!*item)
+ return -ENOMEM;
+- atomic_set(&mdr->count, 1);
+- init_waitqueue_head(&mdr->waitq);
+- mdr->req.defer = idmap_defer;
+- ret = do_idmap_lookup(lookup_fn, key, detail, item, mdr);
+- if (ret == -EAGAIN) {
+- wait_event_interruptible_timeout(mdr->waitq,
+- test_bit(CACHE_VALID, &(*item)->h.flags), 1 * HZ);
+- ret = do_idmap_lookup_nowait(lookup_fn, key, detail, item);
++ retry:
++ ret = cache_check(detail, &(*item)->h, &rqstp->rq_chandle);
++
++ if (ret == -ETIMEDOUT) {
++ struct ent *prev_item = *item;
++ *item = lookup_fn(key);
++ if (*item != prev_item)
++ goto retry;
++ cache_put(&(*item)->h, detail);
+ }
+- put_mdr(mdr);
+ return ret;
+ }
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/nfsd-09-fix-kabi new/patches.fixes/nfsd-09-fix-kabi
--- old/patches.fixes/nfsd-09-fix-kabi 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/nfsd-09-fix-kabi 2009-11-30 23:10:54.000000000 +0100
@@ -0,0 +1,89 @@
+From: NeilBrown
+
+---
+ include/linux/sunrpc/cache.h | 3 ---
+ net/sunrpc/cache.c | 12 +++++-------
+ net/sunrpc/svc_xprt.c | 9 ---------
+ 3 files changed, 5 insertions(+), 19 deletions(-)
+
+--- linux-2.6.31-master.orig/include/linux/sunrpc/cache.h
++++ linux-2.6.31-master/include/linux/sunrpc/cache.h
+@@ -125,9 +125,6 @@ struct cache_detail {
+ */
+ struct cache_req {
+ struct cache_deferred_req *(*defer)(struct cache_req *req);
+- int thread_wait; /* How long (jiffies) we can block the
+- * current thread to wait for updates.
+- */
+ };
+ /* this must be embedded in a deferred_request that is being
+ * delayed awaiting cache-fill
+--- linux-2.6.31-master.orig/net/sunrpc/cache.c
++++ linux-2.6.31-master/net/sunrpc/cache.c
+@@ -522,12 +522,10 @@ static int cache_defer_req(struct cache_
+ if (net_random()&1)
+ return -ENOMEM;
+ }
+- if (req->thread_wait) {
+- dreq = &sleeper.handle;
+- init_waitqueue_head(&sleeper.wait);
+- dreq->revisit = cache_restart_thread;
+- } else
+- dreq = req->defer(req);
++
++ dreq = &sleeper.handle;
++ init_waitqueue_head(&sleeper.wait);
++ dreq->revisit = cache_restart_thread;
+
+ retry:
+ if (dreq == NULL)
+@@ -569,7 +567,7 @@ static int cache_defer_req(struct cache_
+ sleeper.wait,
+ !test_bit(CACHE_PENDING, &item->flags)
+ || list_empty(&sleeper.handle.hash),
+- req->thread_wait);
++ 3*HZ);
+ spin_lock(&cache_defer_lock);
+ if (!list_empty(&sleeper.handle.hash)) {
+ list_del_init(&sleeper.handle.recent);
+--- linux-2.6.31-master.orig/net/sunrpc/svc_xprt.c
++++ linux-2.6.31-master/net/sunrpc/svc_xprt.c
+@@ -657,10 +657,6 @@ int svc_recv(struct svc_rqst *rqstp, lon
+ BUG_ON(pool->sp_nwaking < 0);
+ }
+
+- /* Normally we will wait up to 5 seconds for any required
+- * cache information to be provided.
+- */
+- rqstp->rq_chandle.thread_wait = 5*HZ;
+ xprt = svc_xprt_dequeue(pool);
+ if (xprt) {
+ rqstp->rq_xprt = xprt;
+@@ -668,11 +664,6 @@ int svc_recv(struct svc_rqst *rqstp, lon
+ rqstp->rq_reserved = serv->sv_max_mesg;
+ atomic_add(rqstp->rq_reserved, &xprt->xpt_reserved);
+
+- /* As there is a shortage of threads and this request
+- * had to be queue, don't allow the thread to wait so
+- * long for cache updates.
+- */
+- rqstp->rq_chandle.thread_wait = 1*HZ;
+ } else {
+ /* No data pending. Go to sleep */
+ svc_thread_enqueue(pool, rqstp);
++++++ patches.kernel.org.tar.bz2 ++++++
kernel-source/patches.kernel.org.tar.bz2 /mounts/work_src_done/STABLE/kernel-source/patches.kernel.org.tar.bz2 differ: byte 11, line 1
++++++ patches.rpmify.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/arch-include-asm-fixes new/patches.rpmify/arch-include-asm-fixes
--- old/patches.rpmify/arch-include-asm-fixes 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/arch-include-asm-fixes 2009-12-03 16:01:42.000000000 +0100
@@ -0,0 +1,97 @@
+From: Jeff Mahoney
+Subject: [PATCH] kbuild: Properly handle arch/$arch/include/asm
+References: bnc#427473
+
+ Some architectures have moved include/asm-$arch to arch/$arch/include/asm,
+ but were still placing new files in include/asm-$arch. This causes build
+ problems with out-of-tree modules.
+
+ This patch properly handles the new locations.
+
+Signed-off-by: Jeff Mahoney
+---
+ Makefile | 23 +++++++++++++++--------
+ arch/ia64/Makefile | 2 +-
+ arch/ia64/include/asm/irq.h | 2 +-
+ arch/ia64/kernel/Makefile | 6 +++---
+ 4 files changed, 20 insertions(+), 13 deletions(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -992,8 +992,10 @@ define check-symlink
+ set -e; \
+ if [ -L include/asm ]; then \
+ asmlink=`readlink include/asm | cut -d '-' -f 2`; \
+- if [ "$$asmlink" != "$(SRCARCH)" ]; then \
+- echo "ERROR: the symlink $@ points to asm-$$asmlink but asm-$(SRCARCH) was expected"; \
++ archlink=`readlink include/asm | cut -d '/' -f 3`; \
++ if [ "$$asmlink" != "$(SRCARCH)" -a \
++ "$$archlink" != "$(SRCARCH)" ]; then \
++ echo "ERROR: the symlink $@ points to asm-$$asmlink but asm-$(SRCARCH) or ../arch/$(SRCARCH)/include/asm was expected"; \
+ echo " set ARCH or save .config and run 'make mrproper' to fix it"; \
+ exit 1; \
+ fi; \
+@@ -1008,12 +1010,17 @@ endef
+ # not exist so the test in check-symlink works and we have a
+ # directory for generated filesas used by some architectures.
+ define create-symlink
+- if [ ! -L include/asm ]; then \
+- $(kecho) ' SYMLINK $@ -> include/asm-$(SRCARCH)'; \
+- if [ ! -d include/asm-$(SRCARCH) ]; then \
+- mkdir -p include/asm-$(SRCARCH); \
+- fi; \
+- ln -fsn asm-$(SRCARCH) $@; \
++ if [ ! -L include/asm ]; then \
++ if [ -d arch/$(SRCARCH)/include/asm ]; then \
++ echo ' SYMLINK $@ -> arch/$(SRCARCH)/include/asm'; \
++ ln -fsn ../arch/$(SRCARCH)/include/asm $@; \
++ else \
++ echo ' SYMLINK $@ -> include/asm-$(SRCARCH)'; \
++ if [ ! -d include/asm-$(SRCARCH) ]; then \
++ mkdir -p include/asm-$(SRCARCH); \
++ fi; \
++ ln -fsn asm-$(SRCARCH) $@; \
++ fi; \
+ fi
+ endef
+
+--- a/arch/ia64/Makefile
++++ b/arch/ia64/Makefile
+@@ -103,4 +103,4 @@ archprepare: make_nr_irqs_h FORCE
+ PHONY += make_nr_irqs_h FORCE
+
+ make_nr_irqs_h: FORCE
+- $(Q)$(MAKE) $(build)=arch/ia64/kernel include/asm-ia64/nr-irqs.h
++ $(Q)$(MAKE) $(build)=arch/ia64/kernel arch/ia64/include/asm/nr-irqs.h
+--- a/arch/ia64/include/asm/irq.h
++++ b/arch/ia64/include/asm/irq.h
+@@ -13,7 +13,7 @@
+
+ #include
+ #include
+-#include
++#include
+
+ static __inline__ int
+ irq_canonicalize (int irq)
+--- a/arch/ia64/kernel/Makefile
++++ b/arch/ia64/kernel/Makefile
+@@ -82,15 +82,15 @@ endef
+
+ # We use internal kbuild rules to avoid the "is up to date" message from make
+ arch/$(SRCARCH)/kernel/nr-irqs.s: $(srctree)/arch/$(SRCARCH)/kernel/nr-irqs.c \
+- $(wildcard $(srctree)/include/asm-ia64/*/irq.h)
++ $(wildcard $(srctree)/arch/ia64/include/asm/*/irq.h)
+ $(Q)mkdir -p $(dir $@)
+ $(call if_changed_dep,cc_s_c)
+
+-include/asm-ia64/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s
++arch/ia64/include/asm/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s
+ $(Q)mkdir -p $(dir $@)
+ $(call cmd,nr_irqs)
+
+-clean-files += $(objtree)/include/asm-ia64/nr-irqs.h
++clean-files += $(objtree)/arch/ia64/include/asm/nr-irqs.h
+
+ #
+ # native ivt.S, entry.S and fsys.S
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/gdth-section-conflict new/patches.rpmify/gdth-section-conflict
--- old/patches.rpmify/gdth-section-conflict 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/gdth-section-conflict 2009-12-03 16:01:42.000000000 +0100
@@ -0,0 +1,78 @@
+Subject: gdth: Fixup section annotations
+From: Hannes Reinecke
+Date: Tue Sep 30 12:33:53 2008 +0200:
+Git: 833d622ac5002b5bcbcaae4dee335d3e80b84f28
+
+Fixup section annotations so that kbuild doesn't complain anymore.
+
+Signed-off-by: Hannes Reinecke
+
+---
+ drivers/scsi/gdth.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+--- a/drivers/scsi/gdth.c
++++ b/drivers/scsi/gdth.c
+@@ -328,7 +328,7 @@ static int irq[MAXHA] __initdata =
+ {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
+ /* disable driver flag */
+-static int disable __initdata = 0;
++static int disable = 0;
+ /* reserve flag */
+ static int reserve_mode = 1;
+ /* reserve list */
+@@ -658,7 +658,7 @@ static int __devinit gdth_pci_init_one(s
+ #endif /* CONFIG_PCI */
+
+ #ifdef CONFIG_EISA
+-static int __init gdth_init_eisa(ushort eisa_adr,gdth_ha_str *ha)
++static int __devinit gdth_init_eisa(ushort eisa_adr,gdth_ha_str *ha)
+ {
+ ulong32 retries,id;
+ unchar prot_ver,eisacf,i,irq_found;
+@@ -752,7 +752,7 @@ static int __init gdth_init_eisa(ushort
+ #endif /* CONFIG_EISA */
+
+ #ifdef CONFIG_ISA
+-static int __init gdth_init_isa(ulong32 bios_adr,gdth_ha_str *ha)
++static int __devinit gdth_init_isa(ulong32 bios_adr,gdth_ha_str *ha)
+ {
+ register gdt2_dpram_str __iomem *dp2_ptr;
+ int i;
+@@ -4670,7 +4670,7 @@ static struct scsi_host_template gdth_te
+ };
+
+ #ifdef CONFIG_ISA
+-static int __init gdth_isa_probe_one(ulong32 isa_bios)
++static int __devinit gdth_isa_probe_one(ulong32 isa_bios)
+ {
+ struct Scsi_Host *shp;
+ gdth_ha_str *ha;
+@@ -4802,7 +4802,7 @@ static int __init gdth_isa_probe_one(ulo
+ #endif /* CONFIG_ISA */
+
+ #ifdef CONFIG_EISA
+-static int __init gdth_eisa_probe_one(ushort eisa_slot)
++static int __devinit gdth_eisa_probe_one(ushort eisa_slot)
+ {
+ struct Scsi_Host *shp;
+ gdth_ha_str *ha;
+@@ -5138,7 +5138,7 @@ static struct notifier_block gdth_notifi
+ gdth_halt, NULL, 0
+ };
+
+-static int __init gdth_init(void)
++static int __devinit gdth_init(void)
+ {
+ if (disable) {
+ printk("GDT-HA: Controller driver disabled from"
+@@ -5192,7 +5192,7 @@ static int __init gdth_init(void)
+ return 0;
+ }
+
+-static void __exit gdth_exit(void)
++static void __devexit gdth_exit(void)
+ {
+ gdth_ha_str *ha;
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/ipmi-section-conflict.diff new/patches.rpmify/ipmi-section-conflict.diff
--- old/patches.rpmify/ipmi-section-conflict.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/ipmi-section-conflict.diff 2009-12-03 16:01:42.000000000 +0100
@@ -0,0 +1,82 @@
+From: Jeff Mahoney
+Subject: [PATCH] ipmi: Fix section type conflicts
+
+ Module parameters can't be static since the module macros explicitly
+ put those symbols in the __param section. It causes a section conflict
+ on ia64. This doesn't occur with standard types, since they are global
+ and exported.
+
+Signed-off-by: Jeff Mahoney
+---
+
+ drivers/char/ipmi/ipmi_si_intf.c | 4 ++--
+ drivers/char/ipmi/ipmi_watchdog.c | 10 +++++-----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+--- a/drivers/char/ipmi/ipmi_si_intf.c
++++ b/drivers/char/ipmi/ipmi_si_intf.c
+@@ -1150,7 +1150,7 @@ static unsigned int num_slave_addrs;
+ #define IPMI_MEM_ADDR_SPACE 1
+ static char *addr_space_to_str[] = { "i/o", "mem" };
+
+-static int hotmod_handler(const char *val, struct kernel_param *kp);
++int hotmod_handler(const char *val, struct kernel_param *kp);
+
+ module_param_call(hotmod, hotmod_handler, NULL, NULL, 0200);
+ MODULE_PARM_DESC(hotmod, "Add and remove interfaces. See"
+@@ -1572,7 +1572,7 @@ static int check_hotmod_int_op(const cha
+ return 0;
+ }
+
+-static int hotmod_handler(const char *val, struct kernel_param *kp)
++int hotmod_handler(const char *val, struct kernel_param *kp)
+ {
+ char *str = kstrdup(val, GFP_KERNEL);
+ int rv;
+--- a/drivers/char/ipmi/ipmi_watchdog.c
++++ b/drivers/char/ipmi/ipmi_watchdog.c
+@@ -196,7 +196,7 @@ static void ipmi_unregister_watchdog(int
+ */
+ static int start_now;
+
+-static int set_param_int(const char *val, struct kernel_param *kp)
++int set_param_int(const char *val, struct kernel_param *kp)
+ {
+ char *endp;
+ int l;
+@@ -215,7 +215,7 @@ static int set_param_int(const char *val
+ return rv;
+ }
+
+-static int get_param_int(char *buffer, struct kernel_param *kp)
++int get_param_int(char *buffer, struct kernel_param *kp)
+ {
+ return sprintf(buffer, "%i", *((int *)kp->arg));
+ }
+@@ -227,7 +227,7 @@ static int preaction_op(const char *inva
+ static int preop_op(const char *inval, char *outval);
+ static void check_parms(void);
+
+-static int set_param_str(const char *val, struct kernel_param *kp)
++int set_param_str(const char *val, struct kernel_param *kp)
+ {
+ action_fn fn = (action_fn) kp->arg;
+ int rv = 0;
+@@ -251,7 +251,7 @@ static int set_param_str(const char *val
+ return rv;
+ }
+
+-static int get_param_str(char *buffer, struct kernel_param *kp)
++int get_param_str(char *buffer, struct kernel_param *kp)
+ {
+ action_fn fn = (action_fn) kp->arg;
+ int rv;
+@@ -263,7 +263,7 @@ static int get_param_str(char *buffer, s
+ }
+
+
+-static int set_param_wdog_ifnum(const char *val, struct kernel_param *kp)
++int set_param_wdog_ifnum(const char *val, struct kernel_param *kp)
+ {
+ int rv = param_set_int(val, kp);
+ if (rv)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/md-section-conflict new/patches.rpmify/md-section-conflict
--- old/patches.rpmify/md-section-conflict 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/md-section-conflict 2009-12-03 16:01:42.000000000 +0100
@@ -0,0 +1,30 @@
+From: Jeff Mahoney
+Subject: md: Fix section conflicts
+
+ Module parameters can't be static since the module macros explicitly
+ put those symbols in the __param section. It causes a section conflict
+ on ia64. This doesn't occur with standard types, since they are global
+ and exported.
+
+Signed-off-by: Jeff Mahoney
+---
+
+ drivers/md/md.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/md/md.c
++++ b/drivers/md/md.c
+@@ -6968,11 +6968,11 @@ static __exit void md_exit(void)
+ subsys_initcall(md_init);
+ module_exit(md_exit)
+
+-static int get_ro(char *buffer, struct kernel_param *kp)
++int get_ro(char *buffer, struct kernel_param *kp)
+ {
+ return sprintf(buffer, "%d", start_readonly);
+ }
+-static int set_ro(const char *val, struct kernel_param *kp)
++int set_ro(const char *val, struct kernel_param *kp)
+ {
+ char *e;
+ int num = simple_strtoul(val, &e, 10);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/psmouse-section-conflict.diff new/patches.rpmify/psmouse-section-conflict.diff
--- old/patches.rpmify/psmouse-section-conflict.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/psmouse-section-conflict.diff 2009-12-03 16:01:42.000000000 +0100
@@ -0,0 +1,47 @@
+From: Jeff Mahoney
+Subject: [PATCH] psmouse: fix section type conflict
+
+ Module parameters can't be static since the module macros explicitly
+ put those symbols in the __param section. It causes a section conflict
+ on ia64. This doesn't occur with standard types, since they are global
+ and exported.
+
+Signed-off-by: Jeff Mahoney
+
+---
+
+ drivers/input/mouse/psmouse-base.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+--- a/drivers/input/mouse/psmouse-base.c
++++ b/drivers/input/mouse/psmouse-base.c
+@@ -39,8 +39,8 @@ MODULE_DESCRIPTION(DRIVER_DESC);
+ MODULE_LICENSE("GPL");
+
+ static unsigned int psmouse_max_proto = PSMOUSE_AUTO;
+-static int psmouse_set_maxproto(const char *val, struct kernel_param *kp);
+-static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp);
++int psmouse_set_maxproto(const char *val, struct kernel_param *kp);
++int psmouse_get_maxproto(char *buffer, struct kernel_param *kp);
+ #define param_check_proto_abbrev(name, p) __param_check(name, p, unsigned int)
+ #define param_set_proto_abbrev psmouse_set_maxproto
+ #define param_get_proto_abbrev psmouse_get_maxproto
+@@ -1652,7 +1652,8 @@ static ssize_t psmouse_attr_set_resoluti
+ }
+
+
+-static int psmouse_set_maxproto(const char *val, struct kernel_param *kp)
++/* These two should be static, but it causes a section type conflict */
++int psmouse_set_maxproto(const char *val, struct kernel_param *kp)
+ {
+ const struct psmouse_protocol *proto;
+
+@@ -1669,7 +1670,7 @@ static int psmouse_set_maxproto(const ch
+ return 0;
+ }
+
+-static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp)
++int psmouse_get_maxproto(char *buffer, struct kernel_param *kp)
+ {
+ int type = *((unsigned int *)kp->arg);
+
++++++ patches.suse.tar.bz2 ++++++
++++ 8136 lines of diff (skipped)
++++++ patches.trace.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.trace/lttng-instrumentation-swap.patch new/patches.trace/lttng-instrumentation-swap.patch
--- old/patches.trace/lttng-instrumentation-swap.patch 2009-11-26 00:30:04.000000000 +0100
+++ new/patches.trace/lttng-instrumentation-swap.patch 2009-11-27 10:49:21.000000000 +0100
@@ -35,8 +35,10 @@
mm/swapfile.c | 6 ++++++
4 files changed, 34 insertions(+)
---- a/mm/memory.c
-+++ b/mm/memory.c
+Index: linux-2.6.31-master/mm/memory.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/memory.c
++++ linux-2.6.31-master/mm/memory.c
@@ -56,6 +56,7 @@
#include
#include
@@ -62,11 +64,13 @@
} else if (PageHWPoison(page)) {
ret = VM_FAULT_HWPOISON;
delayacct_clear_flag(DELAYACCT_PF_SWAPIN);
---- a/mm/page_io.c
-+++ b/mm/page_io.c
-@@ -17,8 +17,11 @@
- #include
+Index: linux-2.6.31-master/mm/page_io.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/page_io.c
++++ linux-2.6.31-master/mm/page_io.c
+@@ -18,8 +18,11 @@
#include
+ #include
#include
+#include
#include
@@ -76,7 +80,7 @@
static struct bio *get_swap_bio(gfp_t gfp_flags, pgoff_t index,
struct page *page, bio_end_io_t end_io)
{
-@@ -114,6 +117,7 @@ int swap_writepage(struct page *page, st
+@@ -127,6 +130,7 @@ int swap_writepage(struct page *page, st
rw |= (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_UNPLUG);
count_vm_event(PSWPOUT);
set_page_writeback(page);
@@ -84,8 +88,10 @@
unlock_page(page);
submit_bio(rw, bio);
out:
---- a/mm/swapfile.c
-+++ b/mm/swapfile.c
+Index: linux-2.6.31-master/mm/swapfile.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/swapfile.c
++++ linux-2.6.31-master/mm/swapfile.c
@@ -33,12 +33,16 @@
#include
#include
@@ -103,7 +109,7 @@
static DEFINE_SPINLOCK(swap_lock);
static unsigned int nr_swapfiles;
long nr_swap_pages;
-@@ -1628,6 +1632,7 @@ SYSCALL_DEFINE1(swapoff, const char __us
+@@ -1647,6 +1651,7 @@ SYSCALL_DEFINE1(swapoff, const char __us
swap_map = p->swap_map;
p->swap_map = NULL;
p->flags = 0;
@@ -111,7 +117,7 @@
spin_unlock(&swap_lock);
mutex_unlock(&swapon_mutex);
vfree(swap_map);
-@@ -2019,6 +2024,7 @@ SYSCALL_DEFINE2(swapon, const char __use
+@@ -2038,6 +2043,7 @@ SYSCALL_DEFINE2(swapon, const char __use
} else {
swap_info[prev].next = p - swap_info;
}
@@ -119,8 +125,10 @@
spin_unlock(&swap_lock);
mutex_unlock(&swapon_mutex);
error = 0;
+Index: linux-2.6.31-master/include/trace/swap.h
+===================================================================
--- /dev/null
-+++ b/include/trace/swap.h
++++ linux-2.6.31-master/include/trace/swap.h
@@ -0,0 +1,20 @@
+#ifndef _TRACE_SWAP_H
+#define _TRACE_SWAP_H
++++++ patches.xen.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.xen/tmem new/patches.xen/tmem
--- old/patches.xen/tmem 2009-11-26 12:48:56.000000000 +0100
+++ new/patches.xen/tmem 2009-12-03 15:59:47.000000000 +0100
@@ -30,9 +30,34 @@
Signed-off-by: Dan Magenheimer
Acked-by: jbeulich@novell.com
---- head-2009-11-06.orig/fs/buffer.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/fs/buffer.c 2009-11-06 10:32:37.000000000 +0100
-@@ -41,6 +41,7 @@
+---
+ fs/buffer.c | 6 +
+ fs/ext3/super.c | 2
+ fs/ext4/super.c | 3
+ fs/mpage.c | 8 ++
+ fs/ocfs2/super.c | 2
+ fs/reiserfs/super.c | 2
+ fs/super.c | 8 ++
+ include/linux/fs.h | 3
+ include/linux/precache.h | 55 ++++++++++++++
+ include/linux/swap.h | 51 +++++++++++++
+ kernel/sysctl.c | 12 +++
+ mm/Kconfig | 28 +++++++
+ mm/Makefile | 3
+ mm/filemap.c | 11 ++
+ mm/page_io.c | 19 ++++
+ mm/precache.c | 140 +++++++++++++++++++++++++++++++++++
+ mm/preswap.c | 184 +++++++++++++++++++++++++++++++++++++++++++++++
+ mm/swapfile.c | 137 +++++++++++++++++++++++++++++++++-
+ mm/tmem.h | 84 +++++++++++++++++++++
+ mm/truncate.c | 10 ++
+ 20 files changed, 764 insertions(+), 4 deletions(-)
+
+Index: linux-2.6.31-master/fs/buffer.c
+===================================================================
+--- linux-2.6.31-master.orig/fs/buffer.c
++++ linux-2.6.31-master/fs/buffer.c
+@@ -42,6 +42,7 @@
#include
#include
#include
@@ -40,7 +65,7 @@
static int fsync_buffers_list(spinlock_t *lock, struct list_head *list);
-@@ -276,6 +277,11 @@ void invalidate_bdev(struct block_device
+@@ -282,6 +283,11 @@ void invalidate_bdev(struct block_device
invalidate_bh_lrus();
invalidate_mapping_pages(mapping, 0, -1);
@@ -52,8 +77,10 @@
}
EXPORT_SYMBOL(invalidate_bdev);
---- head-2009-11-06.orig/fs/ext3/super.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/fs/ext3/super.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/fs/ext3/super.c
+===================================================================
+--- linux-2.6.31-master.orig/fs/ext3/super.c
++++ linux-2.6.31-master/fs/ext3/super.c
@@ -38,6 +38,7 @@
#include
#include
@@ -62,7 +89,7 @@
#include
-@@ -1332,6 +1333,7 @@ static int ext3_setup_super(struct super
+@@ -1334,6 +1335,7 @@ static int ext3_setup_super(struct super
} else {
printk("internal journal\n");
}
@@ -70,8 +97,10 @@
return res;
}
---- head-2009-11-06.orig/fs/ext4/super.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/fs/ext4/super.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/fs/ext4/super.c
+===================================================================
+--- linux-2.6.31-master.orig/fs/ext4/super.c
++++ linux-2.6.31-master/fs/ext4/super.c
@@ -39,6 +39,7 @@
#include
#include
@@ -89,8 +118,10 @@
return res;
}
---- head-2009-11-06.orig/fs/mpage.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/fs/mpage.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/fs/mpage.c
+===================================================================
+--- linux-2.6.31-master.orig/fs/mpage.c
++++ linux-2.6.31-master/fs/mpage.c
@@ -26,6 +26,7 @@
#include
#include
@@ -113,8 +144,10 @@
/*
* This page will go to BIO. Do we need to send this BIO off first?
*/
---- head-2009-11-06.orig/fs/ocfs2/super.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/fs/ocfs2/super.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/fs/ocfs2/super.c
+===================================================================
+--- linux-2.6.31-master.orig/fs/ocfs2/super.c
++++ linux-2.6.31-master/fs/ocfs2/super.c
@@ -41,6 +41,7 @@
#include
#include
@@ -123,7 +156,7 @@
#include
#define MLOG_MASK_PREFIX ML_SUPER
-@@ -2222,6 +2223,7 @@ static int ocfs2_initialize_super(struct
+@@ -2247,6 +2248,7 @@ static int ocfs2_initialize_super(struct
mlog_errno(status);
goto bail;
}
@@ -131,8 +164,10 @@
bail:
mlog_exit(status);
---- head-2009-11-06.orig/fs/reiserfs/super.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/fs/reiserfs/super.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/fs/reiserfs/super.c
+===================================================================
+--- linux-2.6.31-master.orig/fs/reiserfs/super.c
++++ linux-2.6.31-master/fs/reiserfs/super.c
@@ -26,6 +26,7 @@
#include
#include
@@ -149,8 +184,10 @@
return (0);
---- head-2009-11-06.orig/fs/super.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/fs/super.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/fs/super.c
+===================================================================
+--- linux-2.6.31-master.orig/fs/super.c
++++ linux-2.6.31-master/fs/super.c
@@ -37,6 +37,7 @@
#include
#include
@@ -187,9 +224,11 @@
simple_set_mnt(mnt, s);
return 0;
}
---- head-2009-11-06.orig/include/linux/fs.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/fs.h 2009-11-06 10:32:37.000000000 +0100
-@@ -1371,6 +1371,9 @@ struct super_block {
+Index: linux-2.6.31-master/include/linux/fs.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/fs.h
++++ linux-2.6.31-master/include/linux/fs.h
+@@ -1397,6 +1397,9 @@ struct super_block {
/* Granularity of c/m/atime in ns.
Cannot be worse than a second */
u32 s_time_gran;
@@ -199,8 +238,10 @@
/*
* Filesystem subtype. If non-empty the filesystem type field
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2009-11-06/include/linux/precache.h 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/include/linux/precache.h
+===================================================================
+--- /dev/null
++++ linux-2.6.31-master/include/linux/precache.h
@@ -0,0 +1,55 @@
+#ifndef _LINUX_PRECACHE_H
+
@@ -257,9 +298,11 @@
+
+#define _LINUX_PRECACHE_H
+#endif /* _LINUX_PRECACHE_H */
---- head-2009-11-06.orig/include/linux/swap.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/swap.h 2009-11-06 10:32:37.000000000 +0100
-@@ -177,8 +177,59 @@ struct swap_info_struct {
+Index: linux-2.6.31-master/include/linux/swap.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/swap.h
++++ linux-2.6.31-master/include/linux/swap.h
+@@ -178,8 +178,59 @@ struct swap_info_struct {
unsigned int max;
unsigned int inuse_pages;
unsigned int old_block_size;
@@ -319,8 +362,10 @@
struct swap_list_t {
int head; /* head of priority-ordered swapfile list */
int next; /* swapfile to be used next */
---- head-2009-11-06.orig/kernel/sysctl.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/kernel/sysctl.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/kernel/sysctl.c
+===================================================================
+--- linux-2.6.31-master.orig/kernel/sysctl.c
++++ linux-2.6.31-master/kernel/sysctl.c
@@ -1424,6 +1424,18 @@ static struct ctl_table vm_table[] = {
.mode = 0644,
.proc_handler = &proc_dointvec,
@@ -340,8 +385,10 @@
#ifdef CONFIG_MEMORY_FAILURE
{
.ctl_name = CTL_UNNUMBERED,
---- head-2009-11-06.orig/mm/Kconfig 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/mm/Kconfig 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/mm/Kconfig
+===================================================================
+--- linux-2.6.31-master.orig/mm/Kconfig
++++ linux-2.6.31-master/mm/Kconfig
@@ -287,3 +287,31 @@ config NOMMU_INITIAL_TRIM_EXCESS
of 1 says that all excess pages should be trimmed.
@@ -374,8 +421,10 @@
+ Allows the transcendent memory pool to be used as a pseudo-swap
+ device which, under some circumstances, will greatly reduce
+ swapping and thus improve performance. If unsure, say Y.
---- head-2009-11-06.orig/mm/Makefile 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/mm/Makefile 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/mm/Makefile
+===================================================================
+--- linux-2.6.31-master.orig/mm/Makefile
++++ linux-2.6.31-master/mm/Makefile
@@ -17,6 +17,9 @@ obj-y += init-mm.o
obj-$(CONFIG_BOUNCE) += bounce.o
@@ -386,8 +435,10 @@
obj-$(CONFIG_HAS_DMA) += dmapool.o
obj-$(CONFIG_HUGETLBFS) += hugetlb.o
obj-$(CONFIG_NUMA) += mempolicy.o
---- head-2009-11-06.orig/mm/filemap.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/mm/filemap.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/mm/filemap.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/filemap.c
++++ linux-2.6.31-master/mm/filemap.c
@@ -33,6 +33,7 @@
#include
#include /* for BUG_ON(!in_atomic()) only */
@@ -396,7 +447,7 @@
#include /* for page_is_file_cache() */
#include
#include "internal.h"
-@@ -119,6 +120,16 @@ void __remove_from_page_cache(struct pag
+@@ -123,6 +124,16 @@ void __remove_from_page_cache(struct pag
{
struct address_space *mapping = page->mapping;
@@ -413,9 +464,11 @@
radix_tree_delete(&mapping->page_tree, page->index);
page->mapping = NULL;
mapping->nrpages--;
---- head-2009-11-06.orig/mm/page_io.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/mm/page_io.c 2009-11-06 10:32:37.000000000 +0100
-@@ -110,10 +110,23 @@ int swap_writepage(struct page *page, st
+Index: linux-2.6.31-master/mm/page_io.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/page_io.c
++++ linux-2.6.31-master/mm/page_io.c
+@@ -126,10 +126,23 @@ int swap_writepage(struct page *page, st
ret = -ENOMEM;
goto out;
}
@@ -439,11 +492,10 @@
trace_swap_out(page);
unlock_page(page);
submit_bio(rw, bio);
-@@ -127,6 +140,13 @@ int swap_readpage(struct page *page)
+@@ -185,6 +198,12 @@ int swap_readpage(struct page *page)
+ return ret;
+ }
- VM_BUG_ON(!PageLocked(page));
- VM_BUG_ON(PageUptodate(page));
-+
+ if (preswap_get(page) == 1) {
+ SetPageUptodate(page);
+ unlock_page(page);
@@ -453,8 +505,10 @@
bio = get_swap_bio(GFP_KERNEL, page_private(page), page,
end_swap_bio_read);
if (bio == NULL) {
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2009-11-06/mm/precache.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/mm/precache.c
+===================================================================
+--- /dev/null
++++ linux-2.6.31-master/mm/precache.c
@@ -0,0 +1,140 @@
+/*
+ * linux/mm/precache.c
@@ -596,8 +650,10 @@
+ sb->precache_poolid = tmem_new_pool(uuid_lo, uuid_hi, TMEM_POOL_SHARED);
+}
+EXPORT_SYMBOL(shared_precache_init);
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2009-11-06/mm/preswap.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/mm/preswap.c
+===================================================================
+--- /dev/null
++++ linux-2.6.31-master/mm/preswap.c
@@ -0,0 +1,184 @@
+/*
+ * linux/mm/preswap.c
@@ -783,9 +839,11 @@
+ if (preswap_poolid < 0)
+ return;
+}
---- head-2009-11-06.orig/mm/swapfile.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/mm/swapfile.c 2009-11-06 10:32:37.000000000 +0100
-@@ -589,6 +589,7 @@ static int swap_entry_free(struct swap_i
+Index: linux-2.6.31-master/mm/swapfile.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/swapfile.c
++++ linux-2.6.31-master/mm/swapfile.c
+@@ -593,6 +593,7 @@ static int swap_entry_free(struct swap_i
swap_list.next = p - swap_info;
nr_swap_pages++;
p->inuse_pages--;
@@ -793,7 +851,7 @@
}
if (!swap_count(count))
mem_cgroup_uncharge_swap(ent);
-@@ -988,7 +989,7 @@ static int unuse_mm(struct mm_struct *mm
+@@ -992,7 +993,7 @@ static int unuse_mm(struct mm_struct *mm
* Recycle to start on reaching the end, returning 0 when empty.
*/
static unsigned int find_next_to_unuse(struct swap_info_struct *si,
@@ -802,7 +860,7 @@
{
unsigned int max = si->max;
unsigned int i = prev;
-@@ -1014,6 +1015,12 @@ static unsigned int find_next_to_unuse(s
+@@ -1018,6 +1019,12 @@ static unsigned int find_next_to_unuse(s
prev = 0;
i = 1;
}
@@ -815,7 +873,7 @@
count = si->swap_map[i];
if (count && swap_count(count) != SWAP_MAP_BAD)
break;
-@@ -1025,8 +1032,12 @@ static unsigned int find_next_to_unuse(s
+@@ -1029,8 +1036,12 @@ static unsigned int find_next_to_unuse(s
* We completely avoid races by reading each swap page in advance,
* and then search for the process using it. All the necessary
* page table adjustments can then be made atomically.
@@ -829,7 +887,7 @@
{
struct swap_info_struct * si = &swap_info[type];
struct mm_struct *start_mm;
-@@ -1062,7 +1073,7 @@ static int try_to_unuse(unsigned int typ
+@@ -1066,7 +1077,7 @@ static int try_to_unuse(unsigned int typ
* one pass through swap_map is enough, but not necessarily:
* there are races when an instance of an entry might be missed.
*/
@@ -838,7 +896,7 @@
if (signal_pending(current)) {
retval = -EINTR;
break;
-@@ -1255,6 +1266,8 @@ retry:
+@@ -1259,6 +1270,8 @@ retry:
* interactive performance.
*/
cond_resched();
@@ -847,7 +905,7 @@
}
mmput(start_mm);
-@@ -1579,7 +1592,7 @@ SYSCALL_DEFINE1(swapoff, const char __us
+@@ -1602,7 +1615,7 @@ SYSCALL_DEFINE1(swapoff, const char __us
spin_unlock(&swap_lock);
current->flags |= PF_OOM_ORIGIN;
@@ -856,7 +914,7 @@
current->flags &= ~PF_OOM_ORIGIN;
if (err) {
-@@ -1628,9 +1641,14 @@ SYSCALL_DEFINE1(swapoff, const char __us
+@@ -1652,9 +1665,14 @@ SYSCALL_DEFINE1(swapoff, const char __us
p->swap_map = NULL;
p->flags = 0;
trace_swap_file_close(swap_file);
@@ -871,7 +929,7 @@
/* Destroy swap account informatin */
swap_cgroup_swapoff(type);
-@@ -1784,6 +1802,7 @@ SYSCALL_DEFINE2(swapon, const char __use
+@@ -1808,6 +1826,7 @@ SYSCALL_DEFINE2(swapon, const char __use
unsigned long maxpages = 1;
unsigned long swapfilepages;
unsigned short *swap_map = NULL;
@@ -879,7 +937,7 @@
struct page *page = NULL;
struct inode *inode = NULL;
int did_down = 0;
-@@ -1952,6 +1971,12 @@ SYSCALL_DEFINE2(swapon, const char __use
+@@ -1976,6 +1995,12 @@ SYSCALL_DEFINE2(swapon, const char __use
swap_map[page_nr] = SWAP_MAP_BAD;
}
@@ -892,7 +950,7 @@
error = swap_cgroup_swapon(type, maxpages);
if (error)
goto bad_swap;
-@@ -1994,6 +2019,9 @@ SYSCALL_DEFINE2(swapon, const char __use
+@@ -2018,6 +2043,9 @@ SYSCALL_DEFINE2(swapon, const char __use
else
p->prio = --least_priority;
p->swap_map = swap_map;
@@ -902,7 +960,7 @@
p->flags |= SWP_WRITEOK;
nr_swap_pages += nr_good_pages;
total_swap_pages += nr_good_pages;
-@@ -2019,6 +2047,7 @@ SYSCALL_DEFINE2(swapon, const char __use
+@@ -2044,6 +2072,7 @@ SYSCALL_DEFINE2(swapon, const char __use
swap_info[prev].next = p - swap_info;
}
trace_swap_file_open(swap_file, name);
@@ -910,7 +968,7 @@
spin_unlock(&swap_lock);
mutex_unlock(&swapon_mutex);
error = 0;
-@@ -2035,6 +2064,7 @@ bad_swap_2:
+@@ -2060,6 +2089,7 @@ bad_swap_2:
p->swap_file = NULL;
p->flags = 0;
spin_unlock(&swap_lock);
@@ -918,7 +976,7 @@
vfree(swap_map);
if (swap_file)
filp_close(swap_file, NULL);
-@@ -2211,6 +2241,10 @@ int valid_swaphandles(swp_entry_t entry,
+@@ -2268,6 +2298,10 @@ int valid_swaphandles(swp_entry_t entry,
base++;
spin_lock(&swap_lock);
@@ -929,7 +987,7 @@
if (end > si->max) /* don't go beyond end of map */
end = si->max;
-@@ -2221,6 +2255,9 @@ int valid_swaphandles(swp_entry_t entry,
+@@ -2278,6 +2312,9 @@ int valid_swaphandles(swp_entry_t entry,
break;
if (swap_count(si->swap_map[toff]) == SWAP_MAP_BAD)
break;
@@ -939,7 +997,7 @@
}
/* Count contiguous allocated slots below our target */
for (toff = target; --toff >= base; nr_pages++) {
-@@ -2229,6 +2266,9 @@ int valid_swaphandles(swp_entry_t entry,
+@@ -2286,6 +2323,9 @@ int valid_swaphandles(swp_entry_t entry,
break;
if (swap_count(si->swap_map[toff]) == SWAP_MAP_BAD)
break;
@@ -949,7 +1007,7 @@
}
spin_unlock(&swap_lock);
-@@ -2239,3 +2279,92 @@ int valid_swaphandles(swp_entry_t entry,
+@@ -2296,3 +2336,92 @@ int valid_swaphandles(swp_entry_t entry,
*offset = ++toff;
return nr_pages? ++nr_pages: 0;
}
@@ -1042,8 +1100,10 @@
+}
+#endif
+#endif /* CONFIG_PRESWAP */
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2009-11-06/mm/tmem.h 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/mm/tmem.h
+===================================================================
+--- /dev/null
++++ linux-2.6.31-master/mm/tmem.h
@@ -0,0 +1,84 @@
+/*
+ * linux/mm/tmem.h
@@ -1129,8 +1189,10 @@
+ } u;
+};
+#endif
---- head-2009-11-06.orig/mm/truncate.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/mm/truncate.c 2009-11-06 10:32:37.000000000 +0100
+Index: linux-2.6.31-master/mm/truncate.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/truncate.c
++++ linux-2.6.31-master/mm/truncate.c
@@ -15,6 +15,7 @@
#include
#include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.xen/xen3-auto-arch-x86.diff new/patches.xen/xen3-auto-arch-x86.diff
--- old/patches.xen/xen3-auto-arch-x86.diff 2009-11-26 12:48:56.000000000 +0100
+++ new/patches.xen/xen3-auto-arch-x86.diff 2009-12-03 15:59:47.000000000 +0100
@@ -146,7 +146,7 @@
+#endif
pr->pdc = NULL;
- if (c->x86_vendor == X86_VENDOR_INTEL)
+ if (c->x86_vendor == X86_VENDOR_INTEL ||
--- head-2009-11-06.orig/arch/x86/kernel/cpu/mcheck/Makefile 2009-11-06 10:29:51.000000000 +0100
+++ head-2009-11-06/arch/x86/kernel/cpu/mcheck/Makefile 2009-11-06 10:37:15.000000000 +0100
@@ -3,6 +3,7 @@ obj-y = mce.o mce-severity.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.xen/xen3-auto-common.diff new/patches.xen/xen3-auto-common.diff
--- old/patches.xen/xen3-auto-common.diff 2009-11-26 12:48:56.000000000 +0100
+++ new/patches.xen/xen3-auto-common.diff 2009-12-03 15:59:47.000000000 +0100
@@ -12,8 +12,65 @@
2.6.25/mm/highmem.c
2.6.30/include/linux/pci_regs.h
---- head-2009-11-06.orig/drivers/Makefile 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/Makefile 2009-11-06 10:37:01.000000000 +0100
+---
+ drivers/Makefile | 1
+ drivers/acpi/Makefile | 3
+ drivers/acpi/acpica/hwsleep.c | 15
+ drivers/acpi/processor_core.c | 69 ++-
+ drivers/acpi/processor_extcntl.c | 241 +++++++++++
+ drivers/acpi/processor_idle.c | 14
+ drivers/acpi/processor_perflib.c | 21
+ drivers/acpi/sleep.c | 9
+ drivers/char/agp/intel-agp.c | 10
+ drivers/char/mem.c | 16
+ drivers/char/tpm/Makefile | 2
+ drivers/char/tpm/tpm.h | 15
+ drivers/char/tpm/tpm_vtpm.c | 542 +++++++++++++++++++++++++
+ drivers/char/tpm/tpm_vtpm.h | 55 ++
+ drivers/char/tpm/tpm_xen.c | 722 ++++++++++++++++++++++++++++++++++
+ drivers/edac/edac_mc.c | 4
+ drivers/ide/ide-lib.c | 8
+ drivers/oprofile/buffer_sync.c | 72 ++-
+ drivers/oprofile/cpu_buffer.c | 52 +-
+ drivers/oprofile/cpu_buffer.h | 12
+ drivers/oprofile/event_buffer.h | 3
+ drivers/oprofile/oprof.c | 30 +
+ drivers/oprofile/oprof.h | 3
+ drivers/oprofile/oprofile_files.c | 197 +++++++++
+ fs/aio.c | 119 +++++
+ fs/compat_ioctl.c | 19
+ include/acpi/processor.h | 143 ++++++
+ include/asm-generic/pgtable.h | 4
+ include/linux/aio.h | 6
+ include/linux/highmem.h | 6
+ include/linux/interrupt.h | 6
+ include/linux/kexec.h | 13
+ include/linux/mm.h | 20
+ include/linux/oprofile.h | 16
+ include/linux/page-flags.h | 37 +
+ include/linux/pci.h | 9
+ include/linux/skbuff.h | 6
+ include/linux/vermagic.h | 7
+ kernel/irq/spurious.c | 2
+ kernel/kexec.c | 68 ++-
+ kernel/sysctl.c | 2
+ mm/memory.c | 40 +
+ mm/mmap.c | 10
+ mm/mprotect.c | 2
+ mm/page_alloc.c | 14
+ net/core/dev.c | 62 ++
+ net/core/skbuff.c | 4
+ net/ipv4/netfilter/nf_nat_proto_tcp.c | 3
+ net/ipv4/netfilter/nf_nat_proto_udp.c | 4
+ net/ipv4/xfrm4_output.c | 2
+ scripts/Makefile.build | 15
+ scripts/Makefile.lib | 6
+ 52 files changed, 2687 insertions(+), 74 deletions(-)
+
+Index: linux-2.6.31-master/drivers/Makefile
+===================================================================
+--- linux-2.6.31-master.orig/drivers/Makefile
++++ linux-2.6.31-master/drivers/Makefile
@@ -33,6 +33,7 @@ obj-$(CONFIG_PARPORT) += parport/
obj-y += base/ block/ misc/ mfd/
obj-$(CONFIG_NUBUS) += nubus/
@@ -22,8 +79,10 @@
obj-$(CONFIG_SCSI) += scsi/
obj-$(CONFIG_ATA) += ata/
obj-$(CONFIG_MTD) += mtd/
---- head-2009-11-06.orig/drivers/acpi/Makefile 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/acpi/Makefile 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/acpi/Makefile
+===================================================================
+--- linux-2.6.31-master.orig/drivers/acpi/Makefile
++++ linux-2.6.31-master/drivers/acpi/Makefile
@@ -62,5 +62,8 @@ obj-$(CONFIG_ACPI_POWER_METER) += power_
processor-y := processor_core.o processor_throttling.o
processor-y += processor_idle.o processor_thermal.o
@@ -33,8 +92,10 @@
+endif
obj-$(CONFIG_ACPI_PROCESSOR_AGGREGATOR) += acpi_pad.o
---- head-2009-11-06.orig/drivers/acpi/acpica/hwsleep.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/acpi/acpica/hwsleep.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/acpi/acpica/hwsleep.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/acpi/acpica/hwsleep.c
++++ linux-2.6.31-master/drivers/acpi/acpica/hwsleep.c
@@ -236,7 +236,11 @@ acpi_status asmlinkage acpi_enter_sleep_
u32 pm1b_control;
struct acpi_bit_register_info *sleep_type_reg_info;
@@ -72,8 +133,10 @@
return_ACPI_STATUS(AE_OK);
}
---- head-2009-11-06.orig/drivers/acpi/processor_core.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/acpi/processor_core.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/acpi/processor_core.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/acpi/processor_core.c
++++ linux-2.6.31-master/drivers/acpi/processor_core.c
@@ -658,7 +658,8 @@ static int acpi_processor_get_info(struc
*/
if (pr->id == -1) {
@@ -96,7 +159,7 @@
static void acpi_processor_notify(struct acpi_device *device, u32 event)
{
-@@ -790,27 +795,43 @@ static int acpi_processor_add(struct acp
+@@ -790,27 +795,43 @@ static int __cpuinit acpi_processor_add(
strcpy(acpi_device_class(device), ACPI_PROCESSOR_CLASS);
device->driver_data = pr;
@@ -142,7 +205,7 @@
per_cpu(processors, pr->id) = pr;
-@@ -829,15 +850,27 @@ static int acpi_processor_add(struct acp
+@@ -829,15 +850,27 @@ static int __cpuinit acpi_processor_add(
acpi_processor_set_pdc(pr);
arch_acpi_processor_cleanup_pdc(pr);
@@ -173,7 +236,7 @@
pr->cdev = thermal_cooling_device_register("Processor", device,
&processor_cooling_ops);
if (IS_ERR(pr->cdev)) {
-@@ -889,7 +922,7 @@ static int acpi_processor_remove(struct
+@@ -889,7 +922,7 @@ static int acpi_processor_remove(struct
pr = acpi_driver_data(device);
@@ -182,7 +245,7 @@
goto free;
if (type == ACPI_BUS_REMOVAL_EJECT) {
-@@ -910,8 +943,14 @@ static int acpi_processor_remove(struct
+@@ -910,8 +943,14 @@ static int acpi_processor_remove(struct
pr->cdev = NULL;
}
@@ -241,8 +304,10 @@
if (cpu_online(pr->id))
cpu_down(pr->id);
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2009-11-06/drivers/acpi/processor_extcntl.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/acpi/processor_extcntl.c
+===================================================================
+--- /dev/null
++++ linux-2.6.31-master/drivers/acpi/processor_extcntl.c
@@ -0,0 +1,241 @@
+/*
+ * processor_extcntl.c - channel to external control logic
@@ -485,8 +550,10 @@
+ kfree(perf);
+ return ret;
+}
---- head-2009-11-06.orig/drivers/acpi/processor_idle.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/acpi/processor_idle.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/acpi/processor_idle.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/acpi/processor_idle.c
++++ linux-2.6.31-master/drivers/acpi/processor_idle.c
@@ -419,7 +419,8 @@ static int acpi_processor_get_power_info
*/
cx.entry_method = ACPI_CSTATE_HALT;
@@ -522,8 +589,10 @@
return 0;
}
---- head-2009-11-06.orig/drivers/acpi/processor_perflib.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/acpi/processor_perflib.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/acpi/processor_perflib.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/acpi/processor_perflib.c
++++ linux-2.6.31-master/drivers/acpi/processor_perflib.c
@@ -78,6 +78,7 @@ MODULE_PARM_DESC(ignore_ppc, "If the fre
static int acpi_processor_ppc_status;
@@ -598,8 +667,10 @@
{
int result = 0;
acpi_status status = AE_OK;
---- head-2009-11-06.orig/drivers/acpi/sleep.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/acpi/sleep.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/acpi/sleep.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/acpi/sleep.c
++++ linux-2.6.31-master/drivers/acpi/sleep.c
@@ -60,6 +60,7 @@ static struct notifier_block tts_notifie
static int acpi_sleep_prepare(u32 acpi_state)
{
@@ -631,8 +702,10 @@
break;
}
---- head-2009-11-06.orig/drivers/char/agp/intel-agp.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/char/agp/intel-agp.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/char/agp/intel-agp.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/char/agp/intel-agp.c
++++ linux-2.6.31-master/drivers/char/agp/intel-agp.c
@@ -397,6 +397,13 @@ static struct page *i8xx_alloc_pages(voi
if (page == NULL)
return NULL;
@@ -657,8 +730,10 @@
put_page(page);
__free_pages(page, 2);
atomic_dec(&agp_bridge->current_memory_agp);
---- head-2009-11-06.orig/drivers/char/mem.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/char/mem.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/char/mem.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/char/mem.c
++++ linux-2.6.31-master/drivers/char/mem.c
@@ -110,6 +110,7 @@ void __attribute__((weak)) unxlate_dev_m
{
}
@@ -675,7 +750,7 @@
int __attribute__((weak)) phys_mem_access_prot_allowed(struct file *file,
unsigned long pfn, unsigned long size, pgprot_t *vma_prot)
-@@ -345,6 +347,9 @@ static int mmap_mem(struct file * file,
+@@ -345,6 +347,9 @@ static int mmap_mem(struct file * file,
static int mmap_kmem(struct file * file, struct vm_area_struct * vma)
{
unsigned long pfn;
@@ -717,16 +792,20 @@
#ifdef CONFIG_DEVKMEM
static const struct file_operations kmem_fops = {
---- head-2009-11-06.orig/drivers/char/tpm/Makefile 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/char/tpm/Makefile 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/char/tpm/Makefile
+===================================================================
+--- linux-2.6.31-master.orig/drivers/char/tpm/Makefile
++++ linux-2.6.31-master/drivers/char/tpm/Makefile
@@ -9,3 +9,5 @@ obj-$(CONFIG_TCG_TIS) += tpm_tis.o
obj-$(CONFIG_TCG_NSC) += tpm_nsc.o
obj-$(CONFIG_TCG_ATMEL) += tpm_atmel.o
obj-$(CONFIG_TCG_INFINEON) += tpm_infineon.o
+obj-$(CONFIG_TCG_XEN) += tpm_xenu.o
+tpm_xenu-y = tpm_xen.o tpm_vtpm.o
---- head-2009-11-06.orig/drivers/char/tpm/tpm.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/char/tpm/tpm.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/char/tpm/tpm.h
+===================================================================
+--- linux-2.6.31-master.orig/drivers/char/tpm/tpm.h
++++ linux-2.6.31-master/drivers/char/tpm/tpm.h
@@ -108,6 +108,9 @@ struct tpm_chip {
struct dentry **bios_dir;
@@ -756,8 +835,10 @@
extern void tpm_get_timeouts(struct tpm_chip *);
extern void tpm_gen_interrupt(struct tpm_chip *);
extern void tpm_continue_selftest(struct tpm_chip *);
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2009-11-06/drivers/char/tpm/tpm_vtpm.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/char/tpm/tpm_vtpm.c
+===================================================================
+--- /dev/null
++++ linux-2.6.31-master/drivers/char/tpm/tpm_vtpm.c
@@ -0,0 +1,542 @@
+/*
+ * Copyright (C) 2006 IBM Corporation
@@ -1301,8 +1382,10 @@
+ tpm_remove_hardware(dev);
+ kfree(vtpms);
+}
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2009-11-06/drivers/char/tpm/tpm_vtpm.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/char/tpm/tpm_vtpm.h
+===================================================================
+--- /dev/null
++++ linux-2.6.31-master/drivers/char/tpm/tpm_vtpm.h
@@ -0,0 +1,55 @@
+#ifndef TPM_VTPM_H
+#define TPM_VTPM_H
@@ -1359,8 +1442,10 @@
+}
+
+#endif
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2009-11-06/drivers/char/tpm/tpm_xen.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/char/tpm/tpm_xen.c
+===================================================================
+--- /dev/null
++++ linux-2.6.31-master/drivers/char/tpm/tpm_xen.c
@@ -0,0 +1,722 @@
+/*
+ * Copyright (c) 2005, IBM Corporation
@@ -2084,8 +2169,10 @@
+module_init(tpmif_init);
+
+MODULE_LICENSE("Dual BSD/GPL");
---- head-2009-11-06.orig/drivers/edac/edac_mc.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/edac/edac_mc.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/edac/edac_mc.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/edac/edac_mc.c
++++ linux-2.6.31-master/drivers/edac/edac_mc.c
@@ -578,6 +578,10 @@ static void edac_mc_scrub_block(unsigned
debugf3("%s()\n", __func__);
@@ -2097,8 +2184,10 @@
/* ECC error page was not in our memory. Ignore it. */
if (!pfn_valid(page))
return;
---- head-2009-11-06.orig/drivers/ide/ide-lib.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/ide/ide-lib.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/ide/ide-lib.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/ide/ide-lib.c
++++ linux-2.6.31-master/drivers/ide/ide-lib.c
@@ -18,12 +18,12 @@ void ide_toggle_bounce(ide_drive_t *driv
{
u64 addr = BLK_BOUNCE_HIGH; /* dma64_addr_t */
@@ -2116,8 +2205,10 @@
addr = *dev->dma_mask;
}
---- head-2009-11-06.orig/drivers/oprofile/buffer_sync.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/oprofile/buffer_sync.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/oprofile/buffer_sync.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/oprofile/buffer_sync.c
++++ linux-2.6.31-master/drivers/oprofile/buffer_sync.c
@@ -8,6 +8,10 @@
* @author Barry Kasindorf
* @author Robert Richter
@@ -2294,8 +2385,10 @@
mark_done(cpu);
mutex_unlock(&buffer_mutex);
---- head-2009-11-06.orig/drivers/oprofile/cpu_buffer.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/oprofile/cpu_buffer.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/oprofile/cpu_buffer.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/oprofile/cpu_buffer.c
++++ linux-2.6.31-master/drivers/oprofile/cpu_buffer.c
@@ -8,6 +8,10 @@
* @author Barry Kasindorf
* @author Robert Richter
@@ -2325,7 +2418,7 @@
b->tracing = 0;
b->buffer_size = buffer_size;
b->sample_received = 0;
-@@ -216,7 +222,7 @@ unsigned long op_cpu_buffer_entries(int
+@@ -216,7 +222,7 @@ unsigned long op_cpu_buffer_entries(int
static int
op_add_code(struct oprofile_cpu_buffer *cpu_buf, unsigned long backtrace,
@@ -2411,8 +2504,10 @@
/*
* This serves to avoid cpu buffer overflow, and makes sure
* the task mortuary progresses
---- head-2009-11-06.orig/drivers/oprofile/cpu_buffer.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/oprofile/cpu_buffer.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/oprofile/cpu_buffer.h
+===================================================================
+--- linux-2.6.31-master.orig/drivers/oprofile/cpu_buffer.h
++++ linux-2.6.31-master/drivers/oprofile/cpu_buffer.h
@@ -40,7 +40,7 @@ struct op_entry;
struct oprofile_cpu_buffer {
unsigned long buffer_size;
@@ -2447,8 +2542,10 @@
+#define DOMAIN_SWITCH (1UL << 5)
#endif /* OPROFILE_CPU_BUFFER_H */
---- head-2009-11-06.orig/drivers/oprofile/event_buffer.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/oprofile/event_buffer.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/oprofile/event_buffer.h
+===================================================================
+--- linux-2.6.31-master.orig/drivers/oprofile/event_buffer.h
++++ linux-2.6.31-master/drivers/oprofile/event_buffer.h
@@ -30,6 +30,9 @@ void wake_up_buffer_waiter(void);
#define INVALID_COOKIE ~0UL
#define NO_COOKIE 0UL
@@ -2459,8 +2556,10 @@
extern const struct file_operations event_buffer_fops;
/* mutex between sync_cpu_buffers() and the
---- head-2009-11-06.orig/drivers/oprofile/oprof.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/oprofile/oprof.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/oprofile/oprof.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/oprofile/oprof.c
++++ linux-2.6.31-master/drivers/oprofile/oprof.c
@@ -5,6 +5,10 @@
* @remark Read the file COPYING
*
@@ -2505,8 +2604,10 @@
int oprofile_setup(void)
{
int err;
---- head-2009-11-06.orig/drivers/oprofile/oprof.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/oprofile/oprof.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/oprofile/oprof.h
+===================================================================
+--- linux-2.6.31-master.orig/drivers/oprofile/oprof.h
++++ linux-2.6.31-master/drivers/oprofile/oprof.h
@@ -39,4 +39,7 @@ void oprofile_timer_init(struct oprofile
int oprofile_set_backtrace(unsigned long depth);
int oprofile_set_timeout(unsigned long time);
@@ -2515,8 +2616,10 @@
+int oprofile_set_passive(int passive_domains[], unsigned int pdomains);
+
#endif /* OPROF_H */
---- head-2009-11-06.orig/drivers/oprofile/oprofile_files.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/drivers/oprofile/oprofile_files.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/drivers/oprofile/oprofile_files.c
+===================================================================
+--- linux-2.6.31-master.orig/drivers/oprofile/oprofile_files.c
++++ linux-2.6.31-master/drivers/oprofile/oprofile_files.c
@@ -5,11 +5,17 @@
* @remark Read the file COPYING
*
@@ -2740,8 +2843,10 @@
oprofilefs_create_file(sb, root, "buffer", &event_buffer_fops);
oprofilefs_create_ulong(sb, root, "buffer_size", &oprofile_buffer_size);
oprofilefs_create_ulong(sb, root, "buffer_watershed", &oprofile_buffer_watershed);
---- head-2009-11-06.orig/fs/aio.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/fs/aio.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/fs/aio.c
+===================================================================
+--- linux-2.6.31-master.orig/fs/aio.c
++++ linux-2.6.31-master/fs/aio.c
@@ -36,6 +36,11 @@
#include
#include
@@ -2929,8 +3034,10 @@
get_ioctx(ioctx); /* io_destroy() expects us to hold a ref */
io_destroy(ioctx);
---- head-2009-11-06.orig/fs/compat_ioctl.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/fs/compat_ioctl.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/fs/compat_ioctl.c
+===================================================================
+--- linux-2.6.31-master.orig/fs/compat_ioctl.c
++++ linux-2.6.31-master/fs/compat_ioctl.c
@@ -115,6 +115,13 @@
#include
#endif
@@ -2964,8 +3071,10 @@
};
#define IOCTL_HASHSIZE 256
---- head-2009-11-06.orig/include/acpi/processor.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/acpi/processor.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/include/acpi/processor.h
+===================================================================
+--- linux-2.6.31-master.orig/include/acpi/processor.h
++++ linux-2.6.31-master/include/acpi/processor.h
@@ -17,6 +17,12 @@
#define ACPI_PROCESSOR_MAX_THROTTLE 250 /* 25% */
#define ACPI_PROCESSOR_MAX_DUTY_WIDTH 4
@@ -3149,8 +3258,10 @@
+#endif /* CONFIG_XEN */
+
#endif
---- head-2009-11-06.orig/include/asm-generic/pgtable.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/asm-generic/pgtable.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/include/asm-generic/pgtable.h
+===================================================================
+--- linux-2.6.31-master.orig/include/asm-generic/pgtable.h
++++ linux-2.6.31-master/include/asm-generic/pgtable.h
@@ -99,6 +99,10 @@ static inline void ptep_set_wrprotect(st
}
#endif
@@ -3162,8 +3273,10 @@
#ifndef __HAVE_ARCH_PTE_SAME
#define pte_same(A,B) (pte_val(A) == pte_val(B))
#endif
---- head-2009-11-06.orig/include/linux/aio.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/aio.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/include/linux/aio.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/aio.h
++++ linux-2.6.31-master/include/linux/aio.h
@@ -201,6 +201,12 @@ struct kioctx {
struct delayed_work wq;
@@ -3177,8 +3290,10 @@
struct rcu_head rcu_head;
};
---- head-2009-11-06.orig/include/linux/highmem.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/highmem.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/include/linux/highmem.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/highmem.h
++++ linux-2.6.31-master/include/linux/highmem.h
@@ -130,12 +130,14 @@ alloc_zeroed_user_highpage_movable(struc
return __alloc_zeroed_user_highpage(__GFP_MOVABLE, vma, vaddr);
}
@@ -3203,15 +3318,17 @@
static inline void copy_highpage(struct page *to, struct page *from)
{
char *vfrom, *vto;
-@@ -200,4 +204,6 @@ static inline void copy_highpage(struct
+@@ -200,4 +204,6 @@ static inline void copy_highpage(struct
kunmap_atomic(vto, KM_USER1);
}
+#endif
+
#endif /* _LINUX_HIGHMEM_H */
---- head-2009-11-06.orig/include/linux/interrupt.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/interrupt.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/include/linux/interrupt.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/interrupt.h
++++ linux-2.6.31-master/include/linux/interrupt.h
@@ -317,6 +317,12 @@ static inline int disable_irq_wake(unsig
}
#endif /* CONFIG_GENERIC_HARDIRQS */
@@ -3225,8 +3342,10 @@
#ifndef __ARCH_SET_SOFTIRQ_PENDING
#define set_softirq_pending(x) (local_softirq_pending() = (x))
#define or_softirq_pending(x) (local_softirq_pending() |= (x))
---- head-2009-11-06.orig/include/linux/kexec.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/kexec.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/include/linux/kexec.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/kexec.h
++++ linux-2.6.31-master/include/linux/kexec.h
@@ -46,6 +46,13 @@
KEXEC_CORE_NOTE_NAME_BYTES + \
KEXEC_CORE_NOTE_DESC_BYTES )
@@ -3254,9 +3373,11 @@
extern asmlinkage long sys_kexec_load(unsigned long entry,
unsigned long nr_segments,
struct kexec_segment __user *segments,
---- head-2009-11-06.orig/include/linux/mm.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/mm.h 2009-11-06 10:37:01.000000000 +0100
-@@ -102,7 +102,12 @@ extern unsigned int kobjsize(const void
+Index: linux-2.6.31-master/include/linux/mm.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/mm.h
++++ linux-2.6.31-master/include/linux/mm.h
+@@ -102,7 +102,12 @@ extern unsigned int kobjsize(const void
#define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */
#define VM_MIXEDMAP 0x10000000 /* Can contain "struct page" and pure PFN pages */
@@ -3269,7 +3390,7 @@
#define VM_PFN_AT_MMAP 0x40000000 /* PFNMAP vma that is fully mapped at mmap time */
#define VM_MERGEABLE 0x80000000 /* KSM may merge identical pages */
-@@ -127,6 +132,12 @@ extern unsigned int kobjsize(const void
+@@ -127,6 +132,12 @@ extern unsigned int kobjsize(const void
*/
#define VM_SPECIAL (VM_IO | VM_DONTEXPAND | VM_RESERVED | VM_PFNMAP)
@@ -3298,8 +3419,10 @@
#ifdef CONFIG_NUMA
/*
* set_policy() op must add a reference to any non-NULL @new mempolicy
---- head-2009-11-06.orig/include/linux/oprofile.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/oprofile.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/include/linux/oprofile.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/oprofile.h
++++ linux-2.6.31-master/include/linux/oprofile.h
@@ -16,6 +16,8 @@
#include
#include
@@ -3351,8 +3474,10 @@
/**
* Create a file of the given name as a child of the given root, with
---- head-2009-11-06.orig/include/linux/page-flags.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/page-flags.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/include/linux/page-flags.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/page-flags.h
++++ linux-2.6.31-master/include/linux/page-flags.h
@@ -110,6 +110,11 @@ enum pageflags {
#ifdef CONFIG_MEMORY_FAILURE
PG_hwpoison, /* hardware poisoned page. Don't touch */
@@ -3418,8 +3543,10 @@
/*
* Flags checked when a page is prepped for return by the page allocator.
---- head-2009-11-06.orig/include/linux/pci.h 2009-11-06 10:30:33.000000000 +0100
-+++ head-2009-11-06/include/linux/pci.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/include/linux/pci.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/pci.h
++++ linux-2.6.31-master/include/linux/pci.h
@@ -877,6 +877,11 @@ static inline int pci_msi_enabled(void)
{
return 0;
@@ -3443,8 +3570,10 @@
#endif
#ifndef CONFIG_PCIEASPM
---- head-2009-11-06.orig/include/linux/skbuff.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/skbuff.h 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/include/linux/skbuff.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/skbuff.h
++++ linux-2.6.31-master/include/linux/skbuff.h
@@ -278,6 +278,8 @@ typedef unsigned char *sk_buff_data_t;
* @local_df: allow local fragmentation
* @cloned: Head may be cloned (check refcnt to be sure)
@@ -3454,7 +3583,7 @@
* @pkt_type: Packet class
* @fclone: skbuff clone status
* @ip_summed: Driver fed us an IP checksum
-@@ -379,9 +381,13 @@ struct sk_buff {
+@@ -379,6 +381,10 @@ struct sk_buff {
#ifdef CONFIG_IPV6_NDISC_NODETYPE
__u8 ndisc_nodetype:2;
#endif
@@ -3464,13 +3593,11 @@
+#endif
kmemcheck_bitfield_end(flags2);
-- /* 0/14 bit hole */
-+ /* 0/12/14 bit hole */
-
- #ifdef CONFIG_NET_DMA
- dma_cookie_t dma_cookie;
---- head-2009-11-06.orig/include/linux/vermagic.h 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/include/linux/vermagic.h 2009-11-06 10:37:01.000000000 +0100
+ #ifdef CONFIG_NETVM
+Index: linux-2.6.31-master/include/linux/vermagic.h
+===================================================================
+--- linux-2.6.31-master.orig/include/linux/vermagic.h
++++ linux-2.6.31-master/include/linux/vermagic.h
@@ -22,6 +22,11 @@
#else
#define MODULE_VERMAGIC_MODVERSIONS ""
@@ -3490,9 +3617,11 @@
- MODULE_ARCH_VERMAGIC
+ MODULE_VERMAGIC_XEN MODULE_ARCH_VERMAGIC
---- head-2009-11-06.orig/kernel/irq/spurious.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/kernel/irq/spurious.c 2009-11-06 10:37:01.000000000 +0100
-@@ -235,7 +235,7 @@ void note_interrupt(unsigned int irq, st
+Index: linux-2.6.31-master/kernel/irq/spurious.c
+===================================================================
+--- linux-2.6.31-master.orig/kernel/irq/spurious.c
++++ linux-2.6.31-master/kernel/irq/spurious.c
+@@ -245,7 +245,7 @@ void note_interrupt(unsigned int irq, st
*/
if (time_after(jiffies, desc->last_unhandled + HZ/10))
desc->irqs_unhandled = 1;
@@ -3501,8 +3630,10 @@
desc->irqs_unhandled++;
desc->last_unhandled = jiffies;
if (unlikely(action_ret != IRQ_NONE))
---- head-2009-11-06.orig/kernel/kexec.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/kernel/kexec.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/kernel/kexec.c
+===================================================================
+--- linux-2.6.31-master.orig/kernel/kexec.c
++++ linux-2.6.31-master/kernel/kexec.c
@@ -360,13 +360,26 @@ static int kimage_is_destination_range(s
return 0;
}
@@ -3703,8 +3834,10 @@
/* Install the new kernel, and Uninstall the old */
image = xchg(dest_image, image);
---- head-2009-11-06.orig/kernel/sysctl.c 2009-11-06 10:32:37.000000000 +0100
-+++ head-2009-11-06/kernel/sysctl.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/kernel/sysctl.c
+===================================================================
+--- linux-2.6.31-master.orig/kernel/sysctl.c
++++ linux-2.6.31-master/kernel/sysctl.c
@@ -858,7 +858,7 @@ static struct ctl_table kern_table[] = {
.proc_handler = &proc_dointvec,
},
@@ -3714,9 +3847,11 @@
{
.procname = "acpi_video_flags",
.data = &acpi_realmode_flags,
---- head-2009-11-06.orig/mm/memory.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/mm/memory.c 2009-11-06 10:37:01.000000000 +0100
-@@ -523,6 +523,12 @@ struct page *vm_normal_page(struct vm_ar
+Index: linux-2.6.31-master/mm/memory.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/memory.c
++++ linux-2.6.31-master/mm/memory.c
+@@ -526,6 +526,12 @@ struct page *vm_normal_page(struct vm_ar
{
unsigned long pfn = pte_pfn(pte);
@@ -3729,7 +3864,7 @@
if (HAVE_PTE_SPECIAL) {
if (likely(!pte_special(pte)))
goto check_pfn;
-@@ -554,6 +560,9 @@ struct page *vm_normal_page(struct vm_ar
+@@ -557,6 +563,9 @@ struct page *vm_normal_page(struct vm_ar
return NULL;
check_pfn:
if (unlikely(pfn > highest_memmap_pfn)) {
@@ -3739,7 +3874,7 @@
print_bad_pte(vma, addr, pte, NULL);
return NULL;
}
-@@ -839,8 +848,12 @@ static unsigned long zap_pte_range(struc
+@@ -842,8 +851,12 @@ static unsigned long zap_pte_range(struc
page->index > details->last_index))
continue;
}
@@ -3754,7 +3889,7 @@
tlb_remove_tlb_entry(tlb, pte, addr);
if (unlikely(!page))
continue;
-@@ -1100,6 +1113,7 @@ unsigned long zap_page_range(struct vm_a
+@@ -1103,6 +1116,7 @@ unsigned long zap_page_range(struct vm_a
tlb_finish_mmu(tlb, address, end);
return end;
}
@@ -3762,7 +3897,7 @@
/**
* zap_vma_ptes - remove ptes mapping the vma
-@@ -1296,6 +1310,28 @@ int __get_user_pages(struct task_struct
+@@ -1299,6 +1313,28 @@ int __get_user_pages(struct task_struct
continue;
}
@@ -3791,9 +3926,11 @@
if (!vma ||
(vma->vm_flags & (VM_IO | VM_PFNMAP)) ||
!(vm_flags & vma->vm_flags))
---- head-2009-11-06.orig/mm/mmap.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/mm/mmap.c 2009-11-06 10:37:01.000000000 +0100
-@@ -1856,6 +1856,12 @@ static void unmap_region(struct mm_struc
+Index: linux-2.6.31-master/mm/mmap.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/mmap.c
++++ linux-2.6.31-master/mm/mmap.c
+@@ -1857,6 +1857,12 @@ static void unmap_region(struct mm_struc
tlb_finish_mmu(tlb, start, end);
}
@@ -3806,7 +3943,7 @@
/*
* Create a list of vma's touched by the unmap, removing them from the mm's
* vma list as we go..
-@@ -1871,6 +1877,7 @@ detach_vmas_to_be_unmapped(struct mm_str
+@@ -1872,6 +1878,7 @@ detach_vmas_to_be_unmapped(struct mm_str
insertion_point = (prev ? &prev->vm_next : &mm->mmap);
do {
rb_erase(&vma->vm_rb, &mm->mm_rb);
@@ -3814,7 +3951,7 @@
mm->map_count--;
tail_vma = vma;
vma = vma->vm_next;
-@@ -2171,6 +2178,9 @@ void exit_mmap(struct mm_struct *mm)
+@@ -2172,6 +2179,9 @@ void exit_mmap(struct mm_struct *mm)
arch_exit_mmap(mm);
@@ -3824,8 +3961,10 @@
vma = mm->mmap;
if (!vma) /* Can happen if dup_mmap() received an OOM */
return;
---- head-2009-11-06.orig/mm/mprotect.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/mm/mprotect.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/mm/mprotect.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/mprotect.c
++++ linux-2.6.31-master/mm/mprotect.c
@@ -91,6 +91,8 @@ static inline void change_pmd_range(stru
next = pmd_addr_end(addr, end);
if (pmd_none_or_clear_bad(pmd))
@@ -3835,9 +3974,11 @@
change_pte_range(mm, pmd, addr, next, newprot, dirty_accountable);
} while (pmd++, addr = next, addr != end);
}
---- head-2009-11-06.orig/mm/page_alloc.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/mm/page_alloc.c 2009-11-06 10:37:01.000000000 +0100
-@@ -585,6 +585,13 @@ static void __free_pages_ok(struct page
+Index: linux-2.6.31-master/mm/page_alloc.c
+===================================================================
+--- linux-2.6.31-master.orig/mm/page_alloc.c
++++ linux-2.6.31-master/mm/page_alloc.c
+@@ -592,6 +592,13 @@ static void __free_pages_ok(struct page
int bad = 0;
int wasMlocked = __TestClearPageMlocked(page);
@@ -3851,7 +3992,7 @@
kmemcheck_free_shadow(page, order);
trace_page_free(page, order);
-@@ -1084,6 +1091,13 @@ static void free_hot_cold_page(struct pa
+@@ -1093,6 +1100,13 @@ static void free_hot_cold_page(struct pa
int migratetype;
int wasMlocked = __TestClearPageMlocked(page);
@@ -3865,9 +4006,11 @@
kmemcheck_free_shadow(page, 0);
trace_page_free(page, 0);
---- head-2009-11-06.orig/net/core/dev.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/net/core/dev.c 2009-11-06 10:37:01.000000000 +0100
-@@ -136,6 +136,12 @@
+Index: linux-2.6.31-master/net/core/dev.c
+===================================================================
+--- linux-2.6.31-master.orig/net/core/dev.c
++++ linux-2.6.31-master/net/core/dev.c
+@@ -137,6 +137,12 @@
/* This should be increased if a protocol with a bigger head is added. */
#define GRO_MAX_HEAD (MAX_HEADER + 128)
@@ -3880,7 +4023,7 @@
/*
* The list of packet types we will receive (as opposed to discard)
* and the routines to invoke.
-@@ -1808,6 +1814,43 @@ static struct netdev_queue *dev_pick_tx(
+@@ -1817,6 +1823,43 @@ static struct netdev_queue *dev_pick_tx(
return netdev_get_tx_queue(dev, queue_index);
}
@@ -3924,7 +4067,7 @@
static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q,
struct net_device *dev,
struct netdev_queue *txq)
-@@ -1874,6 +1917,12 @@ int dev_queue_xmit(struct sk_buff *skb)
+@@ -1883,6 +1926,12 @@ int dev_queue_xmit(struct sk_buff *skb)
struct Qdisc *q;
int rc = -ENOMEM;
@@ -3937,9 +4080,9 @@
/* GSO will handle the following emulations directly. */
if (netif_needs_gso(dev, skb))
goto gso;
-@@ -2332,6 +2381,19 @@ int netif_receive_skb(struct sk_buff *sk
- }
- #endif
+@@ -2383,6 +2432,19 @@ int netif_receive_skb(struct sk_buff *sk
+ if (skb_emergency(skb))
+ goto skip_taps;
+#ifdef CONFIG_XEN
+ switch (skb->ip_summed) {
@@ -3957,9 +4100,11 @@
list_for_each_entry_rcu(ptype, &ptype_all, list) {
if (ptype->dev == null_or_orig || ptype->dev == skb->dev ||
ptype->dev == orig_dev) {
---- head-2009-11-06.orig/net/core/skbuff.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/net/core/skbuff.c 2009-11-06 10:37:01.000000000 +0100
-@@ -581,6 +581,10 @@ static struct sk_buff *__skb_clone(struc
+Index: linux-2.6.31-master/net/core/skbuff.c
+===================================================================
+--- linux-2.6.31-master.orig/net/core/skbuff.c
++++ linux-2.6.31-master/net/core/skbuff.c
+@@ -642,6 +642,10 @@ static struct sk_buff *__skb_clone(struc
n->hdr_len = skb->nohdr ? skb_headroom(skb) : skb->hdr_len;
n->cloned = 1;
n->nohdr = 0;
@@ -3970,8 +4115,10 @@
n->destructor = NULL;
C(tail);
C(end);
---- head-2009-11-06.orig/net/ipv4/netfilter/nf_nat_proto_tcp.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/net/ipv4/netfilter/nf_nat_proto_tcp.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/net/ipv4/netfilter/nf_nat_proto_tcp.c
+===================================================================
+--- linux-2.6.31-master.orig/net/ipv4/netfilter/nf_nat_proto_tcp.c
++++ linux-2.6.31-master/net/ipv4/netfilter/nf_nat_proto_tcp.c
@@ -75,6 +75,9 @@ tcp_manip_pkt(struct sk_buff *skb,
if (hdrsize < sizeof(*hdr))
return true;
@@ -3982,8 +4129,10 @@
inet_proto_csum_replace4(&hdr->check, skb, oldip, newip, 1);
inet_proto_csum_replace2(&hdr->check, skb, oldport, newport, 0);
return true;
---- head-2009-11-06.orig/net/ipv4/netfilter/nf_nat_proto_udp.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/net/ipv4/netfilter/nf_nat_proto_udp.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/net/ipv4/netfilter/nf_nat_proto_udp.c
+===================================================================
+--- linux-2.6.31-master.orig/net/ipv4/netfilter/nf_nat_proto_udp.c
++++ linux-2.6.31-master/net/ipv4/netfilter/nf_nat_proto_udp.c
@@ -60,6 +60,10 @@ udp_manip_pkt(struct sk_buff *skb,
newport = tuple->dst.u.udp.port;
portptr = &hdr->dest;
@@ -3995,8 +4144,10 @@
if (hdr->check || skb->ip_summed == CHECKSUM_PARTIAL) {
inet_proto_csum_replace4(&hdr->check, skb, oldip, newip, 1);
inet_proto_csum_replace2(&hdr->check, skb, *portptr, newport,
---- head-2009-11-06.orig/net/ipv4/xfrm4_output.c 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/net/ipv4/xfrm4_output.c 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/net/ipv4/xfrm4_output.c
+===================================================================
+--- linux-2.6.31-master.orig/net/ipv4/xfrm4_output.c
++++ linux-2.6.31-master/net/ipv4/xfrm4_output.c
@@ -81,7 +81,7 @@ static int xfrm4_output_finish(struct sk
#endif
@@ -4006,8 +4157,10 @@
}
int xfrm4_output(struct sk_buff *skb)
---- head-2009-11-06.orig/scripts/Makefile.build 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/scripts/Makefile.build 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/scripts/Makefile.build
+===================================================================
+--- linux-2.6.31-master.orig/scripts/Makefile.build
++++ linux-2.6.31-master/scripts/Makefile.build
@@ -76,6 +76,21 @@ ifndef obj
$(warning kbuild: Makefile.build is included improperly)
endif
@@ -4030,8 +4183,10 @@
# ===========================================================================
ifneq ($(strip $(lib-y) $(lib-m) $(lib-n) $(lib-)),)
---- head-2009-11-06.orig/scripts/Makefile.lib 2009-11-06 10:29:51.000000000 +0100
-+++ head-2009-11-06/scripts/Makefile.lib 2009-11-06 10:37:01.000000000 +0100
+Index: linux-2.6.31-master/scripts/Makefile.lib
+===================================================================
+--- linux-2.6.31-master.orig/scripts/Makefile.lib
++++ linux-2.6.31-master/scripts/Makefile.lib
@@ -22,6 +22,12 @@ obj-m := $(filter-out $(obj-y),$(obj-m))
lib-y := $(filter-out $(obj-y), $(sort $(lib-y) $(lib-m)))
++++++ post.sh ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100
@@ -67,6 +67,11 @@
fi
}
+# exit out early for Moblin as we don't want to touch the bootloader menu
+if [ -f /etc/SuSE-moblin-release ] ; then
+ exit 0
+fi
+
if [ -f /etc/fstab -a ! -e /.buildenv ] ; then
# only run the bootloader if the usual bootloader configuration
# files are there -- this is different on every architecture
++++++ postun.sh ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100
@@ -21,6 +21,11 @@
/bin/bash -${-/e/} $wm2 --remove-kernel @KERNELRELEASE@-@FLAVOR@
fi
+# exit out early for Moblin as we don't want to touch the bootloader menu
+if [ -f /etc/SuSE-moblin-release ] ; then
+ exit 0
+fi
+
# remove fstab check once perl-Bootloader can cope with it
if [ -f /etc/fstab ]; then
if [ -x /usr/lib/bootloader/bootloader_entry ]; then
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100
@@ -27,13 +27,6 @@
# DO NOT MODIFY THEM!
# Send separate patches upstream if you find a problem...
########################################################
- patches.kernel.org/patch-2.6.32-rc1
- patches.kernel.org/patch-2.6.32-rc1-rc3
- patches.kernel.org/patch-2.6.32-rc3-rc4
- patches.kernel.org/patch-2.6.32-rc4-rc5
- patches.kernel.org/patch-2.6.32-rc5-rc6
- patches.kernel.org/patch-2.6.32-rc6-rc7
- patches.kernel.org/patch-2.6.32-rc7-rc8
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -42,11 +35,11 @@
# since they're not actually upstream, but if the
# packages don't build, that's pretty useless too.
########################################################
- patches.kernel.org/psmouse-section-conflict.diff
- patches.kernel.org/ipmi-section-conflict.diff
- patches.kernel.org/md-section-conflict
- patches.kernel.org/gdth-section-conflict
- patches.kernel.org/arch-include-asm-fixes
+ patches.rpmify/psmouse-section-conflict.diff
+ patches.rpmify/ipmi-section-conflict.diff
+ patches.rpmify/md-section-conflict
+ patches.rpmify/gdth-section-conflict
+ patches.rpmify/arch-include-asm-fixes
patches.rpmify/arm-arch_include_asm-fix.diff
patches.rpmify/tsi148-dependency
patches.rpmify/staging-missing-sched.h
@@ -114,7 +107,6 @@
########################################################
+needs_update-32 patches.suse/smtnice-disable
patches.suse/setuid-dumpable-wrongdir
-+needs_update-32 patches.suse/sysctl-add-affinity_load_balancing
patches.fixes/seccomp-disable-tsc-option
patches.suse/hung_task_timeout-configurable-default
@@ -144,7 +136,8 @@
patches.suse/rlim-0023-unistd-add-__NR_-get-set-prlimit-syscall-numbers.patch
patches.suse/rlim-0024-COMPAT-add-get-put_compat_rlimit.patch
patches.suse/rlim-0025-x86-add-ia32-compat-prlimit-syscalls.patch
-
+
+ patches.fixes/make-note_interrupt-fast.diff
########################################################
# Architecture-specific patches. These used to be all
@@ -185,12 +178,18 @@
patches.arch/add_x86_support_for_hpet_msi_intr_remap.patch
patches.arch/x86-crypto-pclmulqdq-accelerated-implementation.patch
patches.arch/x86-crypto-add-ghash-algorithm-test.patch
+ patches.arch/x86-fix-nodac
+ patches.arch/x86-mcp51-no-dac
patches.arch/kvm-split-paravirt-ops-by-functionality
patches.arch/kvm-only-export-selected-pv-ops-feature-structs
patches.arch/kvm-split-the-KVM-pv-ops-support-by-feature
patches.arch/kvm-replace-kvm-io-delay-pv-ops-with-linux-magic
+ patches.arch/x86-64-preserve-large-page-mapping-for-1st-2mb-kernel-txt-with-config_debug_rodata
+ patches.arch/x86-64-align-rodata-kernel-section-to-2mb-with-config_debug_rodata
+ patches.arch/x86-64-add-comment-for-rodata-large-page-retainment
+
########################################################
# x86_64/4096CPUS - from SGI
########################################################
@@ -228,8 +227,6 @@
patches.arch/ppc-vmcoreinfo.diff
patches.arch/ppc-select
- patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch
-
patches.arch/ppc-extended_h_cede-kernel-dlpar
patches.arch/ppc-extended_h_cede-mv_of_drconf_cell
patches.arch/ppc-extended_h_cede-Export_memory_sysdev_class
@@ -318,7 +315,7 @@
# CPUFREQ
########################################################
-# cpuidle: not yet -- unresolved symbol on i586
+## cpuidle feature patch set still not consistent.
# patches.suse/cpuidle-cleanup
# patches.suse/cpuidle-implement-list
# patches.suse/cpuidle-cleanup-x86
@@ -328,6 +325,7 @@
# patches.suse/cpuidle-pseries-proc-idle
# patches.suse/cpuidle-eliminate-ppcmdpowersave1
# patches.suse/cpuidle-documentation
+ patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch
########################################################
# AGP, graphics related stuff
@@ -340,6 +338,7 @@
# TIOCGDEV - suse special
patches.fixes/tiocgdev
+still_needed? patches.suse/mm-increase-dirty-limits.patch
+ patches.suse/panic-on-io-nmi-SLE11-user-space-api.patch
########################################################
# Networking, IPv6
@@ -353,6 +352,10 @@
patches.fixes/nfs-slot-table-alloc
patches.fixes/nfs-honour-server-preferred-io-size
+ patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch
+ patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch
+ patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch
+ patches.fixes/nfsd-09-fix-kabi
########################################################
# lockd + statd
########################################################
@@ -379,11 +382,21 @@
patches.suse/reiserfs-barrier-default
########################################################
+ # dlm
+ ########################################################
+ patches.fixes/dlm-enable-debug.patch
+
+ ########################################################
# ocfs2
########################################################
patches.suse/ocfs2-allocation-resrvations.patch
########################################################
+ # gfs2 read-only support for migration
+ ########################################################
+ patches.suse/gfs2-ro-mounts-only.patch
+
+ ########################################################
# xfs
########################################################
patches.suse/xfs-dmapi-src
@@ -411,6 +424,42 @@
patches.suse/nfs4acl-ai.diff
patches.fixes/zisofs-large-pagesize-read.patch
+
+ ########################################################
+ # Swap-over-NFS
+ ########################################################
+ patches.suse/SoN-01-mm-setup_per_zone_wmarks.patch
+ patches.suse/SoN-02-doc.patch
+ patches.suse/SoN-03-mm-gfp-to-alloc_flags-expose.patch
+ patches.suse/SoN-04-page_alloc-reserve.patch
+ patches.suse/SoN-05-reserve-slub.patch
+ patches.suse/SoN-06-mm-kmem_estimate_pages.patch
+ patches.suse/SoN-07-mm-PF_MEMALLOC-softirq.patch
+ patches.suse/SoN-08-mm-page_alloc-emerg.patch
+ patches.suse/SoN-09-global-ALLOC_NO_WATERMARKS.patch
+ patches.suse/SoN-10-mm-page_alloc-GFP_EMERGENCY.patch
+ patches.suse/SoN-11-mm-reserve.patch
+ patches.suse/SoN-12-mm-selinux-emergency.patch
+ patches.suse/SoN-13-net-ps_rx.patch
+ patches.suse/SoN-14-net-sk_allocation.patch
+ patches.suse/SoN-15-netvm-reserve.patch
+ patches.suse/SoN-16-netvm-reserve-inet.patch
+ patches.suse/SoN-17-netvm-reserve-inet.patch-fix
+ patches.suse/SoN-18-netvm-skbuff-reserve.patch
+ patches.suse/SoN-19-netvm-sk_filter.patch
+ patches.suse/SoN-20-netvm-tcp-deadlock.patch
+ patches.suse/SoN-21-emergency-nf_queue.patch
+ patches.suse/SoN-22-netvm.patch
+ patches.suse/SoN-23-mm-swapfile.patch
+ patches.suse/SoN-24-mm-page_file_methods.patch
+ patches.suse/SoN-25-nfs-swapcache.patch
+ patches.suse/SoN-26-nfs-swapper.patch
+ patches.suse/SoN-27-nfs-swap_ops.patch
+ patches.suse/SoN-28-nfs-alloc-recursions.patch
+ patches.suse/SoN-29-fix-swap_sync_page-race
+ patches.suse/SoN-30-fix-uninitialized-var.patch
+
+
########################################################
# Netfilter
########################################################
@@ -486,6 +535,7 @@
patches.fixes/sd_liberal_28_sense_invalid.diff
patches.fixes/scsi-ibmvscsi-module_alias.patch
+ patches.fixes/megaraid_sas-fix-permissions-on-poll_mode_io
########################################################
# DRM/Video
@@ -498,7 +548,6 @@
patches.suse/nameif-track-rename.patch
patches.fixes/tg3-fix-default-wol.patch
patches.drivers/ehea-modinfo.patch
-+needs_update-32 patches.drivers/tg3_libphy_workaround
patches.drivers/igb-add-support-for-82576NS-SerDes-adapter.patch
# entropy FATE##307517
@@ -595,7 +644,6 @@
# Wireless Networking
########################################################
patches.suse/wireless-no-aes-select
- patches.fixes/mac80211-fix-spurious-delba-handling.patch
########################################################
# iSCSI
@@ -653,6 +701,10 @@
patches.drivers/alsa-sp1-hda-15-fix-build-warning
patches.drivers/alsa-sp1-hda-16-stac-dual-headphones-fix
patches.drivers/alsa-sp1-hda-17-fix-mute-LED-sync-idt92h383xxx
+ patches.drivers/alsa-sp1-hda-18-msi-wind-u115-fix
+ patches.drivers/alsa-sp1-hda-19-cx5047-test-mode-fix
+ patches.drivers/alsa-sp1-hda-20-fsc-amilo-pi1505-fix
+ patches.drivers/alsa-sp1-hda-21-hp-dv3-position-fix-quirk
########################################################
# Other driver fixes
@@ -689,11 +741,13 @@
patches.suse/dm-mpath-null-pgs
patches.fixes/dm-table-switch-to-readonly
patches.suse/dm-mpath-evaluate-request-result-and-sense
+ patches.fixes/dm-release-map_lock-before-set_disk_ro
########################################################
# md
########################################################
+ patches.drivers/8250_pnp-wacom-add
##########################################################
#
@@ -747,6 +801,8 @@
patches.suse/perfmon2.patch
patches.suse/perfmon2_ioctl.patch
+ patches.suse/perfmon2-remove_syscalls.patch
+ patches.suse/perfmon2-remove_get_base_syscall_attr.patch
patches.suse/perfmon2_noutrace.patch
patches.fixes/oprofile_bios_ctr.patch
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100
@@ -1,3 +1,3 @@
-2009-11-26 15:24:07 +0100
-GIT Revision: 73922f74f422111f9f37c410d1d35ec356dd9acb
+2009-12-04 00:41:46 +0100
+GIT Revision: 4070eecb55553914dd7cf49aeb8a589df281e7d9
GIT Branch: master
++++++ split-modules ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100
@@ -67,13 +67,18 @@
exit 1
fi
(
- echo -e '%:\n\t@echo $@'
+ echo '%:
+ @echo $@
+ifdef EXPLAIN
+ @for dep in $^; do echo "$$dep needed by $@"; done >> $(EXPLAIN)
+endif
+'
sed -r 's:[^ ]*/([^/]*)\.ko\>:\1:g; y/-/_/' "$modules_dep"
) >"$tmp/dep"
add_dependent_modules()
{
- xargs -r make -rRs -C "$tmp/empty" -f "$tmp/dep" | sort -u
+ xargs -r make EXPLAIN=$1 -rRs -C "$tmp/empty" -f "$tmp/dep" | sort -u
}
# base
@@ -82,10 +87,11 @@
# main
sed 's/ .*//; y/-/_/' "$opt_supp" | sort -u >"$tmp/supp"
-add_dependent_modules <"$tmp/supp" >"$tmp/supp-all"
+add_dependent_modules "$tmp/supp-explain" <"$tmp/supp" >"$tmp/supp-all"
if ! cmp -s "$tmp/supp" "$tmp/supp-all"; then
echo "The following unsupported modules are used by supported modules:" >&2
- join -v2 "$tmp/supp" "$tmp/supp-all" >&2
+ join -j1 -a2 <(sort "$tmp/supp-explain") \
+ <(join -v2 "$tmp/supp" "$tmp/supp-all") >&2
echo "Please fix supported.conf." >&2
if ! $opt_ignore_errors; then
exit 1
++++++ supported.conf ++++++
--- /var/tmp/diff_new_pack.6T6jFB/_old 2009-12-04 12:11:40.000000000 +0100
+++ /var/tmp/diff_new_pack.6T6jFB/_new 2009-12-04 12:11:40.000000000 +0100
@@ -8,7 +8,12 @@
# Modules that a base module uses implicitly are also base modules,
# but at least they need to be marked as supported here.
+ kernel/arch/ia64/perfmon/perfmon_generic
+ kernel/arch/ia64/perfmon/perfmon_itanium
+ kernel/arch/ia64/perfmon/perfmon_mckinley
+ kernel/arch/ia64/perfmon/perfmon_montecito
kernel/arch/ia64/kernel/err_inject
+
+external kernel/arch/powerpc/platforms/cell/cbe-cpufreq
+external kernel/arch/powerpc/platforms/cell/cbe_cpufreq_pmi
+external kernel/arch/powerpc/platforms/cell/cbe_powerbutton
@@ -154,6 +159,7 @@
kernel/drivers/ata/pata_amd # IBM pSeries JS20, AMD8111 board types
kernel/drivers/ata/pata_artop
kernel/drivers/ata/pata_atiixp
+ kernel/drivers/ata/pata_atp867x
kernel/drivers/ata/pata_cmd640
kernel/drivers/ata/pata_cmd64x
kernel/drivers/ata/pata_cs5520
@@ -186,6 +192,7 @@
kernel/drivers/ata/pata_pdc202xx_old
kernel/drivers/ata/pata_qdi
kernel/drivers/ata/pata_radisys
+ kernel/drivers/ata/pata_rdc
kernel/drivers/ata/pata_rz1000
kernel/drivers/ata/pata_sc1200
kernel/drivers/ata/pata_sch
@@ -239,6 +246,7 @@
+base kernel/drivers/block/loop
kernel/drivers/block/loop_fish2
kernel/drivers/block/nbd # Network Block Device
+- kernel/drivers/block/osdblk
- kernel/drivers/block/paride/aten
- kernel/drivers/block/paride/bpck
- kernel/drivers/block/paride/bpck6
@@ -411,8 +419,37 @@
kernel/drivers/gpu/drm/tdfx/tdfx # 3dfx Banshee/Voodoo3+
kernel/drivers/gpu/drm/ttm/ttm
- kernel/drivers/gpu/drm/via/via
+
kernel/drivers/hid/hid
+ kernel/drivers/hid/hid-a4tech
+ kernel/drivers/hid/hid-apple
+ kernel/drivers/hid/hid-belkin
+ kernel/drivers/hid/hid-cherry
+ kernel/drivers/hid/hid-chicony
+ kernel/drivers/hid/hid-cypress
+ kernel/drivers/hid/hid-drff
+ kernel/drivers/hid/hid-ezkey
+ kernel/drivers/hid/hid-gaff
+ kernel/drivers/hid/hid-gyration
+ kernel/drivers/hid/hid-kensington
+ kernel/drivers/hid/hid-kye
+ kernel/drivers/hid/hid-logitech
+ kernel/drivers/hid/hid-microsoft
+ kernel/drivers/hid/hid-monterey
+ kernel/drivers/hid/hid-ntrig
+ kernel/drivers/hid/hid-petalynx
+ kernel/drivers/hid/hid-pl
+ kernel/drivers/hid/hid-samsung
+ kernel/drivers/hid/hid-sjoy
+ kernel/drivers/hid/hid-sony
+ kernel/drivers/hid/hid-sunplus
+ kernel/drivers/hid/hid-tmff
+ kernel/drivers/hid/hid-topseed
+ kernel/drivers/hid/hid-twinhan
+ kernel/drivers/hid/hid-wacom
+ kernel/drivers/hid/hid-zpff
kernel/drivers/hid/usbhid/usbhid
+
- kernel/drivers/hwmon/abituguru3 # Abit uGuru rev. 3
- kernel/drivers/hwmon/abituguru # Abit uGuru rev. 1 and 2
- kernel/drivers/hwmon/ad7414 # AD7414
@@ -425,10 +462,13 @@
- kernel/drivers/hwmon/adm1031 # ADM1031/ADM1030 driver
- kernel/drivers/hwmon/adm9240
- kernel/drivers/hwmon/ads7828 # 12-bit 8-channel ADC
+- kernel/drivers/hwmon/adt7462 # Analog Devices ADT7462
- kernel/drivers/hwmon/adt7470 # Analog Devices ADT7470
- kernel/drivers/hwmon/adt7473 # Analog Devices ADT7473
+- kernel/drivers/hwmon/adt7475 # Analog Devices ADT7475
- kernel/drivers/hwmon/applesmc
- kernel/drivers/hwmon/asb100 # ASB100 Bach driver
+- kernel/drivers/hwmon/asus_atk0110 # Asus ATK0110 (ACPI)
- kernel/drivers/hwmon/atxp1
- kernel/drivers/hwmon/coretemp # Intel Core/Core2 thermal sensors
- kernel/drivers/hwmon/dme1737 # SMSC DME1737, SCH311x and compatible
@@ -436,12 +476,12 @@
- kernel/drivers/hwmon/f71805f # Fintek Super-I/O
- kernel/drivers/hwmon/f71882fg # Fintek Super-I/O
- kernel/drivers/hwmon/f75375s # Fintek F75373, F75375
-- kernel/drivers/hwmon/fscher # FSC Hermes driver
- kernel/drivers/hwmon/fschmd # Unified FSC driver
-- kernel/drivers/hwmon/fscpos
+- kernel/drivers/hwmon/g760a
- kernel/drivers/hwmon/gl518sm # GL518SM driver
- kernel/drivers/hwmon/gl520sm
- kernel/drivers/hwmon/hdaps
+ kernel/drivers/hwmon/hp_accel # HP 3D DriveGuard (FATE #306448)
kernel/drivers/hwmon/hwmon
kernel/drivers/hwmon/hwmon-vid
kernel/drivers/hwmon/i5k_amb # Intel 5000 series FB-DIMM AMB
@@ -449,6 +489,8 @@
+external kernel/drivers/hwmon/ibmpex # IBM PowerExecutive power sensors, supported by IBM
- kernel/drivers/hwmon/it87 # IT8705F, IT8712F, Sis950 driver
- kernel/drivers/hwmon/k8temp # AMD K8 thermal sensors
+ kernel/drivers/hwmon/lis3lv02d # needed by hp_accel
+- kernel/drivers/hwmon/lis3lv02d_spi
- kernel/drivers/hwmon/lm63
- kernel/drivers/hwmon/lm70 # LM70 (on SPI bus)
- kernel/drivers/hwmon/lm75 # LM75 driver
@@ -461,15 +503,22 @@
- kernel/drivers/hwmon/lm90 # LM90/ADM1032 driver
- kernel/drivers/hwmon/lm92
- kernel/drivers/hwmon/lm93 # National Semi. LM93
+- kernel/drivers/hwmon/lm95241
+- kernel/drivers/hwmon/ltc4215
+- kernel/drivers/hwmon/ltc4245
+- kernel/drivers/hwmon/max1111
- kernel/drivers/hwmon/max1619 # MAX1619 sensor driver
- kernel/drivers/hwmon/max6650 # MAX6650, MAX6651
- kernel/drivers/hwmon/pc87360
- kernel/drivers/hwmon/pc87427 # PC87427 fan sensors
+- kernel/drivers/hwmon/sht15
- kernel/drivers/hwmon/sis5595
- kernel/drivers/hwmon/smsc47b397
- kernel/drivers/hwmon/smsc47m192 # SMSC LPC47M1xx thermal sensors
- kernel/drivers/hwmon/smsc47m1 # SMSC LPC47M1xx fan sensors driver
- kernel/drivers/hwmon/thmc50 # TI THMC50, Analog Dev. ADM1022
+- kernel/drivers/hwmon/tmp401
+- kernel/drivers/hwmon/tmp421
- kernel/drivers/hwmon/via686a # VIA 686A Sensor device
- kernel/drivers/hwmon/vt1211 # VIA VT1211 super-I/O sensors
- kernel/drivers/hwmon/vt8231
@@ -501,7 +550,7 @@
kernel/drivers/i2c/busses/i2c-pca-isa # ISA base PCA9564 driver
kernel/drivers/i2c/busses/i2c-pca-platform
kernel/drivers/i2c/busses/i2c-piix4
- kernel/drivers/i2c/busses/i2c-simtec
+ kernel/drivers/i2c/busses/i2c-scmi # SMBus CMI (ACPI)
kernel/drivers/i2c/busses/i2c-sis5595 # SIS5595 SMBus driver
kernel/drivers/i2c/busses/i2c-sis630 # SIS630 SMBus driver
kernel/drivers/i2c/busses/i2c-sis96x # SiS96x SMBus driver
@@ -510,16 +559,12 @@
kernel/drivers/i2c/busses/i2c-tiny-usb
kernel/drivers/i2c/busses/i2c-via # i2c for Via vt82c586b southbridge
kernel/drivers/i2c/busses/i2c-viapro # vt82c596 SMBus driver
-- kernel/drivers/i2c/busses/i2c-voodoo3 # Voodoo3 I2C/DDC driver
kernel/drivers/i2c/busses/scx200_acb # NatSemi SCx200 ACCESS.bus Driver
kernel/drivers/i2c/busses/scx200_i2c
kernel/drivers/i2c/chips/at24
kernel/drivers/i2c/chips/ds1682
kernel/drivers/i2c/chips/eeprom # I2C EEPROM driver
kernel/drivers/i2c/chips/max6875 # MAX6874/MAX6875
-- kernel/drivers/i2c/chips/pca9539 # PCA9539 GPIO driver (deprecated)
-- kernel/drivers/i2c/chips/pcf8574 # PCF8574 GPIO driver (deprecated)
-- kernel/drivers/i2c/chips/pcf8575 # PCF8575 GPIO driver (deprecated)
kernel/drivers/i2c/chips/pcf8591 # PCF8591 driver
kernel/drivers/i2c/chips/tsl2550 # Light sensor
kernel/drivers/i2c/i2c-core # I2C-Bus main module
@@ -598,6 +643,7 @@
kernel/drivers/infiniband/ulp/ipoib/ib_ipoib
kernel/drivers/infiniband/ulp/iser/ib_iser
kernel/drivers/infiniband/ulp/srp/ib_srp
+
kernel/drivers/input/evbug
kernel/drivers/input/ff-memless
kernel/drivers/input/gameport/emu10k1-gp # EMU10k1 gameport driver
@@ -628,30 +674,41 @@
kernel/drivers/input/joystick/tmdc # ThrustMaster DirectConnect joystick driver
kernel/drivers/input/joystick/turbografx # TurboGraFX parallel port interface driver
kernel/drivers/input/joystick/twidjoy # Handykey Twiddler keyboard as a joystick driver
+ kernel/drivers/input/joystick/walkera0701
kernel/drivers/input/joystick/warrior # Logitech WingMan Warrior joystick driver
kernel/drivers/input/joystick/xpad
kernel/drivers/input/joystick/zhenhua
+ kernel/drivers/input/keyboard/adp5588-keys
kernel/drivers/input/keyboard/gpio_keys
+ kernel/drivers/input/keyboard/lm8323
+ kernel/drivers/input/keyboard/matrix_keypad
+ kernel/drivers/input/keyboard/max7359_keypad
kernel/drivers/input/keyboard/newtonkbd # Newton keyboard driver
+ kernel/drivers/input/keyboard/opencores-kbd
kernel/drivers/input/keyboard/sunkbd # Sun keyboard driver
+ kernel/drivers/input/keyboard/twl4030_keypad
kernel/drivers/input/keyboard/xtkbd # XT keyboard driver
kernel/drivers/input/misc/apanel
kernel/drivers/input/misc/ati_remote
kernel/drivers/input/misc/ati_remote2
kernel/drivers/input/misc/atlas_btns
+ kernel/drivers/input/misc/cm109
kernel/drivers/input/misc/keyspan_remote
+ kernel/drivers/input/misc/pcap_keys
+ kernel/drivers/input/misc/pcf50633-input
kernel/drivers/input/misc/pcspkr
kernel/drivers/input/misc/powermate
+ kernel/drivers/input/misc/rotary_encoder
+ kernel/drivers/input/misc/twl4030-pwrbutton
kernel/drivers/input/misc/uinput # User level driver support for input subsystem
-- kernel/drivers/input/misc/wistron_btns
+ kernel/drivers/input/misc/winbond-cir
kernel/drivers/input/misc/yealink
kernel/drivers/input/mouse/appletouch
kernel/drivers/input/mouse/bcm5974
kernel/drivers/input/mouse/gpio_mouse
-+isa kernel/drivers/input/mouse/inport
-+isa kernel/drivers/input/mouse/logibm
-+isa kernel/drivers/input/mouse/pc110pad
kernel/drivers/input/mouse/sermouse # Serial mouse driver
+ kernel/drivers/input/mouse/synaptics_i2c
+ kernel/drivers/input/mouse/vsxxxaa
kernel/drivers/input/serio/ct82c710 # 82C710 C&T mouse port chip driver
kernel/drivers/input/serio/parkbd # Parallel port to Keyboard port adapter driver
kernel/drivers/input/serio/pcips2 # PCI PS/2 keyboard/mouse driver
@@ -663,22 +720,36 @@
kernel/drivers/input/tablet/gtco
kernel/drivers/input/tablet/kbtab
kernel/drivers/input/tablet/wacom
+ kernel/drivers/input/touchscreen/ad7877
+ kernel/drivers/input/touchscreen/ad7879
kernel/drivers/input/touchscreen/ads7846 # ADS7846 based touchscreen and sensor driver
+ kernel/drivers/input/touchscreen/eeti_ts
kernel/drivers/input/touchscreen/elo # Elo serial touchscreen driver
kernel/drivers/input/touchscreen/elousb
kernel/drivers/input/touchscreen/fujitsu_ts
kernel/drivers/input/touchscreen/gunze # Gunze AHL-51S touchscreen driver
kernel/drivers/input/touchscreen/htcpen
kernel/drivers/input/touchscreen/inexio
+ kernel/drivers/input/touchscreen/mcs5000_ts
kernel/drivers/input/touchscreen/mk712 # ICS MicroClock MK712 TouchScreen driver
kernel/drivers/input/touchscreen/mtouch # MicroTouch (3M) serial touchscreen driver
+ kernel/drivers/input/touchscreen/pcap_ts
kernel/drivers/input/touchscreen/penmount
kernel/drivers/input/touchscreen/touchit213
kernel/drivers/input/touchscreen/touchright
kernel/drivers/input/touchscreen/touchwin
+ kernel/drivers/input/touchscreen/tsc2007
kernel/drivers/input/touchscreen/ucb1400_ts
kernel/drivers/input/touchscreen/usbtouchscreen
+ kernel/drivers/input/touchscreen/w90p910_ts
+ kernel/drivers/input/touchscreen/wacom_w8001
kernel/drivers/input/touchscreen/wm97xx-ts
++isa kernel/drivers/input/mouse/inport
++isa kernel/drivers/input/mouse/logibm
++isa kernel/drivers/input/mouse/pc110pad
+- kernel/drivers/input/misc/wistron_btns
+
+
+isa kernel/drivers/isdn/act2000/act2000
kernel/drivers/isdn/capi/capi # CAPI4Linux: Userspace /dev/capi20 interface
kernel/drivers/isdn/capi/capidrv # CAPI4Linux: Interface to ISDN4Linux
@@ -750,7 +821,7 @@
kernel/drivers/md/dm-regions
kernel/drivers/md/dm-region_hash
kernel/drivers/md/dm-round-robin # Round-robin path selector
- kernel/drivers/md/dm-leastpending-path # Least pending path selector
+ kernel/drivers/md/dm-least-pending
kernel/drivers/md/dm-queue-length # Queue-lenght oriented dynamic load balancer
kernel/drivers/md/dm-service-time # Service-time oriented dynamic load balancer
kernel/drivers/md/dm-snapshot # device-mapper snapshot target
@@ -1193,6 +1264,7 @@
kernel/drivers/net/can/vcan
- kernel/drivers/net/cassini
- kernel/drivers/net/chelsio/cxgb # Chelsio 10Gb Ethernet Driver
+ kernel/drivers/net/cnic
+isa kernel/drivers/net/cs89x0
kernel/drivers/net/cxgb3/cxgb3
+isa kernel/drivers/net/de600
@@ -1235,6 +1307,7 @@
+external kernel/drivers/net/ibmveth # IBM eServer i/pSeries Virtual Ethernet Device Driver
kernel/drivers/net/ifb # IMQ replacement
kernel/drivers/net/igb/igb # Intel Gigabit Ethernet driver
+ kernel/drivers/net/igbvf/igbvf # Intel Gigabit Ethernet SR-IOV driver
kernel/drivers/net/ipg
kernel/drivers/net/irda/act200l-sir # ACTiSYS ACT-IR200L dongle driver
kernel/drivers/net/irda/actisys-sir # ACTiSYS IR-220L and IR-220L+ dongle driver
@@ -1538,6 +1611,7 @@
kernel/drivers/s390/char/monreader
kernel/drivers/s390/char/monwriter
kernel/drivers/s390/char/raw3270
+ kernel/drivers/s390/char/sclp_async
kernel/drivers/s390/char/sclp_cpi
kernel/drivers/s390/char/tape
kernel/drivers/s390/char/tape_34xx
@@ -1628,6 +1702,8 @@
kernel/drivers/scsi/mvsas
+isa kernel/drivers/scsi/NCR53c406a
kernel/drivers/scsi/nsp32
+- kernel/drivers/scsi/osd/libosd
+- kernel/drivers/scsi/osd/osd
kernel/drivers/scsi/osst # OnStream {DI-|FW-|SC-|USB}{30|50} Tape Driver
+isa kernel/drivers/scsi/pas16
kernel/drivers/scsi/pcmcia/aha152x_cs
@@ -1635,6 +1711,7 @@
kernel/drivers/scsi/pcmcia/nsp_cs
kernel/drivers/scsi/pcmcia/qlogic_cs # Driver for the PCMCIA Qlogic FAS SCSI controllers
kernel/drivers/scsi/pcmcia/sym53c500_cs # SYM53C500 PCMCIA SCSI driver
+ kernel/drivers/scsi/pmcraid
kernel/drivers/scsi/ppa
kernel/drivers/scsi/ps3rom # Sony PS3 ROM update
kernel/drivers/scsi/qla1280 # Qlogic ISP SCSI (qla1x80/qla1x160) driver
@@ -1693,9 +1770,12 @@
- kernel/drivers/telephony/phonedev
kernel/drivers/thermal/thermal_sys # Generic thermal zone interface
kernel/drivers/uio/uio
+ kernel/drivers/uio/uio_aec
kernel/drivers/uio/uio_cif
+ kernel/drivers/uio/uio_pci_generic
kernel/drivers/uio/uio_pdrv
kernel/drivers/uio/uio_pdrv_genirq
+ kernel/drivers/uio/uio_sercos3
kernel/drivers/uio/uio_smx
- kernel/drivers/usb/atm/cxacru # driver for USB ADSL modems based on Conexant AccessRunner chipset
kernel/drivers/usb/atm/speedtch
@@ -1706,15 +1786,22 @@
kernel/drivers/usb/class/cdc-acm # USB Abstract Control Model driver for USB modems and ISDN adapters
kernel/drivers/usb/class/cdc-wdm
kernel/drivers/usb/class/usblp # USB Printer Device Class driver
+ kernel/drivers/usb/class/usbtmc # USB test and measurement driver
+base kernel/drivers/usb/core/usbcore
+base kernel/drivers/usb/host/ehci-hcd # 2003-Dec-29 USB 2.0 'Enhanced' Host Controller (EHCI) Driver
+- kernel/drivers/usb/host/hwa-hc
+- kernel/drivers/usb/host/isp1362-hcd
- kernel/drivers/usb/host/isp116x-hcd # ISP116x HCD (Host Controller Driver) for USB
- kernel/drivers/usb/host/isp1760
+base kernel/drivers/usb/host/ohci-hcd # 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver
+- kernel/drivers/usb/host/oxu210hp-hcd
kernel/drivers/usb/host/r8a66597-hcd
- kernel/drivers/usb/host/sl811_cs # PCMCIA driver for SL811HS (as found in REX-CFU1U)
- kernel/drivers/usb/host/sl811-hcd
+- kernel/drivers/usb/host/u132-hcd
+base kernel/drivers/usb/host/uhci-hcd # USB Universal Host Controller Interface driver
+- kernel/drivers/usb/host/whci/whci-hcd
+ kernel/drivers/usb/host/xhci
kernel/drivers/usb/image/mdc800 # USB Driver for Mustek MDC800 Digital Camera
kernel/drivers/usb/image/microtek # Microtek Scanmaker X6 USB scanner driver
kernel/drivers/usb/misc/adutux
@@ -1730,22 +1817,21 @@
kernel/drivers/usb/misc/isight_firmware
kernel/drivers/usb/misc/ldusb # Generic USB driver for report based interrupt in/out devices
kernel/drivers/usb/misc/legousbtower # LEGO USB Tower Driver
- kernel/drivers/usb/misc/phidget
- kernel/drivers/usb/misc/phidgetkit
- kernel/drivers/usb/misc/phidgetmotorcontrol
- kernel/drivers/usb/misc/phidgetservo # USB PhidgetServo Driver
kernel/drivers/usb/misc/rio500 # USB Rio 500 driver
- kernel/drivers/usb/misc/sisusbvga/sisusbvga # driver for SiS315(E) based USB2VGA dongles
kernel/drivers/usb/misc/trancevibrator
kernel/drivers/usb/misc/usblcd # USBLCD Driver Version 1.04
kernel/drivers/usb/misc/usbled # USB LED Driver
kernel/drivers/usb/misc/uss720 # USB Parport Cable driver for Cables using the Lucent Technologies USS720 Chip
+ kernel/drivers/usb/misc/usbsevseg
+- kernel/drivers/usb/misc/usbtest
+ kernel/drivers/usb/misc/vstusb
- kernel/drivers/usb/mon/usbmon # The USB Monitor
kernel/drivers/usb/serial/aircable
kernel/drivers/usb/serial/ark3116
kernel/drivers/usb/serial/belkin_sa # USB Belkin Serial converter driver
kernel/drivers/usb/serial/ch341
- kernel/drivers/usb/serial/cp2101 # Silicon Laboratories CP2101/CP2102 USB to RS232 serial adaptor driver
+ kernel/drivers/usb/serial/cp210x # Silicon Laboratories CP2101/CP2102 USB to RS232 serial adaptor driver
kernel/drivers/usb/serial/cyberjack # REINER SCT cyberJack pinpad/e-com USB Chipcard Reader Driver
kernel/drivers/usb/serial/cypress_m8
kernel/drivers/usb/serial/digi_acceleport # Digi AccelePort USB-2/USB-4 Serial Converter driver
@@ -1770,18 +1856,37 @@
kernel/drivers/usb/serial/moto_modem
kernel/drivers/usb/serial/navman # USB Navman GPS device
kernel/drivers/usb/serial/omninet # USB ZyXEL omni.net LCD PLUS Driver
+ kernel/drivers/usb/serial/opticon
kernel/drivers/usb/serial/option # USB Wireless modems
kernel/drivers/usb/serial/oti6858
kernel/drivers/usb/serial/pl2303 # Prolific PL2303 USB to serial adaptor driver
+ kernel/drivers/usb/serial/qcserial
kernel/drivers/usb/serial/safe_serial # USB Safe Encapsulated Serial
+ kernel/drivers/usb/serial/siemens_mpi
kernel/drivers/usb/serial/sierra # USB Sierra Wireless Modems
kernel/drivers/usb/serial/spcp8x5
+ kernel/drivers/usb/serial/symbolserial
kernel/drivers/usb/serial/ti_usb_3410_5052
kernel/drivers/usb/serial/usb_debug
kernel/drivers/usb/serial/usbserial # USB Serial Driver core
kernel/drivers/usb/serial/visor # USB HandSpring Visor / Palm OS driver
kernel/drivers/usb/serial/whiteheat # USB ConnectTech WhiteHEAT driver
+base kernel/drivers/usb/storage/usb-storage # USB Mass Storage driver for Linux
++base kernel/drivers/usb/storage/ums-alauda
++base kernel/drivers/usb/storage/ums-cypress
++base kernel/drivers/usb/storage/ums-datafab
++base kernel/drivers/usb/storage/ums-freecom
++base kernel/drivers/usb/storage/ums-isd200
++base kernel/drivers/usb/storage/ums-jumpshot
++base kernel/drivers/usb/storage/ums-karma
++base kernel/drivers/usb/storage/ums-onetouch
++base kernel/drivers/usb/storage/ums-sddr09
++base kernel/drivers/usb/storage/ums-sddr55
++base kernel/drivers/usb/storage/ums-usbat
+- kernel/drivers/usb/wusbcore/wusb-cbaf
+- kernel/drivers/usb/wusbcore/wusb-wa
+- kernel/drivers/usb/wusbcore/wusbcore
+
- kernel/drivers/video/arcfb # FB driver for Arc monochrome LCD board
kernel/drivers/video/arkfb
kernel/drivers/video/aty/aty128fb # FBDev driver for ATI Rage128 / Pro cards
@@ -1901,9 +2006,10 @@
+isa kernel/drivers/watchdog/wdt
kernel/drivers/watchdog/wdt_pci # Driver for the ICS PCI-WDT500/501 watchdog cards
kernel/drivers/xen/blkback/blkbk # Xen block device backend
- kernel/drivers/xen/blkback/blkback_pagemap # Xen block device backend
+ kernel/drivers/xen/blkback/blkback-pagemap
+base kernel/drivers/xen/blkfront/xenblk # Xen block device frontend
kernel/drivers/xen/blktap/blktap
+- kernel/drivers/xen/blktap2/blktap2
kernel/drivers/xen/core/domctl
kernel/drivers/xen/gntdev/gntdev
kernel/drivers/xen/netback/netbk # Xen network device backend
@@ -1916,6 +2022,8 @@
+external kernel/drivers/xen/sfc_netback/sfc_netfront
+external kernel/drivers/xen/sfc_netutil/sfc_netutil
kernel/drivers/xen/tpmback/tpmbk # Xen TPM device backend
+- kernel/drivers/xen/usbback/usbbk
+- kernel/drivers/xen/usbfront/xen-hcd
kernel/drivers/xen/xenbus/xenbus_be # Xen XenBus backend driver support module
kernel/fs/9p/9p
- kernel/fs/adfs/adfs
@@ -1938,7 +2046,7 @@
kernel/fs/exportfs/exportfs
kernel/fs/ext2/ext2 # Second Extended Filesystem
+base kernel/fs/ext3/ext3 # Second Extended Filesystem with journaling extensions
-- kernel/fs/ext4/ext4dev
+- kernel/fs/ext4/ext4
kernel/fs/fat/fat
- kernel/fs/freevxfs/freevxfs # Veritas Filesystem (VxFS) driver
kernel/fs/fuse/fuse # FUSE: Filesystem in Userspace
@@ -1948,6 +2056,7 @@
kernel/fs/hfs/hfs
kernel/fs/hfsplus/hfsplus # Extended Macintosh Filesystem
- kernel/fs/hpfs/hpfs
+ kernel/fs/isofs/isofs
kernel/fs/jbd2/jbd2
+base kernel/fs/jbd/jbd
- kernel/fs/jffs2/jffs2 # The Journalling Flash File System, v2
@@ -2377,6 +2486,7 @@
kernel/sound/core/seq/snd-seq-midi-event # MIDI byte <-> sequencer event coder
kernel/sound/core/seq/snd-seq-virmidi # Virtual Raw MIDI client on Sequencer
kernel/sound/core/snd # Advanced Linux Sound Architecture driver for soundcards.
+ kernel/sound/core/snd-hrtimer # HRTimer backend
kernel/sound/core/snd-hwdep # Hardware dependent layer
kernel/sound/core/snd-page-alloc # Memory allocator for ALSA system.
kernel/sound/core/snd-pcm # Midlevel PCM code for ALSA.
@@ -2419,6 +2529,9 @@
+isa kernel/sound/isa/gus/snd-gusmax
+isa kernel/sound/isa/gus/snd-interwave
+isa kernel/sound/isa/gus/snd-interwave-stb
++isa kernel/sound/isa/msnd/snd-msnd-classic
++isa kernel/sound/isa/msnd/snd-msnd-lib
++isa kernel/sound/isa/msnd/snd-msnd-pinnacle
+isa kernel/sound/isa/opti9xx/snd-miro
+isa kernel/sound/isa/opti9xx/snd-opti92x-ad1848
+isa kernel/sound/isa/opti9xx/snd-opti92x-cs4231
@@ -2443,21 +2556,24 @@
+isa kernel/sound/isa/snd-sgalaxy
+isa kernel/sound/isa/snd-sscape
+isa kernel/sound/isa/wavefront/snd-wavefront
- kernel/sound/oss/ad1848
- kernel/sound/oss/aedsp16 # Audio Excel DSP 16 Driver Version 1.3
- kernel/sound/oss/kahlua # Kahlua VSA1 PCI Audio
- kernel/sound/oss/mpu401
- kernel/sound/oss/opl3
- kernel/sound/oss/pas2
- kernel/sound/oss/pss # Module for PSS sound cards (based on AD1848, ADSP-2115 and ESC614). This module includes control of output amplifier and synth volume of the Beethoven ADSP-16 card (this may work with other PSS cards).
- kernel/sound/oss/sb_lib
- kernel/sound/oss/sb # OSS Soundblaster ISA PnP and legacy sound driver
- kernel/sound/oss/sound # OSS Sound subsystem
- kernel/sound/oss/sscape
- kernel/sound/oss/trix
- kernel/sound/oss/uart401
- kernel/sound/oss/uart6850
- kernel/sound/oss/v_midi
+- kernel/sound/oss/ad1848
+- kernel/sound/oss/aedsp16 # Audio Excel DSP 16 Driver Version 1.3
+- kernel/sound/oss/kahlua # Kahlua VSA1 PCI Audio
+- kernel/sound/oss/mpu401
+- kernel/sound/oss/opl3
+- kernel/sound/oss/msnd
+- kernel/sound/oss/msnd_classic
+- kernel/sound/oss/msnd_pinnacle
+- kernel/sound/oss/pas2
+- kernel/sound/oss/pss # Module for PSS sound cards (based on AD1848, ADSP-2115 and ESC614). This module includes control of output amplifier and synth volume of the Beethoven ADSP-16 card (this may work with other PSS cards).
+- kernel/sound/oss/sb_lib
+- kernel/sound/oss/sb # OSS Soundblaster ISA PnP and legacy sound driver
+- kernel/sound/oss/sound # OSS Sound subsystem
+- kernel/sound/oss/sscape
+- kernel/sound/oss/trix
+- kernel/sound/oss/uart401
+- kernel/sound/oss/uart6850
+- kernel/sound/oss/v_midi
kernel/sound/pci/ac97/snd-ac97-codec # Universal interface for Audio Codec '97
kernel/sound/pci/ali5451/snd-ali5451 # ALI M5451
kernel/sound/pci/au88x0/snd-au8810 # Aureal vortex
@@ -2475,7 +2591,9 @@
kernel/sound/pci/echoaudio/snd-gina24 # Echoaudio Gina24
kernel/sound/pci/echoaudio/snd-indigodj # Echoaudio Indigo DJ
kernel/sound/pci/echoaudio/snd-indigo # Echoaudio Indigo
+ kernel/sound/pci/echoaudio/snd-indigodjx
kernel/sound/pci/echoaudio/snd-indigoio # Echoaudio Indigo IO
+ kernel/sound/pci/echoaudio/snd-indigoiox
kernel/sound/pci/echoaudio/snd-layla20 # Echoaudio Layla20
kernel/sound/pci/echoaudio/snd-layla24 # Echoaudio Layla24
kernel/sound/pci/echoaudio/snd-mia # Echoaudio Mia
@@ -2487,11 +2605,12 @@
kernel/sound/pci/hda/snd-hda-codec-analog # Analog Device HD-audio codecs
kernel/sound/pci/hda/snd-hda-codec-atihdmi # ATI/AMD HD-audio (HDMI) codecs
kernel/sound/pci/hda/snd-hda-codec-ca0110 # CreativeLabs HD-audio codecs
+ kernel/sound/pci/hda/snd-hda-codec-cirrus
kernel/sound/pci/hda/snd-hda-codec-cmedia # C-Media HD-audio codecs
kernel/sound/pci/hda/snd-hda-codec-conexant # Conexant HD-audio codecs
kernel/sound/pci/hda/snd-hda-codec-idt # IDT/Sigmatel HD-audio codecs
kernel/sound/pci/hda/snd-hda-codec-intelhdmi # Intel HD-audio (HDMI) codecs
- kernel/sound/pci/hda/snd-hda-codec-nvidia # Nvidia HD-audio (HDMI) codecs
+ kernel/sound/pci/hda/snd-hda-codec-nvhdmi # Nvidia HD-audio (HDMI) codecs
kernel/sound/pci/hda/snd-hda-codec-realtek # Realtek HD-audio codecs
kernel/sound/pci/hda/snd-hda-codec-si3054 # SI-compatible HD-audio modem codecs
kernel/sound/pci/hda/snd-hda-codec-via # VIA HD-audio codecs
@@ -2500,6 +2619,7 @@
kernel/sound/pci/ice1712/snd-ice1724 # ICEnsemble ICE1724 (Envy24HT)
kernel/sound/pci/ice1712/snd-ice17xx-ak4xxx # ICEnsemble ICE17xx <-> AK4xxx AD/DA chip interface
kernel/sound/pci/korg1212/snd-korg1212 # korg1212
+- kernel/sound/pci/lx6464es/snd-lx6464es
kernel/sound/pci/mixart/snd-mixart # Digigram miXart
kernel/sound/pci/nm256/snd-nm256 # NeoMagic NM256AV/ZX
kernel/sound/pci/oxygen/snd-hifier # TempoTec HiFier Fantasia
@@ -2551,3 +2671,4 @@
kernel/sound/usb/snd-usb-audio # USB Audio
kernel/sound/usb/snd-usb-lib # USB Audio/MIDI helper module
kernel/sound/usb/usx2y/snd-usb-usx2y # TASCAM US-X2Y Version 0.7.2
+- kernel/sound/usb/usx2y/snd-usb-us122l
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org