3 ms·
But wouldn't the consequence of spawning millions of native threads be to spill those virtual addresses into many, many pages and incur many more TLB misses and
by timClicks 8y ago
But wouldn't the consequence of spawning millions of native threads be to spill those virtual addresses into many, many pages and incur many more TLB misses and page faults generally?
- nostrademons 8y agoOnly the portions of the stack that are actually touched trigger a TLB miss and page fault. If you've got a million threads but each only touches the first 4K of stack space, you end up only touching 4G of RAM even though you've mapped 1T of it.
- cryptonector 8y agoWhen you have terabytes of RAM you want large pages anyways.
- gpderetta 8y agoAs each stack will need to use [1] at least one page of physical memory, large pages are not great for stacks as they will normally waste memory. [1] for classic contiguous stacks of course. That doesn't apply for separately allocated frames or segmented stacks.