summaryrefslogtreecommitdiff
path: root/kern/ipc_kobject.c
diff options
context:
space:
mode:
authorDavid Höppner <0xffea@gmail.com>2013-01-04 22:43:53 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2013-01-13 20:13:32 +0100
commitbeda83efaa45fb04f142034f61eb1ae9fe872c59 (patch)
treeb5e4a7a4b18e42feb24d46167028f8cf3130b557 /kern/ipc_kobject.c
parent392239d8c9979ac95c122b77d5d1e012f216d2ec (diff)
Add statistics for task_events_info
* ipc/ipc_mqueue.c (ipc_mqueue_send, ipc_mqueue_receive): Increment counters for message sent and received. * kern/ipc_kobject.c (ipc_kobject_server): Increment sent and received counters for the kernel task. * kern/task.c (task_create): Zero statistics. * kern/task.c (task_info): Add task_events_info call. * kern/task.h: Add statistics. * vm/vm_fault.c (vm_fault_page): Increment zero_fills, pageins, reactivations and cow_faults counters. * vm/vm_fault.c (vm_fault_wire_fast): Increment faults counters. * vm/vm_pageout.c (vm_pageout_scan): Increment reactivations counter.
Diffstat (limited to 'kern/ipc_kobject.c')
-rw-r--r--kern/ipc_kobject.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/kern/ipc_kobject.c b/kern/ipc_kobject.c
index 5b35526..37d4eb9 100644
--- a/kern/ipc_kobject.c
+++ b/kern/ipc_kobject.c
@@ -177,15 +177,21 @@ ipc_kobject_server(request)
#endif /* MACH_MACHINE_ROUTINES */
) {
(*routine)(&request->ikm_header, &reply->ikm_header);
- }
- else if (!ipc_kobject_notify(&request->ikm_header,&reply->ikm_header)){
+ kernel_task->messages_received++;
+ } else {
+ if (!ipc_kobject_notify(&request->ikm_header,
+ &reply->ikm_header)) {
((mig_reply_header_t *) &reply->ikm_header)->RetCode
= MIG_BAD_ID;
#if MACH_IPC_TEST
printf("ipc_kobject_server: bogus kernel message, id=%d\n",
request->ikm_header.msgh_id);
#endif /* MACH_IPC_TEST */
+ } else {
+ kernel_task->messages_received++;
+ }
}
+ kernel_task->messages_sent++;
}
check_simple_locks();