linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* RE: [RFC/PATCH] FUSYN 5/10: kernel fuqueues
@ 2003-12-12  0:06 Perez-Gonzalez, Inaky
  2003-12-12  2:57 ` Matt Mackall
  0 siblings, 1 reply; 18+ messages in thread
From: Perez-Gonzalez, Inaky @ 2003-12-12  0:06 UTC (permalink / raw)
  To: gene.heskett, Matt Mackall; +Cc: linux-kernel, robustmutexes


> From: Gene Heskett [mailto:gene.heskett@verizon.net]
> 
> inaky.perez-gonzalez@intel.com wrote:
> >>  include/linux/fuqueue.h |  451
> >> ++++++++++++++++++++++++++++++++++++++++++++++++
> >> include/linux/plist.h   |  197 ++++++++++++++++++++
> >>  kernel/fuqueue.c        |  220 +++++++++++++++++++++++
> >>  3 files changed, 868 insertions(+)
> >>
> >> +++ linux/include/linux/fuqueue.h	Wed Nov 19 16:42:50 2003
> >
> >I don't suppose you've run this feature name past anyone in
> > marketting or PR?
> 
> Obviously not...

So?

I am already asking for new names for whoever doesn't like
them, like me ... I have more interesting things to do than
looking for names.

Care to suggest any? :0]

Iñaky Pérez-González -- Not speaking for Intel -- all opinions are my own (and my fault)

^ permalink raw reply	[flat|nested] 18+ messages in thread
* RE: [RFC/PATCH] FUSYN 5/10: kernel fuqueues
@ 2003-12-12  3:15 Perez-Gonzalez, Inaky
  2003-12-12  3:23 ` Matt Mackall
  0 siblings, 1 reply; 18+ messages in thread
From: Perez-Gonzalez, Inaky @ 2003-12-12  3:15 UTC (permalink / raw)
  To: Matt Mackall; +Cc: gene.heskett, linux-kernel, robustmutexes

> From: Matt Mackall [mailto:mpm@selenic.com]


> > > From: Gene Heskett [mailto:gene.heskett@verizon.net]
> > >
> > > inaky.perez-gonzalez@intel.com wrote:
> > > >>  include/linux/fuqueue.h |  451
> > > >> ++++++++++++++++++++++++++++++++++++++++++++++++
> > > >> include/linux/plist.h   |  197 ++++++++++++++++++++
> > > >>  kernel/fuqueue.c        |  220 +++++++++++++++++++++++
> > > >>  3 files changed, 868 insertions(+)
> > > >>
> > > >> +++ linux/include/linux/fuqueue.h	Wed Nov 19 16:42:50 2003
> > > >
> > > >I don't suppose you've run this feature name past anyone in
> > > > marketting or PR?
> > >
> > > Obviously not...
> >
> > I am already asking for new names for whoever doesn't like
> > them, like me ... I have more interesting things to do than
> > looking for names.
> 
> The name's fine by me actually, I'm greatly looking forward to hearing
> someone present them at the next Linux Symposium.

I'll try to [at least I'll submit a proposal]...heh! :]
 
> Other people might not be so amused, though.

Do you mean on how similar it sounds to the famous four letter 
word that everybody seems to be afraid to say in public? :) 

Well, I had initially (and intentionally) fucvar for a conditional 
variable...however, in order to be more in order with how POSIX names
them, I changed it to fucond. 

Good thing they were not worth to implement (and actually swearing 
by them was a good thing, they were a real PITA).

Now seriously, forgive my naivete as English is my second language,
what might be not so amusing to others? the 'fuck' thingie?

Thx,

Iñaky Pérez-González -- Not speaking for Intel -- all opinions are my own (and my fault)

^ permalink raw reply	[flat|nested] 18+ messages in thread
* RE: [RFC/PATCH] FUSYN 5/10: kernel fuqueues
@ 2003-12-12  3:26 Perez-Gonzalez, Inaky
  0 siblings, 0 replies; 18+ messages in thread
From: Perez-Gonzalez, Inaky @ 2003-12-12  3:26 UTC (permalink / raw)
  To: Matt Mackall; +Cc: gene.heskett, linux-kernel, robustmutexes

> From: Matt Mackall [mailto:mpm@selenic.com]
> 
> > Now seriously, forgive my naivete as English is my second language,
> > what might be not so amusing to others? the 'fuck' thingie?
> 
> The obvious pronunciation is closer to "fuck you" (fuh-queue or
> fuq-ueue), which is a little more pointed.

Beauuuuutiful :) I hadn't ever thought of it that way [that is so
tempting me to leave it like that for ever and ever].

