[Python-Dev] The untuned tunable parameter ARENA_SIZE

Antoine Pitrou solipsis at pitrou.net
Sun Jun 4 04:18:13 EDT 2017


On Sat, 3 Jun 2017 21:46:09 -0500
Tim Peters <tim.peters at gmail.com> wrote:
> 
> A virtual address space span of a terabyte could hold 1M pools, so
> would "only" need a 1M/8 = 128KB bit vector.  That's minor compared to
> a terabyte (one bit per megabyte).

The virtual address space currently supported by x86-64 is 48 bits
wide (spanning an address space of 2**48 bytes, that is 256 TB), so you
would need a 2**(48-20) bits vector, i.e. 256 Mbits or 32 MB.

Note Intel has plans to extend the virtual address space to 2**57 bytes:
https://www.phoronix.com/scan.php?page=news_item&px=Intel-5-Level-Paging

> The system calls can't be relied on to
> return arena-aligned _or_ pool-aligned addresses.

Unless using mmap() for pools with a size equal to or an exact divisor
of the system's page size, that is ;-)

Regards

Antoine.




More information about the Python-Dev mailing list