<p dir="ltr">Hi guys,</p>
<p dir="ltr">If I understand it correctly, the NUMA allocator splits eden into regions and tries to ensure that an allocated object is in a region local to the mutator thread. How does this affect tlabs? Specifically, a tlab will be handed out to a thread from the current node. If the java thread then migrates to a different node, its tlab is presumably still on the previous node, leading to cross-node traffic? Is there a notion of a processor local tlab? In that case, access to already allocated objects will take a hit but new allocations will not.</p>
<p dir="ltr">The way I imagine a processor local tlab working is when a thread migrates, the previous tlab becomes available for whichever java thread is onproc there now - that is, tlab ownership changes. The migrated thread then picks up allocations in the new tlab.</p>
<p dir="ltr">It can still be a bump the pointer since only one hardware thread can be running at a time on the processor.</p>
<p dir="ltr">Is this or something like it already there? If not, what challenges am I overlooking from my high-level view?</p>
<p dir="ltr">Thanks</p>
<p dir="ltr">Sent from my phone</p>