The commit is pushed to "branch-rh7-3.10.0-123.1.2-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git after rh7-3.10.0-123.1.2.vz7.5.7 ------> commit 901bf5dd708537e483a90ebcf62af57239e63702 Author: Vladimir Davydov <vdavy...@parallels.com> Date: Fri May 29 15:49:38 2015 +0400
fairsched: Port diff-fairsched-optimize-sys_fairsched_mvpr Author: Konstantin Khlebnikov Email: khlebni...@openvz.org Subject: fairsched: optimize sys_fairsched_mvpr() Date: Wed, 08 May 2013 13:59:04 +0400 Remove task_list_lock and optimize for current. https://jira.sw.ru/browse/PCLIN-26766 Signed-off-by: Konstantin Khlebnikov <khlebni...@openvz.org> ============================================================================= Related to https://jira.sw.ru/browse/PSBM-33642 Signed-off-by: Vladimir Davydov <vdavy...@parallels.com> --- kernel/fairsched.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/kernel/fairsched.c b/kernel/fairsched.c index 3879f8e..40d3eff 100644 --- a/kernel/fairsched.c +++ b/kernel/fairsched.c @@ -243,16 +243,17 @@ SYSCALL_DEFINE2(fairsched_mvpr, pid_t, pid, unsigned int, id) if (retval) return retval; - write_lock_irq(&tasklist_lock); - tsk = find_task_by_vpid(pid); + rcu_read_lock(); + tsk = current; + if (pid != task_pid_vnr(tsk)) + tsk = find_task_by_vpid(pid); if (tsk == NULL) { - write_unlock_irq(&tasklist_lock); + rcu_read_unlock(); retval = -ESRCH; goto out; } get_task_struct(tsk); - write_unlock_irq(&tasklist_lock); - + rcu_read_unlock(); retval = fairsched_move(&node, tsk); _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel