ubik: remove unused code
[openafs.git] / doc / txt / ubik.txt
index e508e67..8a649f3 100644 (file)
@@ -1,8 +1,20 @@
 This file contains a threading analysis of Ubik prepared by
-Jeffrey Hutzelman and sent ot the openafs-devel@openafs.org
+Jeffrey Hutzelman and sent to the openafs-devel@openafs.org
 mailing list in February 2011, archived at:
 https://lists.openafs.org/pipermail/openafs-devel/2011-February/018329.html
 
+A while ago, Jeff Altman asked me to do an analysis of the Ubik code with
+repsect to threading, to try to determine how ready the code is to be moved
+from an LWP-based environment to one using preemptive POSIX threads, and
+what it will take to get it the rest of the way there.  Now that the work
+is complete, I'm posting the complete analysis and my recommendations for
+discussion and as a backdrop for changes I expect to see proposed in the
+near future.
+
+This work was funded by Your File System, Inc.
+
+-- Jeff
+
 INTRODUCTION
 
    This document describes the structure of Ubik, with an eye toward
@@ -78,14 +90,6 @@ MAJOR DATA STRUCTURES
       thread to examine them without holding the database lock; see the
       section on the BEACON package for details.
 
-      The condition variable 'version_cond' is used to signal to that the
-      database version may have changed; it is broadcast in udisk_commit(),
-      in SDISK_SendFile(), and from the recovery thread; it is monitored by
-      ubik_WaitVersion(), which can be called by an application to wait for
-      a database version change (this is not currently used in OpenAFS).
-      This CV is associated with the database lock.  When LWP is used, this
-      condition is signalled on &ubik_dbase->version.
-
       The condition variable 'flags_cond' is used by udisk_end() to signal
       that DBWRITING flag has been cleared.  This wakes threads waiting in
       ubik.c:BeginTrans() to begin a new transaction.  This CV is
@@ -1153,12 +1157,6 @@ MAJOR SUBSYSTEMS
 
       Utilities
 
-         The functions ubik_GetVersion() and ubik_WaitVersion() provide the
-         application with a way to discover the current database version
-         and to wait for it to change.  These interfaces are not currently
-         used in OpenAFS.  ubik_GetVersion() needs to acquire the database
-         lock while copying the database version.
-
          The internal function ubikGetPrimaryInterfaceAddr() is used by
          Ubik RPCs to determine a peer server's primary address, given the
          IP address from which a call arrived.  This needs to hold the