From 5b9e5e24f883db76aa783678b77698c47caecc30 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 17 Jul 1996 22:55:08 +0000 Subject: Initial revision --- libpager/ChangeLog | 374 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 374 insertions(+) create mode 100644 libpager/ChangeLog (limited to 'libpager/ChangeLog') 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 + + * 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 + + * 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 + + * lock-object.c (_pager_lock_object): Eliminate spurious extra + lock acquisition around pagemap frobbing. + +Sun Apr 28 15:46:12 1996 Roland McGrath + + * pager-create.c (pager_create): Add link warning. + +Thu Apr 18 13:03:55 1996 Michael I. Bushnell, p/BSG + + * 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 + + * 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 + + * lock-completed.c: Include . + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * lock-object.c (_pager_lock_object): Remove `sync = 0'. + +Fri Jan 5 17:09:43 1996 Roland McGrath + + * pager-memcpy.c: New file. + * Makefile (SRCS): Add pager-memcpy.c. + +Thu Jan 4 15:37:21 1996 Roland McGrath + + * pager.h: Declare pager_memcpy. + +Mon Oct 9 14:57:48 1995 Roland McGrath + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Makefile: Removed dependencies that are now automatically + generated. + +Mon Jun 26 20:15:03 1995 Michael I Bushnell + + * 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 + + * 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 + + * 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 . + (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 + + * 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 + + * 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 + + * 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 + + * data-return.c: Include . + (_pager_seqnos_memory_object_data_return): Use return correctly. + +Mon Aug 29 17:30:52 1994 Michael I Bushnell + + * 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 + + * 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 . + + * 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 . + * 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. + -- cgit v1.2.3