summaryrefslogtreecommitdiff
path: root/kern/sref.h
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2019-05-19 16:23:16 +0200
committerRichard Braun <rbraun@sceen.net>2019-05-19 16:23:16 +0200
commit33149b01a99dc988f90c9902ff596e162ca23942 (patch)
tree4154f557bd02ab04d27595735e6d6f8e4733197d /kern/sref.h
parent8ce65cbf3ec34106ce82529ed3818ab6b5ef54a1 (diff)
kern/sref: rework
Remove CPU registration, optimize manager weak-ups, replace the global review queue with local review queues. CPU registration and the global review queue were motivated by low power consumption, but considering how the kernel is evolving, this was likely overengineering.
Diffstat (limited to 'kern/sref.h')
-rw-r--r--kern/sref.h20
1 files changed, 1 insertions, 19 deletions
diff --git a/kern/sref.h b/kern/sref.h
index 93de1c35..942f3745 100644
--- a/kern/sref.h
+++ b/kern/sref.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2018 Richard Braun.
+ * Copyright (c) 2014-2019 Richard Braun.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -51,24 +51,6 @@ typedef void (*sref_noref_fn_t)(struct sref_counter *);
#include <kern/sref_i.h>
/*
- * Manage registration of the current processor.
- *
- * Registering tells the sref module that the current processor reports
- * periodic events. When a processor enters a state in which reporting
- * periodic events becomes irrelevant, it unregisters itself so that the
- * other registered processors don't need to wait for it to make progress.
- * For example, this is done inside the idle loop since it is obviously
- * impossible to obtain or release references while idling.
- *
- * Unregistration can fail if internal data still require processing, in
- * which case a maintenance thread is awoken and EBUSY is returned.
- *
- * Preemption must be disabled when calling these functions.
- */
-void sref_register(void);
-int sref_unregister(void);
-
-/*
* Report a periodic event (normally the periodic timer interrupt) on the
* current processor.
*