diff options
author | neal <neal> | 2008-06-27 15:17:27 +0000 |
---|---|---|
committer | neal <neal> | 2008-06-27 15:17:27 +0000 |
commit | c314b447a633a3aa2d1e4a882675038fd381e873 (patch) | |
tree | c3d2625fc63af15c7e6200203a5347e68f192713 /viengoos/thread.h | |
parent | 8305c7cd3d379fda42cee8c58783bf2ae52f4ff0 (diff) |
hurd/
2008-06-27 Neal H. Walfield <neal@gnu.org>
* activity.h (RM_activity_stats): Don't define.
(RM_activity_info): Replace with this.
(struct activity_stats): Add field pressure_local. Make field
pressure an 8 bit integer.
(struct activity_stats_buffer): Remove structure.
(struct activity_info): Replace with this structure.
(activity_info_stats): Define.
(activity_info_pressure): Likewise.
(activity_stats): Remove method.
(activity_info): Replace with this.
viengoos/
2008-06-27 Neal H. Walfield <neal@gnu.org>
* activity.h (struct activity): Add fields free_bad_karma,
free_goal, free_allocations and free_initial_allocation.
* rm.h (rm_method_id_string): Replace RM_activity_stats handling
with RM_activity_info handling.
* thread.h (THREAD_WAIT_STATS): Remove.
(THREAD_WAIT_ACTIVITY_INFO): Replace with this.
(struct thread): Add field wait_reason_arg2.
* ager.c (update_stats): Account for local pressure when
calculating availability. Don't use activity_stats to inform
threads of new statistics but activity_info.
* object.c (object_desc_claim): Adjust the activity's FREE_GOAL,
FREE_ALLOCATIONS, and FRAMES_EXCLUDED fields as appropriate.
* pager.c (pager_collect): When selecting a victim, don't include
an activity's excluded frames in its allocation. Don't even
consider activities for which FREE_ALLOCATIONS is non-zero.
Having selected a victim, don't increase the pressure do
drastically. Update the local pressure. Having selected a victim
from which to revoke pages, send any waiting threads a message to
free memory. If VICTIM->FREE_BAD_KARMA is 0, assume that the
memory will be freed and give the activity 100 claims to do it.
If the activity has bad karma, decrease it by one.
* server.c (server_loop): Replace activity_stats implementation
with implementation appropriate for activity_info.
hieronymus/
2008-06-27 Neal H. Walfield <neal@gnu.org>
* hieronymus.c (do_gather_stats): Change to use activity_info
instead of activity_stats.
(main): Introduce code to delay process creation.
ruth/
2008-06-27 Neal H. Walfield <neal@gnu.org>
* ruth.c (main): Update to use activity_info instead of
activity_stats.
benchmarks/
2008-06-27 Neal H. Walfield <neal@gnu.org>
* shared-memory-distribution.c (main): Update to use activity_info
instead of activity_status.
* activity-distribution.c (main): Likewise.
* GCbench.c: Include <stdint.h> and <stdbool.h>.
(now): New function.
(struct stats): Add fields time, gcs and iter.
(have_a_hog): New variable.
(mem_hog) [__gnu_hurd_viengoos__]: Rename from this...
(helper) [__gnu_hurd_viengoos__]: ... to this. Use activity_info,
not activity_stats. Gather more data.
(helper) [! __gnu_hurd_viengoos__]: New function.
(tid): Rename from this...
(helper_tid): ... to this.
(helper_fork) [__gnu_hurd_viengoos__]: Name activities.
(main): Improve output.
benchmarks/boehm-gc/
2008-06-27 Neal H. Walfield <neal@gnu.org>
* patches/05-viengoos-scheduler.patch: Update to use activity_info
in place of activity_stats. Listen for pressure messages and act
appropriately. Tighten adaptive code. Improve profiling code.
Diffstat (limited to 'viengoos/thread.h')
-rw-r--r-- | viengoos/thread.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/viengoos/thread.h b/viengoos/thread.h index 27321f6..728bf7b 100644 --- a/viengoos/thread.h +++ b/viengoos/thread.h @@ -46,10 +46,10 @@ enum /* THREAD is blocked on an object waiting for the object to be destroyed. */ THREAD_WAIT_DESTROY, - /* THREAD is blocked on an activity waiting for the stats for a - particular period, which is stored in - thread->wait_reason_arg. */ - THREAD_WAIT_STATS, + /* THREAD is blocked on an activity waiting for information. The + type of information is stored in wait_reason_arg. The period + in wait_reason_arg2. */ + THREAD_WAIT_ACTIVITY_INFO, }; struct thread @@ -99,6 +99,7 @@ struct thread uint32_t wait_reason : 28; /* More information about the reason. */ uint32_t wait_reason_arg; + uint32_t wait_reason_arg2; /* The object the thread is waiting on. Only meaningful if WAIT_QUEUE_P is true. */ |