summaryrefslogtreecommitdiff
path: root/libpager
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-07-17 22:55:08 +0000
committerRoland McGrath <roland@gnu.org>1996-07-17 22:55:08 +0000
commit5b9e5e24f883db76aa783678b77698c47caecc30 (patch)
tree199fc2010d664be83723e838f8217dbb4c3eab82 /libpager
parentb3657b27182f2c707cb940795cb982e4bb0f5660 (diff)
Initial revision
Diffstat (limited to 'libpager')
-rw-r--r--libpager/ChangeLog374
1 files changed, 374 insertions, 0 deletions
diff --git a/libpager/ChangeLog b/libpager/ChangeLog
new file mode 100644
index 00000000..ed8e3cca
--- /dev/null
+++ b/libpager/ChangeLog
@@ -0,0 +1,374 @@
+Thu May 9 11:10:11 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * pager-create.c: Get rid of link warning.
+
+ * pager-create.c (pager_create): ports_allocate_port ->
+ ports_create_port; if we get an error return a null structure.
+
+Thu May 2 11:17:17 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * offer-page.c (pager_offer_page): Make sure we hold lock across
+ operation. Also set incore bit when operation is complete.
+
+Tue Apr 30 12:40:33 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * lock-object.c (_pager_lock_object): Eliminate spurious extra
+ lock acquisition around pagemap frobbing.
+
+Sun Apr 28 15:46:12 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
+
+ * pager-create.c (pager_create): Add link warning.
+
+Thu Apr 18 13:03:55 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * data-return.c (_pager_do_write_request): If kernel didn't keep a
+ copy, turn off INCORE bit. Don't track INIT bit for now.
+ * lock-object.c (_pager_lock_object): If SYNC and SHOULD_FLUSH,
+ then turn off PM_INCORE bits when flush is complete.
+ * data-request.c (_pager_seqnos_memory_object_data_request): Set
+ PM_INCORE.
+ * priv.h (PM_INIT): Comment out.
+ (PM_INCORE): New bit.
+ * offer-page.c: New file.
+ * Makefile (SRCS): Add offer-page.c.
+ * pager.h (pager_offer_page): New function.
+
+Thu Apr 11 17:50:57 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * pager-memcpy.c (pager_memcpy [copy]): Return error_t so that
+ this function has the proper type as an arg for
+ hurd_catch_signal.
+ (pager_memcpy): Cast FAULT to proper type in call to
+ hurd_catch_signal.
+
+Tue Mar 26 15:38:06 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * lock-completed.c: Include <stdio.h>.
+
+ * data-return.c (_pager_do_write_request): Delete unused label
+ `out'.
+
+ * pager-sync.c (pager_sync, pager_sync_some): Ask for RETURN_ALL
+ and not just RETURN_DIRTY, because we treat precious pages as
+ dirty in this library.
+ * pager-return.c (pager_return, pager_return_some): Likewise.
+
+Mon Mar 18 13:10:32 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * pager.h (pager_return, pager_return_some): New declarations.
+ * Makefile (SRCS): Add pager-return.c.
+ * pager-return.c: New file.
+
+ * pager-flush.c (pager_flush): Lock request should be
+ VM_PROT_NO_CHANGE, not VM_PROT_NONE.
+ (pager_flush_some): Likewise.
+
+Wed Mar 6 17:53:20 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * lock-object.c (_pager_lock_object): Correctly remove LR from
+ P's linked list of lock requests.
+ * pager-attr.c (pager_change_attributes): Likewise for attributes.
+
+ * lock-object.c (_pager_lock_object): Don't barf anymore.
+ * lock-completed.c (_pager_seqnos_memory_object_lock_completed): Ditto.
+ * Makefile (SRCS): Remove barf.c.
+
+Wed Feb 21 14:15:26 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * lock-completed.c (_pager_seqnos_memory_object_lock_completed):
+ Get rid of bletcherous semi.
+ Make barf more voluminous.
+
+ * lock-completed.c (_pager_seqnos_memory_object_lock_completed):
+ Be picky about always releasing SEQNO.
+ * object-init.c (_pager_seqnos_memory_object_init): Likewise.
+
+Tue Feb 20 17:44:59 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * lock-object.c (_pager_lock_object): Use barf instead of printf.
+ * lock-completed.c (_pager_seqnos_memory_object_lock_completed): Ditto.
+ * Makefile (SRCS): Add barf.c.
+
+ * data-return.c (_pager_do_write_request): Always wait for and
+ release SEQNO if OBJECT is a valid pager.
+ * data-request.c (_pager_seqnos_memory_object_data_request): Likewise.
+ * object-terminate.c (_pager_seqnos_memory_object_terminate): Likewise.
+
+Tue Feb 20 16:05:42 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * lock-object.c (_pager_lock_object): Print debugging message when
+ SYNC.
+ * lock-completed.c (_pager_seqnos_memory_object_lock_completed):
+ Print a notice when an incoming lock completion corresponds to no
+ outstanding lock request.
+
+Tue Feb 20 15:10:29 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * lock-object.c (_pager_lock_object): Remove `sync = 0'.
+
+Fri Jan 5 17:09:43 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * pager-memcpy.c: New file.
+ * Makefile (SRCS): Add pager-memcpy.c.
+
+Thu Jan 4 15:37:21 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * pager.h: Declare pager_memcpy.
+
+Mon Oct 9 14:57:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * priv.h: Declare _pager_page_errors extern, not common.
+
+ * Makefile: Specify shared library dependencies.
+
+Wed Sep 13 14:49:53 1995 Michael I. Bushnell, p/BSG <mib@duality.gnu.ai.mit.edu>
+
+ * lock-completed.c (_pager_seqnos_memory_object_lock_completed):
+ Don't push the locks_pending field negative in the case where the
+ pager was terminated before we get called.
+
+Tue Sep 5 15:50:12 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
+
+ * chg-compl.c (_pager_seqnos_memory_object_change_completed):
+ Don't push the attrs_pending field negative in the case where the
+ pager was terminated before we get called.
+
+Wed Aug 23 15:00:46 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
+
+ * Makefile (SRCS): Make this the main list of files, from which
+ the others are derived.
+ (COBJS, REMHDRS): Removed.
+ (OBJS): Derived mostly from $(SRCS).
+
+Fri Jul 21 16:43:19 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
+
+ * object-create.c (_pager_seqnos_memory_object_create): Drop
+ initial reference created by ports_intern_external_reference when
+ we're done with P.
+
+Thu Jul 6 15:36:36 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * Makefile: Removed dependencies that are now automatically
+ generated.
+
+Mon Jun 26 20:15:03 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * get-upi.c: New file.
+ * pager.h (pager_get_upi): New function.
+ * Makefile (COBJS): Add get-upi.o.
+
+Thu Jun 22 11:43:15 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * object-init.c (_pager_seqnos_memory_object_init): Rather than an
+ empty `if' body and an unconditional return, how about a real
+ test?
+
+ * notify-stubs.c: New file.
+ * Makefile (COBJS): Add notify-stubs.o.
+
+Tue Jun 20 12:44:22 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
+
+ * chg-compl.c (_pager_seqnos_memory_object_change_completed): Use
+ new ports routines.
+ * pager-shutdown.c (pager_shutdown): Likewise.
+ * object-terminate.c (_pager_free_structure): Likewise.
+ * object-init.c (_pager_seqnos_memory_object_init): Likewise.
+ * lock-completed.c (_pager_seqnos_memory_object_lock_completed):
+ Likewise.
+ * data-unlock.c (_pager_seqnos_memory_object_data_unlock): Likewise.
+ * data-return.c (_pager_do_write_request): Likewise.
+ * data-request.c (_pager_seqnos_memory_object_data_request):
+ Likewise.
+ * pager-create.c (pager_create): New parm BUCKET. Allocate port
+ using new ports interface. Arrange to have _pager_class
+ initialized at startup.
+ * clean.c, dropweak.c: New files.
+ * no-senders.c: Rename pager_no_senders to
+ _pager_do_seqnos_mach_notify_no_senders. Lookup up port right
+ ourselves. Remove function pager_clean (now in clean.c).
+ * priv.h (_pager_class): New var.
+ (_pager_clean, _pager_real_dropweak): New decls.
+ * Makefile (COBJS): Delete reference.o. Add clean.o and dropweak.o
+ (OBJS): Add notifyServer.o.
+ (demuxer.o): Depend on notify_S.h.
+ * demuxer.c: Include "notify_S.h".
+ (pager_demuxer): Declare and use _pager_seqnos_notify_server.
+ * pager.h: Include <hurd/ports.h>.
+ (pager_no_senders, pager_reference, pager_unreference,
+ pager_port_type, pager_clean): Remove declarations.
+ (pager_create): New parm BUCKET.
+ (pager_clean): Doc fix.
+ (pager_dropweak): New decl.
+ * reference.c: Deleted file.
+
+Thu May 11 11:19:44 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
+
+ * priv.h (PM_NEXTERROR, SET_PM_NEXTERROR): Mask 2-bit error code
+ with 0x3, not 0x2!
+
+ * mark-error.c (_pager_mark_next_request_error,
+ _pager_mark_object_error): Put the error code in the correct place
+ in the pagemap rather than always at the beginning.
+ (pager_get_error): Get the error code from the pagemap rather than
+ just using the pagemap offset!
+
+Wed Nov 23 00:28:19 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * demuxer.c (pager_demuxer): Call
+ _pager_seqnos_memory_object_server, not
+ seqnos_memory_object_server.
+
+Tue Nov 8 14:15:01 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
+
+ * lock-object.c (_pager_lock_object): Hammer SYNC to zero for now;
+ there's some deadlock bug in noticing when the sync finishes.
+
+Tue Aug 30 17:55:34 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
+
+ * data-return.c: Include <assert.h>.
+ (_pager_seqnos_memory_object_data_return): Use return correctly.
+
+Mon Aug 29 17:30:52 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
+
+ * priv.h (PM_INIT): New pagemap bit.
+ * data-return.c (_pager_do_write-request): Set PM_INIT for
+ affected pages. New var `omitdata' hold a bitmap of the
+ pages that we are not actually writing. Set accordingly
+ while looking through pagemap before starting I/O. Don't
+ actually call I/O on these pages or frob the page map with them
+ later.
+
+ * data-return.c (_pager_seqnos_memory_object_data_return): Split
+ into two functions; _pager_do_write_request does the real work
+ now.
+
+ * object-create.c: New file.
+ * data-init.c: New file.
+
+Fri Jul 22 11:54:05 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
+
+ * Makefile: Rewritten to use new scheme.
+ * data-request.c: Include "memory_object_S.h" instead of
+ "memory_object.h".
+ * data-return.c: Likewise.
+ * data-unlock.c: Likewise.
+ * lock-completed: Likewise.
+ * stubs.c: Likewise.
+ * object-init.c: Likewise.
+ * demuxer.c: Likewise.
+ * object-terminate.c: Likewise.
+
+Tue Jul 5 14:14:17 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
+
+ * Makefile (TAGSHDRS): New variable.
+
+Wed Jun 1 11:41:24 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
+
+ * pager-attr.c (pager_change_attributes): Return immediately
+ if we are already in the requested state.
+
+ * lock-completed.c (_pager_seqnos_memory_object_lock_completed):
+ Call ports_done_with_port before returning to free reference
+ created by ports_check_port_type.
+ * chg-compl.c (_pager_seqnos_memory_object_change_completed):
+ Likewise.
+
+ * seqnos.c (_pager_release_seqno): New second arg SEQNO.
+ Set p->seqno here. All callers changed.
+ (_pager_wait_for_seqno): Don't set p->seqno here; then it
+ might get released before we actually call _pager_release_seqno.
+ * priv.h (_pager_release_seqno): Declare new second arg.
+
+ * priv.h (KERNEL_INIT_RACE): New compilation option. All the
+ changes in this block are conditionalized by this macro.
+ * priv.h (struct pager): New members init_head and init_tail.
+ (struct pending_init): New type.
+ * object-init.c (_pager_seqnos_memory_object_init): If the object
+ is not ready for init, then queue the init for later processing.
+ * object-terminate.c (_pager_seqnos_memory_object_terminate): If
+ there is a pending init, return it here.
+ * no-senders.c (pager_clean): Destroy all pending inits here.
+
+ * object-terminate.c (_pager_free_structure): Don't unlock
+ interlock or free the seqno here.
+ (_pager_seqnos_memory_object_terminate): Unlock interlock and
+ free seqno after calling _pager_free_structure.
+ * no-senders.c (pager_clean): Unlock interlock after calling
+ _pager_free_structure. Don't free seqno here at all.
+
+Tue May 24 15:25:54 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
+
+ * data-return.c (_pager_seqnos_memory_object_data_return): New
+ vars NPAGES, I, and PAGERRS. Rename var PM_ENTRY to be
+ PM_ENTRIES. Deal with multiple-page data_return calls by dealing
+ with multiple pagemap slots and calling pager_write_page multiple
+ times.
+
+ * data-return.c (_pager_seqnos_memory_object_data_return): Fix
+ printf messages; include length in bogus length messages.
+
+ *data-unlock (_pager_seqnos_memory_object_data_unlock): Likewise.
+
+Mon May 23 13:06:31 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
+
+ * data-request.c (_pager_seqnos_memory_object_data_request):
+ Report length in bogus arg messages; terminate messages with
+ newlines.
+
+ * chg-compl.c: Include <stdio.h>.
+
+ * priv.h (struct pager [may_cache, copy_strategy]): New members.
+ * pager.h (pager_create_pager): Added new args MAY_CACHE and
+ COPY_STRATEGY.
+ (pager_report_attributes): Deleted declaration.
+ * object-init.c (_pager_seqnos_memory_object_init): Set attributes
+ from values in P rather than by calling pager_report_attributes.
+ * pager-attr.c (pager_change_attributes): Don't panic if the
+ pager isn't yet initialized by the kernel; record the provided
+ values in may_cache and copy_strategy.
+
+ * pager-attr.c: Spelling fix.
+ Include <assert.h>.
+ * Makefile (COBJS): Added pager-attr.o.
+
+Fri May 20 15:41:12 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
+
+ * lock-completed.c (_pager_seqnos_memory_object_lock_completed):
+ Delete unneeded variable wakeup. Break out of loop as soon
+ as we find the right record. Call condition_broadcast only
+ if we need bother.
+
+ * pager.h (pager_change_attributes, pager_report_attributes):
+ New declarations.
+ * priv.h (struct attribute_request): New structure.
+ (struct pager [attribute_requests]): New member.
+ * pager-create.c (pager_create): Initialize new member.
+ * object-init.c (_pager_seqnos_memory_object_init): Call
+ pager_report_attributes for correct args to memory_object_ready.
+ * pager-attr.c: New file.
+ * object-terminate.c (_pager_free_structure): Wakeup pending
+ pager_change_attribute requests.
+ * stubs.c (_pager_seqnos_memory_object_change_completed): Deleted
+ function.
+ * chg-compl.c: New file.
+ * Makefile (COBJS): Added chg-compl.o.
+
+Thu May 5 07:49:21 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * stubs.c (_pager_seqnos_memory_object_supply_completed): Change
+ RESULT arg to type kern_return_t; error_t is not compatible.
+
+ * demuxer.c (pager_demuxer): Declare seqnos_memory_object_server.
+
+ * stubs.c, lock-completed.c: Changed return type of all RPC server
+ functions to kern_return_t. error_t is not compatible with the
+ declarations in the mig-generated header files.
+
+ * Makefile: Change uses of $(headers) to $(includedir).
+
+Tue Apr 26 15:08:57 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
+
+ * object-init.c (_pager_seqnos_memory_object_init): Only check
+ for inits of active objects AFTER waiting for seqno; otherwise we
+ could race against a prior terminate.
+