diff options
author | Richard Braun <rbraun@sceen.net> | 2019-05-19 16:23:16 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2019-05-19 16:23:16 +0200 |
commit | 33149b01a99dc988f90c9902ff596e162ca23942 (patch) | |
tree | 4154f557bd02ab04d27595735e6d6f8e4733197d /kern/sref.h | |
parent | 8ce65cbf3ec34106ce82529ed3818ab6b5ef54a1 (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.h | 20 |
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. * |