Re: pthread_mutex_unlock (was Re: sched_yield() makes OpenLDAP slow)
From: Howard Chu
Date: Thu Jan 26 2006 - 09:42:55 EST
Kyle Moffett wrote:
Haven't you OpenLDAP guys realized that the pthread model you're
actually looking for is this? POSIX mutexes are not designed to
mandate scheduling requirements *precisely* because this achieves your
scheduling goals by explicitly stating what they are.
This isn't about OpenLDAP. Yes, we had a lot of yield() calls scattered
through the code, leftovers from when we only supported non-preemptive
threading. Those calls have been removed. There are a few remaining,
that are only in code paths for unusual errors, so what they do has no
real performance impact.
The point of this discussion is that the POSIX spec says one thing and
you guys say another; one way or another that should be resolved. The
2.6 kernel behavior is a noticable departure from previous releases. The
2.4/LinuxThreads guys believed their implementation was correct. If you
believe the 2.6 implementation is correct, then you should get the spec
amended or state up front that the "P" in "NPTL" doesn't really mean
anything.
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/