Patches contributed by Eötvös Lorand University
commit 790c7ebbe9dc3ec428a5e982af492a14dd1b565f
Merge: d5b562330ec7 fb08b20fe7c8
Author: Ingo Molnar <mingo@elte.hu>
Date: Mon Feb 9 11:19:29 2009 +0100
Merge branch 'jsgf/x86/unify' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/headers
commit 44b0635481437140b0e29d6023f05e805d5e7620
Merge: 4ad476e11f94 57794a9d48b6
Author: Ingo Molnar <mingo@elte.hu>
Date: Mon Feb 9 10:35:12 2009 +0100
Merge branch 'tip/tracing/core/devel' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace
Conflicts:
kernel/trace/trace_hw_branches.c
diff --cc kernel/trace/trace_hw_branches.c
index ca4bbcfb9e2c,549238a9b133..e3e7db61c067
--- a/kernel/trace/trace_hw_branches.c
+++ b/kernel/trace/trace_hw_branches.c
@@@ -193,10 -193,11 +193,11 @@@ void trace_hw_branch(u64 from, u64 to
if (!event)
goto out;
entry = ring_buffer_event_data(event);
- entry->ent.cpu = cpu;
+ tracing_generic_entry_update(&entry->ent, 0, from);
+ entry->ent.type = TRACE_HW_BRANCHES;
entry->from = from;
entry->to = to;
- ring_buffer_unlock_commit(tr->buffer, event, irq2);
+ trace_buffer_unlock_commit(tr, event, 0, 0);
out:
atomic_dec(&tr->data[cpu]->disabled);
commit 4ad476e11f94fd3724c6e272d8220e99cd222b27
Merge: 304cc6ae1bf7 8e4921515c1a
Author: Ingo Molnar <mingo@elte.hu>
Date: Mon Feb 9 10:32:48 2009 +0100
Merge commit 'v2.6.29-rc4' into tracing/core
commit 5ba1ae92b6796b3367152ccd9baa022dde7eed4c
Merge: ae1a25da8448 2d68259db26a 42bb8cc5e810 6626bff24578 ff08f76d738d
Author: Ingo Molnar <mingo@elte.hu>
Date: Sun Feb 8 20:14:11 2009 +0100
Merge branches 'timers/clockevents', 'timers/hpet', 'timers/hrtimers' and 'timers/urgent' into timers/core
commit 140573d33b703194b7e1893711e78b7f546cca7c
Merge: 34cb61359b50 ceacc2c1c85a 483b4ee60edb
Author: Ingo Molnar <mingo@elte.hu>
Date: Sun Feb 8 20:12:46 2009 +0100
Merge branches 'sched/rt' and 'sched/urgent' into sched/core
diff --cc kernel/sched_fair.c
index bdf64346b4d1,8e1352c75557,a7e50ba185ac..bc1563e7a248
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@@@ -1440,12 -1393,12 -1411,18 +1458,18 @@@@ static void check_preempt_wakeup(struc
return;
/*
-- * Batch tasks do not preempt (their preemption is driven by
++ * Batch and idle tasks do not preempt (their preemption is driven by
* the tick):
*/
-- if (unlikely(p->policy == SCHED_BATCH))
++ if (unlikely(p->policy != SCHED_NORMAL))
+ return;
+
++ /* Idle tasks are by definition preempted by everybody. */
++ if (unlikely(curr->policy == SCHED_IDLE)) {
++ resched_task(curr);
+ return;
++ }
+
if (!sched_feat(WAKEUP_PREEMPT))
return;
commit d2f59357700487a8b944f4f7777d1e97cf5ea2ed
Author: Ingo Molnar <mingo@elte.hu>
Date: Thu Feb 5 16:03:34 2009 +0100
drm/i915: select framebuffer support automatically
Migration helper.
The i915 driver recently added a 'depends on FB' rule to its
Kconfig entry - which silently turns off DRM_I915 if someone
has a working config but no CONFIG_FB selected, and upgrades
to the latest upstream kernel.
Norbert Preining reported this problem:
Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=12599
Subject : dri /dev node disappeared with 2.6.29-rc1
So change it to "select FB", which auto-selects framebuffer
support. This way the driver keeps working, regardless of
whether FB was enabled before or not.
Kconfig select's of interactive options can be problematic to
dependencies and can cause build breakages - but in this case
it's safe because it's a leaf entry with no dependencies of its
own.
( There is some minor circular dependency fallout as FB_I810
and FB_INTEL also used 'depends on FB' constructs - update
those to "select FB" too. )
Reported-by: Norbert Preining <preining@logic.at>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Dave Airlie <airlied@linux.ie>
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 5130b72d593c..4be3acbaaf9a 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -70,7 +70,7 @@ config DRM_I915
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
- depends on FB
+ select FB
tristate "i915 driver"
help
Choose this option if you have a system that has Intel 830M, 845G,
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index f0267706cb45..bf0af660df8a 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -1054,9 +1054,10 @@ config FB_RIVA_BACKLIGHT
config FB_I810
tristate "Intel 810/815 support (EXPERIMENTAL)"
- depends on FB && EXPERIMENTAL && PCI && X86_32
+ depends on EXPERIMENTAL && PCI && X86_32
select AGP
select AGP_INTEL
+ select FB
select FB_MODE_HELPERS
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
@@ -1119,7 +1120,8 @@ config FB_CARILLO_RANCH
config FB_INTEL
tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support (EXPERIMENTAL)"
- depends on FB && EXPERIMENTAL && PCI && X86
+ depends on EXPERIMENTAL && PCI && X86
+ select FB
select AGP
select AGP_INTEL
select FB_MODE_HELPERS
commit 673f8205914a12e928c65afbcd78ae748f78df53
Merge: cf47b8f3d96b ae1a25da8448
Author: Ingo Molnar <mingo@elte.hu>
Date: Sat Feb 7 18:31:54 2009 +0100
Merge branch 'linus' into core/locking
Conflicts:
fs/btrfs/locking.c
commit f6c727813e03ce0f58d73808da8c9a6bc227249e
Merge: 0b86a4e34d88 527bdfee18ac
Author: Ingo Molnar <mingo@elte.hu>
Date: Fri Feb 6 16:46:30 2009 +0100
Merge branch 'core/header-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6-tip into core/header-fixes
commit 7d8e23df69820e6be42bcc41d441f4860e8c76f7
Author: Ingo Molnar <mingo@elte.hu>
Date: Fri Feb 6 14:57:51 2009 +0100
timers: split process wide cpu clocks/timers, remove spurious warning
Mike Galbraith reported that the new warning in thread_group_cputimer()
triggers en masse with Amarok running.
Oleg Nesterov observed:
Can't fastpath_timer_check()->thread_group_cputimer() have the
false warning too? Suppose we had the timer, then posix_cpu_timer_del()
removes this timer, but task_cputime_zero(&sig->cputime_expires) still
not true.
Remove the spurious debug warning.
Reported-by: Mike Galbraith <efault@gmx.de>
Explained-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 082d7619b3a1..79392916d6c9 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2208,8 +2208,6 @@ void thread_group_cputimer(struct task_struct *tsk, struct task_cputime *times)
struct thread_group_cputimer *cputimer = &tsk->signal->cputimer;
unsigned long flags;
- WARN_ON(!cputimer->running);
-
spin_lock_irqsave(&cputimer->lock, flags);
*times = cputimer->cputime;
spin_unlock_irqrestore(&cputimer->lock, flags);
commit 0464ac9ebd90cfd5792d3c1158af848281b7eb09
Merge: 0973a06cde8c 9be260a646bf
Author: Ingo Molnar <mingo@elte.hu>
Date: Fri Feb 6 14:42:54 2009 +0100
Merge branch 'linus' into x86/mm
Conflicts:
arch/x86/mm/fault.c
diff --cc arch/x86/mm/fault.c
index 8e9b0f1fd872,c76ef1d701c9..817a78d5acaf
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@@ -808,8 -601,8 +808,6 @@@ void __kprobes do_page_fault(struct pt_
/* get the address */
address = read_cr2();
- if (unlikely(notify_page_fault(regs)))
- return;
- si_code = SEGV_MAPERR;
-
if (unlikely(kmmio_fault(regs, address)))
return;
@@@ -832,17 -629,23 +830,22 @@@
return;
/* Can handle a stale RO->RW TLB */
- if (spurious_fault(address, error_code))
+ if (spurious_fault(error_code, address))
return;
+ /* kprobes don't want to hook the spurious faults. */
+ if (notify_page_fault(regs))
+ return;
/*
* Don't take the mm semaphore here. If we fixup a prefetch
* fault we could otherwise deadlock.
*/
- goto bad_area_nosemaphore;
+ bad_area_nosemaphore(regs, error_code, address);
+ return;
}
- /* kprobes don't want to hook the spurious faults. */
- if (notify_page_fault(regs))
++ if (unlikely(notify_page_fault(regs)))
+ return;
-
/*
* It's safe to allow irq's after cr2 has been saved and the
* vmalloc fault has been handled.