timer fix
Linus,
Please pull the latest timer-fixes-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git timer-fixes-for-linus
This fixes the scheduler bug discussed in the:
"2.6.39-rc4+: Kernel leaking memory during FS scanning, regression?"
lkml thread.
Thanks,
Ingo
------------------>
Thomas Gleixner (1):
hrtimer: Initialize CLOCK_ID to HRTIMER_BASE table statically
Zhangfei Gao (1):
rtc: max8925: Call dev_set_drvdata before rtc_device_register
drivers/rtc/rtc-max8925.c | 3 ++- kernel/hrtimer.c | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-)
drivers/rtc/rtc-max8925.c +2 -1
@@ -257,6 +257,8 @@ static int __devinit max8925_rtc_probe(struct platform_device *pdev) goto out_irq; } +dev_set_drvdata (&pdev->dev, info); + info->rtc_dev =rtc_device_register ("max8925-rtc" , &pdev->dev, &max8925_rtc_ops,THIS_MODULE ); ret =PTR_ERR (info->rtc_dev);
@@ -265,7 +267,6 @@ static int __devinit max8925_rtc_probe(struct platform_device *pdev) goto out_rtc; } -dev_set_drvdata (&pdev->dev, info);platform_set_drvdata (pdev, info);return 0 ;
kernel/hrtimer.c +5 -5
@@ -81,7 +81,11 @@ DEFINE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases) = } }; -static int hrtimer_clock_to_base_table[MAX_CLOCKS ]; +static int hrtimer_clock_to_base_table[MAX_CLOCKS ] = { + [CLOCK_REALTIME ] =HRTIMER_BASE_REALTIME , + [CLOCK_MONOTONIC ] =HRTIMER_BASE_MONOTONIC , + [CLOCK_BOOTTIME ] =HRTIMER_BASE_BOOTTIME , +};static inline int hrtimer_clockid_to_base (clockid_t clock_id) {
@@ -1722,10 +1726,6 @@ static struct notifier_block __cpuinitdata hrtimers_nb = {void __init hrtimers_init (void ) { - hrtimer_clock_to_base_table[CLOCK_REALTIME ] =HRTIMER_BASE_REALTIME ; - hrtimer_clock_to_base_table[CLOCK_MONOTONIC ] =HRTIMER_BASE_MONOTONIC ; - hrtimer_clock_to_base_table[CLOCK_BOOTTIME ] =HRTIMER_BASE_BOOTTIME ; -hrtimer_cpu_notify (&hrtimers_nb, (unsigned long )CPU_UP_PREPARE , (void *)(long )smp_processor_id ());register_cpu_notifier (&hrtimers_nb);