git: fdc3cb323348 - stable/13 - linux(4): Add a comment about wait/requeue pi operations.

From: Dmitry Chagin <dchagin_at_FreeBSD.org>
Date: Fri, 17 Jun 2022 19:37:50 UTC
The branch stable/13 has been updated by dchagin:

URL: https://cgit.FreeBSD.org/src/commit/?id=fdc3cb32334865bea072e66ed103ecf9390091ca

commit fdc3cb32334865bea072e66ed103ecf9390091ca
Author:     Dmitry Chagin <dchagin@FreeBSD.org>
AuthorDate: 2021-07-29 09:55:59 +0000
Commit:     Dmitry Chagin <dchagin@FreeBSD.org>
CommitDate: 2022-06-17 19:33:25 +0000

    linux(4): Add a comment about wait/requeue pi operations.
    
    MFC after:              2 weeks
    
    (cherry picked from commit d90df8ac1324d731f8423b5501158ee870fbd5ba)
---
 sys/compat/linux/linux_futex.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sys/compat/linux/linux_futex.c b/sys/compat/linux/linux_futex.c
index 5f18c93b0988..edf059f74272 100644
--- a/sys/compat/linux/linux_futex.c
+++ b/sys/compat/linux/linux_futex.c
@@ -314,6 +314,18 @@ linux_futex(struct thread *td, struct linux_futex_args *args)
 
 		return (linux_futex_lock_pi(td, true, args));
 
+	/*
+	 * Current implementation of FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI
+	 * can't be used anymore to implement conditional variables.
+	 * A detailed explanation can be found here:
+	 *
+	 * https://sourceware.org/bugzilla/show_bug.cgi?id=13165
+	 * and here http://austingroupbugs.net/view.php?id=609
+	 *
+	 * And since commit
+	 * https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ed19993b5b0d05d62cc883571519a67dae481a14
+	 * glibc does not uses it.
+	 */
 	case LINUX_FUTEX_WAIT_REQUEUE_PI:
 		/* not yet implemented */
 		pem = pem_find(td->td_proc);