summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2023-03-07 01:18:34 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-03-07 01:18:34 +0100
commite52779eb879ea8a14bb293e97c989f52eb439cbb (patch)
tree43652fc76b62d4c1c9bb55aaf68bb72c2472764d
parentf34f362ad7e01a769e154cc4053b6c9b9f07998f (diff)
lock_mon: Fix warnings
-rw-r--r--kern/lock.h2
-rw-r--r--kern/lock_mon.c21
-rw-r--r--kern/thread.h2
3 files changed, 16 insertions, 9 deletions
diff --git a/kern/lock.h b/kern/lock.h
index 48976196..70f825c9 100644
--- a/kern/lock.h
+++ b/kern/lock.h
@@ -231,4 +231,6 @@ extern void lock_clear_recursive(lock_t);
extern void db_show_all_slocks(void);
#endif /* MACH_KDB */
+extern void lip(void);
+
#endif /* _KERN_LOCK_H_ */
diff --git a/kern/lock_mon.c b/kern/lock_mon.c
index bb446b7a..b8216788 100644
--- a/kern/lock_mon.c
+++ b/kern/lock_mon.c
@@ -45,11 +45,15 @@
#include <mach/boolean.h>
#include <kern/thread.h>
#include <kern/lock.h>
+#include <kern/printf.h>
#include <machine/ipl.h>
#include <ddb/db_sym.h>
+#include <ddb/db_output.h>
-def_simple_lock_data(extern , kdb_lock)
-def_simple_lock_data(extern , printf_lock)
+static void lis(int arg, int abs, int count);
+
+def_simple_lock_data(, kdb_lock)
+def_simple_lock_data(, printf_lock)
#if NCPUS > 1 && MACH_LOCK_MON
@@ -80,6 +84,8 @@ struct lock_info_bucket {
struct lock_info info[LOCK_INFO_PER_BUCKET];
};
+static void print_lock_info(struct lock_info *li);
+
struct lock_info_bucket lock_info[LOCK_INFO_HASH_COUNT];
struct lock_info default_lock_info;
unsigned default_lock_stack = 0;
@@ -171,7 +177,7 @@ void lip(void) {
#define lock_info_sort lis
-void lock_info_sort(arg, abs, count)
+static void lock_info_sort(int arg, int abs, int count)
{
struct lock_info *li, mean;
int bucket = 0;
@@ -263,19 +269,18 @@ void lock_info_clear(void)
memset(&default_lock_info, 0, sizeof(struct lock_info));
}
-void print_lock_info(li)
-struct lock_info *li;
+static void print_lock_info(struct lock_info *li)
{
- int off;
+ db_addr_t off;
int sum = li->success + li->fail;
db_printf("%d %d/%d %d/%d %d/%d %d/%d ", li->success,
li->fail, (li->fail*100)/sum,
li->masked, (li->masked*100)/sum,
li->stack, li->stack/sum,
li->time, li->time/sum);
- db_free_symbol(db_search_symbol(li->lock, 0, &off));
+ db_free_symbol(db_search_symbol((db_addr_t) li->lock, 0, &off));
if (off < 1024)
- db_printsym(li->lock, 0);
+ db_printsym((db_addr_t) li->lock, 0);
else {
db_printsym(li->caller, 0);
db_printf("(%X)", li->lock);
diff --git a/kern/thread.h b/kern/thread.h
index f8232d1a..689ef775 100644
--- a/kern/thread.h
+++ b/kern/thread.h
@@ -231,7 +231,7 @@ struct thread {
#endif /* NCPUS > 1 */
#if MACH_LOCK_MON
- int lock_stack;
+ unsigned lock_stack;
#endif
};