Age | Commit message (Collapse) | Author |
|
* host.c (ps_host_basic_info): int -> size_t
(ps_host_basic_info, ps_host_load_info): Likewise.
* ps.h: Update decls.
(struct proc_stat): unsigned -> size_t for task_events_info_size,
args_len, env_len.
* procstat.c (summarize_thread_waits): Fix argument type.
|
|
* common.h (VMFREE): Use munmap instead of vm_deallocate.
* procstat.c (merge_procinfo): Likewise.
|
|
* ps.h (PSTAT_ENV): New macro.
(struct proc_stat): New members `env', `env_len', `env_vm_alloced'.
(proc_stat_env, proc_stat_env_len): New accessor macros.
(PSTAT_USER_BASE): Increase value to leave more room for additions.
* procstat.c (proc_stat_set_flags): Handle environment.
(_proc_stat_free): Likewise.
* spec.c (ps_get_env, ps_env_getter): New function and constant.
(specs): New spec "Env" using ps_env_getter and ps_emit_args.
|
|
|
|
|
|
* procstat.c (summarize_thread_basic_info): Don't include the
kernel's idle threads in the summation.
(summarize_thread_sched_info): Likewise.
(summarize_thread_states): Likewise.
(summarize_thread_waits): Likewise.
|
|
Allow the user fetch hook to turn on non-user bits, even if they've already
failed in the standard code.
|
|
Get rid of INAPP macro.
Fix preconditions of PSTAT_SUSPEND_COUNT.
|
|
Initialize FAILED and INAPP fields.
(PSTAT_PROCINFO):
Redefined.
(set_procinfo_flags):
Set bits in PS->inapp as appropriate.
(count_threads):
Use PSTAT_PROCINFO_TASK_THREAD_DEP.
(PSTAT_PROCINFO_TASK_THREAD_DEP):
Renamed from PSTAT_PROCINFO_THREAD.
(PSTAT_PROCINFO_THREAD, PSTAT_PROCINFO_TASK):
New macro.
(proc_stat_set_flags):
Add NEED & INAPP macros, and use them to set the inapp field as well as the
failed field.
(_proc_stat_create):
Initialize INAPP field.
|
|
(count_threads): Take new argument HAVE, and use different thread counting
method depending on whether we have thread detail info.
|
|
|
|
Pass PS->task_events_info to task_info, not its address.
|
|
Take a struct proc_stat as an arg, not all the individual fields.
Correctly set old_pi_hdr.
Correctly calculate REALLY_NEED.
(set_procinfo_flags):
Use new calling merge_procinfo calling convention.
(proc_stat_set_flags):
Try mallocing a buffer for PS->args.
Move second call to set_procinfo_flags after msgport suppress test.
Add TEST_MSGPORT_FLAGS variable, & use it.
Be more picky about when we call set_procinfo_flags.
(_proc_stat_free):
Use explicit VM_ALLOCED flag for MFREEMEM.
|
|
(proc_stat_set_flags): Use it, to get msgport validity testing right.
(merge_procinfo): Take and return HAVE instead of using a reference parameter.
Do mem allocation more efficiently and correctly.
(fetch_procinfo): Do conversion for PI_SIZE from/to units of sizeof (int), so
no one else has to deal with it.
(PROCINFO_MALLOC_SIZE, WAITS_MALLOC_SIZE): New macros.
(MFREEMEM): New macro combining MFREEM & MFREEVM.
(MFREEM, MFREEVM): Macros deleted.
|
|
need wait info, put it in PS->num_threads.
(merge_procinfo):
Avoid vm_allocing a procinfo buffer each time if we can help it.
Correctly reflect newly fetched info.
(PSTAT_PROCINFO_MERGE, PSTAT_PROCINFO_REFETCH): New macros.
|
|
(get_thread_wait): Decrement N in loop.
(get_thread_wait): Use strnlen instead of memchr.
(PSTAT_PROCINFO): Typo: PSTAT_THREAD_WAIT --> PSTAT_THREAD_WAITS.
(PSTAT_USES_MSGPORT): Add PSTAT_THREAD_WAIT.
|
|
(summarize_thread_waits): Correctly advance NEXT_WAIT. Skip threads marked
`itimer'.
(proc_stat_set_flags): Consider processes with less than 4 threads
to be candidates for a meaningful process wait status.
|
|
REALLY_HAVE here.
|
|
returns successfully.
|
|
(proc_stat_set_flags): Be more careful about when we fetch thread_wait
information, and synthesize a process-summary thread_wait value for lots of
threads.
(summarize_thread_waits): Only give a real summary if there's but a single
user thread.
(fetch_procinfo): Use PSTAT_THREAD_WAITS instead of PSTAT_THREAD_WAIT.
|
|
(proc_stat_set_flags): Change accordingly.
(get_thread_wait): Correctly advance WAIT.
|
|
|
|
|
|
fetch_procinfo.
|
|
|
|
Include "ps_msg.h".
|
|
libraries. Other misc cleanups.
|
|
(summarize_thread_waits): Return both wait and rpc info.
(get_thread_wait): New function.
(proc_stat_set_flags): Support finding wait info.
Change occurances of PSTAT_THREAD_RPC to PSTAT_THREAD_WAIT.
|
|
If there are any running threads, then only average priority from them.
(_proc_stat_free): Call user cleanup hook.
(proc_stat_set_flags, add_preconditions): Deal with user bits.
(proc_stat_set_flags): Support the failed field.
(_proc_stat_create): Initialize the failed and hook fields.
|
|
to null), instead of failing.
(proc_stat_set_flags): Add support for PROC_OWNER_UID.
(add_preconditions): Add preconditions for owner_uid (& owner).
|
|
Initialize the proc_info and proc_info_size fields if they've never been set.
Always update proc_getprocinfo fields, even if we already had them.
(add_preconditions): Correct preconditions for PSTAT_STATE.
(PSTAT_TEST_MSGPORT): Renamed from SHOULD_SUPPRESS_MSGPORT_FLAGS.
(PSTAT_USES_MSGPORT): New macro.
(SUPPRESS_MSGPORT_FLAGS): Use PSTAT_USES_MSGPORT, not PSTAT_MSGPORT.
(proc_stat_set_flags): Use PSTAT_TEST_MSGPORT.
(merge_procinfo): Only copy old task info if we actually had it.
(proc_stat_set_flags): Don't unnecessarily grab procinfo stuff.
(summarize_thread_basic_info): Summarize available priority info too.
(summarize_thread_sched_info): Do max_ & depress_priority too.
|
|
anymore (but do require PSTAT_{TASK,THREAD}_BASIC).
(proc_stat_state_tags): Update to reflect new flags.
(proc_stat_set_flags): Set new flags.
(PSTAT_PROCINFO, PSTAT_PROCINFO_THREAD): New macros.
(fetch_procinfo, merge_procinfo): New functions.
(SHOULD_SUPPRESS_MSGPORT_FLAGS): Change to use more accurate flags.
(should_suppress_msgport): Use new fields.
(summarize_thread_basic_info, summarize_thread_sched_info,
summarize_thread_states, summarize_thread_rpcs, count_threads): New funcs.
(proc_stat_set_flags): Support the new division of PSTAT_INFO into individual
flags, and support getting thread information by using the thread's origin
proc_stat.
(_proc_stat_free):
Free the thread_basic_info and thread_sched_info fields if necessary.
(proc_stat_thread_create): Don't require that the source process have thread
information around; it will be fetched later if necessary.
|
|
(proc_stat_set_flags): Actually set the PSTAT_STATE_P_STOP bit.
(proc_stat_state_tags): Reordered to reflect the new ordering of the state
bits.
|
|
|
|
field.
|
|
code moved here from from proc_stat_set_flags.
(should_suppress_msgport): A new function that returns true when there's some
condition indicating that we shouldn't use a process's msg port.
(proc_stat_set_flags): Avoid using a process's msg port when it may be
unusable.
(proc_stat_set_flags): Set PSTAT_STATE_FORKED instead of PSTAT_STATE_EXECED.
(proc_stat_state_tags): Change the user state letter to "f" from "e".
|
|
|
|
|
|
|
|
that to support the PSTAT_STATE_TRACED bit.
Update proc_stat_state_tags to add PSTAT_STATE_TRACED.
|
|
|
|
|
|
server (but we can get the proc server from the context).
Added the owner (ps_user_t) field to proc_stat_t, and tty now points to a
ps_tty_t instead of to a tty port; tty_name is deleted since that gets
handled in the ps_tty_t.
|
|
|