scylladb / seastar

High performance server-side application framework
http://seastar.io
Apache License 2.0
8.36k stars 1.55k forks source link

Make memory allocator dynamic #1651

Open xemul opened 1 year ago

xemul commented 1 year ago

Quoting Avi from scylladb/scylladb#13712

I want to support 57 virtual address bits (for 5 page table levels), and such a change could easily support 39 too. We'll need to make the bit range allocation dynamic, allocate just enough bits for memory per shard and just enough bits for the number of shards (can support >256 shards this way) and store the masks and shifts in globals instead of constants.

avikivity commented 1 year ago

I'll be very sad to see it implemented, because these days the cpu id occupies two hex digits in the dumped address, making it easy to spot.

Perhaps we can try to align the cpu id to a 4-bit range.