Non è proprio così.
Quotando l'originale:
Quote:
|
Originariamente inviato da Phoronix
Lazy TLB mode can result in an idle CPU being woken up by a TLB flush, when all it really needs to do is reload %CR3 at the next context switch, assuming no page table pages got freed... This patch reduces total CPU use in the system by about 1-2% for a memcache workload on two socket systems, and by about 1% for a heavily multi-process netperf between two systems
|
Il meccanismo di aggiornamento lazy della TLB già esiste, l'unica cosa è che questo può portare, inutilmente, al risveglio di una CPU in idle (a causa di un inter-processor interrupt).
L'aggiornamento del registro CR3 provoca sempre l'immediato flush della TLB e questa è un operazione che viene fatta al context switch del processo.
Quindi di fatto quello che si sta dicendo è che l'aggiornamento della TLB per le CPU in idle (per cui viene eseguito l'idle task) può essere posticipato direttamente a quando la CPU non sarà più idle perché c'è un task schedulabile (e quindi viene forzato un context-switch

).