mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-03 16:15:27 +00:00
isc_pool and isc_taskpool have gone; more preening
@@ -53,16 +53,17 @@ Fixed-size array stack
|
|||||||
|
|
||||||
## used by
|
## used by
|
||||||
|
|
||||||
* `isc/netmgr/netmgr`
|
* `isc/netmgr/netmgr` for object caches
|
||||||
|
|
||||||
## notes
|
## notes
|
||||||
|
|
||||||
Used as object caches
|
|
||||||
|
|
||||||
Ondrej: will be gone after the netmgr refactoring and replaced with per-thread object pools/lists
|
|
||||||
|
|
||||||
Locked.
|
Locked.
|
||||||
|
|
||||||
|
## Ondřej's notes
|
||||||
|
|
||||||
|
Will be gone after the netmgr refactoring and replaced with per-thread object
|
||||||
|
pools/lists
|
||||||
|
|
||||||
|
|
||||||
# `isc/heap`
|
# `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
|
standard algorithms (as in `isc/heap`) use an array which should have
|
||||||
better performance.
|
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`
|
# `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
|
`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`
|
# `isc/radix`
|
||||||
|
|
||||||
Radix tree for IP address prefix matching
|
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
|
general parser refactoring (`isc/lex` could probably be made faster
|
||||||
using `re2c`).
|
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`
|
# `isccc`
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user