Well, will wait for somebody to step up with a better name.

Thanks so much!

Iñaky Pérez-González -- Not speaking for Intel -- all opinions are my own (and my fault)

^ permalink raw reply	[flat|nested] 18+ messages in thread
* Re: [RFC/PATCH] FUSYN 5/10: kernel fuqueues
@ 2003-12-12 23:02 watermodem
  2003-12-13  6:09 ` Valdis.Kletnieks
  0 siblings, 1 reply; 18+ messages in thread
From: watermodem @ 2003-12-12 23:02 UTC (permalink / raw)
  To: linux-kernel

Keep it.
   No corporation will ever admit to creating code with such names.  It 
should provide some protection against attempts to steal it.



^ permalink raw reply	[flat|nested] 18+ messages in thread
* RE: [RFC/PATCH] FUSYN 5/10: kernel fuqueues
@ 2003-12-13  1:05 Perez-Gonzalez, Inaky
  0 siblings, 0 replies; 18+ messages in thread
From: Perez-Gonzalez, Inaky @ 2003-12-13  1:05 UTC (permalink / raw)
  To: Jamie Lokier, Matt Mackall; +Cc: gene.heskett, linux-kernel, robustmutexes


> From: Jamie Lokier [mailto:jamie@shareable.org]
> 
> Matt Mackall wrote:
> > The obvious pronunciation is closer to "fuck you" (fuh-queue or
> > fuq-ueue), which is a little more pointed.
> 
> Like the obvious pronunciation of "futex" as "fuh-teks"?  Not!
> 
> I say keep the fuqueues as the foo-queues they so beautifully are.

Foo like in who-cares-we-are-going-to-blast-it-anyway? }:)

Iñaky Pérez-González -- Not speaking for Intel -- all opinions are my own (and my fault)

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [RFC/PATCH] FUSYN 4/10: Support for ia64
@ 2004-01-14 22:50 inaky.perez-gonzalez
  2004-01-14 22:50 ` [RFC/PATCH] FUSYN 5/10: kernel fuqueues inaky.perez-gonzalez
  0 siblings, 1 reply; 18+ messages in thread
From: inaky.perez-gonzalez @ 2004-01-14 22:50 UTC (permalink / raw)
  To: linux-kernel; +Cc: inaky.perez-gonzalez, robustmutexes

 arch/ia64/kernel/entry.S  |   10 +++---
 include/asm-ia64/fulock.h |   75 ++++++++++++++++++++++++++++++++++++++++++++++
 include/asm-ia64/unistd.h |    8 ++++
 3 files changed, 87 insertions(+), 6 deletions(-)

--- linux/arch/ia64/kernel/entry.S:1.1.1.7	Tue Jan 13 20:54:35 2004
+++ linux/arch/ia64/kernel/entry.S	Wed Jan 14 11:11:48 2004
@@ -1469,11 +1469,11 @@
 	data8 sys_fstatfs64
 	data8 sys_statfs64
 	data8 sys_ni_syscall
-	data8 sys_ni_syscall			// 1260
-	data8 sys_ni_syscall
-	data8 sys_ni_syscall
-	data8 sys_ni_syscall
-	data8 sys_ni_syscall
+        data8 sys_ufulock_lock			// 1260
+        data8 sys_ufulock_unlock
+        data8 sys_ufulock_consistency
+        data8 sys_ufuqueue_wait
+        data8 sys_ufuqueue_wake
 	data8 sys_ni_syscall			// 1265
 	data8 sys_ni_syscall
 	data8 sys_ni_syscall
