On 09/13/2016 04:35 PM, Luck, Tony wrote:
> On Tue, Sep 13, 2016 at 04:13:04PM -0700, Dave Hansen wrote:
>> Yikes, is this a new global lock and possible atomic_inc() on a shared
>> variable in the fork() path? Has there been any performance or
>> scalability testing done on this code?
>>
>> That
On Tue, Sep 13, 2016 at 04:13:04PM -0700, Dave Hansen wrote:
> Yikes, is this a new global lock and possible atomic_inc() on a shared
> variable in the fork() path? Has there been any performance or
> scalability testing done on this code?
>
> That mutex could be a disaster for fork() once the fi
On 09/08/2016 02:57 AM, Fenghua Yu wrote:
> +void rdtgroup_fork(struct task_struct *child)
> +{
> + struct rdtgroup *rdtgrp;
> +
> + INIT_LIST_HEAD(&child->rg_list);
> + if (!rdtgroup_mounted)
> + return;
> +
> + mutex_lock(&rdtgroup_mutex);
> +
> + rdtgrp = current-
On Thu, 8 Sep 2016, Fenghua Yu wrote:
>
> cgroup_exit(tsk);
> + rdtgroup_exit(tsk);
So this actually does:
> +void rdtgroup_exit(struct task_struct *tsk)
> +{
> +
> + if (!list_empty(&tsk->rg_list)) {
> + struct rdtgroup *rdtgrp = tsk->rdtgroup;
> +
> +
From: Fenghua Yu
When a task is forked, it inherites its parent rdtgroup. The task
can be moved to other rdtgroup during its run time.
When the task exits, it's deleted from it's current rdtgroup's task
list.
Signed-off-by: Fenghua Yu
Reviewed-by: Tony Luck
---
arch/x86/kernel/cpu/intel_rdt_
5 matches
Mail list logo