diff options
author | yardenac | 2012-12-20 18:55:50 -0800 |
---|---|---|
committer | yar | 2015-07-03 16:58:20 -0700 |
commit | 7ed73858fa8f58788e6cea4b6f7df0d7bf737644 (patch) | |
tree | 901d6dc082e08be75b2383d3894bc23224a6448f | |
parent | c0dea8056cd7a1836697c4e0f722a6f1b950e04a (diff) | |
download | aur-7ed73858fa8f58788e6cea4b6f7df0d7bf737644.tar.gz |
fix watchdog bug
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 9 | ||||
-rw-r--r-- | config | 2 | ||||
-rw-r--r-- | config.x86_64 | 2 | ||||
-rw-r--r-- | fix-watchdog-3.7.patch | 38 | ||||
-rw-r--r-- | linux-linode.install | 2 |
6 files changed, 52 insertions, 9 deletions
@@ -1,7 +1,7 @@ pkgbase = linux-linode pkgdesc = Kernel for Arch Linux on Linode pkgver = 3.7.1 - pkgrel = 1 + pkgrel = 2 url = https://github.com/yardenac/linux-linode install = linux-linode.install arch = i686 @@ -30,13 +30,15 @@ pkgbase = linux-linode source = config.x86_64 source = menu.lst source = linux-linode.preset + source = fix-watchdog-3.7.patch source = change-default-console-loglevel.patch md5sums = 21223369d682bcf44bcdfe1521095983 md5sums = 48f5f530b048e387e978e3e49de7742a - md5sums = e7cacdfb2aec83541c287ef419a9f43d - md5sums = 5ab6a4c7b056753c72f312c581d6b275 + md5sums = decead29c19b529a6776f7774c1bd104 + md5sums = 49166175551bb52106bff00eb7b6362a md5sums = d01f2350ec9f92e2eabcde0f11be24f2 md5sums = ee66f3cd0c5bc0ba0f65499784d19f30 + md5sums = 05825098356199a0d76bd5b337bab2e4 md5sums = 9d3c56a4b999c8bfbd4018089a62f662 pkgname = linux-linode @@ -3,7 +3,7 @@ _basekernel=3.7 _kernelname=${pkgname#linux} _srcname=linux-${_basekernel} pkgver=${_basekernel}.1 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="https://github.com/yardenac/linux-linode" license=(GPL2) @@ -15,13 +15,15 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz" 'config.x86_64' 'menu.lst' "${pkgname}.preset" + 'fix-watchdog-3.7.patch' 'change-default-console-loglevel.patch') md5sums=('21223369d682bcf44bcdfe1521095983' '48f5f530b048e387e978e3e49de7742a' - 'e7cacdfb2aec83541c287ef419a9f43d' - '5ab6a4c7b056753c72f312c581d6b275' + 'decead29c19b529a6776f7774c1bd104' + '49166175551bb52106bff00eb7b6362a' 'd01f2350ec9f92e2eabcde0f11be24f2' 'ee66f3cd0c5bc0ba0f65499784d19f30' + '05825098356199a0d76bd5b337bab2e4' '9d3c56a4b999c8bfbd4018089a62f662') pkgdesc="Kernel for Arch Linux on Linode" depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7') @@ -34,6 +36,7 @@ install=${pkgname}.install build() { cd "${srcdir}/${_srcname}" patch -p1 -i "${srcdir}/patch-${pkgver}" + patch -Np1 -i "${srcdir}/fix-watchdog-3.7.patch" patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch" if [ "${CARCH}" = "x86_64" ]; then cat "${srcdir}/config.x86_64" > ./.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.7.1-1 Kernel Configuration +# Linux/i386 3.7.1-2 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y diff --git a/config.x86_64 b/config.x86_64 index 1196365f02ce..3dcbb6610238 100644 --- a/config.x86_64 +++ b/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.7.1-1 Kernel Configuration +# Linux/x86_64 3.7.1-2 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y diff --git a/fix-watchdog-3.7.patch b/fix-watchdog-3.7.patch new file mode 100644 index 000000000000..2a8e77a8a922 --- /dev/null +++ b/fix-watchdog-3.7.patch @@ -0,0 +1,38 @@ +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git;a=blobdiff_plain;f=kernel%2Fwatchdog.c;h=75a2ab3d0b0208dfa51e40339ffd00206622732e;hp=997c6a16ec2278969a10f251f63f237e7559d42e;hb=3935e89505a1c3ab3f3b0c7ef0eae54124f48905;hpb=74779e22261172ea728b989310f6ecc991b57d62 + +diff --git a/kernel/watchdog.c b/kernel/watchdog.c +index 997c6a1..75a2ab3 100644 +--- a/kernel/watchdog.c ++++ b/kernel/watchdog.c +@@ -344,6 +344,10 @@ static void watchdog_enable(unsigned int cpu) + { + struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer); + ++ /* kick off the timer for the hardlockup detector */ ++ hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); ++ hrtimer->function = watchdog_timer_fn; ++ + if (!watchdog_enabled) { + kthread_park(current); + return; +@@ -352,10 +356,6 @@ static void watchdog_enable(unsigned int cpu) + /* Enable the perf event */ + watchdog_nmi_enable(cpu); + +- /* kick off the timer for the hardlockup detector */ +- hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); +- hrtimer->function = watchdog_timer_fn; +- + /* done here because hrtimer_start can only pin to smp_processor_id() */ + hrtimer_start(hrtimer, ns_to_ktime(sample_period), + HRTIMER_MODE_REL_PINNED); +@@ -369,9 +369,6 @@ static void watchdog_disable(unsigned int cpu) + { + struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer); + +- if (!watchdog_enabled) +- return; +- + watchdog_set_prio(SCHED_NORMAL, 0); + hrtimer_cancel(hrtimer); + /* disable the perf event */ diff --git a/linux-linode.install b/linux-linode.install index f786a942c0c6..9c7da7c092b0 100644 --- a/linux-linode.install +++ b/linux-linode.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME=-linode -KERNEL_VERSION=3.7.1-1-linode +KERNEL_VERSION=3.7.1-2-linode export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' |