Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a595e17a authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "sched: Improve the scheduler"

parents b0e27e3d 0d1ad3ff
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -5039,9 +5039,10 @@ unsigned int sched_lib_mask_force;
bool is_sched_lib_based_app(pid_t pid)
{
	const char *name = NULL;
	char *lib_list, *libname;
	char *libname, *lib_list;
	struct vm_area_struct *vma;
	char path_buf[LIB_PATH_LENGTH];
	char tmp_lib_name[LIB_PATH_LENGTH];
	bool found = false;
	struct task_struct *p;
	struct mm_struct *mm;
@@ -5049,14 +5050,11 @@ bool is_sched_lib_based_app(pid_t pid)
	if (strnlen(sched_lib_name, LIB_PATH_LENGTH) == 0)
		return false;

	lib_list = kstrdup(sched_lib_name, GFP_KERNEL);

	rcu_read_lock();

	p = find_process_by_pid(pid);
	if (!p) {
		rcu_read_unlock();
		kfree(lib_list);
		return false;
	}

@@ -5076,11 +5074,14 @@ bool is_sched_lib_based_app(pid_t pid)
			if (IS_ERR(name))
				goto release_sem;

			strlcpy(tmp_lib_name, sched_lib_name, LIB_PATH_LENGTH);
			lib_list = tmp_lib_name;
			while ((libname = strsep(&lib_list, ","))) {
				libname = skip_spaces(libname);
				if (strnstr(name, libname,
					strnlen(name, LIB_PATH_LENGTH))) {
					found = true;
					break;
					goto release_sem;
				}
			}
		}
@@ -5091,7 +5092,6 @@ bool is_sched_lib_based_app(pid_t pid)
	mmput(mm);
put_task_struct:
	put_task_struct(p);
	kfree(lib_list);
	return found;
}