summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-02-21/neal
2008-02-21 Neal H. Walfield <neal@gnu.org> * configure.ac (CFLAGS): Remove variable. (USER_CFLAGS): New variable. (USER_CPPFLAGS): Likewise. (USER_LDFLAGS): Likewise. (USER_LDADD): Likewise. (KERNEL_CFLAGS): Likewise. (KERNEL_CPPFLAGS): Likewise. * Makefile.am (SUBDIRS): Build . after building laden and viengoos. hieronymus/ 2008-02-21 Neal H. Walfield <neal@gnu.org> * Makefile.am (AM_CPPFLAGS): Remove variable. (AM_LDFLAGS): Likewise. (hieronymus_CPPFLAGS): New variable. (hieronymus_CFLAGS): Likewise. (hieronymus_LDFLAGS): Likewise. (hieronymus_LDADD): Don't include libc.a directly, use the value of $(USER_LDADD) instead. hurd/ 2008-02-21 Neal H. Walfield <neal@gnu.org> * Makefile.am (COMMON_CPPFLAGS): Remove variable. (t_addr_CPPFLAGS): Replace use of $(COMMON_CPPFLAGS) with use of $(CHECK_CPPFLAGS). (t_addr_trans_CPPFLAGS): Likewise. (t_rpc_CPPFLAGS): Likewise. libc-parts/ 2008-02-21 Neal H. Walfield <neal@gnu.org> * Makefile.am (COMMON_CPPFLAGS): Remove variable. (libc_parts_a_CPPFLAGS): Set to $(USER_CPPFLAGS). (libc_parts_a_CFLAGS): New variable. (libc_kernel_a_CPPFLAGS): Set to $(KERNEL_CPPFLAGS). (libc_kernel_a_CFLAGS): New variable. (t_setjmp_CPPFLAGS): Remove use of $(COMMON_CPPFLAGS) with $(CHECK_CPPFLAGS). libhurd-btree/ 2008-02-21 Neal H. Walfield <neal@gnu.org> * Makefile.am (COMMON_CPPFLAGS): Remove variable. (libhurd_btree_a_CPPFLAGS): Replace use of above with $(USER_CPPFLAGS). (libhurd_btree_a_CFLAGS): New variable. (btree_test_CPPFLAGS): Replace use $(COMMON_CPPFLAGS) with $(CHECK_CPPFLAGS). libhurd-ihash/ 2008-02-21 Neal H. Walfield <neal@gnu.org> * Makefile.am (AM_CPPFLAGS): Remove variable. (AM_CFLAGS): Likewise. (libhurd_ihash_a_CPPFLAGS): New variable. (libhurd_ihash_a_CFLAGS): Likewise. (libhurd_ihash_nomalloc_a_CPPFLAGS): Replace use of $(AM_CPPFLAGS) with $(USER_CPPFLAGS). (libhurd_ihash_nomalloc_a_CFLAGS): New variable. (t_ihash_CPPFLAGS): Remove use of $(AM_CPPFLAGS). (t_ihash64_CPPFLAGS): Likewise. (t_ihash_CFLAGS): New variable. (t_ihash64_CFLAGS): Likewise. * ihash.c: Don't include <hurd/ihash.h> but "ihash.h". libhurd-mm/ 2008-02-21 Neal H. Walfield <neal@gnu.org> * Makefile.am (COMMON_CPPFLAGS): Remove variable. (libhurd_mm_a_CPPFLAGS): Replace use of above with $(USER_CPPFLAGS). (libhurd_mm_a_CFLAGS): New variable. libpthread/ 2008-02-21 Neal H. Walfield <neal@gnu.org> * Makefile.am (AM_CPPFLAGS): Replace use of includes with $(USER_CPPFLAGS). (AM_CFLAGS): New variable. newlib/ 2008-02-21 Neal H. Walfield <neal@gnu.org> * Makefile.am (patch_files): Add 05-newlib-newlib-libc-include-machine-setjmp-h.patch, 06-newlib-newlib-libc-machine-i386-i386mach-h.patch, and 07-newlib-newlib-libm-machine-i386-i386mach-h.patch. (ccheaders): Remove variable. (SYSINCLUDES): Likewise. (newlib-build/libc.a newlib-build/libm.a): Set TARGET_CFLAGS to "$(USER_CPPFLAGS) $(USER_CFLAGS) $(USER_LDFLAGS)". * newlib/patches/05-newlib-newlib-libc-include-machine-setjmp-h.patch: New file. * newlib/patches/06-newlib-newlib-libc-machine-i386-i386mach-h.patch: New file. * newlib/patches/07-newlib-newlib-libm-machine-i386-i386mach-h.patch: New file. ruth/ 2008-02-21 Neal H. Walfield <neal@gnu.org> * Makefile.am (COMMON_CPPFLAGS): Remove variable. (ruth_CPPFLAGS): Set to $(USER_CPPFLAGS). (ruth_CFLAGS): New variable. (ruth_LDFLAGS): Set to $(USER_LDFLAGS). (ruth_LDADD): Set to $(USER_LDADD). viengoos/ 2008-02-21 Neal H. Walfield <neal@gnu.org> * Makefile.am (COMMON_CPPFLAGS): Remove variable. (viengoos_CPPFLAGS): Set to $(KERNEL_CPPFLAGS). (viengoos_CFLAGS): New variable. (libhurd_cap_a_CPPFLAGS): Set to $(USER_CPPFLAGS). (libhurd_cap_a_CFLAGS): New variable. (t_as_CFLAGS): New variable. (t_activity_CFLAGS): Likewise. (t_link_CFLAGS): Likewise.
2008-02-202008-02-20 Thomas Schwinge <tschwinge@gnu.org>tschwinge
* amd64/sys/io.h: New file, from today's glibc CVS HEAD. * amd64/Makefile.am (noinst_HEADERS): Add it. * ia32/sys/io.h: New file, from today's glibc CVS HEAD. * ia32/Makefile.am (noinst_HEADERS): Add it. * headers.m4: Link it. * README: Document them.
2008-02-202008-02-20 Thomas Schwinge <tschwinge@gnu.org>tschwinge
* alloca.h: New file, from today's glibc CVS HEAD.
2008-02-20libhurd-mm/neal
2008-02-20 Neal H. Walfield <neal@gnu.org> * anonymous.h: Include <hurd/exceptions.h> and <l4/thread.h>. (ANONYMOUS_ZEROFILL): Rename from this... (ANONYMOUS_NO_CLEAR): ... to this, inverting logic. Update users. (ANONYMOUS_DISCARDABLE): Don't define. (ANONYMOUS_NO_ALLOC): Define. (ANONYMOUS_NO_RECURSIVE): Likewise. (ANONYMOUS_THREAD_SAFE): Likewise. (anonymous_pager_fill_t): Likewise. (struct anonymous_pager): Add fields allocated_region, staging_area, fill, fill_thread, fill_lock and policy. Change fill's type to anonymous_pager_fill_t. (anonymous_pager_alloc): Take additional parameters, P and ADDR_OUT. Change the fill function's type to anonymous_pager_fill_t. Require that the address is not already allocated. Update users. * anonymous.c: Include <string.h> and <hurd/rm.h>. (struct storage_desc): Remove field addr and replace with offset. (addr_compare): Remove function. (offset_compare): New function. (storage_desc): Change node key from the addr field to the offset field. (fault): Rewrite to handle a fill function, discarded pages, and the ANONYMOUS_NO_RECURSIVE and ANONYMOUS_NO_ALLOC flags. (destroy): Free the allocated region and any staging area. (anonymous_pager_alloc): Rewrite to allocate virtual memory. Set up the data structure appropriately if ANONYMOUS_THREAD_SAFE is given. * pager.h (PAGER_REGION_LENGTH): New define. (pager_fault_t): Change ABI such that the callback must release PAGER->LOCK. * pager.c (pager_fault): Don't release PAGER->LOCK. ruth/ 2008-02-20 Neal H. Walfield <neal@gnu.org> * ruth.c: Include <hurd/anonymous.h>, <stdlib.h> and <l4.h>. (main): Add tests to check rendered regions and discardable pages.
2008-02-20hurd/neal
2008-02-20 Neal H. Walfield <neal@gnu.org> * cap.h (RM_object_discarded_clear): Define. (object_discarded_clear): New method. viengoos/ 2008-02-20 Neal H. Walfield <neal@gnu.org> * server.c (server_loop): Implement object_discarded_clear method. * rm.h (rm_method_id_string): Handle RM_object_discarded_clear case.
2008-02-202008-02-20 Neal H. Walfield <neal@gnu.org>neal
* server.c (server_loop): On a page fault, use cap_to_object_soft to find the page.
2008-02-202008-02-20 Neal H. Walfield <neal@gnu.org>neal
* cap.h (cap_to_object): New declaration. (cap_to_object_soft): Likewise. * cap.c (cap_to_object_internal): New function. (cap_to_object): Implement in terms of it. (cap_to_object_soft): New function.
2008-02-202008-02-20 Neal H. Walfield <neal@gnu.org>neal
* activity.h (struct activity): Unify the inactive_dirty and inactive_clean lists. Update users.
2008-02-202008-02-20 Neal H. Walfield <neal@gnu.org>neal
* activity.c (activity_destroy): Move objects from VICTIM's priority tree to its VICTIM->PARENT's priority tree, not its inactive lists.
2008-02-202008-02-20 Neal H. Walfield <neal@gnu.org>neal
* object.c (FOLIOS_CORE): Increase value.
2008-02-202008-02-20 Neal H. Walfield <neal@gnu.org>neal
* list.h (struct list) [! NDEBUG]: Add field name. (list_init): Add parameter name. Update users. (LIST_CLASS): Update template to account for list_init changes. (list_unlink): Improve debugging output. * activity.c (activity_prepare): Explicitly initialize all lists.
2008-02-202008-02-20 Neal H. Walfield <neal@gnu.org>neal
* ihash.c (hurd_ihash_init_with_buffer): Set size to the largest size in IHASH_SIZES that is less than or equal to the maximum size that the provided buffer can handle.
2008-02-182008-02-18 Neal H. Walfield <neal@gnu.org>neal
* server.c (server_loop): When raising a fault, set INFO.DISCARDED to DISCARDED, not true.
2008-02-182008-02-18 Neal H. Walfield <neal@gnu.org>neal
* ager.c (ager_loop): Improve debugging output.
2008-02-182008-02-18 Neal H. Walfield <neal@gnu.org>neal
* pager.c (pager_collect): When looking for a victim activity, if none are found, repeat the process giving the number of active pages less weight. Fix asserts.
2008-02-18hurd/neal
2008-02-18 Neal H. Walfield <neal@gnu.org> * exceptions.h: Include <stdint.h>. (struct exception_info): Add field discarded. viengoos/ 2008-02-18 Neal H. Walfield <neal@gnu.org> * server.c (server_loop): When resolving a fault, if the page was discarded, reflect the fault. * object.c (object_find): If the page was discarded, return NULL. (folio_object_alloc): Clear the discarded flag. * object.c (memory_object_destroy): Don't set the discarded flag or content flag here. * memory.c (memory_frame_allocate): Set them here.
2008-02-182008-02-18 Neal H. Walfield <neal@gnu.org>neal
* cap-lookup.c (lookup) [RM_INTERN]: When generating a capability to an object in a folio, don't lookup the object and then use object_to_cap, just use folio_object_cap.
2008-02-162008-02-16 Neal H. Walfield <neal@gnu.org>neal
* stddef.h (DEBUG_BOLD): New macro.
2008-02-162008-02-16 Neal H. Walfield <neal@gnu.org>neal
* sysdeps/l4/hurd/ia32/pt-setup.c (stack_setup): Add correct casts to elide gcc warnings. (__pthread_setup): Likewise.
2008-02-162008-02-16 Neal H. Walfield <neal@gnu.org>neal
* Makefile.am (all-local): Depend on libc-stmp. (libc-stmp): New target. Depend on libraries. (SUBDIRS): Add . after libraries and before programs.
2008-02-162008-02-16 Neal H. Walfield <neal@gnu.org>neal
* object.h (struct object_desc): Add fields mapped, shared and floating. (object_desc_unmap): Only unmap a page if DESC->MAPPED is true. (object_desc_flush): Call object_desc_unmap rather than copying the code. * object.c (object_find_soft): If ODESC->FLOATING is true, claim the object. Set ODESC->FLOATING to false. (folio_object_alloc): After clearing the page, flush it and then ODESC->DIRTY to false. Set ODESC->SHARED to false. * ager.c (SAMPLES): Rename from this... (FREQ): ... to this. Update users. (ager_loop): Don't just flush the whole address space; every FREQ iterations, unmap shared objects, set DESC->MAPPED to false, and DESC->FLOATING to true. * server.c (server_loop): When mapping a page, record it.
2008-02-162008-02-16 Neal H. Walfield <neal@gnu.org>neal
* cap.c (cap_shootdown): Fix scoping problem. If an object of a folio is identical with the start capability, return.
2008-02-162008-02-16 Neal H. Walfield <neal@gnu.org>neal
* zalloc.c (zalloc): Reduce debugging output when there is no memory available.
2008-02-16viengoos/neal
2008-02-16 Neal H. Walfield <neal@gnu.org> * object.h (kernel_lock): New declaration. Replace current locking scheme with this global lock variable. (lru_lock): Remove variable. (struct object_desc): Remove field lock. * object.c (kernel_lock): New variable. libc-parts/ 2008-02-16 Neal H. Walfield <neal@gnu.org> * process-spawn.c (process_spawn) [RM_INTERN]: Don't take LRU_LOCK.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* btree.h (BTREE_(check_tree_internal)) [!NDEBUG && !NCHECKS]: Only declare in this case. (BTREE_check_tree_internal_): Fix argument names. * btree.c (BTREE_(check_tree_internal)) [!NDEBUG && !NCHECKS]: Only define in this case. * Makefile.am (AM_CPPFLAGS): Rename from this... (COMMON_CPPFLAGS): ... to this. Update users. (libhurd_btree_a_CPPFLAGS): Add -DNCHECKS.
2008-02-15libhurd-btree/neal
2008-02-15 Neal H. Walfield <neal@gnu.org> * btree.h (BTREE_(insert)) [!NDEBUG]: Assert that the node pointers are clear. * btree.c (BTREE_(detach)) [!NDEBUG]: Clear ROOT. * btree-test.c (main): Clear allocated nodes. libhurd-mm/ 2008-02-15 Neal H. Walfield <neal@gnu.org> * anonymous.c (destroy) [!NDEBUG]: Clear NODE before freeing it.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* pager.h: Include "memory.h", "zalloc.h", and "object.h". (pager_collect): Take an additional argument goal and return an integer. (PAGER_LOW_WATER_MARK): New macro. (PAGER_HIGH_WATER_MARK): Likewise. (pager_collect_needed): New function. (pager_query): Likewise. * pager.c (LOW_WATER_MARK): Don't define. (HIGH_WATER_MARK): Likewise. (is_clean): New function. (reclaim_from): New function. Broken out of pager_collect. Correctly update statistics. (pager_collect): Take an additional argument goal and return an integer. Rewrite victim selection implementation. * memory.c (memory_frame_allocate): Call page_query. If zalloc fails, take from the available list. Add asserts. Don't clear memory if we get memory from zalloc.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* ager.c (ager_loop): Calculate statistics.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* activity.h (ACTIVITY_STATS): Correctly bounds check ACTIVITY->CURRENT_PERIOD. (ACTIVITY_STATS_LAST): New macro. * server.c (server_loop): Correctly copy the statistic buffers to the output buffer.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* object.c (memory_object_destroy): Set discardable bit if appropriate.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* object.c (memory_object_destroy): Move lru_lock unlock later.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* object.h (struct object_desc): Change live from bit field to a bool. * object.c: Include <assert.h>. (memory_object_destroy): Add asserts. Fix canary being careful not to overwrite DESC->LIVE. (object_find_soft): Add assert. (folio_object_alloc): Likewise.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* activity.h: Include "list.h". (LIST_CLASS_TYPE): Declare a activity_children list. (struct activity): Change children's type to a struct activity_children_list. Replace sibling_next and sibling_prev with sibling, a struct list_node. (activity_for_each_inmemory_child): Remove macro. * activity.c (children_list_insert_after): Remove function. Replace uses with appropriate list function. (children_list_detach): Likewise. * pager.c (pager_collect): Replace use of activity_for_each_inmemory_child with a list iterator. * ager.c (ager_loop): Likewise.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* pager.c (pager_collect): Replace use of object_desc_unmap with object_desc_flush.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* object.h (object_desc_unmap) [_L4_TEST_ENVIRONMENT]: Do nothing. (object_desc_unmap) [_L4_TEST_ENVIRONMENT]: When adding the dirty bit, be careful to make sure that the correct value is bitwise or'ed into DESC->DIRTY. (object_desc_flush): New function. * cap.c (cap_shootdown): Don't use l4_unmap_fpage, use object_desc_unmap instead.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* cap.c (cap_shootdown): If we encounter a capability designating the same object as CAP, skip it.
2008-02-15Fix typo.neal
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* list.h (list_unlink): New function. (LIST_CLASS): Add above function to template. (LIST_CLASS_TYPE): New macro. (LIST_CLASS): Take additional argument need_type. If false, don't generate a type declaration. Update users.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* l4/math.h (_L4_lsb): Count correctly. * l4/space.h: Include <assert.h>. (_L4_fpage): Add asserts.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* activity.h (struct activity_stats): Add field active_local.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* folio.h (struct folio): Add field discarded. (folio_object_discarded): New function. (folio_object_discarded_set): Likewise.
2008-02-152008-02-15 Neal H. Walfield <neal@gnu.org>neal
* folio.h (struct folio): Correctly calculate the size of the wait_queues_p array. (folio_object_wait_queue_p): Test the correct bit. (folio_object_wait_queue_p_set): Set the correct bit.
2008-02-132008-02-13 Neal H. Walfield <neal@gnu.org>neal
* ia32-crt0.S (STACK_SIZE): Increase to 64 pages.
2008-02-132008-02-13 Neal H. Walfield <neal@gnu.org>neal
* activity.h (activity_for_each_inmemory_child): Add additional asserts.
2008-02-132008-02-13 Neal H. Walfield <neal@gnu.org>neal
* viengoos.c (main): Update comment regarding fault handling for additional threads.
2008-02-132008-02-13 Neal H. Walfield <neal@gnu.org>neal
* activity.h (activity_policy_update): New declaration. * activity.c (children_list_insert_after): New function. (children_list_detach): Likewise. (activity_prepare): Use the above to insert ACTIVITY onto its parent's children list. Keep the list is priority sorted order. (activity_deprepare): Likewise, but to remove ACTIVITY from its parent's children list. (activity_policy_update): New function. * server.c (server_loop): Use activity_policy_update to update an activity's policy.
2008-02-132008-02-13 Neal H. Walfield <neal@gnu.org>neal
* pager.c (pager_collect): If CHILD and VICTIM have the same weight steal from the activity with the larger number of pages.
2008-02-13hurd/neal
2008-02-13 Neal H. Walfield <neal@gnu.org> * activity.h (RM_activity_stats): New definition. (ACTIVITY_STATS_PERIODS): Change to 2. (struct activity_stats_buffer): New structure. (activity_stats): New RPC. viengoos/ 2008-02-13 Neal H. Walfield <neal@gnu.org> * server.c (server_loop): Implement activity_stats method. * ager.c (ager_loop): Implement first pass at updating available memory statistic.
2008-02-132008-02-13 Neal H. Walfield <neal@gnu.org>neal
* storage.h (storage_alloc): Take additional parameter policy. Update callers. * storage.c (storage_alloc): Take additional parameter policy. Use it when allocating the object and updating the shadow capability slots.
2008-02-132008-02-13 Neal H. Walfield <neal@gnu.org>neal
* assert.h (assertx): Improve printing of backtrace.