"Pat O'Rourke" <orourke@mclinux.com> writes:
> While debugging a problem on an SMP Alpha, I noticed that one process was
> always in a tight loop in release(), waiting for its child to give up the
> cpu. This was the cause of a significant amount of cache line "ping-ponging"
> between the CPUs. It seems that the loop was rewritten between 2.2 and
> 2.4 whereas the 2.2 version would wait for the has_cpu flag to be cleared
> outside of the lock. This patch restores the loop to the 2.2 version to
> avoid the problem described above.
Presumably the ping-pong is due to the runqueue lock not due to has_cpu?
If so, there are patches that remove the runqueue lock altogether from this
path.
-- Dimitris Michailidis dimitris@engr.sgi.com- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Aug 04 2000 - 19:20:38 EDT