Hello community,
here is the log from the commit of package kernel-source
checked in at Mon Feb 25 17:17:17 CET 2008.
--------
--- kernel-source/kernel-debug.changes 2008-02-15 01:25:13.000000000 +0100
+++ /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes 2008-02-22 18:21:43.000000000 +0100
@@ -1,0 +2,117 @@
+Fri Feb 22 16:48:37 CET 2008 - jeffm@suse.de
+
+- scripts/embargo-filter: Disable check for non-existant patches.
+
+-------------------------------------------------------------------
+Fri Feb 22 15:27:05 CET 2008 - schwab@suse.de
+
+- Update kdb patches.
+
+-------------------------------------------------------------------
+Fri Feb 22 13:10:33 CET 2008 - jbeulich@novell.com
+
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+
+-------------------------------------------------------------------
+Thu Feb 21 16:41:27 CET 2008 - sdietrich@suse.de
+
+- Update config files: update RT options for adaptive RT locks
+
+-------------------------------------------------------------------
+Thu Feb 21 15:30:06 CET 2008 - sdietrich@suse.de
+
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+
+-------------------------------------------------------------------
+Thu Feb 21 09:17:38 CET 2008 - jbeulich@novell.com
+
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+
+-------------------------------------------------------------------
+Wed Feb 20 20:56:32 CET 2008 - ghaskins@suse.de
+
+- adaptive-locking v20
+
+-------------------------------------------------------------------
+Wed Feb 20 20:36:00 CET 2008 - ghaskins@suse.de
+
+- adaptive-locking v19
+
+-------------------------------------------------------------------
+Wed Feb 20 19:22:20 CET 2008 - jeffm@suse.de
+
+- Update config files for dmraid45.
+
+-------------------------------------------------------------------
+Wed Feb 20 13:57:56 CET 2008 - bwalle@suse.de
+
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+
+-------------------------------------------------------------------
+Wed Feb 20 13:17:21 CET 2008 - fseidel@suse.de
+
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+
+-------------------------------------------------------------------
+Tue Feb 19 21:55:32 CET 2008 - jeffm@suse.de
+
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+
+-------------------------------------------------------------------
+Fri Feb 15 19:24:24 CET 2008 - sdietrich@suse.de
+
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+
+-------------------------------------------------------------------
+Fri Feb 15 19:04:25 CET 2008 - sdietrich@suse.de
+
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
+
+-------------------------------------------------------------------
kernel-default.changes: same change
kernel-dummy.changes: same change
kernel-kdump.changes: same change
kernel-pae.changes: same change
kernel-ppc64.changes: same change
kernel-ps3.changes: same change
kernel-rt.changes: same change
kernel-rt_debug.changes: same change
kernel-s390.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-vanilla.changes: same change
kernel-xen.changes: same change
Old:
----
kernel-xenpae.changes
kernel-xenpae.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.Q28875/_old 2008-02-25 17:14:51.000000000 +0100
+++ /var/tmp/diff_new_pack.Q28875/_new 2008-02-25 17:14:51.000000000 +0100
@@ -44,7 +44,7 @@
Name: kernel-debug
Summary: A Debug Version of the Kernel
Version: 2.6.24.1
-Release: 1
+Release: 5
License: GPL v2 or later
Group: System/Kernel
AutoReqProv: on
@@ -176,7 +176,7 @@
-Source Timestamp: 2008/02/14 16:18:52 UTC
+Source Timestamp: 2008/02/22 15:49:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.24.tar.bz2 ]; then
@@ -463,17 +463,26 @@
# kernel -- it's (nearly) impossible to get the page size of a vmlinux file.
%ifarch ia64
if [ -f $CONFIGFILE ] ; then
- if grep CONFIG_IA64_PAGE_SIZE_16KB $CONFIGFILE >/dev/null ; then
+ if grep ^CONFIG_IA64_PAGE_SIZE_16KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=16384/"
- elif grep CONFIG_IA64_PAGE_SIZE_64KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_64KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
- elif grep CONFIG_IA64_PAGE_SIZE_4KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_4KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
else
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=8192/"
fi
fi
%endif
+%ifarch ppc64
+if [ -f $CONFIGFILE ] ; then
+ if grep ^CONFIG_PPC_64K_PAGES .config >/dev/null ; then
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
+ else
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
+ fi
+fi
+%endif
%endif
%endif
%endif
@@ -558,8 +567,82 @@
%postun -f postun.sh
%files -f kernel.files
-
%changelog
+* Fri Feb 22 2008 jeffm@suse.de
+- scripts/embargo-filter: Disable check for non-existant patches.
+* Fri Feb 22 2008 schwab@suse.de
+- Update kdb patches.
+* Fri Feb 22 2008 jbeulich@novell.com
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+* Thu Feb 21 2008 sdietrich@suse.de
+- Update config files: update RT options for adaptive RT locks
+* Thu Feb 21 2008 sdietrich@suse.de
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+* Thu Feb 21 2008 jbeulich@novell.com
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v20
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v19
+* Wed Feb 20 2008 jeffm@suse.de
+- Update config files for dmraid45.
+* Wed Feb 20 2008 bwalle@suse.de
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+* Wed Feb 20 2008 fseidel@suse.de
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+* Tue Feb 19 2008 jeffm@suse.de
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+* Fri Feb 15 2008 sdietrich@suse.de
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+* Fri Feb 15 2008 sdietrich@suse.de
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
* Thu Feb 14 2008 jeffm@suse.de
- Removed unused OCFS2 patches.
* Thu Feb 14 2008 jeffm@suse.de
kernel-default.spec: same change
++++++ kernel-dummy.spec ++++++
--- /var/tmp/diff_new_pack.Q28875/_old 2008-02-25 17:14:52.000000000 +0100
+++ /var/tmp/diff_new_pack.Q28875/_new 2008-02-25 17:14:52.000000000 +0100
@@ -16,7 +16,7 @@
Name: kernel-dummy
Summary: Internal dummy package for synchronizing release numbers
Version: 2.6.24.1
-Release: 1
+Release: 5
License: GPL v2 or later
Group: System/Kernel
AutoReqProv: off
@@ -29,7 +29,7 @@
--------
Andreas Gruenbacher
-Source Timestamp: 2008/02/14 16:18:52 UTC
+Source Timestamp: 2008/02/22 15:49:32 UTC
%install
rm -rf %buildroot
@@ -39,8 +39,82 @@
%files
%defattr(-, root, root)
/etc/dummy
-
%changelog
+* Fri Feb 22 2008 jeffm@suse.de
+- scripts/embargo-filter: Disable check for non-existant patches.
+* Fri Feb 22 2008 schwab@suse.de
+- Update kdb patches.
+* Fri Feb 22 2008 jbeulich@novell.com
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+* Thu Feb 21 2008 sdietrich@suse.de
+- Update config files: update RT options for adaptive RT locks
+* Thu Feb 21 2008 sdietrich@suse.de
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+* Thu Feb 21 2008 jbeulich@novell.com
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v20
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v19
+* Wed Feb 20 2008 jeffm@suse.de
+- Update config files for dmraid45.
+* Wed Feb 20 2008 bwalle@suse.de
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+* Wed Feb 20 2008 fseidel@suse.de
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+* Tue Feb 19 2008 jeffm@suse.de
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+* Fri Feb 15 2008 sdietrich@suse.de
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+* Fri Feb 15 2008 sdietrich@suse.de
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
* Thu Feb 14 2008 jeffm@suse.de
- Removed unused OCFS2 patches.
* Thu Feb 14 2008 jeffm@suse.de
++++++ kernel-kdump.spec ++++++
--- /var/tmp/diff_new_pack.Q28875/_old 2008-02-25 17:14:52.000000000 +0100
+++ /var/tmp/diff_new_pack.Q28875/_new 2008-02-25 17:14:52.000000000 +0100
@@ -44,7 +44,7 @@
Name: kernel-kdump
Summary: kernel for kdump
Version: 2.6.24.1
-Release: 1
+Release: 5
License: GPL v2 or later
Group: System/Kernel
AutoReqProv: on
@@ -175,7 +175,7 @@
-Source Timestamp: 2008/02/14 16:18:52 UTC
+Source Timestamp: 2008/02/22 15:49:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.24.tar.bz2 ]; then
@@ -462,17 +462,26 @@
# kernel -- it's (nearly) impossible to get the page size of a vmlinux file.
%ifarch ia64
if [ -f $CONFIGFILE ] ; then
- if grep CONFIG_IA64_PAGE_SIZE_16KB $CONFIGFILE >/dev/null ; then
+ if grep ^CONFIG_IA64_PAGE_SIZE_16KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=16384/"
- elif grep CONFIG_IA64_PAGE_SIZE_64KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_64KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
- elif grep CONFIG_IA64_PAGE_SIZE_4KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_4KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
else
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=8192/"
fi
fi
%endif
+%ifarch ppc64
+if [ -f $CONFIGFILE ] ; then
+ if grep ^CONFIG_PPC_64K_PAGES .config >/dev/null ; then
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
+ else
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
+ fi
+fi
+%endif
%endif
%endif
%endif
@@ -557,8 +566,82 @@
%postun -f postun.sh
%files -f kernel.files
-
%changelog
+* Fri Feb 22 2008 jeffm@suse.de
+- scripts/embargo-filter: Disable check for non-existant patches.
+* Fri Feb 22 2008 schwab@suse.de
+- Update kdb patches.
+* Fri Feb 22 2008 jbeulich@novell.com
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+* Thu Feb 21 2008 sdietrich@suse.de
+- Update config files: update RT options for adaptive RT locks
+* Thu Feb 21 2008 sdietrich@suse.de
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+* Thu Feb 21 2008 jbeulich@novell.com
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v20
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v19
+* Wed Feb 20 2008 jeffm@suse.de
+- Update config files for dmraid45.
+* Wed Feb 20 2008 bwalle@suse.de
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+* Wed Feb 20 2008 fseidel@suse.de
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+* Tue Feb 19 2008 jeffm@suse.de
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+* Fri Feb 15 2008 sdietrich@suse.de
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+* Fri Feb 15 2008 sdietrich@suse.de
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
* Thu Feb 14 2008 jeffm@suse.de
- Removed unused OCFS2 patches.
* Thu Feb 14 2008 jeffm@suse.de
kernel-pae.spec: same change
++++++ kernel-ppc64.spec ++++++
--- /var/tmp/diff_new_pack.Q28875/_old 2008-02-25 17:14:52.000000000 +0100
+++ /var/tmp/diff_new_pack.Q28875/_new 2008-02-25 17:14:52.000000000 +0100
@@ -43,7 +43,7 @@
Name: kernel-ppc64
Summary: Kernel for ppc64 Systems
Version: 2.6.24.1
-Release: 1
+Release: 5
License: GPL v2 or later; LGPL v2.1 or later
Group: System/Kernel
AutoReqProv: on
@@ -187,7 +187,7 @@
Tom Gall
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008/02/14 16:18:52 UTC
+Source Timestamp: 2008/02/22 15:49:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.24.tar.bz2 ]; then
@@ -474,17 +474,26 @@
# kernel -- it's (nearly) impossible to get the page size of a vmlinux file.
%ifarch ia64
if [ -f $CONFIGFILE ] ; then
- if grep CONFIG_IA64_PAGE_SIZE_16KB $CONFIGFILE >/dev/null ; then
+ if grep ^CONFIG_IA64_PAGE_SIZE_16KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=16384/"
- elif grep CONFIG_IA64_PAGE_SIZE_64KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_64KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
- elif grep CONFIG_IA64_PAGE_SIZE_4KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_4KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
else
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=8192/"
fi
fi
%endif
+%ifarch ppc64
+if [ -f $CONFIGFILE ] ; then
+ if grep ^CONFIG_PPC_64K_PAGES .config >/dev/null ; then
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
+ else
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
+ fi
+fi
+%endif
%endif
%endif
%endif
@@ -569,8 +578,82 @@
%postun -f postun.sh
%files -f kernel.files
-
%changelog
+* Fri Feb 22 2008 jeffm@suse.de
+- scripts/embargo-filter: Disable check for non-existant patches.
+* Fri Feb 22 2008 schwab@suse.de
+- Update kdb patches.
+* Fri Feb 22 2008 jbeulich@novell.com
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+* Thu Feb 21 2008 sdietrich@suse.de
+- Update config files: update RT options for adaptive RT locks
+* Thu Feb 21 2008 sdietrich@suse.de
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+* Thu Feb 21 2008 jbeulich@novell.com
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v20
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v19
+* Wed Feb 20 2008 jeffm@suse.de
+- Update config files for dmraid45.
+* Wed Feb 20 2008 bwalle@suse.de
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+* Wed Feb 20 2008 fseidel@suse.de
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+* Tue Feb 19 2008 jeffm@suse.de
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+* Fri Feb 15 2008 sdietrich@suse.de
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+* Fri Feb 15 2008 sdietrich@suse.de
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
* Thu Feb 14 2008 jeffm@suse.de
- Removed unused OCFS2 patches.
* Thu Feb 14 2008 jeffm@suse.de
++++++ kernel-ps3.spec ++++++
--- /var/tmp/diff_new_pack.Q28875/_old 2008-02-25 17:14:53.000000000 +0100
+++ /var/tmp/diff_new_pack.Q28875/_new 2008-02-25 17:14:53.000000000 +0100
@@ -43,7 +43,7 @@
Name: kernel-ps3
Summary: kernel for ps3 bootloader
Version: 2.6.24.1
-Release: 1
+Release: 5
License: GPL v2 or later
Group: System/Kernel
AutoReqProv: on
@@ -173,7 +173,7 @@
-Source Timestamp: 2008/02/14 16:18:52 UTC
+Source Timestamp: 2008/02/22 15:49:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.24.tar.bz2 ]; then
@@ -460,17 +460,26 @@
# kernel -- it's (nearly) impossible to get the page size of a vmlinux file.
%ifarch ia64
if [ -f $CONFIGFILE ] ; then
- if grep CONFIG_IA64_PAGE_SIZE_16KB $CONFIGFILE >/dev/null ; then
+ if grep ^CONFIG_IA64_PAGE_SIZE_16KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=16384/"
- elif grep CONFIG_IA64_PAGE_SIZE_64KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_64KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
- elif grep CONFIG_IA64_PAGE_SIZE_4KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_4KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
else
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=8192/"
fi
fi
%endif
+%ifarch ppc64
+if [ -f $CONFIGFILE ] ; then
+ if grep ^CONFIG_PPC_64K_PAGES .config >/dev/null ; then
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
+ else
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
+ fi
+fi
+%endif
%endif
%endif
%endif
@@ -555,8 +564,82 @@
%postun -f postun.sh
%files -f kernel.files
-
%changelog
+* Fri Feb 22 2008 jeffm@suse.de
+- scripts/embargo-filter: Disable check for non-existant patches.
+* Fri Feb 22 2008 schwab@suse.de
+- Update kdb patches.
+* Fri Feb 22 2008 jbeulich@novell.com
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+* Thu Feb 21 2008 sdietrich@suse.de
+- Update config files: update RT options for adaptive RT locks
+* Thu Feb 21 2008 sdietrich@suse.de
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+* Thu Feb 21 2008 jbeulich@novell.com
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v20
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v19
+* Wed Feb 20 2008 jeffm@suse.de
+- Update config files for dmraid45.
+* Wed Feb 20 2008 bwalle@suse.de
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+* Wed Feb 20 2008 fseidel@suse.de
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+* Tue Feb 19 2008 jeffm@suse.de
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+* Fri Feb 15 2008 sdietrich@suse.de
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+* Fri Feb 15 2008 sdietrich@suse.de
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
* Thu Feb 14 2008 jeffm@suse.de
- Removed unused OCFS2 patches.
* Thu Feb 14 2008 jeffm@suse.de
kernel-rt_debug.spec: same change
++++++ kernel-rt.spec ++++++
--- /var/tmp/diff_new_pack.Q28875/_old 2008-02-25 17:14:53.000000000 +0100
+++ /var/tmp/diff_new_pack.Q28875/_new 2008-02-25 17:14:53.000000000 +0100
@@ -44,7 +44,7 @@
Name: kernel-rt
Summary: The Realtime Linux Kernel
Version: 2.6.24.1
-Release: 1
+Release: 5
License: GPL v2 or later
Group: System/Kernel
AutoReqProv: on
@@ -184,7 +184,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008/02/14 16:18:52 UTC
+Source Timestamp: 2008/02/22 15:49:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.24.tar.bz2 ]; then
@@ -471,17 +471,26 @@
# kernel -- it's (nearly) impossible to get the page size of a vmlinux file.
%ifarch ia64
if [ -f $CONFIGFILE ] ; then
- if grep CONFIG_IA64_PAGE_SIZE_16KB $CONFIGFILE >/dev/null ; then
+ if grep ^CONFIG_IA64_PAGE_SIZE_16KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=16384/"
- elif grep CONFIG_IA64_PAGE_SIZE_64KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_64KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
- elif grep CONFIG_IA64_PAGE_SIZE_4KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_4KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
else
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=8192/"
fi
fi
%endif
+%ifarch ppc64
+if [ -f $CONFIGFILE ] ; then
+ if grep ^CONFIG_PPC_64K_PAGES .config >/dev/null ; then
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
+ else
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
+ fi
+fi
+%endif
%endif
%endif
%endif
@@ -566,8 +575,82 @@
%postun -f postun.sh
%files -f kernel.files
-
%changelog
+* Fri Feb 22 2008 jeffm@suse.de
+- scripts/embargo-filter: Disable check for non-existant patches.
+* Fri Feb 22 2008 schwab@suse.de
+- Update kdb patches.
+* Fri Feb 22 2008 jbeulich@novell.com
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+* Thu Feb 21 2008 sdietrich@suse.de
+- Update config files: update RT options for adaptive RT locks
+* Thu Feb 21 2008 sdietrich@suse.de
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+* Thu Feb 21 2008 jbeulich@novell.com
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v20
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v19
+* Wed Feb 20 2008 jeffm@suse.de
+- Update config files for dmraid45.
+* Wed Feb 20 2008 bwalle@suse.de
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+* Wed Feb 20 2008 fseidel@suse.de
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+* Tue Feb 19 2008 jeffm@suse.de
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+* Fri Feb 15 2008 sdietrich@suse.de
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+* Fri Feb 15 2008 sdietrich@suse.de
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
* Thu Feb 14 2008 jeffm@suse.de
- Removed unused OCFS2 patches.
* Thu Feb 14 2008 jeffm@suse.de
++++++ kernel-s390.spec ++++++
--- /var/tmp/diff_new_pack.Q28875/_old 2008-02-25 17:14:53.000000000 +0100
+++ /var/tmp/diff_new_pack.Q28875/_new 2008-02-25 17:14:53.000000000 +0100
@@ -44,7 +44,7 @@
Name: kernel-s390
Summary: The Standard Kernel
Version: 2.6.24.1
-Release: 1
+Release: 2
License: GPL v2 or later
Group: System/Kernel
AutoReqProv: on
@@ -169,7 +169,7 @@
-Source Timestamp: 2008/02/14 16:18:52 UTC
+Source Timestamp: 2008/02/22 15:49:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.24.tar.bz2 ]; then
@@ -456,17 +456,26 @@
# kernel -- it's (nearly) impossible to get the page size of a vmlinux file.
%ifarch ia64
if [ -f $CONFIGFILE ] ; then
- if grep CONFIG_IA64_PAGE_SIZE_16KB $CONFIGFILE >/dev/null ; then
+ if grep ^CONFIG_IA64_PAGE_SIZE_16KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=16384/"
- elif grep CONFIG_IA64_PAGE_SIZE_64KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_64KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
- elif grep CONFIG_IA64_PAGE_SIZE_4KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_4KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
else
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=8192/"
fi
fi
%endif
+%ifarch ppc64
+if [ -f $CONFIGFILE ] ; then
+ if grep ^CONFIG_PPC_64K_PAGES .config >/dev/null ; then
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
+ else
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
+ fi
+fi
+%endif
%endif
%endif
%endif
@@ -551,8 +560,82 @@
%postun -f postun.sh
%files -f kernel.files
-
%changelog
+* Fri Feb 22 2008 jeffm@suse.de
+- scripts/embargo-filter: Disable check for non-existant patches.
+* Fri Feb 22 2008 schwab@suse.de
+- Update kdb patches.
+* Fri Feb 22 2008 jbeulich@novell.com
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+* Thu Feb 21 2008 sdietrich@suse.de
+- Update config files: update RT options for adaptive RT locks
+* Thu Feb 21 2008 sdietrich@suse.de
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+* Thu Feb 21 2008 jbeulich@novell.com
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v20
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v19
+* Wed Feb 20 2008 jeffm@suse.de
+- Update config files for dmraid45.
+* Wed Feb 20 2008 bwalle@suse.de
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+* Wed Feb 20 2008 fseidel@suse.de
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+* Tue Feb 19 2008 jeffm@suse.de
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+* Fri Feb 15 2008 sdietrich@suse.de
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+* Fri Feb 15 2008 sdietrich@suse.de
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
* Thu Feb 14 2008 jeffm@suse.de
- Removed unused OCFS2 patches.
* Thu Feb 14 2008 jeffm@suse.de
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.Q28875/_old 2008-02-25 17:14:53.000000000 +0100
+++ /var/tmp/diff_new_pack.Q28875/_new 2008-02-25 17:14:54.000000000 +0100
@@ -23,7 +23,7 @@
Name: kernel-source
Summary: The Linux Kernel Sources
Version: 2.6.24.1
-Release: 1
+Release: 5
License: GPL v2 only
Group: Development/Sources
AutoReqProv: off
@@ -76,7 +76,6 @@
Source59: kernel-s390.spec
Source60: kernel-vanilla.spec
Source61: kernel-xen.spec
-Source62: kernel-xenpae.spec
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
Source102: patches.drivers.tar.bz2
@@ -108,7 +107,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008/02/14 16:18:52 UTC
+Source Timestamp: 2008/02/22 15:49:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.24.tar.bz2 ]; then
@@ -280,8 +279,82 @@
%post -f source-post.sh
%files -f kernel-source.files
-
%changelog
+* Fri Feb 22 2008 jeffm@suse.de
+- scripts/embargo-filter: Disable check for non-existant patches.
+* Fri Feb 22 2008 schwab@suse.de
+- Update kdb patches.
+* Fri Feb 22 2008 jbeulich@novell.com
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+* Thu Feb 21 2008 sdietrich@suse.de
+- Update config files: update RT options for adaptive RT locks
+* Thu Feb 21 2008 sdietrich@suse.de
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+* Thu Feb 21 2008 jbeulich@novell.com
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v20
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v19
+* Wed Feb 20 2008 jeffm@suse.de
+- Update config files for dmraid45.
+* Wed Feb 20 2008 bwalle@suse.de
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+* Wed Feb 20 2008 fseidel@suse.de
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+* Tue Feb 19 2008 jeffm@suse.de
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+* Fri Feb 15 2008 sdietrich@suse.de
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+* Fri Feb 15 2008 sdietrich@suse.de
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
* Thu Feb 14 2008 jeffm@suse.de
- Removed unused OCFS2 patches.
* Thu Feb 14 2008 jeffm@suse.de
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.Q28875/_old 2008-02-25 17:14:54.000000000 +0100
+++ /var/tmp/diff_new_pack.Q28875/_new 2008-02-25 17:14:54.000000000 +0100
@@ -22,7 +22,7 @@
Name: kernel-syms
Summary: Kernel Symbol Versions (modversions)
Version: 2.6.24.1
-Release: 1
+Release: 5
License: GPL v2 or later
Group: Development/Sources
AutoReqProv: off
@@ -31,7 +31,7 @@
BuildRequires: kernel-dummy
%endif
%ifarch %ix86
-BuildRequires: kernel-debug kernel-default kernel-pae kernel-xen kernel-xenpae
+BuildRequires: kernel-debug kernel-default kernel-pae kernel-xen
%else
%ifarch ppc
BuildRequires: kernel-default kernel-kdump kernel-ppc64 kernel-ps3
@@ -96,7 +96,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008/02/14 16:18:52 UTC
+Source Timestamp: 2008/02/22 15:49:32 UTC
%prep
echo "Architecture symbol(s):" %symbols
@@ -147,8 +147,82 @@
/usr/src/linux-*-obj
/boot/symsets-*-*.tar.gz
/lib/modules/*/build
-
%changelog
+* Fri Feb 22 2008 jeffm@suse.de
+- scripts/embargo-filter: Disable check for non-existant patches.
+* Fri Feb 22 2008 schwab@suse.de
+- Update kdb patches.
+* Fri Feb 22 2008 jbeulich@novell.com
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+* Thu Feb 21 2008 sdietrich@suse.de
+- Update config files: update RT options for adaptive RT locks
+* Thu Feb 21 2008 sdietrich@suse.de
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+* Thu Feb 21 2008 jbeulich@novell.com
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v20
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v19
+* Wed Feb 20 2008 jeffm@suse.de
+- Update config files for dmraid45.
+* Wed Feb 20 2008 bwalle@suse.de
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+* Wed Feb 20 2008 fseidel@suse.de
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+* Tue Feb 19 2008 jeffm@suse.de
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+* Fri Feb 15 2008 sdietrich@suse.de
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+* Fri Feb 15 2008 sdietrich@suse.de
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
* Thu Feb 14 2008 jeffm@suse.de
- Removed unused OCFS2 patches.
* Thu Feb 14 2008 jeffm@suse.de
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.Q28875/_old 2008-02-25 17:14:54.000000000 +0100
+++ /var/tmp/diff_new_pack.Q28875/_new 2008-02-25 17:14:54.000000000 +0100
@@ -44,7 +44,7 @@
Name: kernel-vanilla
Summary: The Standard Kernel - without any SUSE patches
Version: 2.6.24.1
-Release: 1
+Release: 5
License: GPL v2 or later
Group: System/Kernel
AutoReqProv: on
@@ -189,7 +189,7 @@
-Source Timestamp: 2008/02/14 16:18:52 UTC
+Source Timestamp: 2008/02/22 15:49:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.24.tar.bz2 ]; then
@@ -476,17 +476,26 @@
# kernel -- it's (nearly) impossible to get the page size of a vmlinux file.
%ifarch ia64
if [ -f $CONFIGFILE ] ; then
- if grep CONFIG_IA64_PAGE_SIZE_16KB $CONFIGFILE >/dev/null ; then
+ if grep ^CONFIG_IA64_PAGE_SIZE_16KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=16384/"
- elif grep CONFIG_IA64_PAGE_SIZE_64KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_64KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
- elif grep CONFIG_IA64_PAGE_SIZE_4KB $CONFIGFILE >/dev/null ; then
+ elif grep ^CONFIG_IA64_PAGE_SIZE_4KB .config >/dev/null ; then
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
else
sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=8192/"
fi
fi
%endif
+%ifarch ppc64
+if [ -f $CONFIGFILE ] ; then
+ if grep ^CONFIG_PPC_64K_PAGES .config >/dev/null ; then
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=65536/"
+ else
+ sed -i $CONFIGFILE -e "s/PAGESIZE=.*/PAGESIZE=4096/"
+ fi
+fi
+%endif
%endif
%endif
%endif
@@ -571,8 +580,82 @@
%postun -f postun.sh
%files -f kernel.files
-
%changelog
+* Fri Feb 22 2008 jeffm@suse.de
+- scripts/embargo-filter: Disable check for non-existant patches.
+* Fri Feb 22 2008 schwab@suse.de
+- Update kdb patches.
+* Fri Feb 22 2008 jbeulich@novell.com
+- config/i386/xenpae: Rename to config/i386/xen.
+- config.conf: Delete i386/xenpae.
+* Thu Feb 21 2008 sdietrich@suse.de
+- Update config files: update RT options for adaptive RT locks
+* Thu Feb 21 2008 sdietrich@suse.de
+- patches.rt/rtmutex-adaptive-mutexes.patch: cleanup.
+- patches.rt/rtmutex-adaptive-timeout.patch: cleanup.
+- patches.rt/rtmutex-lateral-steal-sysctl.patch: sysctl for
+ runtime-control of lateral mutex stealing.
+* Thu Feb 21 2008 jbeulich@novell.com
+- Update Xen patches to c/s 425.
+- patches.xen/sfc-network-driver: Solarflare: Standard network driver
+ (disabled until status clarified).
+- patches.xen/sfc-resource-driver: Solarflare: Resource driver
+ (disabled until status clarified).
+- Update Xen config files.
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v20
+* Wed Feb 20 2008 ghaskins@suse.de
+- adaptive-locking v19
+* Wed Feb 20 2008 jeffm@suse.de
+- Update config files for dmraid45.
+* Wed Feb 20 2008 bwalle@suse.de
+- rpm/kernel-binary.spec.in: add PAGESIZE detection for
+ makedumpfile.config from the .config file also for PPC64
+* Wed Feb 20 2008 fseidel@suse.de
+- patches.fixes/bluetooth_hci_dev_put.patch,
+ patches.fixes/bluetooth_hci_conn_childs.patch,
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch:
+ fix kernel crash after removing bluetooth adapter (bnc 359546)
+* Tue Feb 19 2008 jeffm@suse.de
+- patches.suse/dm-raid45-2.6.24-20080602a.patch: DMRAID45 module.
+* Fri Feb 15 2008 sdietrich@suse.de
+- Update to latest patch set:
+- patches.rt/rearrange_rtspinlock_sleep:
+ [PATCH 02/10] rearrange rtspinlock sleep
+- patches.rt/optimize_rtspinlock_wakeup:
+ [PATCH 03/10] optimize rtspinlock wakeup
+- patches.rt/adaptive_RT_spinlock_support:
+ [PATCH 04/10] Adaptive RT spinlock support
+- patches.rt/add_timeout_mechanism: [PATCH 05/10]
+ add a loop counter based timeoutmechanism
+- patches.rt/adaptive_mutexes: [PATCH 06/10] adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ [PATCH 07/10] Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: [PATCH 08/10]
+ optimize the !printk fastpath throughthe lock acquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ [PATCH 09/10] remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: [PATCH 10/10] allow
+ rt-mutex lock-stealing toinclude lateral priority
+* Fri Feb 15 2008 sdietrich@suse.de
+- embargoed-patches: (embargo development RT throughput patches)
+- Update config files (RT config options)
+- patches.rt/optimize_rtspinlock_wakeup: optimize rtspinlock
+ wakeup.
+- patches.rt/adaptive_RT_spinlock_support: Adaptive RT spinlock
+ support.
+- patches.rt/add_timeout_mechanism: add
+ a loop counter based timeout mechanism
+- patches.rt/adaptive_mutexes: adaptive mutexes
+- patches.rt/adjust_pi_lock_usage_in_wakeup:
+ Adjust pi_lock usage in wakeup
+- patches.rt/optimize_printk_fastpath: optimize
+ the !printk fastpath through the lockacquisition
+- patches.rt/remove_extra_call_try_to_take_lock:
+ remove the extra call to try_to_take_lock
+- patches.rt/lateral_lock_steal: allow rt-mutex
+ lock-stealing to include lateralpriority
+- patches.rt/rearrange_rtspinlock_sleep: cleanup rtspinlock sleep
* Thu Feb 14 2008 jeffm@suse.de
- Removed unused OCFS2 patches.
* Thu Feb 14 2008 jeffm@suse.de
kernel-xen.spec: same change
++++++ build-source-timestamp ++++++
--- kernel-source/build-source-timestamp 2008-02-14 23:06:17.000000000 +0100
+++ /mounts/work_src_done/STABLE/kernel-source/build-source-timestamp 2008-02-22 18:21:34.000000000 +0100
@@ -1 +1 @@
-2008/02/14 16:18:52 UTC
+2008/02/22 15:49:32 UTC
++++++ config.conf ++++++
--- kernel-source/config.conf 2008-02-14 23:06:24.000000000 +0100
+++ /mounts/work_src_done/STABLE/kernel-source/config.conf 2008-02-22 18:21:47.000000000 +0100
@@ -6,7 +6,6 @@
+IA32 i386/debug
#+IA32 i386/um
+IA32 i386/xen
-+IA32 i386/xenpae
+IA32 i386/vanilla
+IA32 i386/rt
+IA32 i386/rt_debug
++++++ config.tar.bz2 ++++++
++++ 4268 lines of diff (skipped)
++++++ needed_space_in_mb ++++++
--- kernel-source/needed_space_in_mb 2008-02-15 01:37:30.000000000 +0100
+++ /mounts/work_src_done/STABLE/kernel-source/needed_space_in_mb 2008-02-22 18:21:58.000000000 +0100
@@ -1 +1 @@
-6000
+6144
++++++ patches.addon.tar.bz2 ++++++
++++++ patches.arch.tar.bz2 ++++++
++++ 7088 lines of diff (skipped)
++++++ patches.fixes.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/bluetooth_hci_conn_childs.patch new/patches.fixes/bluetooth_hci_conn_childs.patch
--- old/patches.fixes/bluetooth_hci_conn_childs.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/bluetooth_hci_conn_childs.patch 2008-02-20 13:33:27.000000000 +0100
@@ -0,0 +1,40 @@
+From: Dave Young
+Subject: net/bluetooth: do not move child device other than rfcomm
+Patch-mainline: v2.6.25-rc2-342-g5d9c4a7
+References: 359546
+
+hci conn child devices other than rfcomm tty should not be moved here.
+This is my lost, thanks for Barnaby's reporting and testing.
+
+Signed-off-by: Dave Young
+Signed-off-by: David S. Miller
+Signed-off-by: Frank Seidel
+
+---
+ net/bluetooth/hci_sysfs.c | 13 ++++++-------
+ 1 files changed, 6 insertions(+), 7 deletions(-)
+
+--- a/net/bluetooth/hci_sysfs.c
++++ b/net/bluetooth/hci_sysfs.c
+@@ -316,15 +316,14 @@ void hci_conn_add_sysfs(struct hci_conn
+ schedule_work(&conn->work);
+ }
+
++/*
++ * The rfcomm tty device will possibly retain even when conn
++ * is down, and sysfs doesn't support move zombie device,
++ * so we should move the device before conn device is destroyed.
++ */
+ static int __match_tty(struct device *dev, void *data)
+ {
+- /* The rfcomm tty device will possibly retain even when conn
+- * is down, and sysfs doesn't support move zombie device,
+- * so we should move the device before conn device is destroyed.
+- * Due to the only child device of hci_conn dev is rfcomm
+- * tty_dev, here just return 1
+- */
+- return 1;
++ return !strncmp(dev->bus_id, "rfcomm", 6);
+ }
+
+ static void del_conn(struct work_struct *work)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/bluetooth_hci_dev_put.patch new/patches.fixes/bluetooth_hci_dev_put.patch
--- old/patches.fixes/bluetooth_hci_dev_put.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/bluetooth_hci_dev_put.patch 2008-02-20 13:33:27.000000000 +0100
@@ -0,0 +1,48 @@
+From: Dave Young
+Subject: net/bluetooth: put hci dev after del conn
+Patch-mainline: v2.6.25-rc2-342-g5d9c4a7
+References: 359546
+
+Move hci_dev_put to del_conn to avoid hci dev going away before hci conn.
+
+Signed-off-by: Dave Young
+Signed-off-by: David S. Miller
+Signed-off-by: Frank Seidel
+
+---
+ net/bluetooth/hci_conn.c | 1 -
+ net/bluetooth/hci_sysfs.c | 5 ++++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+--- a/net/bluetooth/hci_conn.c
++++ b/net/bluetooth/hci_conn.c
+@@ -265,7 +265,6 @@ int hci_conn_del(struct hci_conn *conn)
+ tasklet_enable(&hdev->tx_task);
+ skb_queue_purge(&conn->data_q);
+ hci_conn_del_sysfs(conn);
+- hci_dev_put(hdev);
+
+ return 0;
+ }
+--- a/net/bluetooth/hci_sysfs.c
++++ b/net/bluetooth/hci_sysfs.c
+@@ -329,15 +329,18 @@ static int __match_tty(struct device *de
+
+ static void del_conn(struct work_struct *work)
+ {
+- struct device *dev;
+ struct hci_conn *conn = container_of(work, struct hci_conn, work);
++ struct hci_dev *hdev = conn->hdev;
++ struct device *dev;
+
+ while (dev = device_find_child(&conn->dev, NULL, __match_tty)) {
+ device_move(dev, NULL);
+ put_device(dev);
+ }
++
+ device_del(&conn->dev);
+ put_device(&conn->dev);
++ hci_dev_put(hdev);
+ }
+
+ void hci_conn_del_sysfs(struct hci_conn *conn)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/bluetooth_hci_unregister_sysfs.patch new/patches.fixes/bluetooth_hci_unregister_sysfs.patch
--- old/patches.fixes/bluetooth_hci_unregister_sysfs.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/bluetooth_hci_unregister_sysfs.patch 2008-02-20 13:33:27.000000000 +0100
@@ -0,0 +1,35 @@
+From: Dave Young
+Subject: net/bluetooth: defer hci_unregister_sysfs
+Patch-mainline: no
+References: 359546
+
+Defer hci_unregister_sysfs because hci device could be destructed
+while hci conn devices still there.
+
+Signed-off-by: Dave Young
+Signed-off-by: Frank Seidel
+
+---
+ net/bluetooth/hci_core.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/net/bluetooth/hci_core.c
++++ b/net/bluetooth/hci_core.c
+@@ -901,8 +901,6 @@ int hci_unregister_dev(struct hci_dev *h
+
+ BT_DBG("%p name %s type %d", hdev, hdev->name, hdev->type);
+
+- hci_unregister_sysfs(hdev);
+-
+ write_lock_bh(&hci_dev_list_lock);
+ list_del(&hdev->list);
+ write_unlock_bh(&hci_dev_list_lock);
+@@ -914,6 +912,8 @@ int hci_unregister_dev(struct hci_dev *h
+
+ hci_notify(hdev, HCI_DEV_UNREG);
+
++ hci_unregister_sysfs(hdev);
++
+ __hci_dev_put(hdev);
+
+ return 0;
++++++ patches.rt.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/disable-spinlock-preemption-for-ticketlocks.patch new/patches.rt/disable-spinlock-preemption-for-ticketlocks.patch
--- old/patches.rt/disable-spinlock-preemption-for-ticketlocks.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/disable-spinlock-preemption-for-ticketlocks.patch 2008-02-20 21:04:22.000000000 +0100
@@ -0,0 +1,27 @@
+Subject: disable PREEMPT_SPINLOCK_WAITERS when x86 ticket/fifo spins are in use
+
+From: Gregory Haskins
+
+Preemptible spinlock waiters effectively bypasses the benefits of a fifo
+spinlock. Since we now have fifo spinlocks for x86 enabled, disable the
+preemption feature on x86.
+
+Signed-off-by: Gregory Haskins
+CC: Nick Piggin
+---
+
+ arch/x86/Kconfig | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
+index 8d15667..d5b9a67 100644
+--- a/arch/x86/Kconfig
++++ b/arch/x86/Kconfig
+@@ -20,6 +20,7 @@ config X86
+ bool
+ default y
+ select HAVE_MCOUNT
++ select DISABLE_PREEMPT_SPINLOCK_WAITERS
+
+ config GENERIC_TIME
+ bool
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/make-spinlock-preempt-configurable.patch new/patches.rt/make-spinlock-preempt-configurable.patch
--- old/patches.rt/make-spinlock-preempt-configurable.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/make-spinlock-preempt-configurable.patch 2008-02-20 21:04:22.000000000 +0100
@@ -0,0 +1,80 @@
+Subject: spinlock - make preemptible-waiter feature a specific config option
+
+From: Gregory Haskins
+
+We introduce a configuration variable for the feature to make it easier for
+various architectures and/or configs to enable or disable it based on their
+requirements.
+
+Signed-off-by: Gregory Haskins
+---
+
+ kernel/Kconfig.preempt | 9 +++++++++
+ kernel/spinlock.c | 7 +++----
+ lib/Kconfig.debug | 1 +
+ 3 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
+index 41a0d88..5b45213 100644
+--- a/kernel/Kconfig.preempt
++++ b/kernel/Kconfig.preempt
+@@ -86,6 +86,15 @@ config PREEMPT
+ default y
+ depends on PREEMPT_DESKTOP || PREEMPT_RT
+
++config DISABLE_PREEMPT_SPINLOCK_WAITERS
++ bool
++ default n
++
++config PREEMPT_SPINLOCK_WAITERS
++ bool
++ default y
++ depends on PREEMPT && SMP && !DISABLE_PREEMPT_SPINLOCK_WAITERS
++
+ config PREEMPT_SOFTIRQS
+ bool "Thread Softirqs"
+ default n
+diff --git a/kernel/spinlock.c b/kernel/spinlock.c
+index b0e7f02..2e6a904 100644
+--- a/kernel/spinlock.c
++++ b/kernel/spinlock.c
+@@ -116,8 +116,7 @@ EXPORT_SYMBOL(__write_trylock_irqsave);
+ * even on CONFIG_PREEMPT, because lockdep assumes that interrupts are
+ * not re-enabled during lock-acquire (which the preempt-spin-ops do):
+ */
+-#if !defined(CONFIG_PREEMPT) || !defined(CONFIG_SMP) || \
+- defined(CONFIG_DEBUG_LOCK_ALLOC)
++#if !defined(CONFIG_PREEMPT_SPINLOCK_WAITERS)
+
+ void __lockfunc __read_lock(raw_rwlock_t *lock)
+ {
+@@ -244,7 +243,7 @@ void __lockfunc __write_lock(raw_rwlock_t *lock)
+
+ EXPORT_SYMBOL(__write_lock);
+
+-#else /* CONFIG_PREEMPT: */
++#else /* CONFIG_PREEMPT_SPINLOCK_WAITERS */
+
+ /*
+ * This could be a long-held lock. We both prepare to spin for a long
+@@ -334,7 +333,7 @@ BUILD_LOCK_OPS(spin, raw_spinlock);
+ BUILD_LOCK_OPS(read, raw_rwlock);
+ BUILD_LOCK_OPS(write, raw_rwlock);
+
+-#endif /* CONFIG_PREEMPT */
++#endif /* CONFIG_PREEMPT_SPINLOCK_WAITERS */
+
+ #ifdef CONFIG_DEBUG_LOCK_ALLOC
+
+diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
+index 9208791..f2889b2 100644
+--- a/lib/Kconfig.debug
++++ b/lib/Kconfig.debug
+@@ -233,6 +233,7 @@ config DEBUG_LOCK_ALLOC
+ bool "Lock debugging: detect incorrect freeing of live locks"
+ depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
+ select DEBUG_SPINLOCK
++ select DISABLE_PREEMPT_SPINLOCK_WAITERS
+ select DEBUG_MUTEXES
+ select LOCKDEP
+ help
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/rtmutex-adaptive-locks.patch new/patches.rt/rtmutex-adaptive-locks.patch
--- old/patches.rt/rtmutex-adaptive-locks.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/rtmutex-adaptive-locks.patch 2008-02-20 21:24:35.000000000 +0100
@@ -0,0 +1,262 @@
+Subject: adaptive real-time lock support
+
+From: Gregory Haskins
+
+There are pros and cons when deciding between the two basic forms of
+locking primitives (spinning vs sleeping). Without going into great
+detail on either one, we note that spinlocks have the advantage of
+lower overhead for short hold locks. However, they also have a
+con in that they create indeterminate latencies since preemption
+must traditionally be disabled while the lock is held (to prevent deadlock).
+
+We want to avoid non-deterministic critical sections in -rt. Therefore,
+when realtime is enabled, most contexts are converted to threads, and
+likewise most spinlock_ts are converted to sleepable rt-mutex derived
+locks. This allows the holder of the lock to remain fully preemptible,
+thus reducing a major source of latencies in the kernel.
+
+However, converting what was once a true spinlock into a sleeping lock
+may also decrease performance since the locks will now sleep under
+contention. Since the fundamental lock used to be a spinlock, it is
+highly likely that it was used in a short-hold path and that release
+is imminent. Therefore sleeping only serves to cause context-thrashing.
+
+Adaptive RT locks use a hybrid approach to solve the problem. They
+spin when possible, and sleep when necessary (to avoid deadlock, etc).
+This significantly improves many areas of the performance of the -rt
+kernel.
+
+Signed-off-by: Gregory Haskins
+Signed-off-by: Peter Morreale
+Signed-off-by: Sven Dietrich
+---
+
+ kernel/Kconfig.preempt | 19 ++++++
+ kernel/rtmutex.c | 19 ++++--
+ kernel/rtmutex_adaptive.h | 134 ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 167 insertions(+), 5 deletions(-)
+
+Index: linux-2.6.24-RT/kernel/Kconfig.preempt
+===================================================================
+--- linux-2.6.24-RT.orig/kernel/Kconfig.preempt
++++ linux-2.6.24-RT/kernel/Kconfig.preempt
+@@ -146,3 +146,22 @@ config PREEMPT_BKL
+ Say Y here if you are building a kernel for a desktop system.
+ Say N if you are unsure.
+
++config ADAPTIVE_RTLOCK
++ bool "Adaptive real-time locks"
++ default y
++ depends on PREEMPT_RT && SMP
++ help
++ PREEMPT_RT allows for greater determinism by transparently
++ converting normal spinlock_ts into preemptible rtmutexes which
++ sleep any waiters under contention. However, in many cases the
++ lock will be released in less time than it takes to context
++ switch. Therefore, the "sleep under contention" policy may also
++ degrade throughput performance due to the extra context switches.
++
++ This option alters the rtmutex derived spinlock_t replacement
++ code to use an adaptive spin/sleep algorithm. It will spin
++ unless it determines it must sleep to avoid deadlock. This
++ offers a best of both worlds solution since we achieve both
++ high-throughput and low-latency.
++
++ If unsure, say Y
+Index: linux-2.6.24-RT/kernel/rtmutex.c
+===================================================================
+--- linux-2.6.24-RT.orig/kernel/rtmutex.c
++++ linux-2.6.24-RT/kernel/rtmutex.c
+@@ -7,6 +7,7 @@
+ * Copyright (C) 2005-2006 Timesys Corp., Thomas Gleixner
+ * Copyright (C) 2005 Kihon Technologies Inc., Steven Rostedt
+ * Copyright (C) 2006 Esben Nielsen
++ * Copyright (C) 2008 Novell, Inc.
+ *
+ * See Documentation/rt-mutex-design.txt for details.
+ */
+@@ -16,6 +17,7 @@
+ #include
+
+ #include "rtmutex_common.h"
++#include "rtmutex_adaptive.h"
+
+ /*
+ * lock->owner state tracking:
+@@ -685,6 +687,7 @@ rt_spin_lock_slowlock(struct rt_mutex *l
+ {
+ struct rt_mutex_waiter waiter;
+ unsigned long saved_state, state, flags;
++ DECLARE_ADAPTIVE_WAITER(adaptive);
+
+ debug_rt_mutex_init_waiter(&waiter);
+ waiter.task = NULL;
+@@ -731,6 +734,8 @@ rt_spin_lock_slowlock(struct rt_mutex *l
+ continue;
+ }
+
++ prepare_adaptive_wait(lock, &adaptive);
++
+ /*
+ * Prevent schedule() to drop BKL, while waiting for
+ * the lock ! We restore lock_depth when we come back.
+@@ -742,11 +747,15 @@ rt_spin_lock_slowlock(struct rt_mutex *l
+
+ debug_rt_mutex_print_deadlock(&waiter);
+
+- update_current(TASK_UNINTERRUPTIBLE, &saved_state);
+- if (waiter.task)
+- schedule_rt_mutex(lock);
+- else
+- update_current(TASK_RUNNING_MUTEX, &saved_state);
++ /* adaptive_wait() returns 1 if we need to sleep */
++ if (adaptive_wait(lock, &waiter, &adaptive)) {
++ update_current(TASK_UNINTERRUPTIBLE, &saved_state);
++ if (waiter.task)
++ schedule_rt_mutex(lock);
++ else
++ update_current(TASK_RUNNING_MUTEX,
++ &saved_state);
++ }
+
+ spin_lock_irqsave(&lock->wait_lock, flags);
+ current->flags |= saved_flags;
+Index: linux-2.6.24-RT/kernel/rtmutex_adaptive.h
+===================================================================
+--- /dev/null
++++ linux-2.6.24-RT/kernel/rtmutex_adaptive.h
+@@ -0,0 +1,134 @@
++/*
++ * Adaptive RT lock support
++ *
++ * There are pros and cons when deciding between the two basic forms of
++ * locking primitives (spinning vs sleeping). Without going into great
++ * detail on either one, we note that spinlocks have the advantage of
++ * lower overhead for short hold locks. However, they also have a
++ * con in that they create indeterminate latencies since preemption
++ * must traditionally be disabled while the lock is held (to prevent deadlock).
++ *
++ * We want to avoid non-deterministic critical sections in -rt. Therefore,
++ * when realtime is enabled, most contexts are converted to threads, and
++ * likewise most spinlock_ts are converted to sleepable rt-mutex derived
++ * locks. This allows the holder of the lock to remain fully preemptible,
++ * thus reducing a major source of latencies in the kernel.
++ *
++ * However, converting what was once a true spinlock into a sleeping lock
++ * may also decrease performance since the locks will now sleep under
++ * contention. Since the fundamental lock used to be a spinlock, it is
++ * highly likely that it was used in a short-hold path and that release
++ * is imminent. Therefore sleeping only serves to cause context-thrashing.
++ *
++ * Adaptive RT locks use a hybrid approach to solve the problem. They
++ * spin when possible, and sleep when necessary (to avoid deadlock, etc).
++ * This significantly improves many areas of the performance of the -rt
++ * kernel.
++ *
++ * Copyright (C) 2008 Novell, Inc.,
++ * Sven Dietrich, Peter Morreale, and Gregory Haskins
++ *
++ */
++
++#ifndef __KERNEL_RTMUTEX_ADAPTIVE_H
++#define __KERNEL_RTMUTEX_ADAPTIVE_H
++
++#include "rtmutex_common.h"
++
++
++#ifdef CONFIG_ADAPTIVE_RTLOCK
++struct adaptive_waiter {
++ struct task_struct *owner;
++};
++
++/*
++ * Adaptive-rtlocks will busywait when possible, and sleep only if
++ * necessary. Note that the busyloop looks racy, and it is....but we do
++ * not care. If we lose any races it simply means that we spin one more
++ * time before seeing that we need to break-out on the next iteration.
++ *
++ * We realize this is a relatively large function to inline, but note that
++ * it is only instantiated 1 or 2 times max, and it makes a measurable
++ * performance different to avoid the call.
++ *
++ * Returns 1 if we should sleep
++ *
++ */
++static inline int
++adaptive_wait(struct rt_mutex *lock, struct rt_mutex_waiter *waiter,
++ struct adaptive_waiter *adaptive)
++{
++ int sleep = 0;
++
++ for (;;) {
++ /*
++ * If the task was re-awoken, break out completely so we can
++ * reloop through the lock-acquisition code.
++ */
++ if (!waiter->task)
++ break;
++
++ /*
++ * We need to break if the owner changed so we can reloop
++ * and safely acquire the owner-pointer again with the
++ * wait_lock held.
++ */
++ if (adaptive->owner != rt_mutex_owner(lock))
++ break;
++
++ /*
++ * If we got here, presumably the lock ownership is still
++ * current. We will use it to our advantage to be able to
++ * spin without disabling preemption...
++ */
++
++ /*
++ * .. sleep if the owner is not running..
++ */
++ if (!adaptive->owner->se.on_rq) {
++ sleep = 1;
++ break;
++ }
++
++ /*
++ * .. or is running on our own cpu (to prevent deadlock)
++ */
++ if (task_cpu(adaptive->owner) == task_cpu(current)) {
++ sleep = 1;
++ break;
++ }
++
++ cpu_relax();
++ }
++
++ put_task_struct(adaptive->owner);
++
++ return sleep;
++}
++
++static inline void
++prepare_adaptive_wait(struct rt_mutex *lock, struct adaptive_waiter *adaptive)
++{
++ /*
++ * We must acquire/lock the owner pointer while holding
++ * the wait_lock, or we risk racing against the owner
++ * exiting.
++ */
++ adaptive->owner = rt_mutex_owner(lock);
++ get_task_struct(adaptive->owner);
++}
++
++#define DECLARE_ADAPTIVE_WAITER(name) \
++ struct adaptive_waiter name = { .owner = NULL, }
++
++#else
++
++#define DECLARE_ADAPTIVE_WAITER(name)
++
++#define adaptive_wait(lock, waiter, busy) 1
++#define prepare_adaptive_wait(lock, busy) {}
++
++#endif /* CONFIG_ADAPTIVE_RTLOCK */
++
++
++#endif /* __KERNEL_RTMUTEX_ADAPTIVE_H */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/rtmutex-adaptive-mutexes.patch new/patches.rt/rtmutex-adaptive-mutexes.patch
--- old/patches.rt/rtmutex-adaptive-mutexes.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/rtmutex-adaptive-mutexes.patch 2008-02-22 08:01:58.000000000 +0100
@@ -0,0 +1,247 @@
+Subject: adaptive mutexes
+
+From: Peter W.Morreale
+
+This patch adds the adaptive spin lock busywait to rtmutexes. It adds
+a new tunable: rtmutex_timeout, which is the companion to the
+rtlock_timeout tunable.
+
+Signed-off-by: Peter W. Morreale
+---
+
+ kernel/Kconfig.preempt | 38 ++++++++++++++++++++++++++++++++++++++
+ kernel/rtmutex.c | 43 +++++++++++++++++++++++++------------------
+ kernel/rtmutex_adaptive.h | 32 ++++++++++++++++++++++++++++++--
+ kernel/sysctl.c | 10 ++++++++++
+ 4 files changed, 103 insertions(+), 20 deletions(-)
+
+Index: linux-2.6.24-RT/kernel/Kconfig.preempt
+===================================================================
+--- linux-2.6.24-RT.orig/kernel/Kconfig.preempt
++++ linux-2.6.24-RT/kernel/Kconfig.preempt
+@@ -177,3 +177,41 @@ config RTLOCK_DELAY
+ tunable at runtime via a sysctl. A setting of 0 (zero) disables
+ the adaptive algorithm entirely.
+
++config ADAPTIVE_RTMUTEX
++ bool "Adaptive real-time mutexes"
++ default y
++ depends on ADAPTIVE_RTLOCK
++ help
++ This option adds the adaptive rtlock spin/sleep algorithm to
++ rtmutexes. In rtlocks, a significant gain in throughput
++ can be seen by allowing rtlocks to spin for a distinct
++ amount of time prior to going to sleep for deadlock avoidence.
++
++ Typically, mutexes are used when a critical section may need to
++ sleep due to a blocking operation. In the event the critical
++ section does not need to sleep, an additional gain in throughput
++ can be seen by avoiding the extra overhead of sleeping.
++
++ This option alters the rtmutex code to use an adaptive
++ spin/sleep algorithm. It will spin unless it determines it must
++ sleep to avoid deadlock. This offers a best of both worlds
++ solution since we achieve both high-throughput and low-latency.
++
++ If unsure, say Y
++
++config RTMUTEX_DELAY
++ int "Default delay (in nanoseconds) for adaptive mutexes"
++ range 0 10000000
++ depends on ADAPTIVE_RTMUTEX
++ default "3000"
++ help
++ This allows you to specify the maximum delay a task will use
++ to wait for a rt mutex before going to sleep. Note that that
++ although the delay is implemented as a preemptable loop, tasks
++ of like priority cannot preempt each other and this setting can
++ result in increased latencies.
++
++ The value is tunable at runtime via a sysctl. A setting of 0
++ (zero) disables the adaptive algorithm entirely.
++
++
+Index: linux-2.6.24-RT/kernel/rtmutex.c
+===================================================================
+--- linux-2.6.24-RT.orig/kernel/rtmutex.c
++++ linux-2.6.24-RT/kernel/rtmutex.c
+@@ -22,6 +22,9 @@
+ #ifdef CONFIG_ADAPTIVE_RTLOCK
+ int rtlock_timeout __read_mostly = CONFIG_RTLOCK_DELAY;
+ #endif
++#ifdef CONFIG_ADAPTIVE_RTMUTEX
++int rtmutex_timeout __read_mostly = CONFIG_RTMUTEX_DELAY;
++#endif
+
+ /*
+ * lock->owner state tracking:
+@@ -519,17 +522,16 @@ static void wakeup_next_waiter(struct rt
+ * Do the wakeup before the ownership change to give any spinning
+ * waiter grantees a headstart over the other threads that will
+ * trigger once owner changes.
++ *
++ * This may appear to be a race, but the barriers close the
++ * window.
+ */
+- if (!savestate)
+- wake_up_process(pendowner);
+- else {
+- smp_mb();
+- /*
+- * This may appear to be a race, but the barriers close the
+- * window.
+- */
+- if ((pendowner->state != TASK_RUNNING)
+- && (pendowner->state != TASK_RUNNING_MUTEX))
++ smp_mb();
++ if ((pendowner->state != TASK_RUNNING)
++ && (pendowner->state != TASK_RUNNING_MUTEX)) {
++ if (!savestate)
++ wake_up_process(pendowner);
++ else
+ wake_up_process_mutex(pendowner);
+ }
+
+@@ -752,7 +754,7 @@ rt_spin_lock_slowlock(struct rt_mutex *l
+ debug_rt_mutex_print_deadlock(&waiter);
+
+ /* adaptive_wait() returns 1 if we need to sleep */
+- if (adaptive_wait(lock, &waiter, &adaptive)) {
++ if (adaptive_wait(lock, 0, &waiter, &adaptive)) {
+ update_current(TASK_UNINTERRUPTIBLE, &saved_state);
+ if (waiter.task)
+ schedule_rt_mutex(lock);
+@@ -963,6 +965,7 @@ rt_mutex_slowlock(struct rt_mutex *lock,
+ int ret = 0, saved_lock_depth = -1;
+ struct rt_mutex_waiter waiter;
+ unsigned long flags;
++ DECLARE_ADAPTIVE_MUTEX_WAITER(adaptive);
+
+ debug_rt_mutex_init_waiter(&waiter);
+ waiter.task = NULL;
+@@ -983,8 +986,6 @@ rt_mutex_slowlock(struct rt_mutex *lock,
+ if (unlikely(current->lock_depth >= 0))
+ saved_lock_depth = rt_release_bkl(lock, flags);
+
+- set_current_state(state);
+-
+ /* Setup the timer, when timeout != NULL */
+ if (unlikely(timeout))
+ hrtimer_start(&timeout->timer, timeout->timer.expires,
+@@ -1037,6 +1038,9 @@ rt_mutex_slowlock(struct rt_mutex *lock,
+ if (unlikely(ret))
+ break;
+ }
++
++ mutex_prepare_adaptive_wait(lock, &adaptive);
++
+ saved_flags = current->flags & PF_NOSCHED;
+ current->flags &= ~PF_NOSCHED;
+
+@@ -1044,17 +1048,20 @@ rt_mutex_slowlock(struct rt_mutex *lock,
+
+ debug_rt_mutex_print_deadlock(&waiter);
+
+- if (waiter.task)
+- schedule_rt_mutex(lock);
++ if (mutex_adaptive_wait(lock,
++ (state == TASK_INTERRUPTIBLE),
++ &waiter, &adaptive)) {
++ set_current_state(state);
++ if (waiter.task)
++ schedule_rt_mutex(lock);
++ set_current_state(TASK_RUNNING);
++ }
+
+ spin_lock_irq(&lock->wait_lock);
+
+ current->flags |= saved_flags;
+- set_current_state(state);
+ }
+
+- set_current_state(TASK_RUNNING);
+-
+ if (unlikely(waiter.task))
+ remove_waiter(lock, &waiter, flags);
+
+Index: linux-2.6.24-RT/kernel/rtmutex_adaptive.h
+===================================================================
+--- linux-2.6.24-RT.orig/kernel/rtmutex_adaptive.h
++++ linux-2.6.24-RT/kernel/rtmutex_adaptive.h
+@@ -56,7 +56,8 @@ struct adaptive_waiter {
+ *
+ */
+ static inline int
+-adaptive_wait(struct rt_mutex *lock, struct rt_mutex_waiter *waiter,
++adaptive_wait(struct rt_mutex *lock, int interruptible,
++ struct rt_mutex_waiter *waiter,
+ struct adaptive_waiter *adaptive)
+ {
+ int sleep = 0;
+@@ -77,6 +78,14 @@ adaptive_wait(struct rt_mutex *lock, str
+ if (adaptive->owner != rt_mutex_owner(lock))
+ break;
+
++#ifdef CONFIG_ADAPTIVE_RTMUTEX
++ /*
++ * Mutexes may need to check for signals...
++ */
++ if (interruptible && signal_pending(current))
++ break;
++#endif
++
+ /*
+ * If we got here, presumably the lock ownership is still
+ * current. We will use it to our advantage to be able to
+@@ -132,10 +141,29 @@ extern int rtlock_timeout;
+
+ #define DECLARE_ADAPTIVE_WAITER(name)
+
+-#define adaptive_wait(lock, waiter, busy) 1
++#define adaptive_wait(lock, intr, waiter, busy) 1
+ #define prepare_adaptive_wait(lock, busy) {}
+
+ #endif /* CONFIG_ADAPTIVE_RTLOCK */
+
++#ifdef CONFIG_ADAPTIVE_RTMUTEX
++
++#define mutex_adaptive_wait adaptive_wait
++#define mutex_prepare_adaptive_wait prepare_adaptive_wait
++
++extern int rtmutex_timeout;
++
++#define DECLARE_ADAPTIVE_MUTEX_WAITER(name) \
++ struct adaptive_waiter name = { .owner = NULL, \
++ .timeout = rtmutex_timeout, }
++
++#else
++
++#define DECLARE_ADAPTIVE_MUTEX_WAITER(name)
++
++#define mutex_adaptive_wait(lock, intr, waiter, busy) 1
++#define mutex_prepare_adaptive_wait(lock, busy) {}
++
++#endif /* CONFIG_ADAPTIVE_RTMUTEX */
+
+ #endif /* __KERNEL_RTMUTEX_ADAPTIVE_H */
+Index: linux-2.6.24-RT/kernel/sysctl.c
+===================================================================
+--- linux-2.6.24-RT.orig/kernel/sysctl.c
++++ linux-2.6.24-RT/kernel/sysctl.c
+@@ -927,6 +927,16 @@ static struct ctl_table kern_table[] = {
+ .proc_handler = &proc_dointvec,
+ },
+ #endif
++#ifdef CONFIG_ADAPTIVE_RTMUTEX
++ {
++ .ctl_name = CTL_UNNUMBERED,
++ .procname = "rtmutex_timeout",
++ .data = &rtmutex_timeout,
++ .maxlen = sizeof(int),
++ .mode = 0644,
++ .proc_handler = &proc_dointvec,
++ },
++#endif
+ #ifdef CONFIG_PROC_FS
+ {
+ .ctl_name = CTL_UNNUMBERED,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/rtmutex-adaptive-timeout.patch new/patches.rt/rtmutex-adaptive-timeout.patch
--- old/patches.rt/rtmutex-adaptive-timeout.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/rtmutex-adaptive-timeout.patch 2008-02-22 08:01:58.000000000 +0100
@@ -0,0 +1,122 @@
+Subject: add a loop counter based timeout mechanism
+
+From: Sven Dietrich
+
+Signed-off-by: Sven Dietrich
+---
+
+ kernel/Kconfig.preempt | 12 ++++++++++++
+ kernel/rtmutex.c | 4 ++++
+ kernel/rtmutex_adaptive.h | 11 +++++++++--
+ kernel/sysctl.c | 12 ++++++++++++
+ 4 files changed, 37 insertions(+), 2 deletions(-)
+
+Index: linux-2.6.24-RT/kernel/Kconfig.preempt
+===================================================================
+--- linux-2.6.24-RT.orig/kernel/Kconfig.preempt
++++ linux-2.6.24-RT/kernel/Kconfig.preempt
+@@ -165,3 +165,15 @@ config ADAPTIVE_RTLOCK
+ high-throughput and low-latency.
+
+ If unsure, say Y
++
++config RTLOCK_DELAY
++ int "Default delay (in loops) for adaptive rtlocks"
++ range 0 1000000000
++ depends on ADAPTIVE_RTLOCK
++ default "10000"
++ help
++ This allows you to specify the maximum attempts a task will spin
++ attempting to acquire an rtlock before sleeping. The value is
++ tunable at runtime via a sysctl. A setting of 0 (zero) disables
++ the adaptive algorithm entirely.
++
+Index: linux-2.6.24-RT/kernel/rtmutex.c
+===================================================================
+--- linux-2.6.24-RT.orig/kernel/rtmutex.c
++++ linux-2.6.24-RT/kernel/rtmutex.c
+@@ -19,6 +19,10 @@
+ #include "rtmutex_common.h"
+ #include "rtmutex_adaptive.h"
+
++#ifdef CONFIG_ADAPTIVE_RTLOCK
++int rtlock_timeout __read_mostly = CONFIG_RTLOCK_DELAY;
++#endif
++
+ /*
+ * lock->owner state tracking:
+ *
+Index: linux-2.6.24-RT/kernel/rtmutex_adaptive.h
+===================================================================
+--- linux-2.6.24-RT.orig/kernel/rtmutex_adaptive.h
++++ linux-2.6.24-RT/kernel/rtmutex_adaptive.h
+@@ -39,6 +39,7 @@
+ #ifdef CONFIG_ADAPTIVE_RTLOCK
+ struct adaptive_waiter {
+ struct task_struct *owner;
++ int timeout;
+ };
+
+ /*
+@@ -60,7 +61,7 @@ adaptive_wait(struct rt_mutex *lock, str
+ {
+ int sleep = 0;
+
+- for (;;) {
++ for (; adaptive->timeout > 0; adaptive->timeout--) {
+ /*
+ * If the task was re-awoken, break out completely so we can
+ * reloop through the lock-acquisition code.
+@@ -101,6 +102,9 @@ adaptive_wait(struct rt_mutex *lock, str
+ cpu_relax();
+ }
+
++ if (adaptive->timeout <= 0)
++ sleep = 1;
++
+ put_task_struct(adaptive->owner);
+
+ return sleep;
+@@ -118,8 +122,11 @@ prepare_adaptive_wait(struct rt_mutex *l
+ get_task_struct(adaptive->owner);
+ }
+
++extern int rtlock_timeout;
++
+ #define DECLARE_ADAPTIVE_WAITER(name) \
+- struct adaptive_waiter name = { .owner = NULL, }
++ struct adaptive_waiter name = { .owner = NULL, \
++ .timeout = rtlock_timeout, }
+
+ #else
+
+Index: linux-2.6.24-RT/kernel/sysctl.c
+===================================================================
+--- linux-2.6.24-RT.orig/kernel/sysctl.c
++++ linux-2.6.24-RT/kernel/sysctl.c
+@@ -58,6 +58,8 @@
+ #include
+ #endif
+
++#include "rtmutex_adaptive.h"
++
+ static int deprecated_sysctl_warning(struct __sysctl_args *args);
+
+ #if defined(CONFIG_SYSCTL)
+@@ -915,6 +917,16 @@ static struct ctl_table kern_table[] = {
+ .proc_handler = &proc_dointvec,
+ },
+ #endif
++#ifdef CONFIG_ADAPTIVE_RTLOCK
++ {
++ .ctl_name = CTL_UNNUMBERED,
++ .procname = "rtlock_timeout",
++ .data = &rtlock_timeout,
++ .maxlen = sizeof(int),
++ .mode = 0644,
++ .proc_handler = &proc_dointvec,
++ },
++#endif
+ #ifdef CONFIG_PROC_FS
+ {
+ .ctl_name = CTL_UNNUMBERED,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/rtmutex-adjust-pi_lock-usage-in-wakeup.patch new/patches.rt/rtmutex-adjust-pi_lock-usage-in-wakeup.patch
--- old/patches.rt/rtmutex-adjust-pi_lock-usage-in-wakeup.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/rtmutex-adjust-pi_lock-usage-in-wakeup.patch 2008-02-20 21:24:35.000000000 +0100
@@ -0,0 +1,57 @@
+Subject: adjust pi_lock usage in wakeup
+
+From: Peter W.Morreale
+
+In wakeup_next_waiter(), we take the pi_lock, and then find out whether
+we have another waiter to add to the pending owner. We can reduce
+contention on the pi_lock for the pending owner if we first obtain the
+pointer to the next waiter outside of the pi_lock.
+
+This patch adds a measureable increase in throughput.
+
+Signed-off-by: Peter W. Morreale
+---
+
+ kernel/rtmutex.c | 14 +++++++++-----
+ 1 files changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c
+index af66f57..bbbf523 100644
+--- a/kernel/rtmutex.c
++++ b/kernel/rtmutex.c
+@@ -504,6 +504,7 @@ static void wakeup_next_waiter(struct rt_mutex *lock, int savestate)
+ {
+ struct rt_mutex_waiter *waiter;
+ struct task_struct *pendowner;
++ struct rt_mutex_waiter *next;
+
+ spin_lock(¤t->pi_lock);
+
+@@ -548,6 +549,12 @@ static void wakeup_next_waiter(struct rt_mutex *lock, int savestate)
+ * waiter with higher priority than pending-owner->normal_prio
+ * is blocked on the unboosted (pending) owner.
+ */
++
++ if (rt_mutex_has_waiters(lock))
++ next = rt_mutex_top_waiter(lock);
++ else
++ next = NULL;
++
+ spin_lock(&pendowner->pi_lock);
+
+ WARN_ON(!pendowner->pi_blocked_on);
+@@ -556,12 +563,9 @@ static void wakeup_next_waiter(struct rt_mutex *lock, int savestate)
+
+ pendowner->pi_blocked_on = NULL;
+
+- if (rt_mutex_has_waiters(lock)) {
+- struct rt_mutex_waiter *next;
+-
+- next = rt_mutex_top_waiter(lock);
++ if (next)
+ plist_add(&next->pi_list_entry, &pendowner->pi_waiters);
+- }
++
+ spin_unlock(&pendowner->pi_lock);
+ }
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/rtmutex-lateral-steal.patch new/patches.rt/rtmutex-lateral-steal.patch
--- old/patches.rt/rtmutex-lateral-steal.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/rtmutex-lateral-steal.patch 2008-02-20 21:24:35.000000000 +0100
@@ -0,0 +1,144 @@
+Subject: allow rt-mutex lock-stealing to include lateral priority
+
+From: Gregory Haskins
+
+The current logic only allows lock stealing to occur if the current task
+is of higher priority than the pending owner. We can gain signficant
+throughput improvements (200%+) by allowing the lock-stealing code to
+include tasks of equal priority. The theory is that the system will make
+faster progress by allowing the task already on the CPU to take the lock
+rather than waiting for the system to wake-up a different task.
+
+This does add a degree of unfairness, yes. But also note that the users
+of these locks under non -rt environments have already been using unfair
+raw spinlocks anyway so the tradeoff is probably worth it.
+
+The way I like to think of this is that higher priority tasks should
+clearly preempt, and lower priority tasks should clearly block. However,
+if tasks have an identical priority value, then we can think of the
+scheduler decisions as the tie-breaking parameter. (e.g. tasks that the
+scheduler picked to run first have a logically higher priority amoung tasks
+of the same prio). This helps to keep the system "primed" with tasks doing
+useful work, and the end result is higher throughput.
+
+Signed-off-by: Gregory Haskins
+---
+
+ kernel/Kconfig.preempt | 10 ++++++++++
+ kernel/rtmutex.c | 31 +++++++++++++++++++++++--------
+ 2 files changed, 33 insertions(+), 8 deletions(-)
+
+diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
+index 2b1fa00..0dfb4ae 100644
+--- a/kernel/Kconfig.preempt
++++ b/kernel/Kconfig.preempt
+@@ -273,3 +273,13 @@ config SPINLOCK_BKL
+ Say Y here if you are building a kernel for a desktop system.
+ Say N if you are unsure.
+
++config RTLOCK_LATERAL_STEAL
++ bool "Allow equal-priority rtlock stealing"
++ default y
++ depends on PREEMPT_RT
++ help
++ This option alters the rtlock lock-stealing logic to allow
++ equal priority tasks to preempt a pending owner in addition
++ to higher priority tasks. This allows for a significant
++ boost in throughput under certain circumstances at the expense
++ of strict FIFO lock access.
+diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c
+index b3be734..b2bf3f3 100644
+--- a/kernel/rtmutex.c
++++ b/kernel/rtmutex.c
+@@ -322,12 +322,27 @@ static int rt_mutex_adjust_prio_chain(struct task_struct *task,
+ return ret;
+ }
+
++static inline int lock_is_stealable(struct task_struct *pendowner, int unfair)
++{
++#ifndef CONFIG_RTLOCK_LATERAL_STEAL
++ if (current->prio >= pendowner->prio)
++#else
++ if (current->prio > pendowner->prio)
++ return 0;
++
++ if (!unfair && (current->prio == pendowner->prio))
++#endif
++ return 0;
++
++ return 1;
++}
++
+ /*
+ * Optimization: check if we can steal the lock from the
+ * assigned pending owner [which might not have taken the
+ * lock yet]:
+ */
+-static inline int try_to_steal_lock(struct rt_mutex *lock)
++static inline int try_to_steal_lock(struct rt_mutex *lock, int unfair)
+ {
+ struct task_struct *pendowner = rt_mutex_owner(lock);
+ struct rt_mutex_waiter *next;
+@@ -339,7 +354,7 @@ static inline int try_to_steal_lock(struct rt_mutex *lock)
+ return 1;
+
+ spin_lock(&pendowner->pi_lock);
+- if (current->prio >= pendowner->prio) {
++ if (!lock_is_stealable(pendowner, unfair)) {
+ spin_unlock(&pendowner->pi_lock);
+ return 0;
+ }
+@@ -392,7 +407,7 @@ static inline int try_to_steal_lock(struct rt_mutex *lock)
+ *
+ * Must be called with lock->wait_lock held.
+ */
+-static int try_to_take_rt_mutex(struct rt_mutex *lock)
++static int try_to_take_rt_mutex(struct rt_mutex *lock, int unfair)
+ {
+ /*
+ * We have to be careful here if the atomic speedups are
+@@ -415,7 +430,7 @@ static int try_to_take_rt_mutex(struct rt_mutex *lock)
+ */
+ mark_rt_mutex_waiters(lock);
+
+- if (rt_mutex_owner(lock) && !try_to_steal_lock(lock))
++ if (rt_mutex_owner(lock) && !try_to_steal_lock(lock, unfair))
+ return 0;
+
+ /* We got the lock. */
+@@ -736,7 +751,7 @@ rt_spin_lock_slowlock(struct rt_mutex *lock)
+ int saved_lock_depth = current->lock_depth;
+
+ /* Try to acquire the lock */
+- if (try_to_take_rt_mutex(lock))
++ if (try_to_take_rt_mutex(lock, 1))
+ break;
+ /*
+ * waiter.task is NULL the first time we come here and
+@@ -984,7 +999,7 @@ rt_mutex_slowlock(struct rt_mutex *lock, int state,
+ init_lists(lock);
+
+ /* Try to acquire the lock again: */
+- if (try_to_take_rt_mutex(lock)) {
++ if (try_to_take_rt_mutex(lock, 0)) {
+ spin_unlock_irqrestore(&lock->wait_lock, flags);
+ return 0;
+ }
+@@ -1005,7 +1020,7 @@ rt_mutex_slowlock(struct rt_mutex *lock, int state,
+ unsigned long saved_flags;
+
+ /* Try to acquire the lock: */
+- if (try_to_take_rt_mutex(lock))
++ if (try_to_take_rt_mutex(lock, 0))
+ break;
+
+ /*
+@@ -1119,7 +1134,7 @@ rt_mutex_slowtrylock(struct rt_mutex *lock)
+
+ init_lists(lock);
+
+- ret = try_to_take_rt_mutex(lock);
++ ret = try_to_take_rt_mutex(lock, 0);
+ /*
+ * try_to_take_rt_mutex() sets the lock waiters
+ * bit unconditionally. Clean this up.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/rtmutex-lateral-steal-sysctl.patch new/patches.rt/rtmutex-lateral-steal-sysctl.patch
--- old/patches.rt/rtmutex-lateral-steal-sysctl.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/rtmutex-lateral-steal-sysctl.patch 2008-02-21 15:31:52.000000000 +0100
@@ -0,0 +1,69 @@
+Subject: sysctl for runtime-control of lateral mutex stealing
+From: Sven-Thorsten Dietrich
+
+Add /proc/sys/kernel/lateral_steal, to allow switching on and off
+equal-priority mutex stealing between threads.
+
+Signed-off-by: Sven-Thorsten Dietrich
+
+---
+ kernel/rtmutex.c | 8 ++++++--
+ kernel/sysctl.c | 14 ++++++++++++++
+ 2 files changed, 20 insertions(+), 2 deletions(-)
+
+Index: linux-2.6.22-SLERT10_BRANCH/kernel/rtmutex.c
+===================================================================
+--- linux-2.6.22-SLERT10_BRANCH.orig/kernel/rtmutex.c
++++ linux-2.6.22-SLERT10_BRANCH/kernel/rtmutex.c
+@@ -25,6 +25,9 @@ int rtlock_timeout __read_mostly = CONFI
+ #ifdef CONFIG_ADAPTIVE_RTMUTEX
+ int rtmutex_timeout __read_mostly = CONFIG_RTMUTEX_DELAY;
+ #endif
++#ifdef CONFIG_RTLOCK_LATERAL_STEAL
++int rtmutex_lateral_steal __read_mostly = 1;
++#endif
+
+ /*
+ * lock->owner state tracking:
+@@ -328,7 +331,8 @@ static inline int lock_is_stealable(stru
+ if (current->prio > pendowner->prio)
+ return 0;
+
+- if (!unfair && (current->prio == pendowner->prio))
++ if (unlikely(current->prio == pendowner->prio) &&
++ !(unfair && rtmutex_lateral_steal))
+ #endif
+ return 0;
+
+Index: linux-2.6.22-SLERT10_BRANCH/kernel/sysctl.c
+===================================================================
+--- linux-2.6.22-SLERT10_BRANCH.orig/kernel/sysctl.c
++++ linux-2.6.22-SLERT10_BRANCH/kernel/sysctl.c
+@@ -166,6 +166,10 @@ extern ctl_table inotify_table[];
+ int sysctl_legacy_va_layout;
+ #endif
+
++#ifdef CONFIG_RTLOCK_LATERAL_STEAL
++extern int rtmutex_lateral_steal;
++#endif
++
+ extern int prove_locking;
+ extern int lock_stat;
+
+@@ -945,6 +949,16 @@ static ctl_table kern_table[] = {
+ .proc_handler = &proc_dointvec,
+ },
+ #endif
++#ifdef CONFIG_RTLOCK_LATERAL_STEAL
++ {
++ .ctl_name = CTL_UNNUMBERED,
++ .procname = "rtmutex_lateral_steal",
++ .data = &rtmutex_lateral_steal,
++ .maxlen = sizeof(int),
++ .mode = 0644,
++ .proc_handler = &proc_dointvec,
++ },
++#endif
+ #ifdef CONFIG_PROC_FS
+ {
+ .ctl_name = CTL_UNNUMBERED,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/rtmutex-optimize-wakeup.patch new/patches.rt/rtmutex-optimize-wakeup.patch
--- old/patches.rt/rtmutex-optimize-wakeup.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/rtmutex-optimize-wakeup.patch 2008-02-20 21:04:22.000000000 +0100
@@ -0,0 +1,56 @@
+Subject: optimize rt lock wakeup
+
+From: Gregory Haskins
+
+It is redundant to wake the grantee task if it is already running
+
+Credit goes to Peter for the general idea.
+
+Signed-off-by: Gregory Haskins
+Signed-off-by: Peter Morreale
+---
+
+ kernel/rtmutex.c | 23 ++++++++++++++++++-----
+ 1 files changed, 18 insertions(+), 5 deletions(-)
+
+diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c
+index 15fc6e6..cb27b08 100644
+--- a/kernel/rtmutex.c
++++ b/kernel/rtmutex.c
+@@ -511,6 +511,24 @@ static void wakeup_next_waiter(struct rt_mutex *lock, int savestate)
+ pendowner = waiter->task;
+ waiter->task = NULL;
+
++ /*
++ * Do the wakeup before the ownership change to give any spinning
++ * waiter grantees a headstart over the other threads that will
++ * trigger once owner changes.
++ */
++ if (!savestate)
++ wake_up_process(pendowner);
++ else {
++ smp_mb();
++ /*
++ * This may appear to be a race, but the barriers close the
++ * window.
++ */
++ if ((pendowner->state != TASK_RUNNING)
++ && (pendowner->state != TASK_RUNNING_MUTEX))
++ wake_up_process_mutex(pendowner);
++ }
++
+ rt_mutex_set_owner(lock, pendowner, RT_MUTEX_OWNER_PENDING);
+
+ spin_unlock(¤t->pi_lock);
+@@ -537,11 +555,6 @@ static void wakeup_next_waiter(struct rt_mutex *lock, int savestate)
+ plist_add(&next->pi_list_entry, &pendowner->pi_waiters);
+ }
+ spin_unlock(&pendowner->pi_lock);
+-
+- if (savestate)
+- wake_up_process_mutex(pendowner);
+- else
+- wake_up_process(pendowner);
+ }
+
+ /*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/rtmutex-rearrange.patch new/patches.rt/rtmutex-rearrange.patch
--- old/patches.rt/rtmutex-rearrange.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/rtmutex-rearrange.patch 2008-02-20 21:04:22.000000000 +0100
@@ -0,0 +1,67 @@
+Subject: rearrange rt_spin_lock sleep
+
+From: Gregory Haskins
+
+The current logic makes rather coarse adjustments to current->state since
+it is planning on sleeping anyway. We want to eventually move to an
+adaptive (e.g. optional sleep) algorithm, so we tighten the scope of the
+adjustments to bracket the schedule(). This should yield correct behavior
+with or without the adaptive features that are added later in the series.
+We add it here as a separate patch for greater review clarity on smaller
+changes.
+
+Signed-off-by: Gregory Haskins
+---
+
+ kernel/rtmutex.c | 20 +++++++++++++++-----
+ 1 files changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c
+index a2b00cc..15fc6e6 100644
+--- a/kernel/rtmutex.c
++++ b/kernel/rtmutex.c
+@@ -661,6 +661,14 @@ rt_spin_lock_fastunlock(struct rt_mutex *lock,
+ slowfn(lock);
+ }
+
++static inline void
++update_current(unsigned long new_state, unsigned long *saved_state)
++{
++ unsigned long state = xchg(¤t->state, new_state);
++ if (unlikely(state == TASK_RUNNING))
++ *saved_state = TASK_RUNNING;
++}
++
+ /*
+ * Slow path lock function spin_lock style: this variant is very
+ * careful not to miss any non-lock wakeups.
+@@ -700,7 +708,8 @@ rt_spin_lock_slowlock(struct rt_mutex *lock)
+ * saved_state accordingly. If we did not get a real wakeup
+ * then we return with the saved state.
+ */
+- saved_state = xchg(¤t->state, TASK_UNINTERRUPTIBLE);
++ saved_state = current->state;
++ smp_mb();
+
+ for (;;) {
+ unsigned long saved_flags;
+@@ -732,14 +741,15 @@ rt_spin_lock_slowlock(struct rt_mutex *lock)
+
+ debug_rt_mutex_print_deadlock(&waiter);
+
+- schedule_rt_mutex(lock);
++ update_current(TASK_UNINTERRUPTIBLE, &saved_state);
++ if (waiter.task)
++ schedule_rt_mutex(lock);
++ else
++ update_current(TASK_RUNNING_MUTEX, &saved_state);
+
+ spin_lock_irqsave(&lock->wait_lock, flags);
+ current->flags |= saved_flags;
+ current->lock_depth = saved_lock_depth;
+- state = xchg(¤t->state, TASK_UNINTERRUPTIBLE);
+- if (unlikely(state == TASK_RUNNING))
+- saved_state = TASK_RUNNING;
+ }
+
+ state = xchg(¤t->state, saved_state);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/rtmutex-remove-extra-try.patch new/patches.rt/rtmutex-remove-extra-try.patch
--- old/patches.rt/rtmutex-remove-extra-try.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/rtmutex-remove-extra-try.patch 2008-02-20 21:24:35.000000000 +0100
@@ -0,0 +1,32 @@
+Subject: remove the extra call to try_to_take_lock
+
+From: Peter W. Morreale
+
+Remove the redundant attempt to get the lock. While it is true that the
+exit path with this patch adds an un-necessary xchg (in the event the
+lock is granted without further traversal in the loop) experimentation
+shows that we almost never encounter this situation.
+
+Signed-off-by: Peter W. Morreale
+---
+
+ kernel/rtmutex.c | 6 ------
+ 1 files changed, 0 insertions(+), 6 deletions(-)
+
+diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c
+index cece4df..b3be734 100644
+--- a/kernel/rtmutex.c
++++ b/kernel/rtmutex.c
+@@ -717,12 +717,6 @@ rt_spin_lock_slowlock(struct rt_mutex *lock)
+ spin_lock_irqsave(&lock->wait_lock, flags);
+ init_lists(lock);
+
+- /* Try to acquire the lock again: */
+- if (try_to_take_rt_mutex(lock)) {
+- spin_unlock_irqrestore(&lock->wait_lock, flags);
+- return;
+- }
+-
+ BUG_ON(rt_mutex_owner(lock) == current);
+
+ /*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rt/spinlock-fix-preempt.patch new/patches.rt/spinlock-fix-preempt.patch
--- old/patches.rt/spinlock-fix-preempt.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rt/spinlock-fix-preempt.patch 2008-02-20 21:04:22.000000000 +0100
@@ -0,0 +1,26 @@
+Subject: spinlocks - fix preemption feature when PREEMPT_RT is enabled
+
+From: Gregory Haskins
+
+The logic is currently broken so that PREEMPT_RT disables preemptible
+spinlock waiters, which is counter intuitive.
+
+Signed-off-by: Gregory Haskins
+---
+
+ kernel/spinlock.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/kernel/spinlock.c b/kernel/spinlock.c
+index c9bcf1b..b0e7f02 100644
+--- a/kernel/spinlock.c
++++ b/kernel/spinlock.c
+@@ -117,7 +117,7 @@ EXPORT_SYMBOL(__write_trylock_irqsave);
+ * not re-enabled during lock-acquire (which the preempt-spin-ops do):
+ */
+ #if !defined(CONFIG_PREEMPT) || !defined(CONFIG_SMP) || \
+- defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_PREEMPT_RT)
++ defined(CONFIG_DEBUG_LOCK_ALLOC)
+
+ void __lockfunc __read_lock(raw_rwlock_t *lock)
+ {
++++++ patches.suse.tar.bz2 ++++++
++++ 62629 lines of diff (skipped)
++++++ patches.xen.tar.bz2 ++++++
++++ 78418 lines of diff (skipped)
++++++ series.conf ++++++
--- kernel-source/series.conf 2008-02-14 23:06:07.000000000 +0100
+++ /mounts/work_src_done/STABLE/kernel-source/series.conf 2008-02-22 18:21:13.000000000 +0100
@@ -132,6 +132,18 @@
patches.arch/ppc-iseries-remove-AVAILABLE_VETH.patch
patches.arch/ppc-prom-nodisplay.patch
+ ########################################################
+ # PS3
+ ########################################################
+ patches.arch/ppc-ps3-make-dev_id-and-bus_id-u64.diff
+ patches.arch/ppc-ps3-gelic-fix-fallback.diff
+ patches.arch/ppc-ps3-gelic-endianness.patch
+ patches.arch/ppc-ps3-gelic-cleanup.patch
+ patches.arch/ppc-ps3-gelic-remove-duplicate-ethtool-handlers.patch
+ patches.arch/ppc-ps3-gelic-ethernet-linkstatus.patch
+ patches.arch/ppc-ps3-gelic-multiple-interface.patch
+ patches.arch/ppc-ps3-gelic-wireless-v2.patch
+
########################################################
# S/390
########################################################
@@ -343,6 +355,9 @@
patches.fixes/tulip-quad-NIC-ifdown
patches.suse/nameif-track-rename.patch
patches.drivers/igb-1.0.8-k2
+ patches.fixes/bluetooth_hci_dev_put.patch
+ patches.fixes/bluetooth_hci_conn_childs.patch
+ patches.fixes/bluetooth_hci_unregister_sysfs.patch
########################################################
# Wireless Networking
@@ -421,7 +436,7 @@
patches.fixes/dm-mpath-hp-sw.patch
patches.suse/dm-emulate-blkrrpart-ioctl
-+check_jeffm patches.suse/dm-raid45-2.6.22.1-20070724.patch
+ patches.suse/dm-raid45-2.6.24-20080602a.patch
##########################################################
#
@@ -540,6 +555,9 @@
# split out patches
-RT patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch
-RT patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch
+-RT patches.xen/ipv6-no-autoconf
+- patches.xen/sfc-network-driver
+- patches.xen/sfc-resource-driver
# bulk stuff, new files for xen
-RT patches.xen/xen3-auto-xen-arch.diff
@@ -593,7 +611,6 @@
-RT patches.xen/xen-blkif-protocol-fallback-hack
-RT patches.xen/xen-blkback-cdrom
-RT patches.xen/xen-sections
--RT patches.xen/ipv6-no-autoconf
# RT
@@ -605,9 +622,6 @@
+RT patches.rt/kdb-rt-x86_64-alternate-stack-fix
#
- # base tree: 2.6.23-rc4
- #
- #
# Mainline fixes
#
+RT patches.rt/mcount-add-basic-support-for-gcc-profiler-instrum.patch
@@ -914,6 +928,23 @@
+RT patches.rt/rt-mutex-arm-fix.patch
+RT patches.rt/rt-mutex-drop-generic-TIF_NEED_RESCHED_DELAYED.patch
+RT patches.rt/rt-mutex-compat-semaphores.patch
+
+ #
+ # adaptive locking
+ #
++RT patches.rt/spinlock-fix-preempt.patch
++RT patches.rt/make-spinlock-preempt-configurable.patch
++RT patches.rt/disable-spinlock-preemption-for-ticketlocks.patch
++RT patches.rt/rtmutex-rearrange.patch
++RT patches.rt/rtmutex-optimize-wakeup.patch
++RT patches.rt/rtmutex-adaptive-locks.patch
++RT patches.rt/rtmutex-adaptive-timeout.patch
++RT patches.rt/rtmutex-adaptive-mutexes.patch
++RT patches.rt/rtmutex-adjust-pi_lock-usage-in-wakeup.patch
++RT patches.rt/rtmutex-remove-extra-try.patch
++RT patches.rt/rtmutex-lateral-steal.patch
++RT patches.rt/rtmutex-lateral-steal-sysctl.patch
+
#
# Per-CPU locking assumption cleanups:
#
@@ -1316,3 +1347,4 @@
- patches.rt/fix_improper.init-type_section_references.patch
+RT patches.rt/megasas_IRQF_NODELAY.patch
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org