On Tue, Jul 15, 2025 at 12:06:00PM -0500, Sami Imseih wrote: > On Tue, Jul 15, 2025 at 11:57 AM Nathan Bossart > <nathandboss...@gmail.com> wrote: >> I was imagining putting the array in one big DSA allocation instead of >> carting around a pointer for each tranche name. (Sorry, I realize I am >> hand-waving over some of the details.) > > I understood it like this. Here is a sketch: > > ``` > dsa_pointer p; > > dsa = dsa_create(....) > > p = dsa_allocate(dsa, LWLockTranchesInitialSize()); > tranche_names = (char **) dsa_get_address(dsa, p); > tranche_names[0] = "my tranche"; > tranche_names[1] = "my tranche"; > ``` > > We will need to track the size and resize if needed. > > Is this what you mean, from a high level?
Yes, that's roughly what I had in mind. We might need to employ some tricks to avoid a limit on tranche name length, but maybe that's not worth the energy. -- nathan