mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 22:15:20 +00:00
isc_pool and isc_taskpool have gone; more preening
@@ -53,16 +53,17 @@ Fixed-size array stack
|
||||
|
||||
## used by
|
||||
|
||||
* `isc/netmgr/netmgr`
|
||||
* `isc/netmgr/netmgr` for object caches
|
||||
|
||||
## notes
|
||||
|
||||
Used as object caches
|
||||
|
||||
Ondrej: will be gone after the netmgr refactoring and replaced with per-thread object pools/lists
|
||||
|
||||
Locked.
|
||||
|
||||
## Ondřej's notes
|
||||
|
||||
Will be gone after the netmgr refactoring and replaced with per-thread object
|
||||
pools/lists
|
||||
|
||||
|
||||
# `isc/heap`
|
||||
|
||||
@@ -85,7 +86,10 @@ There's a min-heap in libuv, implemented as a binary tree. The
|
||||
standard algorithms (as in `isc/heap`) use an array which should have
|
||||
better performance.
|
||||
|
||||
Ondrej: The usage in isc_timer has been already removed in the loopmgr branch
|
||||
## Ondřej's notes
|
||||
|
||||
The usage in isc_timer has been removed in the loopmgr branch
|
||||
|
||||
|
||||
# `isc/ht`
|
||||
|
||||
@@ -142,25 +146,6 @@ There's work to do on `isc/ht`:
|
||||
`dns/adb` was recently refactored, it used a custom hashtable before
|
||||
|
||||
|
||||
# `isc/pool`
|
||||
|
||||
A mechanism for sharing a small pool of fungible objects among a large
|
||||
number of objects that depend on them.
|
||||
|
||||
## used by
|
||||
|
||||
* `dns/zone` for sharing memory contexts
|
||||
|
||||
## notes
|
||||
|
||||
Single-threaded.
|
||||
|
||||
This is a bit different from the lock pools in `rbtdb`, because
|
||||
`isc/pool` returns a random item from teh pool, whereas `rbtdb`
|
||||
chooses `locknum` deterministically based on the node's hash value.
|
||||
|
||||
Ondrej: this is already gone on main
|
||||
|
||||
# `isc/radix`
|
||||
|
||||
Radix tree for IP address prefix matching
|
||||
@@ -203,27 +188,11 @@ Ought to be unnecessary. Might be worth cleaning up as part of some
|
||||
general parser refactoring (`isc/lex` could probably be made faster
|
||||
using `re2c`).
|
||||
|
||||
Ondrej: Using [rage](http://www.colm.net/open-source/ragel/) is on my TODO list for too long...
|
||||
## Ondřej's notes
|
||||
|
||||
# `isc/taskpool`
|
||||
Using [ragel](http://www.colm.net/open-source/ragel/) is on my TODO list for
|
||||
too long...
|
||||
|
||||
Like `isc/pool`, but specialized for tasks
|
||||
|
||||
## used by
|
||||
|
||||
* `dns/zone` for sharing tasks
|
||||
|
||||
## notes
|
||||
|
||||
Single-threaded.
|
||||
|
||||
Should probably be replaced by the more generic `isc/pool` (it looks
|
||||
like that was the plan when `isc/pool` was added).
|
||||
|
||||
There appears to be a bug in `isc_taskpool_expand()` when it fails to
|
||||
create a new task: the existing taskpool will be left empty.
|
||||
|
||||
Ondrej: this is already gone on main
|
||||
|
||||
# `isccc`
|
||||
|
||||
|
Reference in New Issue
Block a user