Module Name: src Committed By: riastradh Date: Tue Oct 17 11:57:20 UTC 2023
Modified Files: src/sys/kern: subr_thmap.c Log Message: thmap(9): Preallocate GC list storage for thmap_del. thmap_del can't fail, and it is used in places in npf where sleeping is forbidden, so it can't rely on allocating memory either. Instead of having thmap_del allocate memory on the fly for each object to defer freeing until thmap_gc, arrange to have thmap(9) preallocate the same storage when allocating all the objects in the first place, with a GC header. This is suboptimal for memory usage, especially on insertion- and lookup-heavy but deletion-light workloads, but it's not clear rmind's alternative (https://github.com/rmind/thmap/tree/thmap_del_mem_fail) is ready to use yet, so we'll go with this for correctness. PR kern/57208 https://github.com/rmind/npf/issues/129 XXX pullup-10 XXX pullup-9 To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/kern/subr_thmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.