Note that as memory becomes cheaper and larger there will be more pressure
on 64-bit OS-es to switch to large pages; the number of pages needed to map
several GBs of memory today is already getting out of hand, causing TLB
misses to become a performance issue in some cases - imagine a system with
0.xTBs of memory and it becomes ludicrous.

So playing tricks with MMU and lazy page loading may not work as well as it
does with today's the small 4K page size. Of course, Rust is hardly the
only platform that would be affected :-) and ideally, it would be possible
to have more flexibility than today in choosing which page sizes are used
where in the program's address space... but it remains to be seen how
exactly this would play out.

Just a point to keep in mind...

On Tue, Nov 5, 2013 at 4:21 AM, Brian Anderson <[email protected]>wrote:

> Instead of segmented stacks we're going to rely on the OS and MMU to help
> us map pages lazily. Although the details aren't clear yet, I expect that
> on 64-bit platforms the number of concurrent tasks will be comparable to
> using segmented stacks. On 32-bit platforms, with their limited address
> space, the situation will not be as good, but this is a calculated risk
> that we can live without the same amount of concurrency there.
>
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to