Messages in this thread | | | Date | Wed, 31 Jul 2013 17:38:21 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] sched, numa: Use {cpu, pid} to create task groups for shared faults |
| |
On Wed, Jul 31, 2013 at 05:07:51PM +0200, Peter Zijlstra wrote: > @@ -1260,6 +1400,23 @@ void task_numa_fault(int last_cpupid, in > } > > /* > + * First accesses are treated as private, otherwise consider accesses > + * to be private if the accessing pid has not changed > + */ > + if (unlikely(last_cpupid == (-1 & LAST_CPUPID_MASK))) { > + priv = 1; > + } else { > + int cpu, pid; > + > + cpu = cpupid_to_cpu(last_cpupid); > + pid = cpupid_to_pid(last_cpupid); > + > + priv = (pid == (p->pid & LAST__PID_MASK));
So Rik just pointed out that this condition is likely to generate false positives due to the birthday paradox. The problem with including cpu/nid information is another kind of false positives.
We've no idea which is worse..
> + if (!priv) > + task_numa_group(p, cpu, pid); > + }
| |