Re: Pomalý přístup u fork-procesu k paměti alokované přes shm
Jiri Kosina
jikos na jikos.cz
Úterý Leden 3 16:55:22 CET 2017
On Sat, 17 Dec 2016, Pavel Kankovsky wrote:
> > Tak jsem to zkusil předělat na SHM - výsledek obdobný...
>
> To není žádné překvapení, protože v obou případech dochází k tomu, že si
> potomek musí znovu naplnit stránkové tabulky.
>
> Neobjevil jsem žádný rozumný způsob, jak se tomu vyhnout.
Ten example už není dostupný, takže je otázka, co je žádoucí chování;
zda-li aby paměť byla sdílená (a-la shm), nebo aby měli oba své vlastní
kopie (mmap() + fork()).
V prvním případě clone(CLONE_VM).
Ve druhém případě se ten overhead, který je nutný pro vytvoření nových
stránkovacích tabulek, někde prostě z principu naakumulovat musí (ať už
teoreticky jednorázově při klonování procesu, nebo amortizovaně při CoW).
Ve druhém vyunitit použití větších stránek, což výrazně sníží overhead na
CoW pagetables.
--
Jiri Kosina
Další informace o konferenci Linux