7 Feb
2023
7 Feb
'23
11:01 a.m.
On Fri Feb 3 07:42:20 2023 +0000, Rémi Bernon wrote:
I've added a static affinity shuffle, which helps quite a bit. I'm also now keeping track of the group affinity, and release them to their original affinity slot. That also helps memory consumption and improves group re-use if one thread allocates and another one frees. Only allocating thread get an affinity now. I have another idea: we can transpose the affinity group pointer array. The array will be taken out of `struct bin`, and its new type will be `struct group *affinity_group[32][BLOCK_SIZE_BIN_COUNT];`. This takes advantage of the fact that the number of bins is constant, or at least bounded.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/1628#note_23244