--- /dev/null	Wed Jan 14 14:39:30 2004
+++ linux/include/asm-ia64/fulock.h	Wed Jan  7 12:46:36 2004
@@ -0,0 +1,75 @@
+
+/*
+ * Fast User real-time/pi/pp/robust/deadlock SYNchronization
+ * (C) 2002-2003 Intel Corp
+ * David P. Howell <david.p.howell@intel.com>
+ *
+ * Licensed under the FSF's GNU Public License v2 or later.
+ *
+ * Based on normal futexes (futex.c), (C) Rusty Russell.
+ * Please refer to Documentation/fusyn.txt for more info.
+ */
+
+#ifndef __asm_ia64_fulock_h__
+#define __asm_ia64_fulock_h__
+
+    /* fulock value / state; anything that is not this is a PID that
+     * currently owns the fulock. */
+
+enum vfulock {
+	VFULOCK_UNLOCKED  = 0x00000000, /* Unlocked */
+	VFULOCK_HEALTHY   = VFULOCK_UNLOCKED, /* KCO mode: the lock is healthy */
+	VFULOCK_KCO       = 0xfffffffd, /* kernel controls ownership */
+	VFULOCK_DEAD      = 0xfffffffe, /* dead, kernel controls ownership */
+	VFULOCK_NR        = 0xffffffff  /* fulock is not-recoverable */
+};
+
+
+#ifdef __KERNEL__
+
+/**
+ * [User usable] Atomic compare and swap.
+ *
+ * Used for locking a vfulock.
+ *
+ * @value     Pointer to the value to compare and swap.
+ * @old_value Value that *value has to have for the swap to occur.
+ * @new_value New value to set it *value == old_value.
+ * @return    !0 if the swap succeeded. 0 if failed.
+ */
+static inline
+unsigned vfulock_acas (volatile unsigned *value,
+                       unsigned old_value, unsigned new_value)
+{
+	unsigned retval;
+
+	/* The following should be the expansion of the cmpxchg_acq() */
+	/* macro from intrinsics.h. Needed this due to glibc builds   */
+	/* issues with including asm/types.h.			      */
+	asm volatile ("mov ar.ccv=%0;;" :: "rO"(old_value));
+	asm volatile ("cmpxchg4.acq %0=[%1],%2,ar.ccv"
+			 : "=r"(retval) 
+			 : "r"(value), 
+			   "r"(new_value)
+			 : "memory");
+	return retval == old_value;
+}
+
+
+/**
+ * Set an ufulock's associated value.
+ *
+ * @vfulock: Pointer to the address of the ufulock to contain for.
+ * @value:    New value to assign.
+ *
+ * Wrapper for arch-specific idiosyncrasies when setting a value that
+ * is shared across different address mappings.
+ */
+static inline
+void vfulock_set (volatile unsigned *vfulock, unsigned value)
+{
+        *vfulock = value;
+}
+
+#endif /* #ifdef __KERNEL__ */
+#endif /* #ifndef __asm_ia64_fulock_h__ */
--- linux/include/asm-ia64/unistd.h:1.1.1.6	Mon Oct 20 13:56:48 2003
+++ linux/include/asm-ia64/unistd.h	Fri Nov 21 13:26:01 2003
@@ -248,10 +248,16 @@
 #define __NR_clock_nanosleep		1256
 #define __NR_fstatfs64			1257
 #define __NR_statfs64			1258
+/* Hole: 1259 */
+#define __NR_ufulock_lock		1260
+#define __NR_ufulock_unlock		1261
+#define __NR_ufulock_consistency	1262
+#define __NR_ufuqueue_wait		1263
+#define __NR_ufuqueue_wake		1264
 
 #ifdef __KERNEL__
 
-#define NR_syscalls			256 /* length of syscall table */
+#define NR_syscalls			265 /* length of syscall table */
 
 #if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)
 

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2004-01-14 22:56 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <0312030051..akdxcwbwbHdYdmdSaFbbcycyc3a~bzd25502@intel.com>
2003-12-03  8:51 ` [RFC/PATCH] FUSYN 5/10: kernel fuqueues inaky.perez-gonzalez
2003-12-03  8:51   ` [RFC/PATCH] FUSYN 6/10: user space/kernel space tracker inaky.perez-gonzalez
2003-12-03  8:51     ` [RFC/PATCH] FUSYN 7/10: user space fuqueues inaky.perez-gonzalez
2003-12-03  8:51       ` [RFC/PATCH] FUSYN 8/10: kernel fulocks inaky.perez-gonzalez
2003-12-11 23:30   ` [RFC/PATCH] FUSYN 5/10: kernel fuqueues Matt Mackall
2003-12-11 23:55     ` Gene Heskett
2003-12-14 16:15     ` Pavel Machek
2003-12-12 19:21   ` William Lee Irwin III
2003-12-12  0:06 Perez-Gonzalez, Inaky
2003-12-12  2:57 ` Matt Mackall
2003-12-12  3:15 Perez-Gonzalez, Inaky
2003-12-12  3:23 ` Matt Mackall
2003-12-12 22:43   ` Jamie Lokier
2003-12-12  3:26 Perez-Gonzalez, Inaky
2003-12-12 23:02 watermodem
2003-12-13  6:09 ` Valdis.Kletnieks
2003-12-13  1:05 Perez-Gonzalez, Inaky
2004-01-14 22:50 [RFC/PATCH] FUSYN 4/10: Support for ia64 inaky.perez-gonzalez
2004-01-14 22:50 ` [RFC/PATCH] FUSYN 5/10: kernel fuqueues inaky.perez-gonzalez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).