summaryrefslogtreecommitdiff
path: root/libhurd-mm
diff options
context:
space:
mode:
authorneal <neal>2008-06-20 11:01:57 +0000
committerneal <neal>2008-06-20 11:01:57 +0000
commitc17a5fde1f1c6bf8759949534c0aee79176e3f16 (patch)
tree431590b62152469a7d049f75873e2bcb9bc38384 /libhurd-mm
parentd61e9e3acd347ee830dd047e55439950559d8c75 (diff)
viengoos/
2008-06-20 Neal H. Walfield <neal@gnu.org> * profile.c: New file. * profile.h: Likewise. * Makefile.am (viengoos_SOURCES): Add profile.h and profile.c. * server.c: Include "profile.h". (PAGEFAULT_METHOD): Define. (server_loop): Add profiling code. libhurd-mm/ 2008-06-20 Neal H. Walfield <neal@gnu.org> * as-lookup.c [RM_INTERN]: Include "../viengoos/profile.h". (as_lookup_rel): Instrument.
Diffstat (limited to 'libhurd-mm')
-rw-r--r--libhurd-mm/ChangeLog5
-rw-r--r--libhurd-mm/as-lookup.c18
2 files changed, 20 insertions, 3 deletions
diff --git a/libhurd-mm/ChangeLog b/libhurd-mm/ChangeLog
index 20df3d2..8291612 100644
--- a/libhurd-mm/ChangeLog
+++ b/libhurd-mm/ChangeLog
@@ -1,5 +1,10 @@
2008-06-20 Neal H. Walfield <neal@gnu.org>
+ * as-lookup.c [RM_INTERN]: Include "../viengoos/profile.h".
+ (as_lookup_rel): Instrument.
+
+2008-06-20 Neal H. Walfield <neal@gnu.org>
+
* storage.c (storage_alloc): Don't set SLOT's shadow object to
ADDR if it is a page, leave it as NULL.
(shadow_setup): Don't set the shadow page's shadow capability to
diff --git a/libhurd-mm/as-lookup.c b/libhurd-mm/as-lookup.c
index f4524ed..8f8c6b4 100644
--- a/libhurd-mm/as-lookup.c
+++ b/libhurd-mm/as-lookup.c
@@ -26,6 +26,10 @@
#include "bits.h"
+#ifdef RM_INTERN
+#include "../viengoos/profile.h"
+#endif
+
#ifndef RM_INTERN
# include <pthread.h>
pthread_rwlock_t as_rwlock;
@@ -332,9 +336,17 @@ as_lookup_rel (activity_t activity,
enum cap_type type, bool *writable,
enum as_lookup_mode mode, union as_lookup_ret *rt)
{
- return as_lookup_rel_internal (activity,
- root, address, type, writable, mode, rt,
- false);
+#ifdef RM_INTERN
+ profile_start ((uintptr_t) &as_lookup_rel, "as_lookup");
+#endif
+ bool r = as_lookup_rel_internal (activity,
+ root, address, type, writable, mode, rt,
+ false);
+#ifdef RM_INTERN
+ profile_end ((uintptr_t) &as_lookup_rel);
+#endif
+
+ return r;
}
void