Patches contributed by Eötvös Lorand University
commit ff96e612cba32510e263e17b213235fe5746397e
Merge: cd84a42f315e 577c9c456f0e
Author: Ingo Molnar <mingo@elte.hu>
Date: Wed Apr 8 17:02:50 2009 +0200
Merge commit 'v2.6.30-rc1' into core/urgent
Merge reason: need latest upstream to queue up dependent fix
Signed-off-by: Ingo Molnar <mingo@elte.hu>
commit a59dacfdc9ba06903652fa4883bf1106278b18ec
Author: Ingo Molnar <mingo@elte.hu>
Date: Fri Oct 17 14:38:08 2008 +0200
x86 early quirks: eliminate unused function
Impact: cleanup
this warning:
arch/x86/kernel/early-quirks.c:99: warning: ‘ati_ixp4x0_rev’ defined but not used
triggers because ati_ixp4x0_rev() is only used in the
ACPI && X86_IO_APIC case.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
index 76b8cd953dee..ebdb85cf2686 100644
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -96,6 +96,7 @@ static void __init nvidia_bugs(int num, int slot, int func)
}
+#if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC)
#if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC)
static u32 __init ati_ixp4x0_rev(int num, int slot, int func)
{
@@ -114,6 +115,7 @@ static u32 __init ati_ixp4x0_rev(int num, int slot, int func)
d &= 0xff;
return d;
}
+#endif
static void __init ati_bugs(int num, int slot, int func)
{
commit a34b50ddc265bae058c66661b096ef6384c5a8b1
Author: Ingo Molnar <mingo@elte.hu>
Date: Wed Apr 8 10:56:54 2009 +0200
mm, x86, ptrace, bts: defer branch trace stopping, remove dead code
Remove the unused free_locked_buffer() API.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 776b641f37e3..a3963ba23a6d 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1320,7 +1320,6 @@ int vmemmap_populate(struct page *start_page, unsigned long pages, int node);
void vmemmap_populate_print_last(void);
extern void *alloc_locked_buffer(size_t size);
-extern void free_locked_buffer(void *buffer, size_t size);
extern void refund_locked_buffer_memory(struct mm_struct *mm, size_t size);
#endif /* __KERNEL__ */
#endif /* _LINUX_MM_H */
diff --git a/mm/mlock.c b/mm/mlock.c
index 749383b442c7..28be15ead9c1 100644
--- a/mm/mlock.c
+++ b/mm/mlock.c
@@ -671,9 +671,3 @@ void refund_locked_buffer_memory(struct mm_struct *mm, size_t size)
up_write(&mm->mmap_sem);
}
-
-void free_locked_buffer(void *buffer, size_t size)
-{
- refund_locked_buffer_memory(current->mm, size);
- kfree(buffer);
-}
commit 44bc9dc729e33a4ec6ebed4d0b6c08e8d20b42cf
Author: Ingo Molnar <mingo@elte.hu>
Date: Wed Apr 8 10:47:17 2009 +0200
mm, x86, ptrace, bts: defer branch trace stopping, cleanup
Andrew Morton noticed that mm.h needlessly includes sched.h - remove it.
Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 64d8ed2538ae..776b641f37e3 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -13,7 +13,6 @@
#include <linux/prio_tree.h>
#include <linux/debug_locks.h>
#include <linux/mm_types.h>
-#include <linux/sched.h>
struct mempolicy;
struct anon_vma;
commit 5ea472a77f8e4811ceee3f44a9deda6ad6e8b789
Merge: 6c009ecef8cc 577c9c456f0e
Author: Ingo Molnar <mingo@elte.hu>
Date: Wed Apr 8 10:35:30 2009 +0200
Merge commit 'v2.6.30-rc1' into perfcounters/core
Conflicts:
arch/powerpc/include/asm/systbl.h
arch/powerpc/include/asm/unistd.h
include/linux/init_task.h
Merge reason: the conflicts are non-trivial: PowerPC placement
of sys_perf_counter_open has to be mixed with the
new preadv/pwrite syscalls.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --cc arch/powerpc/include/asm/systbl.h
index affa8caed7eb,d98a30dfd41c..a0b92de51c7e
--- a/arch/powerpc/include/asm/systbl.h
+++ b/arch/powerpc/include/asm/systbl.h
@@@ -322,4 -322,6 +322,6 @@@ SYSCALL_SPU(epoll_create1
SYSCALL_SPU(dup3)
SYSCALL_SPU(pipe2)
SYSCALL(inotify_init1)
-SYSCALL(ni_syscall)
+SYSCALL_SPU(perf_counter_open)
+ COMPAT_SYS_SPU(preadv)
+ COMPAT_SYS_SPU(pwritev)
diff --cc arch/powerpc/include/asm/unistd.h
index 7cef5afe89d8,3f06f8ec81c5..4badac2d11d1
--- a/arch/powerpc/include/asm/unistd.h
+++ b/arch/powerpc/include/asm/unistd.h
@@@ -341,7 -341,8 +341,9 @@@
#define __NR_dup3 316
#define __NR_pipe2 317
#define __NR_inotify_init1 318
+#define __NR_perf_counter_open 319
+ #define __NR_preadv 320
+ #define __NR_pwritev 321
#ifdef __KERNEL__
diff --cc include/linux/init_task.h
index ca226a91abee,dcfb93337e9a..c98866102817
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@@ -195,9 -184,9 +196,10 @@@ extern struct cred init_cred
}, \
.dirties = INIT_PROP_LOCAL_SINGLE(dirties), \
INIT_IDS \
++ INIT_PERF_COUNTERS(tsk) \
INIT_TRACE_IRQFLAGS \
INIT_LOCKDEP \
- INIT_PERF_COUNTERS(tsk) \
+ INIT_FTRACE_GRAPH \
}
commit f8201abcb2badce7eaa6a3715f9a228cfd88a453
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Apr 7 14:16:50 2009 +0800
ramfs: fix double freeing s_fs_info on failed mount
If ramfs mount fails, s_fs_info will be freed twice in ramfs_fill_super()
and ramfs_kill_sb(), leading to kernel oops.
Consolidate and beautify the code.
Make sure s_fs_info and s_root are in known good states.
Acked-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
index a404fb88e456..3a6b193d8444 100644
--- a/fs/ramfs/inode.c
+++ b/fs/ramfs/inode.c
@@ -221,22 +221,23 @@ static int ramfs_fill_super(struct super_block * sb, void * data, int silent)
save_mount_options(sb, data);
fsi = kzalloc(sizeof(struct ramfs_fs_info), GFP_KERNEL);
+ sb->s_fs_info = fsi;
if (!fsi) {
err = -ENOMEM;
goto fail;
}
- sb->s_fs_info = fsi;
err = ramfs_parse_options(data, &fsi->mount_opts);
if (err)
goto fail;
- sb->s_maxbytes = MAX_LFS_FILESIZE;
- sb->s_blocksize = PAGE_CACHE_SIZE;
- sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
- sb->s_magic = RAMFS_MAGIC;
- sb->s_op = &ramfs_ops;
- sb->s_time_gran = 1;
+ sb->s_maxbytes = MAX_LFS_FILESIZE;
+ sb->s_blocksize = PAGE_CACHE_SIZE;
+ sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
+ sb->s_magic = RAMFS_MAGIC;
+ sb->s_op = &ramfs_ops;
+ sb->s_time_gran = 1;
+
inode = ramfs_get_inode(sb, S_IFDIR | fsi->mount_opts.mode, 0);
if (!inode) {
err = -ENOMEM;
@@ -244,14 +245,16 @@ static int ramfs_fill_super(struct super_block * sb, void * data, int silent)
}
root = d_alloc_root(inode);
+ sb->s_root = root;
if (!root) {
err = -ENOMEM;
goto fail;
}
- sb->s_root = root;
+
return 0;
fail:
kfree(fsi);
+ sb->s_fs_info = NULL;
iput(inode);
return err;
}
commit 86665c75da41889f92b774f31ea5a9a436f392a8
Merge: 93776a8ec746 1bbe2a83ab68
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Apr 7 14:41:14 2009 +0200
Merge branch 'tracing/urgent' into tracing/ftrace
commit 93776a8ec746cf9d32c36e5a5b23d28d8be28826
Merge: 34886c8bc590 d508afb437da
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Apr 7 13:47:33 2009 +0200
Merge branch 'linus' into tracing/core
Merge reason: update to upstream tracing facilities
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --cc kernel/trace/Kconfig
index 8a4136096d7d,2246141bda4d..23b96ebbf893
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@@ -99,13 -99,11 +99,12 @@@ config FUNCTION_GRAPH_TRACE
help
Enable the kernel to trace a function at both its return
and its entry.
- It's first purpose is to trace the duration of functions and
- draw a call graph for each thread with some informations like
- the return value.
- This is done by setting the current return address on the current
- task structure into a stack of calls.
+ Its first purpose is to trace the duration of functions and
+ draw a call graph for each thread with some information like
+ the return value. This is done by setting the current return
+ address on the current task structure into a stack of calls.
+
config IRQSOFF_TRACER
bool "Interrupts-off Latency Tracer"
default n
commit a053958f073740219df1da596b42bfefdab634c4
Merge: 4fafd5b03875 e2494e1b42eb
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Apr 7 13:40:49 2009 +0200
Merge branch 'tracing/blktrace-fixes' into tracing/urgent
Merge reason: this used to be a tracing/blktrace-v2 devel topic still
cooking during the merge window - has propagated to fixes
Signed-off-by: Ingo Molnar <mingo@elte.hu>
commit 2e8844e13ab73f1107aea4317a53ff5879f2e1d7
Merge: c78a3956b982 d508afb437da
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Apr 7 13:34:26 2009 +0200
Merge branch 'linus' into tracing/hw-branch-tracing
Merge reason: update to latest tracing and ptrace APIs
Signed-off-by: Ingo Molnar <mingo@elte.hu>