From: Ingo Molnar Date: Mon, 24 Nov 2008 16:46:57 +0000 (+0100) Subject: Merge branches 'sched/core', 'core/core' and 'tracing/core' into cpus4096 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=943f3d030003e1fa5f77647328e805441213bf49;p=linux-beck.git Merge branches 'sched/core', 'core/core' and 'tracing/core' into cpus4096 --- 943f3d030003e1fa5f77647328e805441213bf49 diff --cc kernel/Makefile index 6a212b842d86,19fad003b19d,03a45e7e87b7..010ccb311166 --- a/kernel/Makefile +++ b/kernel/Makefile @@@@ -19,7 -19,8 -19,12 +19,11 @@@@ CFLAGS_REMOVE_mutex-debug.o = -p CFLAGS_REMOVE_rtmutex-debug.o = -pg CFLAGS_REMOVE_cgroup-debug.o = -pg CFLAGS_REMOVE_sched_clock.o = -pg --CFLAGS_REMOVE_sched.o = -pg + endif ++ ifdef CONFIG_FUNCTION_RET_TRACER ++ CFLAGS_REMOVE_extable.o = -pg # For __kernel_text_address() ++ CFLAGS_REMOVE_module.o = -pg # For __module_text_address() + endif obj-$(CONFIG_FREEZER) += freezer.o obj-$(CONFIG_PROFILING) += profile.o diff --cc kernel/sched.c index 338340a3fb89,558e5f284269,388d9db044ab..bb827651558e --- a/kernel/sched.c +++ b/kernel/sched.c @@@@ -703,18 -703,45 -709,45 +709,18 @@@@ static __read_mostly char *sched_feat_n #undef SCHED_FEAT --static int sched_feat_open(struct inode *inode, struct file *filp) -{ - filp->private_data = inode->i_private; - return 0; -} - -static ssize_t -sched_feat_read(struct file *filp, char __user *ubuf, - size_t cnt, loff_t *ppos) ++static int sched_feat_show(struct seq_file *m, void *v) { - filp->private_data = inode->i_private; - return 0; - } - - static ssize_t - sched_feat_read(struct file *filp, char __user *ubuf, - size_t cnt, loff_t *ppos) - { -- char *buf; -- int r = 0; -- int len = 0; int i; for (i = 0; sched_feat_names[i]; i++) { -- len += strlen(sched_feat_names[i]); -- len += 4; - } - - buf = kmalloc(len + 2, GFP_KERNEL); - if (!buf) - return -ENOMEM; - - for (i = 0; sched_feat_names[i]; i++) { - if (sysctl_sched_features & (1UL << i)) - r += sprintf(buf + r, "%s ", sched_feat_names[i]); - else - r += sprintf(buf + r, "NO_%s ", sched_feat_names[i]); ++ if (!(sysctl_sched_features & (1UL << i))) ++ seq_puts(m, "NO_"); ++ seq_printf(m, "%s ", sched_feat_names[i]); } ++ seq_puts(m, "\n"); - buf = kmalloc(len + 2, GFP_KERNEL); - if (!buf) - return -ENOMEM; - - for (i = 0; sched_feat_names[i]; i++) { - if (sysctl_sched_features & (1UL << i)) - r += sprintf(buf + r, "%s ", sched_feat_names[i]); - else - r += sprintf(buf + r, "NO_%s ", sched_feat_names[i]); - } - -- r += sprintf(buf + r, "\n"); -- WARN_ON(r >= len + 2); -- -- r = simple_read_from_buffer(ubuf, cnt, ppos, buf, r); -- -- kfree(buf); -- -- return r; ++ return 0; } static ssize_t