Visto che è da metà agosto che non ci sono annunci da Con Kolivas sul suo blog mi son messo avanti con il 3.6.
Queste sono le due patch che interferiscono con la patch BFS:
[PATCH v2 2/7] cpusets, hotplug: Restructure functions that are invoked during hotplug (https://lkml.org/lkml/2012/5/4/268) cpuset_update_active_cpus( bool );
[PATCH tip/core/rcu 05/17] rcu: Use new RCU_POINTER_INITIALIZER for gcc-style initializations (https://lkml.org/lkml/2012/6/22/267)
Se non ricordo male un solo offset non viene risolto in automatico in init/main.c (print_scheduler_version() da mettere alla riga 809).
Offro quindi una patch non ufficiale da applicare alla patch ufficiale 3.5-sched-bfs-424.patch per renderla 3.6-sched-bfs-424_unofficial.patch
Sottolineo che sto utilizzando il kernel con queste patch solo da qualche ora, non sono in contatto con Con Colivas né ho approfondite conoscenze del codice del kernel.
Risulta così lunga principalmente per gli aggiornamenti di tutti gli offset, delle date e dei nomi dei file. Ho messo in grassetto le modifiche apportate.
--- patches/3.5-sched-bfs-424.patch 2012-10-05 23:34:51.359351736 +0200
+++ 3.6-sched-bfs-424.patch 2012-10-06 01:00:48.640369658 +0200
@@ -27,33 +27,11 @@ cpu usage may be very different if you h
-ck
---
- Documentation/scheduler/sched-BFS.txt | 347 +
- Documentation/sysctl/kernel.txt | 26
- arch/powerpc/platforms/cell/spufs/sched.c | 5
- arch/x86/Kconfig | 10
- drivers/cpufreq/cpufreq.c | 7
- drivers/cpufreq/cpufreq_conservative.c | 4
- drivers/cpufreq/cpufreq_ondemand.c | 8
- fs/proc/base.c | 2
- include/linux/init_task.h | 64
- include/linux/ioprio.h | 2
- include/linux/jiffies.h | 2
- include/linux/sched.h | 110
- init/Kconfig | 48
- init/main.c | 1
- kernel/delayacct.c | 2
- kernel/exit.c | 2
- kernel/posix-cpu-timers.c | 12
- kernel/sched/Makefile | 8
- kernel/sched/bfs.c | 7448 ++++++++++++++++++++++++++++++
- kernel/sysctl.c | 31
- lib/Kconfig.debug | 2
- 21 files changed, 8063 insertions(+), 78 deletions(-)
-Index: linux-3.5-ck1/arch/powerpc/platforms/cell/spufs/sched.c
+Index: linux-3.6-ck1/arch/powerpc/platforms/cell/spufs/sched.c
===================================================================
---- linux-3.5-ck1.orig/arch/powerpc/platforms/cell/spufs/sched.c 2012-01-05 10:55:44.000000000 +1100
-+++ linux-3.5-ck1/arch/powerpc/platforms/cell/spufs/sched.c 2012-08-16 13:20:26.856229061 +1000
+--- linux-3.6-ck1.orig/arch/powerpc/platforms/cell/spufs/sched.c 2012-10-05 23:37:26.870479786 +0200
++++ linux-3.6-ck1/arch/powerpc/platforms/cell/spufs/sched.c 2012-10-05 23:38:21.090826080 +0200
@@ -63,11 +63,6 @@ static struct timer_list spusched_timer;
static struct timer_list spuloadavg_timer;
@@ -66,10 +44,10 @@ Index: linux-3.5-ck1/arch/powerpc/platfo
* Frequency of the spu scheduler tick. By default we do one SPU scheduler
* tick for every 10 CPU scheduler ticks.
*/
-Index: linux-3.5-ck1/Documentation/scheduler/sched-BFS.txt
+Index: linux-3.6-ck1/Documentation/scheduler/sched-BFS.txt
===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.5-ck1/Documentation/scheduler/sched-BFS.txt 2012-08-16 13:20:26.856229061 +1000
+--- /dev/null 2012-10-05 22:50:08.959930518 +0200
++++ linux-3.6-ck1/Documentation/scheduler/sched-BFS.txt 2012-10-05 23:38:21.091826068 +0200
@@ -0,0 +1,347 @@
+BFS - The Brain Fuck Scheduler by Con Kolivas.
+
@@ -418,10 +396,10 @@ Index: linux-3.5-ck1/Documentation/sched
+
+
+Con Kolivas <
[email protected]> Tue, 5 Apr 2011
-Index: linux-3.5-ck1/Documentation/sysctl/kernel.txt
+Index: linux-3.6-ck1/Documentation/sysctl/kernel.txt
===================================================================
---- linux-3.5-ck1.orig/Documentation/sysctl/kernel.txt 2012-03-20 17:39:40.000000000 +1100
-+++ linux-3.5-ck1/Documentation/sysctl/kernel.txt 2012-08-16 13:20:26.856229061 +1000
+--- linux-3.6-ck1.orig/Documentation/sysctl/kernel.txt 2012-10-05 23:37:27.312474702 +0200
++++ linux-3.6-ck1/Documentation/sysctl/kernel.txt 2012-10-05 23:38:21.091826068 +0200
@@ -33,6 +33,7 @@ show up in /proc/sys/kernel:
- domainname
- hostname
@@ -476,10 +454,10 @@ Index: linux-3.5-ck1/Documentation/sysct
rtsig-max & rtsig-nr:
The file rtsig-max can be used to tune the maximum number
-Index: linux-3.5-ck1/fs/proc/base.c
+Index: linux-3.6-ck1/fs/proc/base.c
===================================================================
---- linux-3.5-ck1.orig/fs/proc/base.c 2012-07-23 22:09:13.000000000 +1000
-+++ linux-3.5-ck1/fs/proc/base.c 2012-08-16 13:20:26.857229048 +1000
+--- linux-3.6-ck1.orig/fs/proc/base.c 2012-10-05 23:37:26.918479234 +0200
++++ linux-3.6-ck1/fs/proc/base.c 2012-10-05 23:38:21.092826056 +0200
@@ -338,7 +338,7 @@ static int proc_pid_stack(struct seq_fil
static int proc_pid_schedstat(struct task_struct *task, char *buffer)
{
@@ -489,11 +467,11 @@ Index: linux-3.5-ck1/fs/proc/base.c
(unsigned long long)task->sched_info.run_delay,
task->sched_info.pcount);
}
-Index: linux-3.5-ck1/include/linux/init_task.h
+Index: linux-3.6-ck1/include/linux/init_task.h
===================================================================
---- linux-3.5-ck1.orig/include/linux/init_task.h 2012-07-23 22:09:13.000000000 +1000
-+++ linux-3.5-ck1/include/linux/init_task.h 2012-08-16 13:20:26.857229048 +1000
-@@ -132,12 +132,70 @@ extern struct cred init_cred;
+--- linux-3.6-ck1.orig/include/linux/init_task.h 2012-10-05 23:37:26.960478752 +0200
++++ linux-3.6-ck1/include/linux/init_task.h 2012-10-06 00:16:57.016596435 +0200
+@@ -141,12 +141,70 @@ extern struct task_group root_task_group
# define INIT_PERF_EVENTS(tsk)
#endif
@@ -530,8 +508,8 @@ Index: linux-3.5-ck1/include/linux/init_
+ .children = LIST_HEAD_INIT(tsk.children), \
+ .sibling = LIST_HEAD_INIT(tsk.sibling), \
+ .group_leader = &tsk, \
-+ RCU_INIT_POINTER(.real_cred, &init_cred), \
-+ RCU_INIT_POINTER(.cred, &init_cred), \
++ RCU_POINTER_INITIALIZER(real_cred, &init_cred), \
++ RCU_POINTER_INITIALIZER(cred, &init_cred), \
+ .comm = INIT_TASK_COMM, \
+ .thread = INIT_THREAD, \
+ .fs = &init_fs, \
@@ -566,7 +544,7 @@ Index: linux-3.5-ck1/include/linux/init_
#define INIT_TASK(tsk) \
{ \
.state = 0, \
-@@ -201,7 +259,7 @@ extern struct cred init_cred;
+@@ -211,7 +269,7 @@ extern struct task_group root_task_group
INIT_TASK_RCU_PREEMPT(tsk) \
INIT_CPUSET_SEQ \
}
@@ -575,10 +553,10 @@ Index: linux-3.5-ck1/include/linux/init_
#define INIT_CPU_TIMERS(cpu_timers) \
{ \
-Index: linux-3.5-ck1/include/linux/ioprio.h
+Index: linux-3.6-ck1/include/linux/ioprio.h
===================================================================
---- linux-3.5-ck1.orig/include/linux/ioprio.h 2012-07-23 22:09:13.000000000 +1000
-+++ linux-3.5-ck1/include/linux/ioprio.h 2012-08-16 13:20:26.857229048 +1000
+--- linux-3.6-ck1.orig/include/linux/ioprio.h 2012-10-05 23:37:26.974478590 +0200
++++ linux-3.6-ck1/include/linux/ioprio.h 2012-10-05 23:38:21.093826044 +0200
@@ -52,6 +52,8 @@ enum {
*/
static inline int task_nice_ioprio(struct task_struct *task)
@@ -588,10 +566,10 @@ Index: linux-3.5-ck1/include/linux/iopri
return (task_nice(task) + 20) / 5;
}
-Index: linux-3.5-ck1/include/linux/sched.h
+Index: linux-3.6-ck1/include/linux/sched.h
===================================================================
---- linux-3.5-ck1.orig/include/linux/sched.h 2012-07-23 22:09:13.000000000 +1000
-+++ linux-3.5-ck1/include/linux/sched.h 2012-08-16 13:22:15.548890213 +1000
+--- linux-3.6-ck1.orig/include/linux/sched.h 2012-10-05 23:37:26.961478740 +0200
++++ linux-3.6-ck1/include/linux/sched.h 2012-10-05 23:47:10.304372168 +0200
@@ -37,8 +37,15 @@
#define SCHED_FIFO 1
#define SCHED_RR 2
@@ -618,7 +596,7 @@ Index: linux-3.5-ck1/include/linux/sched
#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ)
extern void select_nohz_load_balancer(int stop_tick);
extern void set_cpu_sd_state_idle(void);
-@@ -1235,15 +1240,31 @@ struct task_struct {
+@@ -1240,15 +1245,32 @@ struct task_struct {
#ifdef CONFIG_SMP
struct llist_node wake_entry;
@@ -649,10 +627,11 @@ Index: linux-3.5-ck1/include/linux/sched
struct sched_entity se;
struct sched_rt_entity rt;
+#endif
-
- #ifdef CONFIG_PREEMPT_NOTIFIERS
- /* list of struct preempt_notifier: */
-@@ -1352,6 +1373,9 @@ struct task_struct {
++
+ #ifdef CONFIG_CGROUP_SCHED
+ struct task_group *sched_task_group;
+ #endif
+@@ -1360,6 +1382,9 @@ struct task_struct {
int __user *clear_child_tid; /* CLONE_CHILD_CLEARTID */
cputime_t utime, stime, utimescaled, stimescaled;
@@ -662,7 +641,7 @@ Index: linux-3.5-ck1/include/linux/sched
cputime_t gtime;
#ifndef CONFIG_VIRT_CPU_ACCOUNTING
cputime_t prev_utime, prev_stime;
-@@ -1585,6 +1609,64 @@ struct task_struct {
+@@ -1591,6 +1616,64 @@ struct task_struct {
#endif
};
@@ -727,7 +706,7 @@ Index: linux-3.5-ck1/include/linux/sched
/* Future-safe accessor for struct task_struct's cpus_allowed. */
#define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
-@@ -1602,10 +1684,20 @@ struct task_struct {
+@@ -1608,10 +1691,20 @@ struct task_struct {
*/
#define MAX_USER_RT_PRIO 100
@@ -750,7 +729,7 @@ Index: linux-3.5-ck1/include/linux/sched
static inline int rt_prio(int prio)
{
-@@ -1976,7 +2068,7 @@ extern unsigned long long
+@@ -1989,7 +2082,7 @@ extern unsigned long long
task_sched_runtime(struct task_struct *task);
/* sched_exec is called by processes performing an exec */
@@ -759,7 +738,7 @@ Index: linux-3.5-ck1/include/linux/sched
extern void sched_exec(void);
#else
#define sched_exec() {}
-@@ -2692,7 +2784,7 @@ static inline unsigned int task_cpu(cons
+@@ -2705,7 +2798,7 @@ static inline unsigned int task_cpu(cons
return 0;
}
@@ -768,10 +747,10 @@ Index: linux-3.5-ck1/include/linux/sched
{
}
-Index: linux-3.5-ck1/init/Kconfig
+Index: linux-3.6-ck1/init/Kconfig
===================================================================
---- linux-3.5-ck1.orig/init/Kconfig 2012-07-23 22:09:13.000000000 +1000
-+++ linux-3.5-ck1/init/Kconfig 2012-08-16 13:20:26.857229048 +1000
+--- linux-3.6-ck1.orig/init/Kconfig 2012-10-05 23:37:27.259475313 +0200
++++ linux-3.6-ck1/init/Kconfig 2012-10-05 23:38:21.094826032 +0200
@@ -32,6 +32,19 @@ config BUILDTIME_EXTABLE_SORT
menu "General setup"
@@ -800,7 +779,7 @@ Index: linux-3.5-ck1/init/Kconfig
help
Provides a simple Resource Controller for monitoring the
total CPU consumed by the tasks in a cgroup.
-@@ -763,6 +777,7 @@ config CGROUP_PERF
+@@ -778,6 +792,7 @@ config CGROUP_PERF
menuconfig CGROUP_SCHED
bool "Group CPU scheduler"
@@ -808,7 +787,7 @@ Index: linux-3.5-ck1/init/Kconfig
default n
help
This feature lets CPU scheduler recognize task groups and control CPU
-@@ -1027,6 +1042,7 @@ config UIDGID_STRICT_TYPE_CHECKS
+@@ -1042,6 +1057,7 @@ config UIDGID_STRICT_TYPE_CHECKS
config SCHED_AUTOGROUP
bool "Automatic process group scheduling"
@@ -816,7 +795,7 @@ Index: linux-3.5-ck1/init/Kconfig
select EVENTFD
select CGROUPS
select CGROUP_SCHED
-@@ -1411,38 +1427,8 @@ config COMPAT_BRK
+@@ -1426,38 +1442,8 @@ config COMPAT_BRK
On non-ancient distros (post-2000 ones) N is usually a safe choice.
@@ -856,22 +835,23 @@ Index: linux-3.5-ck1/init/Kconfig
config MMAP_ALLOW_UNINITIALIZED
bool "Allow mmapped anonymous memory to be uninitialized"
-Index: linux-3.5-ck1/init/main.c
+Index: linux-3.6-ck1/init/main.c
===================================================================
---- linux-3.5-ck1.orig/init/main.c 2012-07-23 22:09:13.000000000 +1000
-+++ linux-3.5-ck1/init/main.c 2012-08-16 13:20:26.858229035 +1000
-@@ -804,6 +804,7 @@ static noinline int init_post(void)
+--- linux-3.6-ck1.orig/init/main.c 2012-10-05 23:37:27.259475313 +0200
++++ linux-3.6-ck1/init/main.c 2012-10-06 00:44:46.401138713 +0200
+@@ -806,6 +806,8 @@ static noinline int init_post(void)
system_state = SYSTEM_RUNNING;
numa_default_policy();
+ print_scheduler_version();
-
++
current->signal->flags |= SIGNAL_UNKILLABLE;
+ flush_delayed_fput();
-Index: linux-3.5-ck1/kernel/delayacct.c
+Index: linux-3.6-ck1/kernel/delayacct.c
===================================================================
---- linux-3.5-ck1.orig/kernel/delayacct.c 2012-01-05 10:55:44.000000000 +1100
-+++ linux-3.5-ck1/kernel/delayacct.c 2012-08-16 13:20:26.858229035 +1000
+--- linux-3.6-ck1.orig/kernel/delayacct.c 2012-10-05 23:37:27.305474783 +0200
++++ linux-3.6-ck1/kernel/delayacct.c 2012-10-05 23:38:21.094826032 +0200
@@ -130,7 +130,7 @@ int __delayacct_add_tsk(struct taskstats
*/
t1 = tsk->sched_info.pcount;
@@ -881,10 +861,10 @@ Index: linux-3.5-ck1/kernel/delayacct.c
d->cpu_count += t1;
-Index: linux-3.5-ck1/kernel/exit.c
+Index: linux-3.6-ck1/kernel/exit.c
===================================================================
---- linux-3.5-ck1.orig/kernel/exit.c 2012-07-23 22:09:13.000000000 +1000
-+++ linux-3.5-ck1/kernel/exit.c 2012-08-16 13:20:26.858229035 +1000
+--- linux-3.6-ck1.orig/kernel/exit.c 2012-10-05 23:37:27.301474829 +0200
++++ linux-3.6-ck1/kernel/exit.c 2012-10-05 23:38:21.095826020 +0200
@@ -145,7 +145,7 @@ static void __exit_signal(struct task_st
sig->inblock += task_io_get_inblock(tsk);
sig->oublock += task_io_get_oublock(tsk);
@@ -894,10 +874,10 @@ Index: linux-3.5-ck1/kernel/exit.c
}
sig->nr_threads--;
-Index: linux-3.5-ck1/kernel/posix-cpu-timers.c
+Index: linux-3.6-ck1/kernel/posix-cpu-timers.c
===================================================================
---- linux-3.5-ck1.orig/kernel/posix-cpu-timers.c 2012-03-20 17:39:43.000000000 +1100
-+++ linux-3.5-ck1/kernel/posix-cpu-timers.c 2012-08-16 13:20:26.858229035 +1000
+--- linux-3.6-ck1.orig/kernel/posix-cpu-timers.c 2012-10-05 23:37:27.300474841 +0200
++++ linux-3.6-ck1/kernel/posix-cpu-timers.c 2012-10-05 23:38:21.095826020 +0200
@@ -495,7 +495,7 @@ static void cleanup_timers(struct list_h
void posix_cpu_timers_exit(struct task_struct *tsk)
{
@@ -952,11 +932,11 @@ Index: linux-3.5-ck1/kernel/posix-cpu-ti
};
if (task_cputime_expired(&task_sample, &tsk->cputime_expires))
-Index: linux-3.5-ck1/kernel/sysctl.c
+Index: linux-3.6-ck1/kernel/sysctl.c
===================================================================
---- linux-3.5-ck1.orig/kernel/sysctl.c 2012-06-01 21:37:23.000000000 +1000
-+++ linux-3.5-ck1/kernel/sysctl.c 2012-08-16 13:20:26.858229035 +1000
-@@ -126,7 +126,12 @@ static int __maybe_unused one = 1;
+--- linux-3.6-ck1.orig/kernel/sysctl.c 2012-10-05 23:37:27.300474841 +0200
++++ linux-3.6-ck1/kernel/sysctl.c 2012-10-05 23:38:21.095826020 +0200
+@@ -127,7 +127,12 @@ static int __maybe_unused one = 1;
static int __maybe_unused two = 2;
static int __maybe_unused three = 3;
static unsigned long one_ul = 1;
@@ -970,7 +950,7 @@ Index: linux-3.5-ck1/kernel/sysctl.c
#ifdef CONFIG_PRINTK
static int ten_thousand = 10000;
#endif
-@@ -241,7 +246,7 @@ static struct ctl_table sysctl_base_tabl
+@@ -247,7 +252,7 @@ static struct ctl_table sysctl_base_tabl
{ }
};
@@ -979,7 +959,7 @@ Index: linux-3.5-ck1/kernel/sysctl.c
static int min_sched_granularity_ns = 100000; /* 100 usecs */
static int max_sched_granularity_ns = NSEC_PER_SEC; /* 1 second */
static int min_wakeup_granularity_ns; /* 0 usecs */
-@@ -256,6 +261,7 @@ static int max_extfrag_threshold = 1000;
+@@ -262,6 +267,7 @@ static int max_extfrag_threshold = 1000;
#endif
static struct ctl_table kern_table[] = {
@@ -987,7 +967,7 @@ Index: linux-3.5-ck1/kernel/sysctl.c
{
.procname = "sched_child_runs_first",
.data = &sysctl_sched_child_runs_first,
-@@ -373,6 +379,7 @@ static struct ctl_table kern_table[] = {
+@@ -379,6 +385,7 @@ static struct ctl_table kern_table[] = {
.extra1 = &one,
},
#endif
@@ -995,7 +975,7 @@ Index: linux-3.5-ck1/kernel/sysctl.c
#ifdef CONFIG_PROVE_LOCKING
{
.procname = "prove_locking",
-@@ -840,6 +847,26 @@ static struct ctl_table kern_table[] = {
+@@ -846,6 +853,26 @@ static struct ctl_table kern_table[] = {
.proc_handler = proc_dointvec,
},
#endif
@@ -1022,10 +1002,10 @@ Index: linux-3.5-ck1/kernel/sysctl.c
#if defined(CONFIG_S390) && defined(CONFIG_SMP)
{
.procname = "spin_retry",
-Index: linux-3.5-ck1/lib/Kconfig.debug
+Index: linux-3.6-ck1/lib/Kconfig.debug
===================================================================
---- linux-3.5-ck1.orig/lib/Kconfig.debug 2012-07-23 22:09:13.000000000 +1000
-+++ linux-3.5-ck1/lib/Kconfig.debug 2012-08-16 13:20:26.859229023 +1000
+--- linux-3.6-ck1.orig/lib/Kconfig.debug 2012-10-05 23:37:26.939478992 +0200
++++ linux-3.6-ck1/lib/Kconfig.debug 2012-10-05 23:38:21.095826020 +0200
@@ -913,7 +913,7 @@ config BOOT_PRINTK_DELAY
config RCU_TORTURE_TEST
@@ -1035,11 +1015,11 @@ Index: linux-3.5-ck1/lib/Kconfig.debug
default n
help
This option provides a kernel module that runs torture tests
-Index: linux-3.5-ck1/include/linux/jiffies.h
+Index: linux-3.6-ck1/include/linux/jiffies.h
===================================================================
---- linux-3.5-ck1.orig/include/linux/jiffies.h 2012-01-05 10:55:44.000000000 +1100
-+++ linux-3.5-ck1/include/linux/jiffies.h 2012-08-16 13:20:26.859229023 +1000
-@@ -164,7 +164,7 @@ static inline u64 get_jiffies_64(void)
+--- linux-3.6-ck1.orig/include/linux/jiffies.h 2012-10-05 23:37:26.971478624 +0200
++++ linux-3.6-ck1/include/linux/jiffies.h 2012-10-05 23:38:21.096826008 +0200
+@@ -173,7 +173,7 @@ static inline u64 get_jiffies_64(void)
* Have the 32 bit jiffies value wrap 5 minutes after boot
* so jiffies wrap bugs show up earlier.
*/
@@ -1048,10 +1028,10 @@ Index: linux-3.5-ck1/include/linux/jiffi
/*
* Change timeval to jiffies, trying to avoid the
-Index: linux-3.5-ck1/drivers/cpufreq/cpufreq.c
+Index: linux-3.6-ck1/drivers/cpufreq/cpufreq.c
===================================================================
---- linux-3.5-ck1.orig/drivers/cpufreq/cpufreq.c 2012-06-01 21:37:21.000000000 +1000
-+++ linux-3.5-ck1/drivers/cpufreq/cpufreq.c 2012-08-16 13:20:26.859229023 +1000
+--- linux-3.6-ck1.orig/drivers/cpufreq/cpufreq.c 2012-10-05 23:37:27.003478256 +0200
++++ linux-3.6-ck1/drivers/cpufreq/cpufreq.c 2012-10-05 23:38:21.096826008 +0200
@@ -28,6 +28,7 @@
#include <linux/cpu.h>
#include <linux/completion.h>
@@ -1060,7 +1040,7 @@ Index: linux-3.5-ck1/drivers/cpufreq/cpu
#include <linux/syscore_ops.h>
#include <trace/events/power.h>
-@@ -1457,6 +1458,12 @@ int __cpufreq_driver_target(struct cpufr
+@@ -1476,6 +1477,12 @@ int __cpufreq_driver_target(struct cpufr
target_freq, relation);
if (cpu_online(policy->cpu) && cpufreq_driver->target)
retval = cpufreq_driver->target(policy, target_freq, relation);
@@ -1073,10 +1053,10 @@ Index: linux-3.5-ck1/drivers/cpufreq/cpu
return retval;
}
-Index: linux-3.5-ck1/drivers/cpufreq/cpufreq_ondemand.c
+Index: linux-3.6-ck1/drivers/cpufreq/cpufreq_ondemand.c
===================================================================
---- linux-3.5-ck1.orig/drivers/cpufreq/cpufreq_ondemand.c 2012-06-01 21:37:21.000000000 +1000
-+++ linux-3.5-ck1/drivers/cpufreq/cpufreq_ondemand.c 2012-08-16 13:20:26.859229023 +1000
+--- linux-3.6-ck1.orig/drivers/cpufreq/cpufreq_ondemand.c 2012-10-05 23:37:27.002478268 +0200
++++ linux-3.6-ck1/drivers/cpufreq/cpufreq_ondemand.c 2012-10-05 23:38:21.096826008 +0200
@@ -28,8 +28,8 @@
* It helps to keep variable names smaller, simpler
*/
@@ -1101,10 +1081,10 @@ Index: linux-3.5-ck1/drivers/cpufreq/cpu
*
* Any frequency increase takes it to the maximum frequency.
* Frequency reduction happens at minimum steps of
-Index: linux-3.5-ck1/drivers/cpufreq/cpufreq_conservative.c
+Index: linux-3.6-ck1/drivers/cpufreq/cpufreq_conservative.c
===================================================================
---- linux-3.5-ck1.orig/drivers/cpufreq/cpufreq_conservative.c 2012-03-20 17:39:41.000000000 +1100
-+++ linux-3.5-ck1/drivers/cpufreq/cpufreq_conservative.c 2012-08-16 13:20:26.859229023 +1000
+--- linux-3.6-ck1.orig/drivers/cpufreq/cpufreq_conservative.c 2012-10-05 23:37:27.003478256 +0200
++++ linux-3.6-ck1/drivers/cpufreq/cpufreq_conservative.c 2012-10-05 23:38:21.096826008 +0200
@@ -29,8 +29,8 @@
* It helps to keep variable names smaller, simpler
*/
@@ -1116,11 +1096,11 @@ Index: linux-3.5-ck1/drivers/cpufreq/cpu
/*
* The polling frequency of this governor depends on the capability of
-Index: linux-3.5-ck1/arch/x86/Kconfig
+Index: linux-3.6-ck1/arch/x86/Kconfig
===================================================================
---- linux-3.5-ck1.orig/arch/x86/Kconfig 2012-07-23 22:09:12.000000000 +1000
-+++ linux-3.5-ck1/arch/x86/Kconfig 2012-08-16 13:20:26.860229011 +1000
-@@ -795,15 +795,7 @@ config SCHED_MC
+--- linux-3.6-ck1.orig/arch/x86/Kconfig 2012-10-05 23:37:26.856479947 +0200
++++ linux-3.6-ck1/arch/x86/Kconfig 2012-10-05 23:38:21.097825996 +0200
+@@ -797,15 +797,7 @@ config SCHED_MC
increased overhead in some places. If unsure say N here.
config IRQ_TIME_ACCOUNTING
@@ -1137,10 +1117,10 @@ Index: linux-3.5-ck1/arch/x86/Kconfig
source "kernel/Kconfig.preempt"
-Index: linux-3.5-ck1/kernel/sched/bfs.c
+Index: linux-3.6-ck1/kernel/sched/bfs.c
===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.5-ck1/kernel/sched/bfs.c 2012-08-16 13:27:10.367258721 +1000
+--- /dev/null 2012-10-05 22:50:08.959930518 +0200
++++ linux-3.6-ck1/kernel/sched/bfs.c 2012-10-06 00:22:53.154238527 +0200
@@ -0,0 +1,7448 @@
+/*
+ * kernel/sched/bfs.c, was kernel/sched.c
@@ -8097,7 +8077,7 @@ Index: linux-3.5-ck1/kernel/sched/bfs.c
+ switch (action & ~CPU_TASKS_FROZEN) {
+ case CPU_ONLINE:
+ case CPU_DOWN_FAILED:
-+ cpuset_update_active_cpus();
++ cpuset_update_active_cpus(true);
+ return NOTIFY_OK;
+ default:
+ return NOTIFY_DONE;
@@ -8109,7 +8089,7 @@ Index: linux-3.5-ck1/kernel/sched/bfs.c
+{
+ switch (action & ~CPU_TASKS_FROZEN) {
+ case CPU_DOWN_PREPARE:
-+ cpuset_update_active_cpus();
++ cpuset_update_active_cpus(false);
+ return NOTIFY_OK;
+ default:
+ return NOTIFY_DONE;
@@ -8590,10 +8570,10 @@ Index: linux-3.5-ck1/kernel/sched/bfs.c
+ return smt_gain;
+}
+#endif
-Index: linux-3.5-ck1/kernel/sched/Makefile
+Index: linux-3.6-ck1/kernel/sched/Makefile
===================================================================
---- linux-3.5-ck1.orig/kernel/sched/Makefile 2012-07-23 22:09:13.000000000 +1000
-+++ linux-3.5-ck1/kernel/sched/Makefile 2012-08-16 13:20:26.862228987 +1000
+--- linux-3.6-ck1.orig/kernel/sched/Makefile 2012-10-05 23:37:27.304474794 +0200
++++ linux-3.6-ck1/kernel/sched/Makefile 2012-10-05 23:38:21.099825972 +0200
@@ -11,8 +11,12 @@ ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER
CFLAGS_core.o := $(PROFILING) -fno-omit-frame-pointer
endif
gimli@sertan ~/Desktop $ uname -a
Linux sertan 3.6.0-gentoo-ck1 #1 SMP PREEMPT Fri Oct 5 20:47:53 CEST 2012 x86_64 Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz GenuineIntel GNU/Linux