Patch "MIPS: Fix sched_getaffinity with MT FPAFF enabled" has been added to the 4.1-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
MIPS: Fix sched_getaffinity with MT FPAFF enabled
to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mips-fix-sched_getaffinity-with-mt-fpaff-enabled.patch
and it can be found in the queue-4.1 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
1d62d737555e1378eb62a8bba26644f7d97139d2Mon Sep 17 00:00:00 2001
From: Felix Fietkau <[email protected]>
Date: Sun, 19 Jul 2015 00:38:41 +0200
Subject: MIPS: Fix sched_getaffinity with MT FPAFF enabled
From: Felix Fietkau <[email protected]>
commit 1d62d737555e1378eb62a8bba26644f7d97139d2 upstream.
p->thread.user_cpus_allowed is zero-initialized and is only filled on the first sched_setaffinity call.
To avoid adding overhead in the task initialization codepath, simply OR the returned mask in sched_getaffinity with p->cpus_allowed.
Patchwork: https://patchwork.linux-mips.org/patch/10740/
--- arch/mips/kernel/mips-mt-fpaff.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
arch/mips/kernel/mips-mt-fpaff.c +3 -2
@@ -154,7 +154,7 @@ asmlinkage long mipsmt_sys_sched_getaffi unsigned long __user *user_mask_ptr) {unsigned int real_len; -cpumask_t mask; +cpumask_t allowed, mask;int retval;struct task_struct *p;
@@ -173,7 +173,8 @@ asmlinkage long mipsmt_sys_sched_getaffiif (retval) goto out_unlock; -cpumask_and (&mask, &p->thread.user_cpus_allowed, cpu_possible_mask); +cpumask_or (&allowed, &p->thread.user_cpus_allowed, &p->cpus_allowed); +cpumask_and (&mask, &allowed, cpu_active_mask); out_unlock:read_unlock (&tasklist_lock);
Patches currently in stable-queue which might be from [email protected] are
queue-4.1/mips-export-get_c0_perfcount_int.patch queue-4.1/mips-fix-sched_getaffinity-with-mt-fpaff-enabled.patch