Age | Commit message (Collapse) | Author |
|
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.
|
|
* 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.
|
|
* alloca.h: New file, from today's glibc CVS HEAD.
|
|
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-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.
|
|
* server.c (server_loop): On a page fault, use cap_to_object_soft
to find the page.
|
|
* 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.
|
|
* activity.h (struct activity): Unify the inactive_dirty and
inactive_clean lists. Update users.
|
|
* activity.c (activity_destroy): Move objects from VICTIM's priority
tree to its VICTIM->PARENT's priority tree, not its inactive
lists.
|
|
* object.c (FOLIOS_CORE): Increase value.
|
|
* 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.
|
|
* 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.
|
|
* server.c (server_loop): When raising a fault, set INFO.DISCARDED
to DISCARDED, not true.
|
|
* ager.c (ager_loop): Improve debugging output.
|
|
* 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-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.
|
|
* 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.
|
|
* stddef.h (DEBUG_BOLD): New macro.
|
|
* sysdeps/l4/hurd/ia32/pt-setup.c (stack_setup): Add correct casts
to elide gcc warnings.
(__pthread_setup): Likewise.
|
|
* Makefile.am (all-local): Depend on libc-stmp.
(libc-stmp): New target. Depend on libraries.
(SUBDIRS): Add . after libraries and before programs.
|
|
* 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.
|
|
* cap.c (cap_shootdown): Fix scoping problem. If an object of a
folio is identical with the start capability, return.
|
|
* zalloc.c (zalloc): Reduce debugging output when there is no
memory available.
|
|
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.
|
|
* 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-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.
|
|
* 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.
|
|
* ager.c (ager_loop): Calculate statistics.
|
|
* 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.
|
|
* object.c (memory_object_destroy): Set discardable bit if appropriate.
|
|
* object.c (memory_object_destroy): Move lru_lock unlock later.
|
|
* 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.
|
|
* 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.
|
|
* pager.c (pager_collect): Replace use of object_desc_unmap with
object_desc_flush.
|
|
* 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.
|
|
* cap.c (cap_shootdown): If we encounter a capability designating
the same object as CAP, skip it.
|
|
|
|
* 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.
|
|
* l4/math.h (_L4_lsb): Count correctly.
* l4/space.h: Include <assert.h>.
(_L4_fpage): Add asserts.
|
|
* activity.h (struct activity_stats): Add field active_local.
|
|
* folio.h (struct folio): Add field discarded.
(folio_object_discarded): New function.
(folio_object_discarded_set): Likewise.
|
|
* 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.
|
|
* ia32-crt0.S (STACK_SIZE): Increase to 64 pages.
|
|
* activity.h (activity_for_each_inmemory_child): Add additional
asserts.
|
|
* viengoos.c (main): Update comment regarding fault handling for
additional threads.
|
|
* 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.
|
|
* pager.c (pager_collect): If CHILD and VICTIM have the same
weight steal from the activity with the larger number of pages.
|
|
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.
|
|
* 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.
|
|
* assert.h (assertx): Improve printing of backtrace.
|