requeue_pi support

Dinakar Guniguntala dino@in.ibm.com
Wed Jul 22 13:53:00 GMT 2009


On Sun, Jul 19, 2009 at 09:04:09PM -0700, Ulrich Drepper wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> I added now the requeue_pi support for x86-64.  The patch was really not

cool

> usable, I rewrote most of it.  Did you actually test your code?  The

I see that you added quite a few changes to the pthread_cond calls in the
last few days

> FUTEX_WAIT_REQUEUE_PI calls requires an absolute timeout.  This is not

My bad, I did miss that, looking closer, my 'c' tests didnt have any
pthread_cond_timedwait tests it looks like

> what your code did.
> 
> I changed a lot of things in these functions before this change.  So
> your patch would apply either.

I do see that the bulk of my code has been retained, except the changes for
pthread_cond_timedwait and the tiny optimizations I had for switching
between futex OP codes, no ??

> 
> I haven't tested the new code path.  I did make sure that the code works
> on older kernels.  Once a new kernel is available but you can do this as
> well.

Built and tested the latest glibc git with the prio-wake testcase
(Part of the LTP realtime testcases that fails sometimes on SMP without
requeue-PI support)
1. 2.6.29.5 - APIs not implemented in kernel, testcase fails sometimes as
              expected. (ENOSYS for requeue APIs and fails sometimes on
              SMP as expected)
2. 2.6.29.5-rt22 - APIs implemented in kernel, testcase passes in a 2 hour run
3. 2.6.31-rc3 - APIs implemented in kernel, testcase passes in a 2 hour run

Needs more testing of the error paths etc

	-Dinakar

> 
> - --
> ➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> 
> iEYEARECAAYFAkpj7LkACgkQ2ijCOnn/RHTQYACeNPYMW2QHyFLBcKvb8PD3dGrp
> KnoAn1GIPsZeQs6MkC/+aLjUJUsd7kO2
> =cRCP
> -----END PGP SIGNATURE-----



More information about the Libc-alpha mailing list