diff --git a/include/linux/sched.h b/include/linux/sched.h index fab4a970f57f..c72af0e220bd 100755 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1968,7 +1968,6 @@ static inline void set_task_cpu(struct task_struct *p, unsigned int cpu) # define vcpu_is_preempted(cpu) false #endif -extern long msm_sched_setaffinity(pid_t pid, struct cpumask *new_mask); extern long sched_setaffinity(pid_t pid, const struct cpumask *new_mask); extern long sched_getaffinity(pid_t pid, struct cpumask *mask); diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h index 72e441cc7575..71615c95127c 100755 --- a/include/linux/sched/sysctl.h +++ b/include/linux/sched/sysctl.h @@ -134,9 +134,4 @@ extern int sched_little_cluster_coloc_fmin_khz_handler(struct ctl_table *table, size_t *lenp, loff_t *ppos); #endif -#define LIB_PATH_LENGTH 512 -extern char sched_lib_name[LIB_PATH_LENGTH]; -extern unsigned int sched_lib_mask_check; -extern unsigned int sched_lib_mask_force; - #endif /* _LINUX_SCHED_SYSCTL_H */ diff --git a/kernel/compat.c b/kernel/compat.c index 8a06a1477449..45ae3ace49c2 100755 --- a/kernel/compat.c +++ b/kernel/compat.c @@ -334,7 +334,7 @@ COMPAT_SYSCALL_DEFINE3(sched_setaffinity, compat_pid_t, pid, if (retval) goto out; - retval = msm_sched_setaffinity(pid, new_mask); + retval = sched_setaffinity(pid, new_mask); out: free_cpumask_var(new_mask); return retval; diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 97347dfb8224..e9073ce185a6 100755 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4931,71 +4931,6 @@ out_put_task: return retval; } -char sched_lib_name[LIB_PATH_LENGTH]; -unsigned int sched_lib_mask_check; -unsigned int sched_lib_mask_force; -static inline bool is_sched_lib_based_app(pid_t pid) -{ - const char *name = NULL; - struct vm_area_struct *vma; - char path_buf[LIB_PATH_LENGTH]; - bool found = false; - struct task_struct *p; - - if (strnlen(sched_lib_name, LIB_PATH_LENGTH) == 0) - return false; - - rcu_read_lock(); - - p = find_process_by_pid(pid); - if (!p) { - rcu_read_unlock(); - return false; - } - - /* Prevent p going away */ - get_task_struct(p); - rcu_read_unlock(); - - if (!p->mm) - goto put_task_struct; - - down_read(&p->mm->mmap_sem); - for (vma = p->mm->mmap; vma ; vma = vma->vm_next) { - if (vma->vm_file && vma->vm_flags & VM_EXEC) { - name = d_path(&vma->vm_file->f_path, - path_buf, LIB_PATH_LENGTH); - if (IS_ERR(name)) - goto release_sem; - - if (strnstr(name, sched_lib_name, - strnlen(name, LIB_PATH_LENGTH))) { - found = true; - break; - } - } - } - -release_sem: - up_read(&p->mm->mmap_sem); -put_task_struct: - put_task_struct(p); - return found; -} - -long msm_sched_setaffinity(pid_t pid, struct cpumask *new_mask) -{ - if (sched_lib_mask_check != 0 && sched_lib_mask_force != 0 && - (cpumask_bits(new_mask)[0] == sched_lib_mask_check) && - is_sched_lib_based_app(pid)) { - - cpumask_t forced_mask = { {sched_lib_mask_force} }; - - cpumask_copy(new_mask, &forced_mask); - } - return sched_setaffinity(pid, new_mask); -} - static int get_user_cpu_mask(unsigned long __user *user_mask_ptr, unsigned len, struct cpumask *new_mask) { @@ -5026,7 +4961,7 @@ SYSCALL_DEFINE3(sched_setaffinity, pid_t, pid, unsigned int, len, retval = get_user_cpu_mask(user_mask_ptr, len, new_mask); if (retval == 0) - retval = msm_sched_setaffinity(pid, new_mask); + retval = sched_setaffinity(pid, new_mask); free_cpumask_var(new_mask); return retval; } diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 396eb8e7bc33..3bd69c5423d8 100755 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -147,7 +147,6 @@ static int ten_thousand = 10000; #ifdef CONFIG_PERF_EVENTS static int six_hundred_forty_kb = 640 * 1024; #endif -static int two_hundred_fifty_five = 255; /* this is needed for the proc_doulongvec_minmax of vm_dirty_bytes */ static unsigned long dirty_bytes_min = 2 * PAGE_SIZE; @@ -637,31 +636,6 @@ static struct ctl_table kern_table[] = { .extra1 = &one, }, #endif - { - .procname = "sched_lib_name", - .data = sched_lib_name, - .maxlen = LIB_PATH_LENGTH, - .mode = 0644, - .proc_handler = proc_dostring, - }, - { - .procname = "sched_lib_mask_check", - .data = &sched_lib_mask_check, - .maxlen = sizeof(unsigned int), - .mode = 0644, - .proc_handler = proc_douintvec_minmax, - .extra1 = &zero, - .extra2 = &two_hundred_fifty_five, - }, - { - .procname = "sched_lib_mask_force", - .data = &sched_lib_mask_force, - .maxlen = sizeof(unsigned int), - .mode = 0644, - .proc_handler = proc_douintvec_minmax, - .extra1 = &zero, - .extra2 = &two_hundred_fifty_five, - }, #ifdef CONFIG_PROVE_LOCKING { .procname = "prove_locking",